InfoQ Homepage News OpenJDK News Roundup: Key Derivation, Scoped Values, Compact Headers, JFR Method Timing & Tracing
OpenJDK News Roundup: Key Derivation, Scoped Values, Compact Headers, JFR Method Timing & Tracing
This item in japanese
May 19, 2025 4 min read
There was a flurry of activity in the OpenJDK ecosystem during the week of May 12th, 2025, highlighting: two JEPs elevated from Proposed to Target to Targeted and four JEPs elevated from Candidate to Proposed to Target for JDK 25; and one JEP elevated from its JEP Draft to Candidate status. Two of these will be finalized after their respective rounds of preview.
JEPs Targeted for JDK 25
Two JEPs have been elevated from Proposed to Target to Targeted for JDK 25.
JEP 510, Key Derivation Function API, announced here, 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.
JEP 506, Scoped Values, announced here, proposes to finalize this feature, without change, after four rounds of preview, namely: JEP 487, Scoped Values (Fourth Preview), delivered in JDK 24; JEP 481, Scoped Values (Third Preview), delivered in JDK 23; JEP 464, Scoped Values (Second Preview), delivered in JDK 22; JEP 446, Scoped Values (Preview), delivered in JDK 21; and JEP 429, Scoped Values (Incubator), delivered in JDK 20. 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.
JEPs Proposed to Target for JDK 25
Four JEPs have been elevated from Candidate to Proposed to Target for JDK 25.
JEP 519, Compact Object Headers, has been elevated from its JEP Draft 8354672 to Candidate to Proposed to Target for JDK 25 (announced here and here, respectively).This JEP proposes to promote this feature from experimental to product. Inspired by Project Lilliput, this feature "reduce[s] 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 450 may be found in this InfoQ news story.
JEP 515, Ahead-of-Time Method Profiling, announced here, 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, announced here, 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."
JEP 507, Primitive Types in Patterns, instanceof, and switch (Third Preview), announced here, proposes a third round of preview, without change, to gain additional experience and feedback from the previous two rounds of preview, namely: JEP 488, Primitive Types in Patterns, instanceof, and switch (Second Preview), delivered in JDK 24; and JEP 455, Primitive Types in Patterns, instanceof, and switch (Preview), delivered in JDK 23. Under the auspices of Project Amber, this feature enhances pattern matching by allowing primitive type patterns in all pattern contexts, and extending instanceof and switch to work with all primitive types. More details may be found in this draft specification by Aggelos Biboudis, Principal Member of Technical Staff at Oracle.
Their respective reviews are expected to conclude by May 22, 2025.
New JEP Candidates
JEP 520, JFR Method Timing & Tracing, has been elevated from its JEP Draft 8328610 to Candidate status. This JEP proposes to extend the JDK Flight Recorder with facilities for method timing and tracing via the bytecode Instrumentation interface.
JDK 25 Feature Set (So Far) and Release Schedule
The JDK 25 release schedule, as approved by Mark Reinhold, Chief Architect, Java Platform Group at Oracle, is as follows:
- Rampdown Phase One (fork from main line): June 5, 2025
- Rampdown Phase Two: July 17, 2025
- Initial Release Candidate: August 7, 2025
- Final Release Candidate: August 21, 2025
- General Availability: September 16, 2025
With less than three weeks before the scheduled Rampdown Phase One, where the feature set for JDK 25 will be frozen, these are 13 JEPs included in the feature set so far:
- JEP 502: Stable Values (Preview)
- JEP 503: Remove the 32-bit x86 Port
- JEP 505: Structured Concurrency (Fifth Preview)
- JEP 506: Scoped Values
- JEP 507: Primitive Types in Patterns, instanceof, and switch (Third Preview)
- JEP 508: Vector API (Tenth Incubator)
- JEP 510: Key Derivation Function API
- JEP 511: Module Import Declarations
- JEP 512: Compact Source Files and Instance Main Methods
- JEP 513: Flexible Constructor Bodies
- JEP 514: Ahead-of-Time Command-Line Ergonomics
- JEP 515: Ahead-of-Time Method Profiling
- JEP 519: Compact Object Headers
JDK 25 is designated to be the next long-term support (LTS) release following JDK 21, JDK 17, JDK 11 and JDK 8.
About the Author
Michael Redlich
-
Related Editorial
-
Related Sponsors
-
Popular across InfoQ
-
Anthropic Lead: HTML Increasingly Better Than Markdown at Keeping Humans Engaged in Agentic Loops
-
Google OpenRL is an Experimental Self-hosted API for LLM Post-Training Fine-Tuning
-
AWS Introduces Workload Credentials Provider for Automated Certificate and Secret Management
-
AI Is Moving up the Software Lifecycle: from Code Review to PRD Governance
-
Cloudflare Ships Agent Skills for Zero Trust Deployment and Migration
-
Architectural Patterns: Moving Beyond Cloud-Native to Local-First - Insights from Adam Wiggins
-
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
