This week’s Java roundup for March 10th, 2025 features news highlighting: OpenJDK JEPs targeted and proposed to target for JDK 25; the release of Jakarta NoSQL 1.0; the third milestone release of Spring Framework 7.0; the third release candidate of Maven 4.0; and the second beta release of LangChain4j 1.0.
OpenJDK
JEP 502, Stable Values (Preview), has been elevated from Proposed to Target to Targeted for JDK 25. Formerly known as Computed Constants (Preview), this JEP introduces the concept of computed constants, defined as immutable value holders that are initialized at most once. This offers the performance and safety benefits of final
fields, while offering greater flexibility as to the timing of initialization.
JEP 503, Remove the 32-bit x86 Port, has been elevated from Candidate to Proposed to Target for JDK 25. This JEP proposes to “remove the source code and build support for the 32-bit x86 port.” This feature is a follow-up from JEP 501, Deprecate the 32-bit x86 Port for Removal, to be delivered in the upcoming release of JDK 24. The review is expected to conclude on March 18, 2025.
JDK 24
Build 36 remains the current build in the JDK 24 early-access builds. Further details may be found in the release notes.
JDK 25
Build 14 of the JDK 25 early-access builds was also made available this past week featuring updates from Build 13 that include fixes for various issues. More details on this release may be found in the release notes.
For JDK 24 and JDK 25, developers are encouraged to report bugs via the Java Bug Database.
GlassFish
GlassFish 7.0.23, the twenty-third maintenance release, delivers bug fixes, dependency upgrades and improvements: SSH managed node connections on both the Linux and Windows environments; and support for the org.glassfish.envPreferredToProperties
system property that, when set to true, allows environment variables to take precedence when resolving variable references in JVM options. Further details on this release may be found in the release notes.
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:
Jakarta NoSQL 1.0 has passed its release review and is now publicly available. This is a major milestone for the project. Congrats to the team!
The Jakarta EE 11 Web Profile is as good as ready for the release review ballot to start. The final version of the TCK has been staged, and Eclipse GlassFish passes it on both JDK 17 and JDK 21. I expect the ballot to start early next week, as soon as all the materials have been gathered.
The release of the Jakarta NoSQL 1.0 specification features notable changes such as: an improved Template
interface that increases productivity on NoSQL operations; the removal of the Document, Key-Value and Column Family APIs as they are now maintained in the Jakarta Data specifications; and the addition of new annotations, @MappedSuperclass
, @Embeddable
, @Inheritance
, @DiscriminatorColumn
and @DiscriminatorValue
for improved support of NoSQL databases. More details on this release may be found in the changelog.
The road to Jakarta EE 11 included four milestone releases, the release of the Core Profile in December 2024, and the potential for release candidates as necessary before the GA releases of the Web Profile in 1Q 2025 and the Platform in 2Q 2025.
Spring Framework
The third milestone release of Spring Framework 7.0.0 delivers bug fixes, improvements in documentation, dependency upgrades and new features such as: first-class support for registering an instance of the GenericApplicationContext
class via the new BeanRegistrar
interface; and support for the Java Optional
class with null-safety and Elvis operators defined in the Spring Expression Language (SpEL). Further details on this release may be found in the release notes.
Similarly, the release of Spring Framework 6.2.4 and 6.1.18 ship with bug fixes, improvements in documentation, dependency upgrades and new features such as: avoid unnecessary CGLIB processing on classes annotated with @Configuration
that do not declare, or inherit, any instance-level methods annotated with @Bean
; and improvements to the BeanFactory
and ObjectProvider
interfaces to select only one default candidate among non-default candidates if the bean name is volatile or not visible to application. More details on these releases may be found in the release notes for version 6.2.4 and version 6.1.18.
The second milestone release of Spring Data 2025.0.0, also known as Spring Data 3.5.0, provides new features such as: Interface Projections are now properly throwing a NullPointerException
if a getter method return value is null
even if the method is defined to return a non-nullable value; and allow the use of bean validation callbacks in reactive flows with the Spring Data MongoDB ValidatingEntityCallback
and ReactiveValidatingEntityCallback
classes. Further details on this release may be found in the release notes.
Four days after the release of version 0.4.0, the release of Spring gRPC 0.5.0 provides notable changes such as: the addition of a Spring Boot compatibility check workflow; and a fix in the docs.yml
workflow to add the package
command. More details on this release may be found in the release notes.
Open Liberty
IBM has released version 25.0.0.3-beta of Open Liberty featuring compliance with FIPS 140-3, Security Requirements for Cryptographic Modules, for the IBM SDK, Java Technology Edition 8.
LangChain4j
The second beta release of LangChain4j 1.0.0, provides notable changes such as: a migration to using the Java HttpClient
class as a first step towards decoupling modules from the OkHttpClient
class; and support for the OpenAI Java Library. Breaking changes include: removal of the deprecated generate()
and onNext()
/onComplete()
methods in the ChatLanguageModel
and TokenStream
interfaces, respectively. Further details on this release may be found in the release notes.
Micrometer
The third milestone release of Micrometer Metrics 1.15.0 delivers bug fixes, dependency upgrades and new features such as: allow the TimedAspect
and CountedAspect
classes to inject a Java Function
interface to create tags based on method result; and improvements to the OtlpMetricsSender
interface that removes a possible inconsistency where the sender could be given an instance of the OtlpConfig
interface that differs from the one passed to OtlpMeterRegistry
class. More details on these releases may be found in the release notes.
The third milestone release of Micrometer Tracing 1.5.0 provides notable dependency upgrades such as: Micrometer Metrics 1.14.5; Zipkin Brave 6.1.0; and Testcontainers for Java 1.20.6. Further details on this release may be found in the release notes.
Piranha Cloud
The release of Piranha 25.3.0 delivers bug fixes, dependency upgrades, improvements in documentation and notable changes such as: support for JDK 24 in the experimental workflow; and various Jakarta EE Core Profile TCK certifications for the Piranha Core Profile. More details on this release may be found in the release notes, documentation and issue tracker.
Project Reactor
The first milestone release of Project Reactor 2025.0.0 provides dependency upgrades to reactor-core 3.8.0-M1
, reactor-netty 1.3.0-M1
, reactor-pool 1.2.0-M1
. There was also a realignment to version 2025.0.0-M1 with the reactor-addons 3.5.2
, reactor-kotlin-extensions 1.2.3
and reactor-kafka 1.3.23
artifacts that remain unchanged. Further details on this release may be found in the release notes.
Similarly, Project Reactor 2024.0.4, the fourth maintenance release, providing dependency upgrades to reactor-core 3.7.4
and reactor-netty 1.2.4
. There was also a realignment to version 2024.0.4 with the reactor-addons 3.5.2
, reactor-pool 1.1.2
, reactor-kotlin-extensions 1.2.3
and reactor-kafka 1.3.23
artifacts that remain unchanged. More details on this release may be found in the changelog.
Maven
The third release candidate of Maven 4.0.0 ships with notable changes such as: a migration from the Java EE 8 javax.inject
package to Maven Dependency Injection; support for ${project.rootDirectory}
property in GitHub repositories; and improve validation error messages and removal of direct support for ${project.baseUri}
property in the DefaultModelValidator
class. Further details on this release may be found in the release notes.