Java's Evolution Accelerates: JDK 26 Release Candidate and Ecosystem Updates
#Dev

Java's Evolution Accelerates: JDK 26 Release Candidate and Ecosystem Updates

Rust Reporter
5 min read

The Java ecosystem advances with JDK 26-RC1, Spring Framework 7.0.4, Open Liberty 26.0.0.2 beta, and other major releases that showcase the platform's continued innovation and maturity.

The Java ecosystem continues its rapid evolution with significant releases across the platform stack, highlighted by the first release candidate of JDK 26 and updates from major frameworks and tools. This week's roundup demonstrates Java's commitment to both cutting-edge features and robust stability.

JDK 26 Enters Release Candidate Phase

Oracle has formally declared JDK 26 has entered its first release candidate phase, marking a critical milestone in the Java platform's development cycle. According to Mark Reinhold, Chief Architect of the Java Platform Group at Oracle, this decision comes after Build 34 showed no unresolved P1 bugs, indicating the release is on track for its anticipated General Availability on March 17, 2026.

JDK 26 introduces ten major features that represent significant advancements in Java's capabilities:

  • JEP 500: Prepare to Make Final Mean Final - Strengthening the semantics of the final keyword
  • JEP 504: Remove the Applet API - Finally eliminating deprecated applet functionality
  • JEP 516: Ahead-of-Time Object Caching with Any GC - Improving startup performance through object caching
  • JEP 517: HTTP/3 for the HTTP Client API - Modernizing HTTP protocol support
  • JEP 522: G1 GC: Improve Throughput by Reducing Synchronization - Enhancing garbage collection performance
  • JEP 524: PEM Encodings of Cryptographic Objects (Second Preview) - Improving cryptographic object handling
  • JEP 525: Structured Concurrency (Sixth Preview) - Advancing concurrent programming models
  • JEP 526: Lazy Constants (Second Preview) - Optimizing constant initialization
  • JEP 529: Vector API (Eleventh Incubator) - Continuing vector computation improvements
  • JEP 530: Primitive Types in Patterns, instanceof, and switch (Fourth Preview) - Enhancing pattern matching capabilities

Developers are encouraged to report bugs through the Java Bug Database for both JDK 26 and the upcoming JDK 27, which recently released Build 9 of its early-access builds.

Spring Framework 7.0.4 Enhances Developer Experience

Spring Framework 7.0.4, the fourth maintenance release in the 7.0.x series, delivers crucial improvements that enhance both performance and developer productivity. The release focuses on three key areas: bug fixes, documentation improvements, and dependency upgrades.

Notable enhancements include modifications to the getMethodAnnotation() and getMethodAnnotations() methods, along with their hasMethodAnnotation() and hasMethodAnnotations() counterparts in the MethodParameter and AnnotatedMethod classes. These changes now cache instances of the Java Annotation interface and obtain values returned from those methods in a local array, improving runtime efficiency.

The new overloaded requiredBody() method added to the RestClient.ResponseSpec interface returns a non-null value, aligning with existing Kotlin extensions and improving type safety for Kotlin developers.

This version will be consumed in the upcoming Spring Boot 4.0.3 release, continuing the Spring ecosystem's coordinated evolution.

Open Liberty 26.0.0.2 Beta Introduces Enhanced Features

The beta release of Open Liberty 26.0.0.2 brings significant enhancements to their mcpServer-1.0 feature, including bug fixes, role-based authorization, request IDs, and the new _meta field. This field allows clients and servers to attach additional metadata to their interactions, enabling more sophisticated communication patterns and debugging capabilities.

A particularly useful addition is the new displayCustomizedExceptionText property for use in the server.xml file. This allows users to override Open Liberty's default error messages with clearer, user-defined messages, improving the developer and operator experience when troubleshooting issues.

EclipseStore 4.0 Beta Transforms into Vector Database

EclipseStore's first beta release of version 4.0 represents a significant architectural shift, introducing integration with JVector, a graph-based index for nearest neighbor searching. This integration transforms EclipseStore into a pure Java vector database, opening new possibilities for AI and machine learning applications.

The integration is fully realized in their GigaMap collection, which provides Java native persistence, lazy entity access, and on-disk indexing. This combination of features makes EclipseStore particularly well-suited for applications requiring efficient vector similarity searches while maintaining the benefits of Java's ecosystem.

Micronaut Framework 4.10.8 Delivers Stability

The Micronaut Foundation has released version 4.10.8 of the Micronaut Framework, based on Micronaut Core 4.10.15. This release focuses on stability and refinement, featuring bug fixes and patch updates to key modules including the Micronaut Maven Plugin, Micronaut SQL Libraries, Micronaut Logging, Micronaut Discovery Client, and Micronaut Data.

Quarkus 3.31.3 Addresses Critical Issues

Quarkus 3.31.3, the second maintenance release in the 3.31.x series (with version 3.31.0 skipped), ships with notable changes addressing specific pain points. The release resolves an issue with a missing image in the Docker file when generating an application with JDK 25, ensuring smoother containerization workflows.

Additionally, the addition of an expected JVM option, --add-opens, via an instance of the JvmModulesReconfigurer interface when executing tests with the IsolatedTestModeMain class, provides developers with more control over module system access during testing.

Micrometer Metrics and Tracing Advance

Micrometer Application Metrics 1.17.0-M2, the second milestone release, provides documentation improvements, dependency upgrades, and new features. Notable enhancements include an improved TelegrafStatsdLineBuilder class that resolves escaping issues using the equal sign (=) in tags, and support for compressing the metrics payload in the OtlpConfig interface and OtlpHttpMetricsSender class for improved performance, especially in larger applications.

The third milestone release of Micrometer Tracing Facade 1.7.0 delivers dependency upgrades to Micrometer 1.17.0-M2 and OpenTelemetry Instrumentation 2.24.0. It also resolves a NullPointerException from the error(Throwable throwable) method defined in the OtelSpan class, addressing a violation of the OpenTelemetry API contract for non-nullable parameters.

Gradle 9.4.0 Release Candidate Modernizes Build System

Gradle 9.4.0, the first release candidate in the 9.4.x series, ships with support for the upcoming JDK 26 release, ensuring build compatibility with the latest Java platform. The release also brings improvements to test reporting and execution using a custom implementation of the JUnit TestEngine interface, where discovery and execution of tests are not required to be defined in classes.

Configuration cache reporting has been enhanced, with multiple lambdas now able to explicitly identify each lambda with its associated type of action or specification, improving debugging and optimization capabilities.

Looking Ahead

The Java ecosystem's rapid pace of innovation continues to deliver value to developers while maintaining the stability and reliability that enterprise users expect. With JDK 26 entering its release candidate phase and major frameworks and tools releasing significant updates, Java remains a vibrant and evolving platform well-positioned for the future of software development.

As the March 17 GA release date for JDK 26 approaches, developers should begin planning their migration strategies to take advantage of the new features while ensuring compatibility with their existing codebases and dependencies.

Comments

Loading comments...