This week’s Java roundup for September 22nd, 2025, features news highlighting: new OpenJDK JEPs Lazy Constants (Second Preview) and Structured Concurrency (Sixth Preview); BellSoft Liberica Native Image Toolkit 25; the October 2025 edition of Open Liberty; the second milestone release of Spring AI 1.1.0; and point releases of JobRunr, LangChain4j and Quarkus.
OpenJDK
JEP 526, Lazy Constants (Second Preview), has been elevated from its JEP Draft 8359894 to Candidate status. Formerly known as Stable Values and Computed Constants, this JEP proposes a second preview, with changes, after the first round of preview, namely: JEP 502, Stable Values (Preview), for JDK 26. This feature 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. Revisions for this JEP include: the name change from Stable Values to Lazy Constants as the new name better captures the intent of a high-level use case; and enhanced discoverability.
JEP 525, Structured Concurrency (Sixth Preview), has been elevated from its JEP Draft 8366891 to Candidate status. 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.
JDK 26
Build 17 of the JDK 26 early-access builds was made available this past week featuring updates from Build 16 that include fixes for various issues. More details on this release may be found in the release notes.
BellSoft
BellSoft has released version 25.0.0.0 of their Liberica Native Image Kit builds based on the recent release of JDK 25. The release features: initial optimization support for Vector API operations in native images transformed to efficient machine instructions; and the Whole-Program Sparse Conditional Constant Propagation (WP-SCCP), now enabled by default, improves on points-to analysis precision to potentially reduce the size of the resulting binary native image.
Spring Framework
The second milestone release of Spring AI 1.1.0 delivers bug fixes, improvements in documentation, dependency upgrades and notable features such as: enhanced support for the Model Context Protocol (MCP) with an upgrade version 0.13.1 of the MCP Java SDK; and new implementations of the EmbeddingOptions
and EmbeddingOptions.Builder
interfaces to align with the design of ChatOptions
interface. Further details on this release may be found in the release notes.
JobRunr
The release of JobRunr 8.1.0 ships with bug fixes, dependency upgrades and new features such as: support for JDK 25; support for the @AsyncJob
annotation in Quarkus and Micronaut applications; and the ability to directly obtain the current retry count of a job from the JobContext
class that allows for redefining the behavior of an application after a certain number of failed job attempts. More details on this release may be found in the release notes.
Quarkus
Versions 3.28.0 and 3.27.0 of Quarkus, announced here and here, provides bug fixes, dependency upgrades and new features such as: support for multiple clients in the Liquibase MongoDB extension; the ability to programmatically configure prevention of Cross-Site Request Forgery (CSRF); and OidcRequestFilter
and OidcResponseFilter
interfaces may now be restricted to a specific authentication flow by using the @BearerTokenAuthentication
and @AuthorizationCodeFlow
annotations. Further details on these releases may be found in the release notes.
Open Liberty
The beta release of Open Liberty 25.0.0.10 features: support for JDK 25; and a new overrideLibraryRef
attribute for the <classloader>
element in the server.xml
file that allows for the library class path to be searched before the application class path to override classes that are already included in the application.
LangChain4j
The formal release (along with the twelfth beta release) of LangChain4j 1.6.0 features new integrations: dynamic sessions in Azure Container Apps and MarkdownDocumentParser
class. Other notable changes include: a new @HumanInTheLoop
annotation for use in the declarative agentic API; and the ability to configure an instance of the ChatMemoryProvider
functional interface on a SupervisorAgent
interface. More details on this release may be found in the release notes.