This week’s Java roundup for October 27th, 2025, features news highlighting: OpenJDK JEPs proposed to target for JDK 26; release candidates of Spring Framework 7.0 and Spring Data; point releases of Quarkus, JReleaser, Seed4J and Gradle; and an update from Jakarta EE 12.
OpenJDK
JEP 525, Structured Concurrency (Sixth Preview), has been elevated from Candidate to Proposed to Target for JDK 26. This JEP proposes a sixth preview after five rounds of previous preview delivered in JDK 19 through JDK 25. This feature simplifies concurrent programming by introducing the concept of structured concurrency to “treat groups of related tasks running in different threads as a single unit of work, thereby streamlining error handling and cancellation, improving reliability, and enhancing observability.” The only significant change is the addition of a onTimeout() method to the StructuredTaskScope.Joiner interface, that allows for implementations of that interface to return a result after the timeout expires. The review is expected to conclude on November 7, 2025.
JEP 529, Vector API (Eleventh Incubator), has been elevated from Candidate to Proposed to Target for JDK 26. This JEP proposes an eleventh incubation, with no substantial implementation changes since JDK 25, after ten rounds of incubation delivered in JDK 16 through JDK 25. This feature introduces an API to “express vector computations that reliably compile at runtime to optimal vector instructions on supported CPU architectures, thus achieving performance superior to equivalent scalar computations.” The Vector API will continue to incubate until the necessary features of Project Valhalla become available as preview features. At that time, the Vector API team will adapt the Vector API and its implementation to use them, and will promote the Vector API from Incubation to Preview.
JEP 516, Ahead-of-Time Object Caching with Any GC, has been elevated from Candidate to Proposed to Target for JDK 26. This JEP proposes to enhance JEP 483, Ahead-of-Time Class Loading & Linking, delivered in JDK 24, for improved startup and warmup time such that it can be used with any garbage collector, including the low-latency Z Garbage Collector (ZGC).
JEP 500, Prepare to Make Final Mean Final, has been elevated from Candidate to Proposed to Target for JDK 26. This JEP proposes to prepare the Java ecosystem that will not allow mutation of fields declared as final with deep reflection, generally practiced using the setAccessible() method defined in the AccessibleObject class.
The reviews for JEP 529, JEP 516 and JEP 500 are expected to conclude on November 6, 2025.
JEP 530, Primitive Types in Patterns, instanceof, and switch (Fourth Preview), has been elevated from its JEP Draft 8359136 to Candidate status. This JEP proposes a fourth preview, with two changes, after three rounds of preview delivered in JDK 25 through JDK 23. The changes are: enhance the definition of unconditional exactness; and the application of tighter dominance checks in switch constructs.
JDK 26
Build 22 of the JDK 26 early-access builds was made available this past week featuring updates from Build 21 that include fixes for various issues. More details on this release may be found in the release notes.
For JDK 26, 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 12, writing:
The Jakarta EE Platform project has set a date for Milestone 2 of Jakarta EE 12 to be December 9. This milestone will contain all the tasks that are being discussed, and will most likely firm up within the next couple of weeks. These tasks will be added to those of Milestone 1 for those specifications that didn’t deliver a M1.
The proposal for the Jakarta Agentic Artificial Intelligence specification is now under creation review in the Jakarta EE Specification Committee. The review ends on Wednesday, November 5, but so far it looks like it will pass. Judging from the number of community members that have cast their non-binding community votes, this is a hot topic and something the community really wants. On the top of my head, I can’t remember any Jakarta EE specification getting this amount of support from the community.
As per the release plan, developers can anticipate the final release of Jakarta EE 12 in July 2026.
Spring Framework
The third release candidate of Spring Framework 7.0.0 delivers big fixes, documentation improvements, dependency upgrades and new features such as: enhancements to the RestTestClient interface that include support for AssertJ and removal of the Hamcrest dependency in favor of using the MockMvcTester class; and a resolution to potential hangups after restoring the application using CRaC. The team states that this should be the last release candidate before the GA version in late November 2025. Further details on this release may be found in the release notes and this wiki page.
The second release candidate of Spring Data 2025.1.0 ships with: support for JSpecify on sub-projects, such as Spring Data Commons, Spring Data JPA, Spring Data MongoDB, Spring Data LDAP, Spring Data Cassandra, Spring Data KeyValue, Spring Data Elasticsearch; and the ability to optimize Spring Data repositories at build time using the Spring AOT framework. More details on this release may be found in the release notes.
Quarkus
The release of Quarkus 3.29.0 provides bug fixes, dependency upgrades and new features such as: support for simultaneous use of multiple cache types (backends) to allow for using different caches to leverage either in-memory or distributed providers; and support for the support for the Debug Adapter Protocol (DAP) in the Qute extension. Further details on this release may be found in the release notes.
JReleaser
Version 1.21.0 of JReleaser, a Java utility that streamlines creating project releases, has been released featuring: the ability to post announcements on Reddit via the Reddit API; support for enabling immutable releases on GitHub; and a resolution to PGP signing issues using the JReleaser configuration property, signing.mode, set to COMMAND. More details on this release may be found in the release notes.
Seed4J
The release of Seed4J 2.1.0 ships with bug fixes, documentation improvements, dependency upgrades and new features such as: support for JDK 25; improvements in health-related type definitions with Angular components; and the addition of Tailwind CSS with Angular.
Formerly known as JHipster Lite, Seed4J, is a “modular code generator that helps developers bootstrap their applications with clarity, structure, and purpose.“
Further details may be found in the release notes and this InfoQ news story on the recent release of Seed4J 2.0.
Gradle
The release of Gradle 9.2.0 delivers: support for executing Gradle builds on devices running on Windows ARM (ARM64); improved creation and publishing of custom components by exposing the SoftwareComponentFactory interface via the PublishingExtension interface; and improvements to reporting of errors and warnings. More details on this release may be found in the release notes.
