This week's Java roundup for November 25th, 2024 features news highlighting: the last of the JEPs targeted to JDK 24 before Rampdown Phase One; the release of Quarkus 3.17.0, Hibernate Search 7.2.2, Kotlin 2.1.0 and JDKUpdater 14.0.67+100; the second release candidate of Vert.x 5.0 and the first release candidate of Maven 4.0.0.
OpenJDK
The following JEPs, having successfully completed their respective reviews, are now Targeted for JDK 24.
- 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 26 of the JDK 24 early-access builds was made available this past week featuring updates from Build 25 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.
Spring Framework
The release of Spring Cloud Stream Applications 2022.0.1 ships with notable changes such as: the addition of the missing test
scope in the org.springframework.cloud.fn:function-test-support
dependency; and dependency upgrades to various Spring projects. This release is compatible with Spring Boot 3.1.12 and Spring Cloud 2022.0.5. More details on this release may be found in the release notes.
Spring Cloud 2023.0.4, codenamed Leyton, has been released featuring featuring bug fixes and notable updates to sub-projects: Spring Cloud Kubernetes 3.1.4; Spring Cloud Function 4.1.4; Spring Cloud OpenFeign 4.1.4; Spring Cloud Stream 4.1.4; and Spring Cloud Gateway 4.1.6. This release is based on Spring Boot 3.2.12 and 3.3.6. Further details on this release may be found in the release notes.
It is important to note that the aforementioned Spring Cloud Gateway 4.1.6 was updated to use the headerSet()
method, defined in the Spring Framework HttpHeaders
class, for improved alignment with native implementations of the MultiValueMap
interface and its iteration methods. This change requires Spring Framework 6.1.15 and above.
Quarkus
The release of Quarkus 3.17.0 delivers bug fixes, dependency upgrades and new features such as: an integration of the OpenTelemetry specification to the WebSockets Next extension; an implementation of the MicroProfile Rest Client 4.0 specification, delivered in MicroProfile 7.0; and a new @PermissionChecker
annotation that allows the creation of permission checker methods on CDI beans. More details on this release may be found in the release notes.
Two days later, Quarkus 3.17.2, the first maintenance release (3.17.1 was skipped due to a regression), features resolutions to notable issues such as: a Hibernate FetchNotFoundException
due to use of optional=false
as a parameter in the Jakarta Persistence @ManyToOne
annotation; and an incompatibility with the @AuthorizationPolicy
annotation and Kotlin Suspend Functions. Further details on this release may be found in the release notes.
Hibernate
The release of Hibernate Search 7.2.2.Final provides dependency upgrades to Hibernate ORM 6.6.3.Final and Elasticsearch 8.15.4 along with resolutions to notable issues such as: projection cardinality when single and multivalued projections are mixed in a single long field path; and a potential problem with using the Jakarta Persistence @IdClass
annotation when an indexed embedded object is addressed using Hibernate ORM 6.6.3.Final. More details on this release may be found in the release notes.
Eclipse Vert.x
The second 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.
JDKUpdater
Version 14.0.67+100 of JDKUpdater, a utility that provides developers the ability to keep track of updates related to builds of OpenJDK and GraalVM has been made available this past week. Introduced in mid-March 2024 by Gerrit Grunwald, principal engineer at Azul, this release ships with new features: the package type bubble popup now displays if the JDK/JRE version is Long Term Support (LTS) or Short Term Support (STS) release; and, if available, the package type bubble popup now also displays the end-of-life date for the specific JDK/JRE version. More details on this release may be found in the release notes.
Kotlin
The release of Kotlin 2.1.0 delivers bug fixes and new features such as: updates to the K2 compiler that include additional flexibility around compiler checks; and improvements to Kotlin Multiplatform, Kotlin Native and Kotlin Wasm. Further details on this release may be found in the release notes and this YouTube video. InfoQ will follow up with a more detailed news story.
Apache Maven
The first release candidate and fifth beta release of Apache Maven 4.0.0 provide many dependency upgrades and notable changes such as: the addition of command line and terminal information when in verbose
mode; and a resolution to a broken Maven enc
subcommand. More details on these releases may be found in the version 4.0.0-RC1 and version 4.0.0-B5.