The Jakarta EE 10 Platform, Web Profile, and new Core Profile Specifications were released today, introducing new features for building modernized, simplified, and lightweight cloud-native Java applications. 

“This release is the ‘big one’ that plants Jakarta EE firmly in the modern era of microservices and containers,” said Mike Milinkovich, executive director of the Eclipse Foundation. “The release of Jakarta EE 10 reflects the work of a global community of contributors, with leadership from vendors such as Fujitsu, IBM, Oracle, Payara, and Tomitribe. Jakarta EE has already helped breathe new life into enterprise Java, but with this release it has now delivered key innovations for the cloud-native era, which are critical to the future of our industry.” 

The new versions provide new functionality in over 20 component specifications through version updates. This includes Jakarta Contexts and Dependency Injection (CDI) 4.0, which offers Jakarta RESTful Web Services 3.1 and  standardizes a Java SE Bootstrap API. Also new is   Jakarta Security 3.0 with support for OpenID Connect and new functions in Jakarta Persistence queries.  Developers can also create Jakarta Faces Views with pure Java. 

According to a news release from open-source application server provider Payara, Jakarta EE 10 is the first major release of Jakarta EE since the major namespace update, brought by Jakarta EE 9. 

With Jakarta EE 9, the package namespace javax moved to jakarta across the Jakarta EE 9 Platform, Web Profile specifications, and related TCKs. “With Jakarta EE 10, we see the first release in the new namespace that also adds functionality for the Jakarta EE user,” the company wrote in its announcement. “The baseline Java JDK used is also changing, from Java 8 to Java 11 at API level, and Java 17 for runtimes. For Jakarta EE 8 users moving to Jakarta EE 10, all Jakarta EE imports in the code will need to be changed to the new namespace.’

For example, the release noted, for messaging, javax.jms must become jakarta.jms; Java Persistence, heavily used in Hibernate and Spring, must move from javax.persistence to jakarta.persistence, etc.

Also, Payara said, new Java SE Features can now be used with Jakarta EE 10; some of these are Completable Future, Fork/Join pools, and better integration with new technologies like OpenID. Payara Community users will be able to make use of these changes straightaway, thanks to Jakarta 10-compatible Payara 6 Community Alpha 4.

Meanwhile, the new Core Profile offers Jakarta EE specifications that target smaller runtimes for microservices development, including a new CDI-Lite specification that enables compiling to native by providing build-compatible extensions.  

Developers can now develop and deploy Jakarta EE 10 applications on Java SE 11 and SE 17 and take advantage of new features from SE 9 and SE 11. They also have access to simplified application development through the broader use of additional annotations.