This week's Java roundup for June 10th, 2024, features news highlighting: Keycloak 25, release reviews for Jakarta Authentication 3.1 and Jakarta Security 4.0, Spring Framework 6.2.0-M4 and corresponding service releases, Spring Data service releases, Hibernate 6.6.0.CR1 and 7.0.0.Alpha3, and the monthly Piranha Cloud release for June 2024.
JDK 23
Build 27 of the JDK 23 early-access builds was made available this past week featuring updates from Build 26 that include fixes for various issues. Further details on this release may be found in the release notes, and details on the new JDK 23 features may be found in this InfoQ news story.
JDK 24
Build 2 of the JDK 24 early-access builds was also made available this past week featuring updates from Build 1 that include fixes for various issues. Release notes are not yet available.
For JDK 23 and 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, has provided an update on the upcoming GA release of Jakarta EE 11. The final two specifications, Jakarta Authentication 3.1 and Jakarta Security 4.0, are in the midst of their respective release reviews with the anticipation of having these completed by June 26. Also, the artifacts for Jakarta EE 11-M3 have been published to Maven Central and developers are encouraged to experiment and provide feedback.
Spring Framework
The fourth milestone release of Spring Framework 6.2.0 delivers bug fixes, improvements in documentation, dependency upgrades and new features such as: support for converting an entire JSON document without having to use JSONPath; introduce new static factory methods for the MultiValueMap
interface to create immutable multi-value maps; and support for declaring an instance of the BeanPostProcessor
interface in Kotlin. More details on this release may be found in the release notes.
Similarly, versions Spring Framework 6.1.9, 6.0.22 and 5.3.37 have also been released providing bug fixes, improvements in documentation, dependency upgrades and new features such as: improvements to the AnnotationUtils
class to eliminate performance degradation resulting from generating deep stack traces in cases where exceptions are thrown; and a resolution to the determineBeanType()
method, defined in the AbstractAutoProxyCreator
class, triggering bean initialization at build time for aspects implementing the Ordered
interface. Version 6.1.9 will be included in the upcoming releases of Spring Boot 3.3.1 and 3.2.7. Further details on these releases may be found in the release notes for version 6.1.9, version 6.0.22 and version 5.3.37.
Versions 2024.0.1 and 2023.1.7, both service releases of Spring Data, feature bug fixes and respective dependency upgrades to sub-projects such as: Spring Data Commons 3.3.1 and 3.2.7; Spring Data MongoDB 4.3.1 and 4.2.7; Spring Data Elasticsearch 5.3.1 and 5.2.7; and Spring Data Neo4j 7.3.1 and 7.2.7. These versions can be consumed by the upcoming releases of Spring Boot 3.3.1 and 3.2.7, respectively.
Version 4.23.0 of Spring Tools has been released featuring bug fixes and notable changes such as: syntax validation for JPQL, SQL, HQL embedded in Java code; syntax highlighting for SQL code embedded into Spring Data query annotations; and a resolution to an issue in VSCode not properly navigating to beans annotated with the Spring Framework @DependsOn
annotation. More details on this release may be found in the release notes.
Helidon
Helidon 4.0.10, the tenth maintenance release, delivers notable changes such as: a new inner class, MethodStateCache
, defined in the MethodInvoker
class that implements a new method caching strategy in the Fault Tolerance component; updates to support latest developer release of GraalVM native image; and JWT validation improvements in the Security component. Further details on this release may be found in the changelog.
Quarkus
Red Hat has announced that they plan to move Quarkus to a yet-to-be-determined foundation to "accelerate the adoption rate, enhance transparency, foster collaboration, and encourage multi-vendor participation and execution." In the spirit of more open governance, Red Hat will roll out initiatives designed to implement these goals. Developers are encouraged to participate in this GitHub discussion to provide input.
Hibernate
The first release candidate of Hibernate ORM 6.6.0 ships with new features such as: a complete compatible implementation of the Jakarta Data 1.0 specification based on compile-time code generation via an annotation processor for type safety; a new @ConcreteProxy
annotation to replace the deprecated @Proxy
and @LazyToOne
annotations; and a discriminator-based inheritance for types annotated with @Embeddable
.
Similarly, the third alpha release of Hibernate ORM 7.0.0 delivers continuous improvements on: the migration to the Jakarta Persistence 3.2 specification, the latest version to be delivered in Jakarta EE 11; a baseline to JDK 17; a new XSD
file that represents an extension of the Jakarta Persistence orm.xsd
file that weaves in Hibernate-specific mapping features; and a migration from the Hibernate Commons Annotations (HCANN) to the new Hibernate Models project for low-level processing of an application domain model.
The second alpha release of Hibernate Search 7.2.0 provides bug fixes and improvements such as: a migration to Apache License 2.0 as part of an overall effort to move all Hibernate products; new within
and withinAny
predicates for the range
predicate to accept multiple ranges that match a document when the value is within at least one of the provided ranges.
Micrometer
Versions 1.13.1 and 1.12.7 of Micrometer Metrics feature notable dependency upgrades such as: Spring Framework 5.3.36; Project Reactor 2022.0.19; and Dropwizard Metrics 4.2.26. More details on these releases may be found in the release notes for version 1.13.1 and version 1.12.7.
Similarly, versions 1.3.1 and 1.2.7 of Micrometer Tracing ship with dependency upgrades to Micrometer Metrics 1.13.1 and 1.12.7, respectively, and resolutions to issues: use of the OtelTracer
class does not set the correct parent context when the trace ID of the span has been explicitly specified; and a failed test in which the value of parent span ID is non-null
depending on the sampling configuration. Further details on these releases may be found in the release notes for version 1.3.1 and version 1.2.7.
Project Reactor
The third milestone release of Project Reactor 2024.0.0 provides dependency upgrades to reactor-core 3.7.0-M3
, reactor-netty 1.2.0-M3
and reactor-pool 1.1.0-M3
. There was also a realignment to version 2024.0.0-M3 with the reactor-kafka 1.4.0-M1
, reactor-addons 3.6.0-M1
and reactor-kotlin-extensions 1.3.0-M1
artifacts that remain unchanged. More details on this release may be found in the changelog.
Next, Project Reactor 2023.0.7, the seventh maintenance release, provides dependency upgrades to reactor-core 3.6.7
, reactor-netty 1.1.20
and reactor-pool 1.0.6
. There was also a realignment to version 2023.0.7 with the reactor-kafka 1.3.23
, reactor-addons 3.5.1
and reactor-kotlin-extensions 1.2.2
artifacts that remain unchanged. Further details on this release may be found in the changelog.
Next, Project Reactor 2022.0.20, the twentieth maintenance release, provides dependency upgrades to reactor-core 3.5.18
and reactor-netty 1.1.20
and reactor-pool 1.0.6
. There was also a realignment to version 2022.0.20 with the reactor-kafka 1.3.23
, reactor-addons 3.5.1
and reactor-kotlin-extensions 1.2.2
artifacts that remain unchanged. More details on this release may be found in the changelog.
And finally, the release of Project Reactor 2020.0.45, codenamed Europium-SR45, provides dependency upgrades to reactor-core 3.4.39
and reactor-netty 1.0.46
. There was also a realignment to version 2020.0.45 with the reactor-kafka 1.3.23
, reactor-pool 0.2.12
, reactor-addons 3.4.10
, reactor-kotlin-extensions 1.1.10
and reactor-rabbitmq 1.5.6
artifacts that remain unchanged. Further details on this release may be found in the changelog.
Piranha Cloud
The release of Piranha 24.6.0 delivers a cleanup and update of their pom.xml
files that include: a move of EclipseLink, Red Hat Weld and Eclipse Yasson (that implement the WebApplicationExtension
interface) to their own extensions; and a move of the Undertow, Grizzly, Netty and Project CRaC dependencies (that implement the HttpServer
interface) to the Piranha HTTP module. More details on this release may be found in their documentation and issue tracker.
Keycloak
The release of version 25.0.0 of Keycloak delivers new features such as support for JDK 21, an upgrade to PatternFly 5 and password hashing with Argon2. This version removes the Account Console v2 theme, deprecated in Keycloak 24, along with many of the Java adapters that were deprecated in February 2022. Support for JDK 17 has also been deprecated. Further details on this release may be found in the release notes. InfoQ will follow up with a more detailed news story.
JHipster
Matt Raible, project co-lead of JHipster, Java Champion and Web Developer, announced that the these five JHipster blueprints, namely - Ionic, Micronaut, JHipster Native (GraalVM for Spring Boot), Quarkus and React Native - now support JHipster 8.5.0, the latest release.
Vaadin
The release of Vaadin 24.4 delivers a unified Vaadin platform by including Hilla, a web framework for Java developers introduced by Vaadin in February 2022, that will provide React support to the entire Vaadin platform. This release also introduces Vaadin Copilot, a visual development tool and AI-powered assistant that helps developers inspect and edit the UI, and use generative AI to create or modify code. More details on this release may be found in the release notes for Vaadin Flow and Hilla. InfoQ will follow up with a more detailed news story.