This week's Java roundup for September 16th, 2024, features news highlighting: the release of JDK 23 and GraalVM for JDK 23; an update on Jakarta EE 11 and plans for Jakarta EE 12; introducing Micronaut GraalPy; and Azul Zing Builds of OpenJDK 24.08.
JDK 23
Oracle has released version 23 of the Java programming language and virtual machine, which ships with a final feature set of 12 JEPs. More details may be found in this InfoQ news story.
JDK 24
Build 16 of the JDK 24 early-access builds was made available this past week featuring updates from Build 15 that include fixes for various issues. More 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.
GraalVM
In conjunction with the release of JDK 23, GraalVM for JDK 23 has been released by Oracle Labs. New features include: an implementation of several JDK 23 JEPs; a new mark and compact garbage collector for the old generation of the Serial GC with a primary goal to reduce the maximum memory usage; and a new Resources view that allows developers to explore the Java resources included in the native image. Further details on this release may be found in the release notes and the GraalVM for JDK 23 release stream on YouTube. InfoQ will follow up with a more detailed news story.
Oracle Labs has also released version 4.6.0.1 of the Graal Development Kit for Micronaut featuring alignment with Micronaut 4.6.0. Formerly known as Graal Cloud Native, the Graal Development Kit for Micronaut provides a curated set of Micronaut framework modules that simplify cloud application development. New features include: integration with Microsoft Azure; supply chain security verification; and compliance with the Supply-Chain Levels for Software Artifacts (SLSA) with Macaron, a supply chain security analysis tool by Oracle Labs. More details on this release may be found in the release notes.
Jakarta EE 11
In his weekly Hashtag Jakarta EE blog, Ivar Grimstad, Jakarta EE developer advocate at the Eclipse Foundation, provided an update on Jakarta EE 11 and plans for Jakarta EE 12, writing:
The refactoring efforts of the Jakarta EE Platform TCK are moving along. There is not a final date yet, but it looks like sometime in the mid-to-end of November is realistic. There could potentially be a big release party at JakartaOne Livestream.
A draft of the plan for Jakarta EE 12 is in the works. The plan is to aim for a release of Jakarta EE 12 in the first half of 2026. Worth noticing is that implementations of Jakarta EE 12 must be certified on either Java 21 or Java 25, or both. Targeting two Java versions like this is consistent with the way it has been done since Jakarta EE 9.
The JakartaOne Livestream 2024 conference is scheduled for December 3, 2024.
Amazon Corretto
Amazon has released Amazon Corretto 23, their downstream distribution of OpenJDK 23, which is available on Linux, Windows, and macOS. Developers may download this latest version from this website.
BellSoft Liberica
Similarly, BellSoft has released Liberica JDK 23, their downstream distribution of OpenJDK 23. Developers may download this latest version from this website.
In conjunction with the release of JDK 23 and GraalVM for JDK 23, BellSoft has also released version 24.1.0 of Liberica Native Image Kit. Enhancements include: a new command-line option, -Os
, that optimizes a build for a smaller native image; and an improved Serial GC that now performs compact garbage collection on the old generation yielding a reduced memory consumption.
Azul
Azul has released version 24.08 of Azul Zing Builds of OpenJDK, their optimized Java runtime within Azul Platform Prime, that includes the April 2024 and July 2024 of Oracle’s Critical Patch Update. Other improvements include: performance improvements with their implementation of the get()
method, defined in the Java Array
class; and a new Multi-Tiering feature in their Falcon JIT Compiler that schedules methods for compilation under different optimization levels for improved performance during application warmup. Further details on this release may be found in the release notes.
Spring Framework
It was a busy week over at Spring as the various teams have delivered numerous milestone and point releases on Spring Boot, Spring Cloud Dataflow, Spring Security, Spring Authorization Server, Spring Integration, Spring Modulith, Spring Batch, Spring AMQP and Spring for Apache Pulsar. More details may be found in this InfoQ news story.
JNoSQL
Version 1.1.2 of Eclipse JNoSQL and Eclipse JNoSQL Databases, a compatible implementation of the Jakarta Data and Jakarta NoSQL specifications, featuring improvements such as: upgrades to database driver libraries; ensuring better performance; security, and compatibility. This version has also passed the Jakarta Data TCK (Technology Compatibility Kit). Otávio Santana, independent software consultant as OS experts and JNoSQL specification lead, stated this is:
A significant milestone in our commitment to maintaining the highest standards of compatibility and interoperability in the Jakarta ecosystem.
Further details on these releases may be found in the release notes for JNoSQL and JNoSQL Databases.
Micronaut
The Micronaut Foundation has introduced a new Micronaut Module: Micronaut GraalPy, based on the GraalPy project, an implementation of the Python language for the JVM built on GraalVM. The Micronaut Foundation plans to have this new module with the upcoming release of Micronaut Framework 4.7.0.
WildFly
WildFly 33.0.2, the second maintenance release, ships with bug fixes and dependency upgrades to address: CVE-2024-8391, a vulnerability affecting Eclipse Vert.x 4.3.0 to 4.5.9, in which the gRPC server did not limit the maximum length of message payload resulting in an overconsumption of memory; and CVE-2024-7885, a vulnerability in Undertow, where an instance of the ProxyProtocolReadListener
class reuses the same instance of StringBuilder
across multiple requests resulting in different requests possibly sharing the same StringBuilder
instance potentially leading to an information leak.
Hibernate
The release of Hibernate Reactive 2.4.1.Final provides dependency upgrades and a resolution to a ClassCastException
when trying to load multiple entities with the Jakarta Persistence @EmbeddedId
annotation. This release is compatible with Hibernate ORM 6.6.1.Final and Vert.x SQL Client 4.5.10. More details on this release may be found in the release notes.
Apache Software Foundation
As a follow-up from the releases in the previous week, versions 11.0.0-M26 and 9.0.95 of Apache Tomcat address a regression in which HTTP/2 processing "was likely to be broken for all clients once any client sent an HTTP/2 reset frame." Further details on these releases may be found in the release notes for version 11.0.0-M26 and version 9.0.95.
The release of Apache Camel 4.8.0, a long-term release, delivers bug fixes, dependency upgrades and new features such as: support for Kubernetes Secrets and Hashicorp Vault in the Camel JBang component; and improved support for the Java Path
interface for conveying messages with the same converters registered with instances of the Java File
class. More details on this release may be found in the release notes.
JHipster
The release of JHipster 8.7.1 delivers: dependency upgrades to Spring Boot 3.3.4, Angular 18.2.4, Vue 3.5.5 and ESLint 9.10.0; and enables Docker support for Spring Boot by default. Further details on this release may be found in the release notes.
The release of JHipster Lite 1.19.0 ships with bug fixes, dependency upgrades and new features such as: the custom-jhlite
instance now generates the necessary material for handling custom dependencies of npm
; and improvements to the ElementReplacer
interface by changing the behavior of the text()
and regex()
methods, defined in the JHipsterModule
class, to not always perform a replacement; and the addition of helper methods in the ReplacementCondition
interface to simplify writing replacements. More details on this release may be found in the release notes.
OpenXava
The release of OpenXava 7.4 provides bug fixes and new features such as: new annotations, @Chart
for collections to display a collection as a chart from its data, @LargeDisplay
that displays a property value in large format, and @SimpleList
for collections to display a list without actions, filters, pagination and sorting; and many improvements in lists, collections and references. Further details on this release may be found in the release notes.
JDKUpdater
Version 14.0.57+78 of JDKUpdater, a new utility that provides developers the ability to keep track of updates related to builds of OpenJDK and GraalVM. Introduced in mid-March by Gerrit Grunwald, principal engineer at Azul, this release resolves an issue related to updating the CVEs. Further details on this release may be found in the release notes.