This week's Java roundup for November 18th, 2024, features news highlighting: OpenJDK JEPs targeted and proposed to target for JDK 24; Jakarta EE 11 Core Profile in release review; the November 2024 Payara Platform release; the first release candidate of Vert.x 5.0; and point releases of Log4j 2.24.2 and JobRunr 7.3.2.
OpenJDK
The following JEPs, having successfully completed their respective reviews, are now Targeted for JDK 24.
- JEP 497, Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm [announcement]
- JEP 496, Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism [announcement]
The following JEPs have been elevated to Proposed to Target for JDK 24. Their reviews are expected to conclude on November 25, 2024, and November 26, 2024 (JEP 499).
- JEP 501: Deprecate the 32-bit x86 Port for Removal [announcement]
- JEP 499: Structured Concurrency (Fourth Preview) [announcement]
- JEP 498: Warn upon Use of Memory-Access Methods in sun.misc.Unsafe [announcement]
Details on all of these JEPs may be found in this InfoQ news story.
JDK 24
Build 25 of the JDK 24 early-access builds was made available this past week featuring updates from Build 24 that include fixes for various issues. Further details on this release may be found in the release notes.
For JDK 24, developers are encouraged to report bugs via the Java Bug Database.
Jakarta EE
In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE developer advocate at the Eclipse Foundation, provided an update on Jakarta EE 11, writing:
Some exciting news! Jakarta EE Core Profile 11 is finally under release review. There are two compatible implementations available as both WildFly and Open Liberty have passed the TCK. The ballot will conclude at the latest on December 4, but it may happen earlier if all members have voted. Hopefully, I will be able to share the same exciting news about the Jakarta EE Platform 11 and Jakarta EE Web Profile 11 soon. The work of modernizing and refactoring the TCK is still going on.
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
It was a busy week over at Spring as the various teams have delivered anticipated GA releases of Spring Boot 3.4, Spring Security 6.4, Spring Authorization Server 1.4, Spring Integration 6.4, Spring Modulith 1.3, Spring AMQP 3.2, Spring for Apache Kafka 3.3.0 and Spring for Apache Pulsar 1.2. More details may be found in this InfoQ news story.
Payara
Payara has released their November 2024 edition of the Payara Platform that includes Community Edition 6.2024.11 and Enterprise Edition 6.20.0 and Enterprise Edition 5.69.0. Along with bug fixes and dependency upgrades, all three releases provide new features: support for Tom's Obvious Minimal Language, better known as TOML, for the MicroProfile Config specification; and the addition of auto naming in the Automated Deployment Groups that simplifying cluster management operations. Further details on these releases may be found in the release notes for Community Edition 6.2024.11 and Enterprise Edition 6.20.0 and Enterprise Edition 5.69.0.
This edition also features the second alpha release of Payara Community Edition 7.2024.1 that delivers support for the upcoming release of Jakarta EE 11 with implementations of the Jakarta EE 11 Platform specifications except for Jakarta Authentication and Jakarta Data.
Open Liberty
IBM has released version 24.0.0.12-beta of Open Liberty featuring enhanced inbound SOAP message validation in their implementation of the Jakarta XML Web Services specification that simplifies message debugging and provides more resilient web services and client applications. New attributes - enableSchemaValidation
, enableDefaultValidation
and ignoreUnexpectedElements
- may be added to the webService
and webServiceClient
elements in the server.xml
file.
Micronaut
The Micronaut Foundation has released version 4.7.1 of Micronaut Framework featuring Micronaut Core 4.7.6, bug fixes and patch updates to modules: Micronaut Security, Micronaut JAX-RS, Micronaut Data, Micronaut OpenAPI/Swagger Support and Micronaut Micrometer. More details on this release may be found in the release notes.
JobRunr
The release of JobRunr 7.3.2 delivers bug fixes and enhancements such as: ensuring that the Interval
class is idempotent to prevent an instance of the JobZooKeeper
class, instantiated from the BackgroundJobServer
class, from starting when a critical startup task fails; and catching and translating a JobActivatorShutdownException
when an IoC container is shutting down. Further details on this release may be found in the release notes.
Apache Log4j
The release of Apache Log4j 2.24.2 primarily addresses a critical bug in Log4j API initialization code which has the potential to cause the getLogger()
method, defined in the LogManager
class, to return null
under certain conditions. Other notable fixes include: an ArrayIndexOutOfBoundsException
due to an "off-by-one" (or fencepost error) in the StackTraceStringResolver
class; and a NullPointerException
due to a broken logger in version 2.24.1. More details on this release may be found in the release notes.
Eclipse Vert.x
The first release candidate of Eclipse Vert.x 5.0 features: a new VerticleBase
class that moves forward their future-based model, replacing the callback asynchronous model that was used in previous versions of Vert.x. Version 5.0 will support the Java Platform Module System (JPMS) with explicit modules. JPMS examples have been provided for developers interested in getting started. Further details on this release may be found in the release notes and deprecations and breaking changes. The Vert.x team anticipates additional release candidates before the GA release in December 2024.
Gradle
Gradle 8.11.1, the first maintenance release, provide resolutions to issues such as: a corrupted BuildEventsListenerRegistry
interface with Gradle's Isolated Projects and parallel configuration; an ArrayIndexOutOfBoundsException
after upgrading to Gradle 8.11 when generating a problems report; and the inability to execute a Gradle task in version 8.10 due to bytecode interception. More details on this release may be found in the release notes.