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.
For those Objects that have the translation active, users can not get this entry information using GraphQL. In order to improve GraphQL capabilities, we have exposed the _i18n properties, so any user can retrieve it.
Liferay has expanded GraphQL capabilities to match the functionality of REST APIs for managing object entries. Users can now transition object entries from Draft to Approved status using GraphQL, providing more flexibility and control within the development process. |
For making the Sign In portlet related functions easily customizable for the end users we want to simplify the portlet as much as we can. We need to remove all it’s configuration or functionality that can be handled in higher level.
Currently, the customer has to resort to email reports to see their autoscaling. We are making this information much more available and searchable, allowing the user to better understand their autoscaling behaviour.
Liferay DXP provides a variety of developer tools that include a robust build script framework, lightweight CLI utilities, and IDE tools. We have recently released new versions of Liferay Workspace and the IDE tools, which include Liferay Developer Studio, Liferay Eclipse Plugin, and Liferay IntelliJ Plugin. The main benefits include:
Alignment with the platform itself: The tools now support our quarterly releases, giving access to development on Liferay DXP's latest features.
Latest Java version support: Compatibility with JDK 17 and 21 provides developers with enhanced security, improved performance, and the newest capabilities of the Java platform.
- Upgraded development environment: Support for Gradle 8 enables improved build automation features and performance.
Liferay now allows users to sort Custom Objects entries based on data from related objects. This enhanced functionality provides greater flexibility and control when managing complex data structures, enabling users to organize information more effectively.
Feature Status Change
It is now possible to select Date Times as a product option type, configuring purchase options for products based on date, times, time zones, and durations, allowing for the sale of time slots.
Feature Status Change
Users can activate the content creation prompt with a single click by leveraging AI capabilities directly within the CKEditor for seamless and efficient content generation. Requires a valid OpenAI API key.
Feature Status Change
Manage contacts directly related to accounts like phone numbers, emails, websites, addresses.
A new Contact Tab in Account details page with 2 internals tabs was created:
- Addresses
- Contact Information
Users with “Accounts > Account Entry: Manage Addresses” permission should be able to manage their contacts with all these actions:
- Add
- Edit
- Remove
- Mark as primary
Example of managing a phone number:
Users without “Accounts > Account Entry: Manage Addresses” permission should be able to only view the existing phone number entries.
Feature Status Change
Map individual specifications, choose the order, and create clear, informative product pages that drive sales and enhance the customer experience. Simplify product page creation and empower your business with this new feature.
Feature Status Change
Our new Bulk Permission Management empowers administrators to modify access rights for multiple pages effortlessly. This new feature offers a multitude of benefits:
- Effortless Management: Save valuable time by managing permissions for multiple pages simultaneously.
- Enhanced Security: Gain complete visibility into page access, ensuring all intended audiences can access the content they need.
- Optimized Accessibility: Quickly identify pages not accessible to Guests and make adjustments for optimal user experience.
Feature Status Change
Now it is possible to easily identify the content you have created and any recent content you generated. This enhancement streamlines and optimizes this workflow.
Feature Status Change
The goal here is to make the users able to move changes between publications. This is needed because sometimes users do not want to publish an entire publication, but also do not want to revert the changes which will not be published actually. With this feature users can move changes from one publication to another, creating subsets of changes, and publish them separately. For readers with technical knowledge: this is similar to cherry-pick-ing a commit in git from one branch to another.
Feature Status Change
Simply provide a descriptive prompt and let DALL-E generate the perfect image to complement your content strategy, saving you valuable time and resources. Leverage AI to spark new ideas and generate unique concepts that perfectly align with your content needs. Explore a world of visual possibilities!
Feature Status Change
The Custom User Attributes functionality of Asset Publisher is sometimes difficult to understand for the customer, so we recommend the users use Content Sets + Experiences instead. |
Feature Status Change
The Headless Search API introduced as BETA in 7.4 U88 is now in RELEASE status.
Feature Status Change
Support for these application servers is removed for 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.
Feature Status Change
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.
Feature Status Change
Users can add validations to verify field values that, when used in combination, are unique.
Limitation: numeric fields such as Integer, Long Integer, Decimal, Precision Decimal will be stored as null.
Feature Status change:
Now the possibility of Export/Import Frontend Client Extensions is available by default.