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.
Release Notes
Esta sección contiene información sobre cambios rupturistas (breaking changes) en funcionalidades y capacidades de un DXP listo para usar. Para cambios rupturistas o código interno, verifica este enlace.
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.
What changed?
From Liferay DXP 2024Q2 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 2024Q2 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.
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.