This week's Java roundup for April 27th, 2026, features news highlighting: OpenJDK JEPs for JDK 27; the fifth milestone release of Spring AI 2.0; the second milestone release of GlassFish 9.0; point releases of Quarkus, JReleaser, Gradle, LangChain4j and Google ADK for Java; the second beta release of Hardwood; and the first beta release of A2A Java SDK 1.0.
OpenJDK
After its review had concluded, JEP 532, Primitive Types in Patterns, instanceof, and switch (Fifth Preview), has been elevated from Proposed to Target to Targeted for JDK 27. This JEP proposes a fifth preview, without change, after four rounds of preview delivered in JDK 23 through JDK 26. This feature enhances pattern matching by allowing primitive types in all pattern contexts, and extending the instanceof and switch constructs to work with all primitive types.
JEP 533, Structured Concurrency (Seventh Preview), has been elevated from Candidate to Proposed to Target for JDK 27. This JEP proposes a seventh preview, with minor changes, after six rounds of preview delivered in JDK 21 through JDK 26 and two rounds of incubator delivered in JDK 19 through JDK 20. This feature simplifies concurrent programming by introducing 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 review is expected to conclude on May 5, 2026.
JEP 531, Lazy Constants (Third Preview), has been elevated from Candidate to Proposed to Target for JDK 27. Formerly known as StableValues, this feature proposes a third preview, with two changes, after two rounds of preview delivered in the upcoming release of JDK 26 and JDK 25. The changes include: removal of the methods, isInitialized() and orElse(), from the LazyConstant interface, as they do not align with the design goals of this feature; and a new factory method, ofLazy(), that can create a stable, pre-defined elements for all three Java collection types, namely: List, Set and Map. The review is expected to conclude on May 6, 2026.
JEP 536, JFR In-Process Data Redaction, has been elevated from its JEP Draft 8372760 to Candidate status. This JEP proposes to enhance the JDK Flight Recorder to redact sensitive information before the JFR completes its recording. This data may include command-line arguments, initial values of environment variables and system properties.
JDK 27
Build 20 of the JDK 27 early-access builds was made available this past week featuring updates from Build 19 that include fixes for various issues. Further details on this release may be found in the release notes.
For JDK 27, developers are encouraged to report bugs via the Java Bug Database.
GlassFish
The second milestone release of Eclipse GlassFish 9.0.0, delivers bug fixes, documentation improvements, dependency upgrades and new features such as: a minimal version of JDK 21 with support for JDK 25; implementations of the Jakarta Security 5.0-M2, Jakarta Faces 5.0-M2 and Jakarta Contexts and Dependency Injection 5.0-M1 specifications; and a new implementation of the JSON Web Token (JWT) specification with Jakarta Security and Eclipse Soteria. More details on this release may be found in the release notes.
Spring Framework
The fifth milestone release of Spring AI 2.0.0 ships with bug fixes, documentation improvements, dependency upgrades and new features such as: custom implementations of the StructuredOutputConverter interface that may now participate in the native structured output pipeline for improved flexibility; and a new method,
isConversationHistoryEnabled(), added to the ToolCallAdvisor.Builder class that returns whether the internal conversationHistoryEnabled attribute is enabled. Further details on this release, including breaking changes, may be found in the release notes.
Quarkus
The release of Quarkus 3.35.0 provides bug fixes, dependency upgrades and new features such as: an experimental build-time dependency "tree shaker" that identifies and excludes unused classes from runtime dependencies to reduce application JAR sizes; and a new Reactive Transactions extension that enables the Spring Framework @Transactional annotation to support Hibernate Reactive. More details on this release may be found in the release notes for version 3.35.1 and version 3.35.0.
JReleaser
Version 1.24.0 of JReleaser, a Java utility that streamlines creating project releases, has been released with bug fixes, documentation improvements, dependency upgrades and new features such as: support for Zernio added to the list of announcers; and the addition of a reproducible flag to configure when JReleaser should output consistent content. Further details on this release may be found in the release notes.
LangChain4j
The formal release (along with the twenty-fourth beta release) of LangChain4j 1.14.0 delivers bug fixes, dependency upgrades and new features such as: a new attribute, IMMEDIATE_IF_LAST, added to the ReturnBehavior enum that returns an execution loop result from an AI service when this tool is positioned last in the LLM response; and a new OpenAiOfficialResponsesChatModel class to align with the existing OpenAiOfficialResponsesStreamingChatModel class for use with the OpenAI Responses API. More details on this release may be found in the release notes.
Micronaut
The Micronaut Foundation has provided a preview of the upcoming release of Micronaut Framework 5.0, scheduled for 2Q2026, that will feature: JDK 25 as a baseline; support for cloud vendors that have migrated, or preparing to migrate, to JDK 25; performance improvements; and updated code examples in the Micronaut Guides and documentation. Additional blog posts describe some of the various features such as: support for Kotlin 2.3, Groovy 5.0 and Jackson 3.0; and adoption of JSpecify. Micronaut 5.0 will also drop support for RxJava 2.
Gradle
The GA release of Gradle 9.5.0 ships with notable changes such as: improvements to Gradle Task failure diagnostics and reporting that now include provenance information and clearer logging when the client JVM is incompatible; and improvements to build authoring with a new disallowChanges() method, added to DomainObjectCollection interface, such that elements can no longer be added to or removed from the collection. Further details on this release may be found in the release notes.
Agent2Agent Java SDK
The first beta release of Agent2Agent Java SDK 1.0.0, a Java library that implements the Agent2Agent Protocol (A2A) for running agentic applications as A2AServers. A collaboration between the Quarkus and WildFly teams, this new version provides bug fixes and notable changes such as: support for the JSON-RPC, gRPC and HTTP+JSON/REST transport protocols; use of the JdkA2AHttpClient class as a default for a more flexible HTTP client support; and structured error codes with details. More details on this release may be found in the release notes and this Medium post.
Google Agent Development Kit
The release of Agent Development Kit (ADK) for Java 1.2.0 delivers bug fixes and new features such as: new custom telemetry headers added to the Google Cloud BigQuery interface; and the McpSessionManager class has been added to the builder defined in the McpAsyncToolset class. Further details on this release may be found in the release notes.
Hardwood
The second beta release of Hardwood 1.0.0, a parser dedicated to the Apache Parquet file format, ships with notable changes such as: support for the VARIANT type; and a new subcommand, dive, added to the Hardwood CLI to interactively explore and analyse Parquet files through a text-based UI. More details on this release may be found in the release notes.