Java evolution is here

Java 8 was released to the world in March 2014. For the last decade, Liferay has been creating tools for users to build crafted, powerful solutions leveraging the Java 8 ecosystem. Even though we have also supported Java 11 runtime for the last 5+ years, our baseline for Portal/DXP’s development has remained on Java 8.

However, the industry is moving on from Java 8. Many of the technologies that Portal/DXP leverages and integrates are evolving. Hibernate, Elasticsearch, Spring Framework, and Java EE (renamed to Jakarta EE) are some of the familiar technologies to Liferay that have moved on.

The latest Java Long-Term-Support (LTS) release is Java 21. This offers all the latest performance, security, and code improvements. Better performance not only improves user experience, but also reduce cost of deployment on cloud environments. Security is critical, and we want to be using the latest technology to continue to protect our clients.

Liferay is committed to offering the world’s most flexible, fast, and secure DXP, and we are excited to announce that we are moving our product forward with the latest industry technologies from Java. The latest release of Liferay DXP (2024.Q2) is fully certified to run on both Java JDK 17 and 21.

In order to continue this evolution, our previous release (2024.Q1) will be the last version to support Java 8, and the current 2024.Q2 release will be the last release to support Java 11. Making this shift will enable us to migrate all our source code, features, and build tools over to Java 17 (and then 21) to take advantage of the modern Java technologies, performance improvements, and security features/patches.

Java 21

The Java 17 will move Liferay into the modern Java ecosystem, but our ultimate goal is to be an innovative platform. Java 21 delivers advanced code, performance, and security features beyond that of Java 17. We want to be clear that Java 21 is the new target of our platform. Migration to this latest version will equip your Portal/DXP deployment for the future.

Jakarta EE

Alongside the Java JDK, Liferay has leveraged the Java Enterprise Edition (EE) technologies to build tools that serve the needs of the modern enterprise. The Java EE specification has migrated and been renamed to Jakarta EE. Evolving our platform to modern enterprise Java is not just about the newer versions of the Java JDK, it is also migrating our code to Jakarta EE for the latest enterprise features.

Liferay’s next step after fully migrating to Java 17, will be to move to Jakarta EE 10. We expect this will take some time due to the technical complexity. We are announcing this well in advance to give time to prepare for this significant migration.

This is not a simple step for Liferay or for those who have developed on top of Liferay. The latest versions of Jakarta EE contain breaking changes in the API that is no longer backwards compatible with Java EE, so all Portal/DXP code needs to go through a migration process.

Application Servers

This migration to modern Java and Jakarta EE has also been encouraged by the application servers we support for DXP deployments.

The latest versions of Tomcat, Jboss, and Wildfly have all moved to Jakarta EE and newer versions of Java, and Oracle WebLogic stated they are doing the same by end the end of the year.

In in the short term, we have made some changes to the DXP Compatibility Matrix in the 2024.Q2 release that reflect the removal of Java 8 and the deprecation of Java 11.

Removed Deprecated Certified
IBM Websphere 9.0

Wildfly 18.0

Apache Tomcat 9.0.x
  Wildfly 23.0 Jboss EAP 7.4
  Jboss EAP 7.3 Wildfly 26.1
    Weblogic 14c

 

In the long term, with the transition to Jakarta EE 10, DXP will need to migrate to new versions of the Application Servers that support this new API. Users can prepare for this by reviewing requirements for Tomcat 10.1 or Jboss EAP 8.0.

 

Timeline

Over the next 3 years, Liferay’s Java roadmap is planned as follows:

 2024.Q1 Release
  • Final version supporting Java 8 and Websphere
 2024.Q2 Release
  • Runtime support for Java JDK 17 and Java JDK 21
  • Final version supporting Java 11
 2025
  • Migration to Jakarta EE 10
  • Migration to new versions of Tomcat and Jboss
  • Deprecation of Java 17
 2026
  • Finish migration of all features to native Java 21

 

Liferay recognizes that some of these changes will require some potentially painful migrations on existing Portal/DXP implementations. We hope that sharing this roadmap will help with planning for this necessary work to come. We also hope you are as excited as we are about another decade of building a new generation of flexible, fast, and secure solutions with Portal/DXP and Java.

 

Blogs

Hi Victor, thank you for the announcement & information in your blog post.

I do wonder whether you can confirm something for me regarding this line:

"the current 2024.Q2 release will be the last release to support Java 11"

Does this mean that we need to upgrade our workspace code from java 11 to 17/21 if we want to install Q3 when the time comes? It would be good to know how clear-cut Liferay's planning is to determine planning of our java workspace upgrades. Especially since there are some signs pointing to 17/21 support for i.e. servicebuilder projects not being available for Q2 (https://liferay.dev/blogs/-/blogs/blades-gradles-and-jdks-oh-my-)

Kind regards,

Daniēlle