This week’s Java roundup for April 21st, 2025 features news highlighting: the GA release of Gradle 8.14; JBang introduces Jash, a Java library for shell scripts; the first release candidate of Hibernate ORM 7.0; the April edition of Open Liberty; and the end of open-source support for Spring Cloud Data Flow.
OpenJDK
Two JEPs have been elevated from Candidate to Proposed to Target for JDK 25, announced here and here, respectively, namely: JEP 512, Compact Source Files and Instance Main Methods, and JEP 511, Module Import Declarations. Their reviews are expected to conclude on Monday, April 28, 2025 and details for each JEP may be found in this InfoQ news story.
JEP 513, Flexible Constructor Bodies, has been elevated from its JEP Draft 8344702 to Candidate status. This JEP proposes to finalize this feature, without change, after three rounds of preview, namely: JEP 492, Flexible Constructor Bodies (Third Preview), delivered in JDK 24; JEP 482, Flexible Constructor Bodies (Second Preview), delivered in JDK 23; and JEP 447, Statements before super(…) (Preview), delivered in JDK 22. This feature allows statements that do not reference an instance being created to appear before the this()
or super()
calls in a constructor; and preserve existing safety and initialization guarantees for constructors. Gavin Bierman, Consulting Member of Technical Staff at Oracle, has provided an initial specification of this JEP for the Java community to review and provide feedback.
JDK 25
Build 20 of the JDK 25 early-access builds was made available this past week featuring updates from Build 19 that include fixes for various issues. More details on this release may be found in the release notes.
For JDK 25, developers are encouraged to report bugs via the Java Bug Database.
GlassFish
GlassFish 7.0.24, the twenty-fourth maintenance release, delivers bug fixes, dependency upgrades and new features such as: support for JDK 24; and faster deployment time with improved file discovery by using the walkFileTree()
method defined in the Java Files
class. More 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 first release candidates of Spring Boot, Spring Data 2025.0.0, Spring Security, Spring Authorization Server, Spring Session, Spring Integration, Spring Modulith and Spring Web Services. There were also second milestone releases of Spring Data 2025.1.0 and Spring for Apache Kafka and a first milestone release of Spring Vault. Further details may be found in this InfoQ news story.
The Spring Cloud Data Flow team has announced the end of open-source support for this project along with Spring Cloud Deployer and Spring Statemachine. The reasoning for this includes:
Spring Cloud Data Flow came out of the roots for Spring XD eight years ago for orchestrating both batch and streaming workloads and has shown great success with our customers over those years. However, in order to keep Spring Cloud Data Flow and related ecosystem projects going into the future in a way that is sustainable, we have made the decision to only release Spring Cloud Data Flow as a commercial offering.
Future releases, after versions 2.11.x, 2.9.x and 4.0.x, respectively, will only be made available to Tanzu Spring customers.
Open Liberty
IBM has released version 25.0.0.4 of Open Liberty featuring: support for Java 24; the ability to collect Liberty audit logs, via their Audit 2.0 feature, and send them to a configured OpenTelemetry exporter; and InstantOn support for the J2EE Management 1.1, Application Client Support for Server 1.0, Jakarta Application Client Support for Server 2.0 and Web Security Service 1.1 features. There were also resolutions to CVE-2025-25193 and CVE-2025-23184 that may cause a denial-of-service due to vulnerabilities from Netty versions up to and including 4.1.118.Final and Apache CXF versions before 3.5.10, 3.6.5 and 4.0.6, respectively.
Quarkus
Quarkus 3.21.4, the fourth maintenance release, ships with notable changes such as: a resolution to a StackOverflowError
using a retry policy from the SmallRye implementation of MicroProfile Fault Tolerance specification; and the addition of a warning or error when attempting to create an instance of the HttpSecurityPolicy
interface with a duplicated name. More details on this release may be found in the release notes.
Helidon
The release of Helidon 4.2.1 provides bug fixes and notable changes such as: the use of base units from the Timer
interface for improved metrics reporting, in JSON format, in the toString()
method defined in the MTimer
class; and support for configurable buffering added to the TcpClientConnection
class to to prevent small write chunks. More details on this release may be found in the release notes.
Hibernate
The first candidate release of Hibernate ORM 7.0.0 delivers new features such as: a new QuerySpecification
interface that provides a common set of methods for all query specifications that allow for iterative, programmatic building of a query; and a migration from Hibernate Commons Annotations (HCANN) to the new Hibernate Models project for low-level processing of an application domain model. There is also support for the Jakarta Persistence 3.2 specification, the latest version targeted for Jakarta EE 11. The team anticipates this as the only release candidate before the GA release. More details on this release may be found in the release notes and the migration guide.
JBang
The JBang team has introduced Jash, a new Java library that provides a way to execute process or shell scripts that are “fluent, predictable and with a great developer experience.” Jash, pronounced “Jazz,” handles the behind-the-scenes tasks with the complexities of using multiple threads. More details on this initial release may be found in the release notes and InfoQ will follow up with a more detailed news story.
Gradle
After three release candidates, the release of Gradle 8.14 delivers new features such as: support for JDK 24; an introduction to lazy dependency configuration initialization for improved configuration performance and use of memory; and a new integrity check mode for improved debugging in the configuration cache. More details on this release may be found in the release notes.