New features delivered in 24.11
Viewing recent and upcoming activities on the Home workspace
A new Latest Activities tab has been added to the Home workspace (CRM-2833). It provides a centralized view of all assigned, public, and group-secured activities based on the user’s security settings. By default, you can view recurring and non-recurring activities with a start date of up to 30 days in the past and up to 14 days in the future. You can view Displays .
You can use this tab to search for activities using filter chips, including an activity plan filter.
Unlike the My Contacts' Recent Activities tab, it includes activities without any contacts in the For field. It includes activities with a start date within the specified range, rather than activities which were recently updated.
Global search enhancements
A new queryPageSize
attribute has been added to enable capping the search results at the specified amount (CRM-2917). This value is set to 100 by default. When a result set is returned and is filtered to show fewer than the specified cap, the system will continue to query more pages until the queryPageSize
value is reached. The maximum number of attempts is defined by the queryMaxPages
attribute, which is set to 20 by default.
When configuring these attributes, the total value of queryMaxPages * queryPageSize
cannot be greater than 10,000.
The queryMaxPages
and queryPageSize
attributes are set for each class. If multiple classes are in one query, the lowest value of queryMaxPages
is used.
A new parameter relationalQueryTimeout
has been added to the es.syncConfig JSON configuration (CRM-2786). It enables fine-tuning SQL timeout behavior specific to the Global Search synchronization processes.
Reporting enhancements
Ad hoc reporting
The Include all related records setting is now reflected in the Summary and Visualization tabs for a report, providing more accurate reporting and visualization based on the selected criteria (CRM-2867). Previously this setting only applied to the Details tab.
Users can now specify multiple sort fields for reports, allowing for more refined sorting options (CRM-1770). For example, in a Deals report, users can sort first by Expected Close Date and then by Deal Size.
To improve clarity for users, the report type previously labeled as “Unlisted” has been renamed to “Shareable” (CRM-542). This change makes it easier to distinguish between “Shareable” and “Private” report types.
Predefined reporting
The Task Report generated from the Tasks workspace now includes a new "Related Activity Plan" column in all output formats (CRM-2496).
Auditing enhancements
Household deletions are now included in Admin Console audit logs (CRM-2916). This matches contact auditing and ensures consistency in tracking user actions across both persons and households.
User deactivations are now included in Admin Console audit logs (CRM-2754). Previously, only user creation events were included in the logs.
Usability enhancements
Reminder alarms are no longer displayed for cancelled meetings (CRM-2887).
When you create or edit a schedule item that conflicts with an existing schedule item, a warning message is displayed (CRM-2670).
Contacts and households marked as Do Not Contact (DNC) are now excluded from contact picker dialogs by default (CRM-2533). The Do not contact filter has been added to the saved lists on the Contacts workspace. It’s set to No by default.
Contacts and households marked as Do Not Contact (DNC) are now displayed with the [DNC] prefix in activity plan dialogs (CRM-2516).
You can now manually start activity plans directly from the Opportunities workspace (CRM-2587). On the Activities tab for the opportunity, click Add, select Activity Plan, and then select the activity plan you want to execute for this contact.
When using the Update Tier command from the data table on the Contacts workspace, a warning message is now displayed to clarify that the service models for the affected contacts are not affected (CRM-2748).
Security, integration, and automation upgrades
A number of changes were implemented as part of Proxy Vole library update (CRM-2914):
The proxy-vole library has been upgraded to 1.1.5
The delight-nashorn-sandbox library has been replaced with with delight-rhino-sandbox library version 0.0.17
The rhino-runtime library version 1.7.15 has been added
The following additional third-party libraries are now supported as part of improving functionality related to ad hoc report and dashboard exports: Puppeteer, Chromium, and Node.js (CRM-2731).
Selenium WebDriver has been upgraded to 4.24.0 (released August 28, 2024) (CRM-2858).
The googlei18n/libphonenumber library has been upgraded to 8.13.47 (released October 01, 2024) (CRM-2695).
The AntiSamy library was upgraded to 1.7.6 (released July 6, 2024) (CRM-2690).
The Oracle JDBC driver was updated to 19.21.0.0 (released November 2, 2023) (CRM-1298).
The JSZip library was upgraded to 3.8.0 (released March 30, 2022) (CRM-690).
Updated Grafana support
The Grafana monitoring dashboard templates are now compatible with Grafana version 10 (CRM-1630).
Updated Java support
This release adds support for JDK 17 for the purposes of deploying NexJ Server in a Production environment (CRM-2568).
Exchange Online updates
Due to the deprecation by Microsoft of the ApplicationImpersonation role and its feature set in Exchange Online, the following changes have been made (CRM-2454):
In the Synchronization tab of the Admin Console, the ability to select a method for Exchange Online, is no longer available.
The Exchange sender channel
authComponent
attribute value should berpc:System.Authentication.EXO.RBAC
. You can either update the existing channel definition or create a new Exchange channel for RBAC (role based access control).
Technical enhancements
The default value of the Tomcat Maximum HTTP Header Size property was increased from 8KB to 64KB (CRM-1272).
Systems administrators can now see the metadata for and invoke the JVM diagnostic commands using the SysAdmin Console but selecting Statistics > com.sun.management > DiagnosticCommand (CRM-2743). Double-click on a specific command to bring up the diagnostic dialog.
Deployment enhancements
You can now set a server profile when running the modeld
and pushrd
scripts (CRM-2513, CRM-2614). If you specify -p none
then garbage collector, heap, metaspace, and stack size JVM arguments will need to be set through jvm.conf
or as command-line arguments. If the server profile is not specified, the system uses the default parameters. (To correspond to the JVM arguments that were previously set by these scripts, the default parameters prioritize performance at the expense of increased heap usage.) If you specify minimizeHeap
, the system selects JVM arguments that minimize Java heap usage.
The recommended Java 17 version is 17.0.13+11 to enable use of the native heap trimming option on Linux.
To avoid an issue where a heap dump was not generated if the default location did not have write permissions or had insufficient storage space, you can now use the JAVA_HEAPDUMP_PATH variable to indicate where heap dump should be saved (CRM-2461). The JAVA_HEAPDUMP_PATH variable is specified in the environment file or when starting the modeld
and pushrd
scripts. If this variable is not specified, then ${CONTAINER_ROOT}/log
path will be used for the heap dump instead.
React renderer updates
A number of changes to the React renderer have been implemented, to allow for future support of the Lexcial rich text editor (CRM-2865). They may affect existing implementations of NexJ CRM.
The
react
mixin is required to use the ReactRenderer. This mixin is not included by default.The
finance-engage-ui
mixin is deprecated. It should not be used at the same time as the“react
mixin.The following AMD modules may be requested using
define.find
after the ReactRenderer module loads:react
,react/jsx-runtime
,react-dom
,react-dom/client
. These modules are also accessible from theext/react-amd
AMD module dependency.
ReactRenderer implementation changes:
An issue where _onremove callback is not called in some cases was resolved.
New class methods added for handling lifecycle and GC issues:
_componentEOL: React component to clear React component props at end of lifecycle. Use same DOM/view structure as _component.
_onAFLChange: Optional callback to route custom update behavior through partial update calls rather than a full render call.