As mentioned in the new features section the following properties having been transformed in configurations, so they are no longer available in the properties files:
session.timeout.auto.extend
session.timeout.auto.extend.offset
Release Notes
Esta seção contém informações sobre alterações importantes em recursos e capacidades DXP prontos para uso. Para alterações significativas (Breaking Changes) ou código interno, por favor acesse este link.
As mentioned in the new features section the following properties having been transformed in configurations, so they are no longer available in the properties files:
session.timeout.auto.extend
session.timeout.auto.extend.offset
Previously our AB Testing feature supported multivariate testing. With the addition of multiple variants, the time to completion and the calculations required would increase exponentially. This caused many issues for our customers. As such we have decided to pare back this functionality to provide a higher quality experience for our users. Now our AB Testing feature only supports 1 variant, in addition to the control. This makes our feature truly an AB Test rather than a Multivariate Test. There is the possibility of re-enabling multivariate testing in the future, but that will depend on the needs from our customers.
We changed the default configuration such that if a Menu Display widget is placed on a Page Template, the default configuration for it will be "Pages Hierarchy" (unless there are no Pages at all on the Site). It will display as "Pages Hierarchy" even if Private Pages are enabled. If Private Pages are enabled, an alert will appear on the Page Template letting the user know that the Menu Display may appear different if the inherited page has the opposite privateLayout
value to the menu currently being rendered.
When a Page inherits this Page Template, the alert message does not display on the Page, and the Navigation Menu will be configured for either Public Pages Hierarchy or Private Pages Hierarchy depending on whether the page is public.
Current options in System Settings > Documents and Media > Cache Control are:
And Private is the default option.
From now on, we are adding a new option No Cache that will allow configure this option to “private, no-cache, no-store, must-revalidate
" and it will be used as default value, so it changes current default behavior:
With the upgrade of the client libraries, the minimum compatible Elasticsearch minor version shits to 7.17.x.
When the server is lower than the expected version, the DXP won't start-up, but fail with an error in the DXP console:
10-22 10:45:22.619 ERROR [main][ElasticsearchSearchEngine:375] Elasticsearch node es-node-1 does not meet the minimum version requirement of 7.17
The self bootstraping style *SearchRegistrar
has been changed to service collecting of ModelSearchConfigurator
.
Indexer registration code for custom entities has to be adjusted to become an OSGi service of type ModelSearchConfigurator
and to move all previous ModelSearchConfigurator
setter call parameter as corresponding ModelSearchConfigurator
getter return value.
This change was made in order to prevent fragment changes propagation when a user changes the cacheable option and then saves it. This was creating performance issues for some customers.
This change will benefit customers in terms of performance, as unnecessary propagations will no longer occur when the cacheable option is changed.
No changes are expected for customers' implementations. Just the awareness that this option is now somewhere else.
Support for these application servers is removed from 2024.Q3 or later since they are no longer receiving updates from the vendor.
Wildfly 26.1 and Jboss EAP 7.4 remain fully supported
With the new support of Java JDK 17 and 21 runtimes, Java 11 will no longer be supported for DXP runtime on 2024.Q3 or later.
Liferay Workspace offers support for re-compiling custom modules on JDK 17 or 21.
This is a breaking change for Data Sets that are under BETA FF
Anybody who created data sets before this epic will not be able to see them in Data Set Manager anymore.
Data Set fragment configuration will no longer display previous data sets as options.
Data Set fragment placed on a page will no longer show anything.
The Data Set Views have been removed. From now on a Data Set has only a view.
New Data Set endpoints are available and working under datas-et-admin
(ex: http://localhost:8080/o/api?endpoint=http://localhost:8080/o/data-set-admin/data-sets/openapi.json)
All Data Set endpoints are still available and working under data-set-manager
but not used by the Data Set Manager or Frontend Data Set. Information from created Data Sets before this change is stored in them (ex: http://localhost:8080/o/api?endpoint=http://localhost:8080/o/data-set-manager/data-sets/openapi.json)
More Info: LPD-29979
Fixed a bug that was causing some 404 redirects to direct back to the previous page instead of to the 404 error page.
If any implementations were relying on users being redirected back to the previous page, they might need to be updated to account for the new redirect to the 404 page.
What changed?
From Liferay DXP 2024.Q2 onwards, localizable object entry fields now default to the instance's language setting, replacing the previous user-language default.
Why was this change made? Is the new behavior better for users?
This change was implemented to ensure consistent language configuration. The new behavior is indeed better for users because:
It prevents discrepancies that could occur when users with different language settings interacted with the same object entry fields.
It provides a unified experience across all user interactions.
Who is affected?
Customers using or upgrading from versions prior to Liferay DXP 2024.Q2 are affected by this change.
How should I update my features or implementation to better adopt the breaking change?
To adapt to the new behavior:
Check your existing localizable object entries' default language settings.
Adjust these settings to match the instance language if needed.
This ensures consistent language defaults and creates a uniform experience for all users.
The "Save as Draft" and "Cancel" options are no longer visible when editing Web Content. Instead, the content is automatically saved as a draft.
With the implementation of autosaving, users no longer need to worry about losing their progress when editing content. Autosaving ensures that all changes are continuously saved in the background, providing peace of mind and reducing the risk of data loss due to unexpected interruptions.
The AMBackwardsCompatibilityHtmlContentTransformer class was introduced in the Adaptive Media release (~7 years ago) to manage content created before Adaptive Media was implemented. This approach helped to avoid a costly upgrade at the time. However, since much time has passed and newer content no longer requires this processing, we are disabling the AM backward compatibility HTML content transformer by default.
The primary reason for this change is performance: the content transformer can consume significant CPU resources, especially under heavy traffic.
The content transformer can be enabled in Instance Settings > Adaptive Media if necessary.
The JVM java.locale.providers
setting for DXP has been restored to the default value to account for the move to Java JDK 17 and 21.
Previously, DXP and Portal shipped with and recommended setting java.locale.providers=JRE,COMPAT,CLDR
to provide consistent locale behavior for Java 8 and 11 since JRE was previously the default provider. With Java 17 and 21, JRE is now deprecated and the CLDR locale provider becomes the default and recommended provider. See further information from Oracle.
The new recommended value is java.locale.providers=CLDR,COMPAT
as it is the new JVM default. The Liferay Tomcat bundles for 2024.Q4 will ship without this JVM property set, since we are using the default.
With this change the default provider, some locale information in the system might display with modified formatting. For example, a Date and Time display may have previously shown as “9/12/24 9:10 PM” but now displays as “9/12/24, 9:10 PM”. This is the expected result from moving to the latest Java locale provider that meets modern language standards.
What changed?
Javascript from fragments is now included in the page using a <script> of type module, instead of embedding the code in a function
Why was this change made?
We wanted to leverage all the features available in the javascript modules: JavaScript modules - JavaScript | MDN
For example: the ability to use import statements
What is affected?
Code that is not supported directly in a <script> tag of type module
For example:
return
statements outside the scope of a function
Automatic variable declaration, for example myVariable = 'value'
How should I update my features or implementation to better adopt the breaking change?
Code should be fairly easy to migrate, just remove any return statement, and for the variable declaration you either use let
or const
next to the variable name const myVariable = 'value'
As a temporary workaround (would be removed soon), we have added disable to this feature. You have to go to Instance Settings -> Page Fragments -> Fragment Javascript and disable the checkbox
Changed the methods of adding a Collection to specify the ERC when is created. If a customer has Java code that is using these services they should modify it to specify the ERC (or Null) when is called.
The functionality of the Date Facet widget introduced under a Developer FF in LPS-153839 in 2024.Q1, has been integrated into the Custom Facet and now available as GA. The Date Facet widget is no longer available.
Refer to the Date Range and Range Aggregation in the Custom Facet under Search for more details.