Collections with Blueprints (FF: LPS-129412
) available as since DXP 7.4 U88 is now in RELEASE status and can be enabled via Feature Flags > Release.
Release Notes
Addressing prior limitations, custom cell renderers created with Client Extensions now provide full row data access. This empowers developers with expanded options and greater flexibility for their implementations so they can create a renderer for a cell and include data from all the row mixing the contents. For example, you can create a cell to calculate the volume of a furniture good based on the different dimensions fields.
Benefits
Expand developer capabilities to create more powerful Client Extensions for Data Set Cell Renderers
The Data Set has a revamped experience in terms of selection that also provides a quicker way to contextualize the user interaction.
When facing any of the visualizations (table, card, row) the user can click on the item body to perform single selection. This enhances rapid selection and better interaction.
Benefits
More modern selection pattern that follows industry trends
Clearer states for the user to distinguish when an item is:
Selected (active)
Hovered
Both at the same time
With this release, the Liferay DXP is now built with the modern, cloud native technology provided by the Jakarta EE 10 platform. The legacy Java EE platform will no longer be supported on this and future releases, allowing Liferay DXP to continue to evolve and build innovative solutions to meet your business needs.
Benefits
Liferay DXP now certified on Jakarta-based application servers: Tomcat 10.1, Jboss EAP 8.0, and Wildfly 30. This also provides support for newer specifications such as Portlet 4.0, Servlet 6.0, and Spring Framework 6.0. The update paves the way for faster feature development and rapid security fixes available in the modern Java enterprise ecosystem.
The Beta feature to migrate databases to PostgreSQL has been updated to support all supported database types. PostgreSQL is the Liferay recommended database server, especially for PaaS and SaaS users and Liferay provides this tool to simplify the migration.
Benefits
Users on MariaDB, SQL Server, Oracle DB, and IBM DB2 are now able to migrate their database to PostgreSQL. The tool was previously limited to users on MySQL. Now all users have access to the DXP and Cloud performance benefits of using PostgreSQL.
The DXP database upgrade process has been enhanced with a suite of verification checks that are executed before any data modifications are made.
These checks have minimal impact on the overall upgrade process execution time, but they can be optionally disabled with the property upgrade.database.preupgrade.verify.enabled=false
Benefits
It can be frustrating when a database upgrade process executes a large amount of modifications to the system and then fails due to a misconfiguration, prompting the need to restore the database and restart the process. Now the database upgrade process will perform a series of configuration checks and report them to the user before modifications are needed. This prevents the need to always restore the database or document library before re-running the upgrade. The upgrade report will still be generated if the preupgrade checks fail, and provide details of any issue.
Allow users to call the {scopeKey} using the external reference code when creating a custom object with site scope.
Ex: /scope/{scopeKey}/...
Now, ID, Name and ERC are supported for scopeKey.
Users can now refer to their custom external reference codes for sites when interacting with object endpoints.
This feature adds workflow support for Root Models. Child object definitions which are part of a root context will inherit the workflow configurations of the root parent. This simplifies the administration of objects which are part of root model applications.
Friendly URLs, also known as clean URLs or pretty URLs, are web addresses that are human-readable and search engine-friendly. They typically use descriptive keywords instead of cryptic file names or query strings. Users can define a friendly URL for entries, making them more human readable and search engine friendly.
New improvement to make easier the way to promote content among environments. Liferay expands the capabilities of the Batch Engine by introducing a powerful tool for site scoped entities:
- Batch Delete by External Reference Code ( Site Scoped entities ) – Users can now delete items using external reference codes instead of internal IDs, making batch deletions simpler and more consistent across environments.
Now, covering all scopes, the way teams manage bulk deletions is more simple and safe because it is based on the use of external identifiers so the consistent data maintenance across staging, production, and other instances is possible without changing between environments
Key Business Benefits
More reliable environment synchronization: External Reference Codes allow you to delete the same entities across different environments without depending on internal IDs, reducing risk of mismatches.
Simplified bulk deletion workflows: Deleting large sets of data is now easier, with fewer manual steps and lower chance of errors.
Greater control over delete operations: Choose whether the process should stop on errors or complete fully—helping teams tailor the behavior to fit their operational needs.
Increased resilience and fault tolerance: Deletion jobs are less likely to fail entirely due to minor issues, ensuring smoother maintenance processes.
Consistent support across entities: These enhancements are available for all entity types supported by the batch engine, making them broadly applicable across different use cases.
Context: Both features are part of the “Promote content among environments” strategic initiative.
Describe the feature:
With the migration to Jakarta, RESTBuilder needed to adapt to be able to generate the classes with the right namespace.
Use the javaEEPackage property to define whether to use javax as namespace (for pre-Jakarta versions of Liferay) or set the value to “jakarta” for newer versions.
In our headless APIs, we have many endpoints with /siteId/{siteId}/ as part of the path for many entities. Now, siteId not only accepts the siteName or the siteId as value, but also the External Reference Code of the site can be used.
Until now, when executing a staging import, users could choose, prior to the import, to delete all existing information in the destination environment.
This option has been deprecated due to its low usage (verified directly with clients and partners) and the high risk it entails, as deletion affects not only the elements already in the import but also their related entities. This could lead to the loss of necessary information or the possibility of some entities becoming disconnected from the rest, making both the import and error resolution extremely complicated due to the lack of a list of affected elements. There will not be a substitution, so the alternative will be to delete the elements manually, either from the UI, API or directly in the database before performing the import.
When executing a staging import, users could choose different strategies to update the data.
”Copy as new” was one of the option, that allow the importer to create new items if they were already in the system. This could lead to create more elements than expecting that later on the user would need to clean. We are deprecating this feature in order to simplify the UI and avoid users to do mistakes.
There will not be a substitution.
The Captcha extension point allows customers to integrate custom or third-party CAPTCHA solutions into their system, enabling greater flexibility and control
Key benefits
Removes restrictions on supported CAPTCHA providers
Empowers customers to choose and configure CAPTCHA solutions that best suit their needs
Enhances extensibility and adaptability for diverse use cases and compliance requirements
Just-in-Time (JiT) user provisioning for OIDC and SAML enables automatic synchronization of user data, including user groups at every authentication event. This ensures that user profiles are always up to date
Key benefits
Ensures real-time synchronization of user attributes and group memberships
Reduces administrative overhead by eliminating the need for pre-provisioning
Enhances security and compliance with up-to-date access control
Improves user experience by streamlining access without delays
We improved the password reset function on the Forgot Password Utility Page to prevent it from redirecting users to the old Forgot Password page.
Key benefits
Consistent page experience
The FF changes from Beta to Release
Users now have more access to several more metrics on their metrics page. Improving their visibility and troubleshooting capabilities.
Highlights
New metrics visible in the metrics page;
New metrics improve visibility of platform and infra elements, greatly speeding up troubleshooting and understanding of platform behaviour.
The selection of metrics leverages our deep understanding
In order to assist users in the migration to Jakarta EE required for 2025.Q3 and beyond, Blade and Workspace users now have a command to automatically convert their source code from Java EE to Jakarta EE for DXP-provided libraries.
Benefits
This tool simplifies the process for users migrating custom code to Jakarta. Providing:
In-place source code transformation from
javax
tojakarta
for custom development projects using DXP-provided librariesLiferay-specific dependency mapping
Portlet 4.0 conversion
Integration into Liferay Workspace
Supports source code conversion regardless of deployment method (e.g. JAR or WAR)
This tool is supported by Liferay to convert source code for compatibility with the Jakarta libraries provided by Liferay DXP.
Users can now create, update, delete, and retrieve information about document shortcuts in a programmatic way using headless API’s. |
There is an unacceptable decrease in performance observed within large Publications. With publications housing a large number of individual changes, the current system struggles to maintain acceptable performance levels, especially during conflict checking and publishing publications. These two phases leverage handwritten SQL queries to perform those tasks that allow Publications a shortcut through our persistence layer to maximize performance in small publications. In large publications though, further considerations must be taken to ensure consistent performance.
Some upgrade processes may not consider the ctColectionId
column which may generate inconsistencies for customers using Publications, especially for older versions.
Add changeTrackingEnabled to the standard rest-config.yaml
so that services must specify Publications support. This will simplify the process of enabling change tracking for future Headless APIs.
We introduced a new feature to streamline workflows with 1:1 relationships between objects! Now, users can create and update nested objects directly from the primary object's CRUD views, and enjoy seamless delete and view operations translated from the Data Set Manager (DSM). This update makes managing data smoother and more efficient.
Elasticsearch 8.15.x has been tested and added to the compatibility matrix to the corresponding Liferay versions.
Note: Compatibility with newer Elasticsearch minor versions is tested in two ways:
Latest-Latest: Testing the latest Liferay version with the latest available minor version of Elasticsearch → e.g.
Master/2024.Q3 + Elasticsearch 8.15
Minimum-Latest: Testing the minimum Liferay version where Elasticsearch 8 compatibility was first made available with the latest minor version of Elasticsearch →
DXP 7.4 U81/DXP 7.3 U31 + Elasticsearch 8.15
This way Liferay can allow a broader deployment base to operate their stack with an up-to-date search engine version.
As Elasticsearch is usually releases a new Minor version roughly every two months, this is a recurring process and a planed activity in each quarter.
Per Elastic’s product lifecycle, Elasticsearch 7.17.x versions are supported and maintained until Elasticsearch version 9 is released. While Elastic does not provide specific release dates for future releases, for Elasticsearch 9.0.0, the new release is anticipated in early calendar year 2025.
Therefore, Liferay strongly recommends all customers with 7.17.x deployments to begin the planning phase for an upgrade project to the latest compatible Elasticsearch 8.x version.
Compatibility with Elasticsearch 8 is available on 7.4 U81+. → Operating Liferay 7.4 GA/Update 81+ with Elasticsearch 8 - Liferay
Note: The Elasticsearch 8.x compatibility is provided through the bundled Elasticsearch 7 connector and the REST API Compatibility of Elasticsearch 8.
Liferay ships with an updated Elasticsearch connector using 7.17.21 as the client version and also as version of Sidecar Elasticsearch server for development and testing purposes.
Clause Contributors configuration is now stored within the blueprint’s JSON with a smaller footprint, reducing the size of a blueprint by more than 90% when using the default setting (all contributors enabled → Enable All) or the new Disable All option.
The behavior of the different options is as follows:
with Enable All, all current and future query clause contributors introduced to the platform will be enabled automatically. Disable All behaves the opposite way,
with Customize, the configuration is locked to the specified contributor list.
The selection filters of the Data Set Manager has been revamped to allow chosing different type of sources. On top of the picklist, now the admin user may select an API Headless as filter values source, so the filter values might be populated with the values coming from the API response. This allow users to have a more automated process on the filter creation.
Data Set Manager lets from now to map Array structures, so a given cell of a Data Set can show list of values, for example to list the roles of a user or the tags of a product.
When the users are facing a Frontend Data Set the items can show actions to interact with them that are set in the Data Set Manager. From now own, when the user navigates to a destination URL through an item or creation action, the current URL is added to the destination page, so the user can return to the Data Set after performing the action seamlessly.
The CX Filter allows developers to build their own filters, with on demand bussiness logic and UI, to be added to a Data Set in the Data Set Manager and then be used for end-users in the Data Set. With this new value, the Client Extension can be generic, and the same Client Extension can be used to build filters that filter by different fields.
User session replication has been optimized for the Tomcat application server.
Users can configure a reset for the number of guest submissions allowed in a given timeframe.
Users can add the necessary security layer to avoid misuse of scripting in Objects and Workflow Actions.
In Notification Templates, users will now be able to send emails based on Account, Organization and Regular Roles.
Notification recipients will follow the permission framework that is already in place.
|
Users can now create picklists beginning with capital letters. One key feature is that now users will be able to filter by Active and Inactive values.
This will be a new configuration under System Settings and when enabled, will allow notifications from the workflow to respect the scope of the site. |
Objects is used for a wide range of use cases, some of them more technical than others. This feature will allow users to configure where they want their objects to be listed. Thus, creating unnecessary complexity and reducing cognitive load on other users.
Users can now configure their objects to observe the guest user’s locale and send email notifications based on the guest user’s language preference.
The guest user’s language preference is determined by the language the guest user used when submitting the form. If a locale cannot be determined or a notification template does not exist, then the notification will be sent in the instance’s default language.