InfoQ Homepage News JDK 25 and JDK 26: What We Know So Far
JDK 25 and JDK 26: What We Know So Far
Aug 22, 2025 5 min read
Write for InfoQ
Feed your curiosity. Help 550k+ globalsenior developers
each month stay ahead.Get in touch
JDK 25, the next Long-Term Support (LTS) release since JDK 21, has reached its second release candidate as declared by Mark Reinhold, chief architect, Java Platform Group at Oracle. The main-line source repository, forked to the JDK stabilization repository in early-June 2025 (Rampdown Phase One), defines the feature set for JDK 25. Critical bugs, such as regressions or serious functionality issues, may be addressed, but must be approved via the Fix-Request process. As per the release schedule, JDK 25 will be formally released on September 16, 2025.
The final set of 18 new features, in the form of JEPs, can be separated into four (4) categories: Core Java Library, Java Language Specification, Security Library and HotSpot.
Four (4) of these new features are categorized under Core Java Library:
- JEP 502: Stable Values (Preview)
- JEP 505: Structured Concurrency (Fifth Preview)
- JEP 506: Scoped Values
- JEP 508: Vector API (Tenth Incubator)
Four (4) of these new features are categorized under Java Language Specification:
- JEP 507: Primitive Types in Patterns, instanceof, and switch (Third Preview)
- JEP 511: Module Import Declarations
- JEP 512: Compact Source Files and Instance Main Methods
- JEP 513: Flexible Constructor Bodies
Two (2) of these new features are categorized under Security Library:
- JEP 470: PEM Encodings of Cryptographic Objects (Preview)
- JEP 510: Key Derivation Function API
And finally, eight (8) of these new features are categorized under HotSpot:
- JEP 503: Remove the 32-bit x86 Port
- JEP 509: JFR CPU-Time Profiling (Experimental)
- JEP 514: Ahead-of-Time Command-Line Ergonomics
- JEP 515: Ahead-of-Time Method Profiling
- JEP 518: JFR Cooperative Sampling
- JEP 519: Compact Object Headers
- JEP 520: JFR Method Timing & Tracing
- JEP 521: Generational Shenandoah
We examine some of these new features and include where they fall under the auspices of the major Java projects - Amber, Loom, Panama, Valhalla and Leyden - designed to incubate a series of components for eventual inclusion in the JDK through a curated merge.
Project Amber
JEP 512, Compact Source Files and Instance Main Methods, proposes to finalize this feature, with improvements, after four rounds of preview delivered in JDK 21 through JDK 24. Formerly known as Simple Source Files and Instance Main Methods, this feature aims to "evolve the Java language so that students can write their first programs without needing to understand language features designed for large programs." This JEP moves forward the September 2022 blog post, Paving the on-ramp, by Brian Goetz, Java language architect at Oracle. Gavin Bierman, consulting member of technical staff at Oracle, has published this specification document for review by the Java community.
Project Loom
JEP 506, Scoped Values, proposes to finalize this feature, without change, after one round of incubation and four rounds of preview delivered in JDK 20 through JDK 24. Formerly known as Extent-Local Variables (Incubator), this feature enables sharing of immutable data within and across threads. This is preferred to thread-local variables, especially when using large numbers of virtual threads.
Project Panama
JEP 508, Vector API (Tenth Incubator), proposes a tenth incubation, with no API changes and no substantial implementation changes since JDK 24, after nine rounds of incubation delivered in JDK 16 through JDK 24. This feature introduces an API to "express vector computations that reliably compile at runtime to optimal vector instructions on supported CPU architectures, thus achieving performance superior to equivalent scalar computations." The Vector API will continue to incubate until the necessary features of Project Valhalla become available as preview features. At that time, the Vector API team will adapt the Vector API and its implementation to use them, and will promote the Vector API from Incubation to Preview.
Project Leyden
JEP 515, Ahead-of-Time Method Profiling, proposes to improve application warmup time by "making method-execution profiles from a previous run of an application instantly available, when the HotSpot JVM starts." This allows the JIT compiler to immediately generate native code upon application startup as opposed to waiting for profiles to be collected.
JEP 514, Ahead-of-Time Command-Line Ergonomics, proposes to simplify the process of creating ahead-of-time caches, as described in JEP 483, Ahead-of-Time Class Loading & Linking, that may accelerate Java application startup by "simplifying the commands required for common use cases."
Security Library
JEP 510, Key Derivation Function API, proposes to finalize this feature, without change, after one round of preview, namely: JEP 478, Key Derivation Function API (Preview), delivered in JDK 24. This features introduces an API for Key Derivation Functions (KDFs), cryptographic algorithms for deriving additional keys from a secret key and other data, with goals to: allow security providers to implement KDF algorithms in either Java or native code; and enable the use of KDFs in implementations of JEP 452, Key Encapsulation Mechanism.
HotSpot
JEP 519, Compact Object Headers, proposes to promote this feature from experimental to product. Inspired by Project Lilliput, this feature "reduces the size of object headers in the HotSpot JVM from between 96 and 128 bits down to 64 bits on 64-bit architectures." More details on JEP 519 may be found in this InfoQ news story.
JDK 26
Scheduled for a GA release in March 2026, there is one (1) JEP targeted for JDK 26 at this time. However, based on a number of JEP candidates and drafts, especially those that have been submitted or an incremental preview, we can surmise which JEPs have the potential to be included in JDK 26.
JEP 504, Remove the Applet API, has been Targeted for JDK 26. This JEP proposes to remove the Applet API, deprecated in JDK 17, due its continued obsolescence since applets are no longer supported in web browsers.
JEP 517, HTTP/3 for the HTTP Client API, proposes to update JEP 321, HTTP Client, delivered in JDK 11, to support the HTTP/3 protocol. This will allow applications and libraries to interact with HTTP/3 servers and get the benefits of HTTP/3 with minimal code changes.
JEP Draft 8359894, Stable Values (Second Preview), proposes a second preview after the first round of preview, namely: JEP 502, Stable Values (Preview). Formerly known as Computed Constants (Preview), this feature introduces the concept of computed constants, defined as immutable value holders that are initialized at most once. This offers the performance and safety benefits of final fields, while offering greater flexibility as to the timing of initialization.
JEP Draft 8360563, PEM Encodings of Cryptographic Objects (Second Preview), proposes a second preview to allow more time for additional feedback and experience after the first round of preview, namely: JEP 470: PEM Encodings of Cryptographic Objects (Preview). This feature offers "an API for encoding objects that represent cryptographic keys, certificates, and certificate revocation lists into the widely-used Privacy-Enhanced Mail (PEM) transport format, and for decoding from that format back into objects." This JEP will support conversions between PEM text and cryptographic objects in PKCS #8 and X.509 binary formats.
JEP Draft 8349536, Prepare to Make Final Mean Final, proposes to prepare the Java ecosystem that will not allow mutation of fields declared as final with deep reflection, generally practiced using the setAccessible() method defined in the AccessibleObject class.
Please note that draft JEPs may be subject to change at any time. We anticipate that Oracle will start targeting additional JEPs for JDK 26 very soon.
This content is in the Java topic
Related Topics:
-
Related Editorial
-
Related Sponsors
-
Popular across InfoQ
-
Cloudflare Introduces Data Platform with Zero Egress Fees
-
Grafana and GitLab Introduce Serverless CI/CD Observability Integration
-
TanStack Start: A New Meta Framework Powered by React or SolidJS
-
Java News Roundup: OpenJDK JEPs for JDK 26, Spring RCs, Quarkus, JReleaser, Seed4J, Gradle
-
Meta and Hugging Face Launch OpenEnv, a Shared Hub for Agentic Environments
-
If You Can’t Test It, Don’t Deploy It: The New Rule of AI Development?
-
Related Content
The InfoQ Newsletter
A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example