The Java ecosystem had a packed week. Two major OpenJDK JEPs advanced toward finalization, Jakarta EE 12 took a significant step forward, and releases landed across Spring, Micronaut, Groovy, Gradle, and a new Google agent development kit for Kotlin. Here is what happened and what matters.

Two long-preview JEPs approach the finish line

JEP 544, Ahead-of-Time Code Compilation, moved from draft to candidate status. The goal is straightforward: applications should start with optimized native code ready to go when the HotSpot JVM launches, eliminating the warmup period that currently delays peak performance. For teams running microservices or serverless functions where cold start time directly affects cost and user experience, this is a meaningful improvement. The JEP proposes that the JVM be ready at full speed from the first request, not after a ramp-up window.

JEP 543, Structured Concurrency, also advanced to candidate status after seven rounds of preview across JDK 21 through JDK 26, plus two incubator rounds in JDK 19 and JDK 20. This feature introduces a model where groups of related tasks running in different threads are treated as a single unit of work. Error handling and cancellation become straightforward because the structure of the concurrent code mirrors the structure of the problem. The final JEP ships with no changes from the last preview, which means the API is stable and developers can adopt it without worrying about breaking changes in JDK 27.

JDK 27 itself is scheduled for release on September 15, 2026, with build 35 as the current early-access build. JDK 28 early-access builds are also progressing, with build 15 available for testing.

Jakarta EE 12 gets its first approved specification

Jakarta Contexts and Dependency Injection 5.0 was approved by the Specification Committee as the first specification targeting Jakarta EE 12. CDI is one of the most central specifications in the Jakarta EE platform, so its approval as the lead specification signals that the broader EE 12 effort is on track. More specifications are expected to follow in the coming weeks.

The Jakarta Agentic AI 1.0 specification, whose creation was approved in November 2025, also delivered a milestone release and a new project website. The August 2026 edition of Azul Payara serves as the first implementation. This is notable because it represents the Jakarta EE community's formal entry into the AI agent space, with a specification-level approach rather than a framework-specific one.

Spring Tools adds Claude Code integration

Spring Tools 5.4.0 shipped with a mix of bug fixes and new features. The dependency upgrade to Eclipse IDE 2026-09 keeps the tooling current with the Eclipse ecosystem. More interesting are the new capabilities: a validation check and quick fix that replaces the combined use of @Controller and @ResponseBody with @RestController, adoption of the Spring Modulith @ApplicationModuleListener annotation, and support for the Claude Code plugin to render a project's logical structure.

The Claude Code integration is the most significant addition. It allows the IDE plugin to display the project's module structure in a way that the AI assistant can understand and reference. This is a practical step toward AI-assisted development where the tool has genuine context about the codebase, rather than working from raw text alone.

Open Liberty promotes MCP Server to general availability

Open Liberty 26.0.0.9 elevated the MCP Server feature from experimental to general availability. The feature name changed from mcpServer-1.0 to mcp-1.0, and the server.xml configuration element changed from mcpServer to mcp. These are breaking changes that will require updates to existing configurations, but they signal that the Liberty team considers the MCP integration stable enough for production use.

The release also implements OAuth 2.0 Protected Resource Metadata (RFC 9728), which allows developers to enable protected resource metadata when using the OpenID Connect Client feature. This is a standards-compliant approach to resource protection that integrates with existing OAuth infrastructure.

Micronaut patches critical CVEs

Micronaut Framework versions 5.1.5 and 5.1.4 were released with security fixes, including a patch to Micronaut Data, resolution of three CVEs, and a dependency upgrade to Netty 4.2.18.Final that addresses numerous additional CVEs. For teams running Micronaut in production, these are not optional updates. The Netty fixes in particular address vulnerabilities in the HTTP client and server components that are directly exposed to network traffic.

Groovy 6.0 RC1 introduces Application Binary Interface

The first release candidate of Apache Groovy 6.0.0 includes a new @GroovyABI annotation that marks methods callable directly from bytecode as part of the Groovy Application Binary Interface. This is a significant addition for interoperability. The ABI defines which Groovy methods are safe to call from Java or other JVM languages, which has been a persistent pain point in mixed-language projects.

The release also improves JsonSlurper with a maxNumberLength attribute that prevents acceptance of number tokens exceeding a specified value, throwing a JsonException instead. XmlNodePrinter improvements for handling larger documents round out the changes. Groovy 6.0 is shaping up to be a release focused on reliability and interoperability rather than flashy new features.

RefactorFirst adds Kotlin support

RefactorFirst 0.10.0, a tool that prioritizes which parts of a codebase should be refactored first, now supports Kotlin source files alongside Java. Codebases containing both languages are treated as a unified codebase, which is essential for modern projects that mix Java and Kotlin. The minimum Java version was also raised to JDK 17.

This is a practical tool for teams managing legacy codebases. Rather than guessing where to focus refactoring effort, RefactorFirst analyzes code metrics and presents a prioritized list. The Kotlin support means it can now handle the mixed-language projects that are increasingly common in the Java ecosystem.

Google releases ADK for Kotlin 1.0

Google released version 1.0 of the Agent Development Kit for Kotlin, delivering full feature parity with ADK 1.0 Core for Kotlin, Java, and Android developers. The kit provides an idiomatic Kotlin API for building production-ready AI agents, with Android-first on-device extensions for building agents on the JVM or on-device.

New features include a MultiAgentLoader class that provides a fixed set of agents by name, complementing the existing SingleAgentLoader class. A fluent builder() method added to AdkServerConfig allows Java developers to configure a server without the all-arguments data-class constructor. The kit is designed for teams building AI agents that need to run across both server and mobile environments.

Gradle 9.8 RC1 delivers major Windows performance gain

Gradle 9.8 release candidate 1 includes a 45% performance improvement on Windows, support for Java 27 in the daemon and toolchains, and the ability to reuse Maven mirror repository settings with a single flag. The Windows performance improvement is substantial for teams running Gradle on Windows development machines, where build speed has historically lagged behind Linux and macOS.

The Maven mirror reuse feature reduces configuration duplication for teams that maintain both Gradle and Maven builds, a common scenario in large organizations migrating between build systems.

The week in perspective

The common thread across these releases is maturation. Structured concurrency is finalizing after years of preview. CDI 5.0 is leading Jakarta EE 12 into stable territory. MCP Server is moving from experimental to production-ready in Open Liberty. Groovy is defining a stable binary interface. The Java ecosystem is not chasing novelty this week. It is consolidating gains and hardening the foundations that production systems depend on.

For teams evaluating their stack, the actionable items are clear. Review the JDK 27 release notes for structured concurrency adoption. Test the Open Liberty MCP configuration changes before upgrading. Patch Micronaut deployments immediately for the Netty CVEs. Evaluate the ADK for Kotlin if your team is building AI agents across server and mobile. And watch for the JDK 27 GA on September 15, which will bring ahead-of-time compilation and structured concurrency into the mainline release.