JDK 26 Changelog: All New Features
A complete list of features and JEPs in JDK 26 (March 2026), including HTTP/3 for the HTTP Client API, Ahead-of-Time Object Caching, and removal of the Applet API.
JDK 26 Changelog
JDK 26 was released on 17 March 2026 as a non-LTS release with 10 JEPs. The highlights are HTTP/3 for the HTTP Client API and Ahead-of-Time Object Caching, while the Applet API is finally removed after years of deprecation.
JEP Summary
| JEP Number | Feature |
|---|---|
| 500 | Prepare to Make Final Mean Final |
| 504 | Remove the Applet API |
| 516 | Ahead-of-Time Object Caching with Any GC |
| 517 | HTTP/3 for the HTTP Client API |
| 522 | G1 GC: Improve Throughput by Reducing Synchronization |
| 524 | PEM Encodings of Cryptographic Objects (Second Preview) |
| 525 | Structured Concurrency (Sixth Preview) |
| 526 | Lazy Constants (Second Preview) |
| 529 | Vector API (Eleventh Incubator) |
| 530 | Primitive Types in Patterns, instanceof, and switch (Fourth Preview) |
Key Features
HTTP/3 for the HTTP Client API (JEP 517)
The standard library HTTP client adds support for HTTP/3 (based on QUIC/UDP), offering lower latency and better network congestion handling:
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder(URI.create("https://example.com/api"))
.version(HttpClient.Version.HTTP_3) // HTTP/3
.GET()
.build();
HttpResponse<String> res = client.send(req, BodyHandlers.ofString());
System.out.println(res.statusCode());
Ahead-of-Time Object Caching with Any GC (JEP 516)
CDS is extended so objects can be cached and restored ahead-of-time with any garbage collector, measurably improving application startup time:
# Generate the object cache first
java -XX:CacheData=Off -Dcache.data.generator=... -jar app.jar
# Then reuse it for a faster start
java -XX:CacheData=On -jar app.jar
Prepare to Make Final Mean Final (JEP 500)
The semantics are prepared so that a class/record marked final can no longer be extended even through proxy and serialization, verifying and adapting the ecosystem before the ultimate change.
Remove the Applet API (JEP 504)
The legacy Applet API, deprecated since late Java 17, is definitively removed from the platform:
// No longer available — applet technology is gone
// import java.applet.Applet; // REMOVED
G1 GC: Improve Throughput by Reducing Synchronization (JEP 522)
The G1 garbage collector is optimized by reducing synchronization costs, improving overall throughput under parallel and concurrent workloads.
Other Changes
- Lazy Constants (526): Second preview; evaluates expensive constants only at first effective access.
- PEM Encodings of Cryptographic Objects (524): Second preview.
- Structured Concurrency (525): Sixth preview.
- Primitive Types in Patterns (530): Fourth preview.
- Vector API (529): Eleventh incubator.
Conclusion
JDK 26 is a non-LTS release that modernizes networking with HTTP/3, accelerates startup with AoT Object Caching, and cleans up the platform by removing the Applet API. It is a great base for trying out the newest features ahead of the next LTS.