This week’s Java roundup for January 13th, 2025, features news highlighting: JDK 24 in Rampdown Phase Two; Spring Framework 6.2.2; JobRunr 7.4.0; Micrometer Metrics 1.15.0-M1 and Micrometer Tracing 1.5.0-M1; and Infinispan joins the Commonhaus Foundation.
JDK 24
Build 32 of the JDK 24 early-access builds was made available this past week featuring updates from Build 31 that include fixes for various issues. Further details on this release may be found in the release notes.
As per the JDK 24 release schedule, Mark Reinhold, chief architect, Java Platform Group at Oracle, formally declared that JDK 24 has entered Rampdown Phase Two. This means that: no additional JEPs will be added for JDK 24; and there will be a focus on the P1 and P2 bugs which can be fixed via the Fix-Request Process. Late enhancements are still possible, with the Late-Enhancement Request Process, but Reinhold states that “the bar is now extraordinarily high.” The final set of 24 features for the GA release in March 2025 will include:
JDK 25
Build 6 of the JDK 25 early-access builds was also made available this past week featuring updates from Build 5 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.
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:
The latest news about the refactoring of the TCK for Jakarta EE 11 is that the team is getting closer to releasing Jakarta EE Web Profile 11. There are just a small number of tests remaining to be refactored, and the rewriting of the TCK User Guide has started.
The discussions around Jakarta EE 12 are gaining momentum. Check out the
EE12
labeled issues in the Jakarta EE Platform GitHub Issue Tracker. Feel free to add new issues or contribute to the discussions of those already created.
You can also join the Jakarta EE Future Directions interest group and participate in high-level discussions about how the platform should evolve. If you’re not able to join the bi-weekly calls (calendar), you can always join the mailing list and participate there as well.
The road to Jakarta EE 11 included four milestone releases, the release of Core Profile in December 2024, and the potential for release candidates as necessary before the GA releases of the Platform and Web Profile in 1Q2025.
Spring Framework
The release of Spring Framework 6.2.2 delivers bug fixes, improvements in documentation, dependency upgrades and new features such as: a change to the BeanOverrideHandler
class to track only qualifier annotations to align with the Spring Boot QualifierDefinition
class; and elevate the @MockitoBean
annotation to support both fields and types to align with the now-deprecated Spring Boot @MockBean
annotation. This version will be included in the upcoming releases of Spring Boot 3.4.2 and 3.5.0-M1. More details on this release may be found in the release notes.
Spring Data 2024.1.2 and 2024.0.8, both service releases, ship with bug fixes, dependency upgrades and and respective dependency upgrades to sub-projects such as: Spring Data Commons 3.4.2 and 3.3.8; Spring Data MongoDB 4.4.2 and 4.3.8; Spring Data Elasticsearch 5.4.2 and 5.3.8; and Spring Data Neo4j 7.4.2 and 7.3.8. These versions will be included in the upcoming releases of Spring Boot and 3.4.2 and 3.3.8.
The Spring AI MCP team has released version 0.5.0 to provide new features such as: enhancements to the transport layer with a new HttpServletSseServerTransport
class and a blocking queue-based implementation of the Spring Framework SseEmitter.SseEventBuilder
interface; and a new Bill of Materials. More details on this release may be found in the release notes.
Quarkus
Quarkus 3.17.7, the sixth maintenance release (3.17.1 was skipped due to a regression), features notable changes such as: a resolution to an issue when a method is annotated with @PermissionsAllowed
with multiple values, the parameters in the @PermissionChecker
annotation is not correctly matched; and a switch to execute the MongoDB Connection Health Check on startup instead of when the application tries to store the first record in the database. More details on this release may be found in the changelog.
Micrometer
The first milestone release of Micrometer Metrics 1.15.0 provides bug fixes, improvements in documentation, dependency upgrades and new features such as: use of the failWithActualExpectedAndMessage()
, defined in the AssertJ AbstractAssert
class, where possible; and a consistent use of the Java String
methods, toLowerCase()
and toUpperCase()
, with the Java Locale.ROOT
for improved security. Further details on these releases may be found in the release notes.
Similarly, versions 1.14.3 and 1.13.10 of Micrometer Metrics ship with dependency upgrades and resolutions to notable issues such as: a NullPointerException
when applying aspects on methods that return a CompletableFuture
; and a performance regression from the remove()
method, defined in the MeterRegistry
class, with a significant amount of registered meters. More details on these releases may be found in the release notes for version 1.14.3 and version 1.13.10.
The first milestone release of Micrometer Tracing 1.5.0 delivers bug fixes, dependency upgrades and new features: avoid creating superfluous copies of instances of the OtelSpan
class; and the addition of local service name setting and retrieving for FinishedSpan
to complement the remote service name. More details on this release may be found in the release notes.
Similarly, versions 1.4.2 and 1.3.8 of Micrometer Tracing provide: dependency upgrades to Micrometer Metrics 1.14.3 and 1.13.10, respectively, and a resolution to a NullPointerException
when an instance of the OtelTraceContextBuilder
class set the parentId
and sampled
fields as @Nullable
to align with the same fields in the TraceContext
interface. More details on these releases may be found in the release notes for version 1.4.2 and version 1.3.8.
Piranha Cloud
The release of Piranha 25.1.0 delivers many dependency upgrades and notable changes such as: a new SecurityConstraint
class to complement their own SecurityManager
API; and a resolution to an instance of the GrizzlyHttpServer
class to not indefinitely suspend on asynchronous requests. Further details on this release may be found in the release notes, documentation and issue tracker.
Project Reactor
Project Reactor 2024.0.2, the second maintenance release, providing dependency upgrades to reactor-core 3.7.2
, reactor-netty 1.2.2
, reactor-pool 1.1.1
. There was also a realignment to version 2024.0.2 with the reactor-addons 3.5.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.
Similarly, Project Reactor 2023.0.14, the fourteenth maintenance release, provides dependency upgrades to reactor-pool 1.0.9
and reactor-netty 1.1.26
. There was also a realignment to version 2023.0.12 with the reactor-core 3.6.13
, 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 changelog.
JobRunr
The release of JobRunr 7.4.0 ships with: support for JDK 24, Spring Boot 3.4 and Kotlin 2.1. Enhancements include: wait for all instances of the RecurringJobPostProcessor
class to finish before starting Spring Boot and the BackgroundJobServer
class; and ensure that the correct casing is used in all SQL scripts. There was also a resolution to skip collection validation if an instance of the MongoDBStorageProvider
class is configured with the NO_VALIDATE
option. More details on this release may be found in the release notes.
OpenXava
The release of OpenXava 7.4.5 provides bug fixes, improvements in documentation, dependency upgrades and enhancements such as: a new filterByContentInAnyProperty()
method, added to the Tab
class, to filter a string value in any column; and a new isJavaIdentifier()
method, added to the Strings
utility class, to determine the existence of a Java identifier. More details on this release may be found in the release notes.
Commonhaus Foundation
The Commonhaus Foundation, a non-profit organization dedicated to the sustainability of open source libraries and frameworks, has announced that Infinispan has joined the foundation this past week. In a blog post published in mid-January 2025, Tristan Tarrant, senior principal software engineer at Red Hat and Infinispan project lead, described their rationale to transition to the foundation, writing:
Commonhaus just ticks all the right boxes for us: its lightweight governance is ideal. We get all the benefits of being part of an awesome foundation, with all the benefits of running the project on our own terms.
Commonhaus is also the home to a number of “friend projects”: Hibernate, Quarkus, Debezium, Jackson all play a key role in our software and it’s great that we share a “common home.”
Other notable projects that have joined the foundation include: JReleaser, JBang, OpenRewrite, SDKMAN, EasyMock, Objenesis and Feign.