On March 17, 2026, the release of JDK 26 took place — the reference implementation of the Java SE platform (Platform version 26), specified in JSR 401 within the Java Community Process. This is reported on the official OpenJDK website..
Key release details:
- Status: General Availability.
- Binary builds: Production-ready binary files under the GPL license in the Oracle build are now available at jdk.java.net..
- Development: Features and release schedule were shaped through the JEP (JDK Enhancement Proposal) process based on JEP 2.0. The release itself was prepared according to the JDK Release Process (JEP 3).
The development and release schedule for JDK 26:
- Rampdown Phase One (branching from the main line): December 4, 2025.
- Rampdown Phase Two: January 15, 2026.
- Initial Release Candidate: February 5, 2026.
- Final Release Candidate: February 19, 2026.
- General Availability: March 17, 2026.
Key Changes:
- 500: usage of deep reflection to modify fields marked with the keyword 'final' will now generate a warning and is planned for removal in the future;
- 504: Applet API, used to run Java applications in browsers, has been removed;
- 516: the ability to use ahead-of-time (AOT) cached code with any garbage collectors has been implemented;
- 517: support for the HTTP/3 protocol has been added to the HTTP Client API;
- 522: performance of the G1 garbage collector has been improved;
- 524: API for encoding and decoding objects with cryptographic keys, certificates, and certificate revocation lists in PEM format has been updated to the Second Preview stage;
- 525: API for structured concurrency has been updated to the Sixth Preview stage;
- 526: API for Lazy Constants, designed to work with objects containing immutable data, has been updated to the Second Preview stage;
- 529: the Eleventh Incubator test implementation for the Vector API, providing features for vector computations using x86_64 and AArch64 processor vector instructions, has been proposed;
- 530: the fourth preview variant for using primitive types (int, byte, char, and other non-object basic types) in all kinds of templates, in the 'instanceof' operator, and in 'switch' blocks has been introduced.
Source: linux.org.ru
