This week's Java roundup for October 7th, 2024, features news highlighting: JEP 489, Vector API (Ninth Incubator), and JEP 484, Class-File API, targeted for JDK 24; the release of Apache projects, Tomcat 11.0.0 and Cassandra 5.0.0; the release of EclipseStore 2.0.0; the October 2024 Payara Platform release; and the release of Ktor 3.0.0.
OpenJDK
After its review had concluded, JEP 489, Vector API (Ninth Incubator), has been promoted from Proposed to Target to Targeted for JDK 24. This JEP incorporates enhancements in response to feedback from the previous eight rounds of incubation, namely: JEP 469, Vector API (Eighth Incubator), delivered in JDK 23; JEP 460, Vector API (Seventh Incubator), delivered in JDK 22; JEP 448, Vector API (Sixth Incubator), delivered in JDK 21; JEP 438, Vector API (Fifth Incubator), delivered in JDK 20; JEP 426, Vector API (Fourth Incubator), delivered in JDK 19; JEP 417, Vector API (Third Incubator), delivered in JDK 18; JEP 414, Vector API (Second Incubator), delivered in JDK 17; and JEP 338, Vector API (Incubator), delivered as an incubator module in JDK 16. Originally slated to be a re-incubation by reusing the original Incubator status, it was decided to keep enumerating. The Vector API will continue to incubate until the necessary features of Project Valhalla become available as preview features. At that time, the Vector API team will adapt the Vector API and its implementation to use them, and will promote the Vector API from Incubation to Preview.
After its review had concluded, JEP 484, Class-File API, has been promoted from Proposed to Target to Targeted for JDK 24. This JEP proposes to finalize this feature in JDK 24 after two rounds of preview, namely: JEP 466, Class-File API (Second Preview), delivered in JDK 23; and JEP 457, Class-File API (Preview), delivered in JDK 22. This feature provides an API for parsing, generating, and transforming Java class files. This will initially serve as an internal replacement for ASM, the Java bytecode manipulation and analysis framework, in the JDK with plans to have it opened as a public API. Goetz has characterized ASM as "an old codebase with plenty of legacy baggage" and provided background information on how this feature will evolve and ultimately replace ASM.
JEP 490, ZGC: Remove the Non-Generational Mode, was promoted from its JEP Draft 8335850 to Candidate status. This JEP proposes to remove the non-generational mode of the Z Garbage Collector (ZGC). The generational mode is now the default as per JEP 474, ZGC: Generational Mode by Default, delivered in JDK 23. By removing the non-generational mode of ZGC, it eliminates the need to maintain two modes and improves development time of new features for the generational mode.
JDK 24
Build 19 of the JDK 24 early-access builds was made available this past week featuring updates from Build 18 that include fixes for various issues. Further details on this release may be found in the release notes.
With less than two months before Rampdown Phase One, four JEPs are currently targeted for JDK 24:
- 472: Prepare to Restrict the Use of JNI
- 475: Late Barrier Expansion for G1
- 484: Class-File API
- 489: Vector API (Ninth Incubator)
For JDK 24, developers are encouraged to report bugs via the Java Bug Database.
Project Loom
Build 24-loom+8-78 of the Project Loom early-access builds was made available to the Java community this past week and is based on Build 18 of the JDK 24 early-access builds. This build improves the implementation of Java monitors (synchronized methods) for enhanced interoperability with virtual threads.
Jakarta EE
In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE developer advocate at the Eclipse Foundation, provided an update on the upcoming release of Jakarta EE 11, writing:
The refactoring of the Jakarta EE TCK continues. It looks like we will be able to release Jakarta EE 11 Core Profile pretty soon with Open Liberty as a ratifying implementation. For the Platform and Web Profile, we will have to wait a little longer. It still looks like it will be possible to release in time for JakartaOne Livestream on December 3, 2024.
The road to Jakarta EE 11 included four milestone releases with the potential for release candidates as necessary before the GA release in 4Q2024.
Spring Framework
The second milestone release of Spring Cloud 2024.0.0, codenamed Moorgate, features bug fixes and notable updates to sub-projects: Spring Cloud Kubernetes 3.2.0-M2; Spring Cloud Function 4.2.0-M2; Spring Cloud OpenFeign 4.2.0-M2; Spring Cloud Stream 4.2.0-M2; and Spring Cloud Gateway 4.2.0-M2. This release provides compatibility with Spring Boot 3.4.0-M3. More details on this release may be found in the release notes.
The third milestone release of Spring AI 1.0.0 provides new features such as: improvements to their Spring Advisors API; a new ToolContext
class that replaces using Map<String, Object>
for function callbacks; and support for additional observability models that include: Azure OpenAI, Google Vertex AI, and MiniMax AI.
The second milestone release of Spring Batch 5.2.0 provides new features such as: support for MongoDB as an implementation of the JobRepository
interface; a new CompositeItemReader
class to complement the existing CompositeItemWriter
and CompositeItemProcessor
classes. Further details on this release may be found in the release notes.
Following-up from the recent plan to release Spring Framework 7.0 and Spring Boot 4.0 in November 2025, the Spring Cloud Data Flow (SCDF) team has prepared its own plan to release version 3.0 in November 2025. The intent to align the SCDF projects (such as: SCDF server components, Composed Task Runner, and SCDF UI) with Spring Framework 7.0 and Spring Boot 4.0.
Payara
Payara has released their October 2024 edition of the Payara Platform that includes Community Edition 6.2024.10 and Enterprise Edition 6.19.0 and Enterprise Edition 5.68.0. Along with bug fixes and dependency upgrades, all three releases primarily address CVE-2024-8215, a cross-site scripting vulnerability that allows an attacker to remotely execute code via the Payara Management REST interface. These releases also feature an integration of the EclipseLink interruption enhancements to the WriteLockManager
class to improve performance in database operations. More details on these releases may be found in the release notes for Community Edition 6.2024.10 and Enterprise Edition 6.19.0 and Enterprise Edition 5.68.0.
Open Liberty
IBM has released version 24.0.0.10 of Open Liberty featuring: support for JDK 23; and new versionless features that support the MicroProfile Context Propagation, MicroProfile GraphQL, MicroProfile Reactive Messaging and MicroProfile Reactive Streams Operators specifications.
Micronaut
The Micronaut Foundation has released version 4.6.3 of the Micronaut Framework featuring Micronaut Core 4.6.6 and updates to modules: Micronaut Security, Micronaut Test Resources, Micronaut MQTT, Micronaut Data, Micronaut gRPC, Micronaut Oracle Cloud and Micronaut Security. Further details on this release may be found in the release notes.
EclipseStore
The release of EclipseStore 2.0.0 delivers bug fixes and new features such as: a new BinaryHandlerSetFromMap
class for the inner private static class, SetFromMap
, defined in the Java Collections
class, for improved data handling; and enhancements to the Storer
interface that include a new UsageMarkable
interface to prevent references of the Lazy
interface from being cleared despite having unstored changes. More details on this release may be found in the release notes.
Apache Software Foundation
After 26 milestone releases, Apache Tomcat 11.0.0 has been released featuring: support for virtual threads; the addition of compatibility methods from JEP 454, Foreign Function & Memory API, that support OpenSSL, LibreSSL and BoringSSL, which all require a minimal version of JDK 22; and easy integration with Let’s Encrypt and an improved process to renew TLS certificates via automatic reloading of updated TLS keys and certificates with zero downtime. October 7, 2024, marks the 25th anniversary of the first commit to the Apache Tomcat source code repository since Sun Microsystems donated Tomcat to the Apache Software Foundation. Further details on this release may be found in the release notes.
Apache Tomcat 9.0.96 has also been released featuring bug fixes and notable changes such as: improved WebDAV support via a minor refactoring of the WebdavServlet
class; and improved stability of the Tomcat Native Library upon destroying instances of the SSLContext
interface during garbage collection. More details on this release may be found in the release notes.
OpenXava
The release of OpenXava 7.4.1 provides bug fixes, improvements in documentation, dependency upgrades and new features such as: new Maven archetypes, openxava-invoicing-archetype
and openxava-invoicing-archetype-spanish
, in English and Spanish, respectively; and a simple view layout with the property, flowLayout=true
, that may now be applied up to 15 plain properties instead of eight. Further details on this release may be found in the release notes.
JHipster
The release of JHipster Lite 1.20.0 ships with bug fixes, improvements in documentation, dependency upgrades and new features/enhancements such as: an improved generated style using Tikui, a library for building static components; and support for JWT and OAuth2 authentication using Vue.js. More details on this release may be found in the release notes.
JetBrains Ktor
The release of JetBrains Ktor 3.0.0, the asynchronous framework for creating microservices and web applications, provides bug fixes and improvements such as: a migration to the kotlinx-io library to standardize I/O functionality across Kotlin libraries and improve performance; support for server-side events; and support for WebAssembly in Ktor Client. Further details on this release may be found in the release notes. InfoQ will follow up with a more detailed news story.