BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Java News Roundup: GraalVM, Spring AI, JobRunr, GlassFish, Grails, Groovy, Quarkus Agent MCP

Java News Roundup: GraalVM, Spring AI, JobRunr, GlassFish, Grails, Groovy, Quarkus Agent MCP

Listen to this article -  0:00

This week's Java roundup for May 4th, 2026, features news highlighting: OpenJDK JEPs targeted for JDK 27; the sixth milestone release of Spring AI 2.0; the first milestone release of Grails 8.0; the first alpha release of Groovy 6.0; a point release of JobRunr; maintenance releases of GlassFish, TomEE and Tomcat; an accelerated release train for GraalVM; and resolutions to Quarkus CVEs.

OpenJDK

After its review had concluded, JEP 533, Structured Concurrency (Seventh Preview), was elevated from Proposed to Target to Targeted 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."

Similarly, JEP 531, Lazy Constants (Third Preview), has been elevated from Proposed to Target to Targeted 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.

JDK 27

Build 21 of the JDK 27 early-access builds was made available this past week featuring updates from Build 20 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

Eclipse GlassFish 8.0.2, the second maintenance release, delivers bug fixes, dependency upgrades and two new features: support for using the beanName attribute from the Jakarta Enterprise Beans @EJB annotation within the ApplicationClientDescriptor class; and removal of the isThisHostLocal() method, defined in the NetUtils class, that was replaced with a more robust isLocal() method for improved behavior related to the Java InetAddress class and hostname resolution.

This release also resolves two yet-to-be-disclosed CVEs in the Admin Console that will be published soon.

More 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 12, writing:

The progress for the specifications that have been asked to produce updates for Milestone 4 of Jakarta EE 12 looks very promising. Check out the minutes from this week’s call for the details. Another piece of good news regarding Jakarta EE 12 is that the Jakarta NoSQL project may be able to merge the features planned for Jakarta NoSQL 1.2 into Jakarta NoSQL 1.1. That means that it will certainly be a stronger candidate for inclusion in Jakarta EE 12.

Several other specifications are in progress for a milestone 2 release for Jakarta EE 12. These include: Jakarta Connectors 3.0; Jakarta Faces 5.0; Jakarta Transactions 2.1; and Jakarta JSON Processing 2.2.

GraalVM

The GraalVM team has introduced an accelerated GraalVM release train that includes a monthly feature release while maintaining the quarterly Oracle Critical Patch Updates (CPUs) and providing one stable release train per major version. This allows the GraalVM team to keep up with the rapid pace of software development in which AI has been a major factor. Further details on this new release train may be found in this Medium blog post.

Spring Framework

The sixth milestone release of Spring AI 2.0.0 ships with bug fixes, documentation improvements, dependency upgrades and new features such as: a new buildRequestPrompt() method, added to the ChatModel interface, to align behavior across vendors and to avoid casting an instance of the ChatOptions to vendor-specific types; and EncodingFormat, defined in the OpenAiEmbeddingOptions class, has been redefined as an enum type from a String for improved type safety when configuring embedding encoding formats. More details on this release, including many breaking changes, may be found in the release notes.

JobRunr

The release of JobRunr 8.6.0 provides bug fixes, dependency upgrades and new features such as: full compatibility with JDK 26 as the --illegal-final-field-mutation=deny JVM flag, introduced in JEP 500, Prepare to Make Final Mean Final, has been has been enabled resulting in the removal of all final field mutations in the codebase; and a refactor of the getAllTableNames() method, defined in the DatabaseCreator class, for improved performance for databases with a large amount of tables. Further details on this release may be found in the release notes.

Quarkus

The Quarkus team has provided emergency maintenance releases in the 3.20, 3.27, 3.33. 3.34 and 3.35 release trains to address CVE-2026-39852, a vulnerability where an attacker may append a semicolon and arbitrary text to a request URL to bypass security constraints resulting in unauthorized access to protected resources.

The team has also introduced their Quarkus Agent MCP, a standalone Model Context Protocol server that allows compatible AI agents to "create, manage, and work effectively with Quarkus applications by providing Quarkus-specific tools, documentation, and extension-level coding patterns. teaching AI agents to speak Quarkus." This new server compliments their existing Dev MCP server, but runs as a standalone process as opposed to inside the Quarkus process.

Grails

The first milestone release of Apache Grails 8.0.0 delivers bug fixes, dependency upgrades and notable changes such as: a removal of deprecated source code and legacy behaviors; and the addition of the https://grails.apache.org domain to the Access-Control-Allow-Origin CORS header for the Grails Application Forge application so that it can be migrated to Apache Grails website. More details on this release may be found in the release notes.

Groovy

The first alpha release of Apache Groovy 6.0.0 ships with bug fixes, dependency upgrades and new features such as: a new groupByMany() method, added to the DefaultGroovyMethods class that returns a list of keys applicable to an item; and a new @Modifies annotation that declares a set of fields and parameters that a method is allowed to modify. Further details on this release may be found in the release notes.

Apache TomEE

The release of Apache TomEE 10.1.5 provides bug fixes, dependency upgrades and notable changes such as: improvements to the redirectToOriginalResource and tokenAutoRefresh parameters defined in the @OpenIdAuthenticationMechanismDefinition annotation for resources with an explicit constructor-type; and support for the Java String type in the Assembler class for improved logging. More details on this release may be found in the release notes.

Apache Tomcat

The release of Apache Tomcat 11.0.22 delivers bug fixes and new features such as: updates to the version.sh and version.bat files to include version information for the Apache Portable Runtime (APR), Tomcat Native Library and OpenSSL along with version compatibility warnings and third-party library version information; and validation improvements to HTTP/2 such that validation is checked earlier and to check for disallowed and upper case characters. Further details on this release may be found in the release notes.

About the Author

Rate this Article

Adoption
Style

BT