Skip to content

Latest commit

 

History

History
260 lines (216 loc) · 16.7 KB

File metadata and controls

260 lines (216 loc) · 16.7 KB

JEP Index

This index centralizes the JEP links used by the repository. It is a lookup table, not a replacement for the version READMEs. For release months and historical naming context, use java-release-timeline.md.

Status labels:

  • Final: stable feature in the named release.
  • Preview: available for feedback, may change later.
  • Incubator: non-final incubating API, usually in an incubator module.
  • Tooling: command-line, JavaDoc, launcher, or build/development support.
  • Runtime: JVM, GC, diagnostics, startup, or migration behavior.
  • Security: cryptography or security platform feature.
  • Removal: API or platform capability removed from the JDK.
  • Notes: represented as a notes class in this repository.
  • Explanatory module: represented by a focused package README and notes class because a small runnable example would be misleading or require special setup.
  • Example: represented by runnable example code and focused tests.
  • Documentation example: represented by source documentation that is verified through JavaDoc generation.
  • Experimental: an additional qualifier used when the referenced JEP describes an experimental runtime or tooling capability.

Java 1-7

Java 1-7 predate the modern JEP process used elsewhere in this index. Their entries point to official release notes, specifications, or API documentation instead of JEP pages. See java-release-timeline.md for their release dates and naming history.

Reference Feature Status
What's New in JDK 1.1 Inner classes, reflection, serialization, JDBC, RMI, JavaBeans, AWT updates, JAR files, JNI, internationalization Final, Examples
JavaBeans specification JavaBeans component conventions Final, Executable Example
Object Serialization FAQ Object serialization Final, Executable Example
Java language enhancements history strictfp and assertions Final, Executable Examples
Java 2 platform documentation Java 2D Final, Executable Example
J2SE 1.4 new features and enhancements NIO, regular expressions, XML/JAXP, integrated security APIs, logging, preferences, chained exceptions Final, Examples and Preferences Notes
Oracle J2SE 5.0 new features Generics, enhanced for loop, autoboxing, enums, varargs, static import, annotations, concurrency utilities Final, Example
Formatter API Formatted output Final, Example
Oracle Java SE 6 features Navigable collections, scripting, compiler API, console, monitoring, web-service support Final, Examples and Explanatory Modules
Java SE 6 scripting guide Scripting support Final, Executable Example
JavaCompiler API Compiler API Final, Tooling, Executable Example
Console API Console API Final, Tooling, Executable Example
Project Coin / JSR 334 Try-with-resources, multi-catch, diamond operator, strings in switch, binary literals, numeric underscores Final, Example
JDK 7 adoption guide NIO.2 and Java 7 migration features Final, Example
Java SE 7 concurrency enhancements Fork/join framework Final, Example
java.lang.invoke package invokedynamic and method handles Final, Tooling, Executable Example

Java 8

JEP Feature Status
JEP 126 Lambda Expressions and Virtual Extension Methods Final
JEP 107 Bulk Data Operations for Collections Final
JEP 150 Date & Time API Final

Java 9

JEP Feature Status
JEP 261 Module System Final, Executable Example
JEP 269 Convenience Factory Methods for Collections Final
JEP 102 Process API Updates Final
JEP 259 Stack-Walking API Final
JEP 213 Milling Project Coin Final

Java 10

JEP Feature Status
JEP 286 Local-Variable Type Inference Final

Java 11

JEP Feature Status
JEP 321 HTTP Client Final
JEP 323 Local-Variable Syntax for Lambda Parameters Final

Java 12

JEP Feature Status
JEP 325 Switch Expressions Preview
JEP 334 JVM Constants API Final

Java 13

JEP Feature Status
JEP 354 Switch Expressions Preview
JEP 355 Text Blocks Preview

Java 14

JEP Feature Status
JEP 361 Switch Expressions Final
JEP 358 Helpful NullPointerExceptions Runtime
JEP 359 Records Preview
JEP 305 Pattern Matching for instanceof Preview
JEP 368 Text Blocks Second Preview

Java 15

JEP Feature Status
JEP 378 Text Blocks Final
JEP 360 Sealed Classes Preview
JEP 375 Pattern Matching for instanceof Second Preview
JEP 384 Records Second Preview
JEP 371 Hidden Classes Final, Executable Example

Java 16

JEP Feature Status
JEP 395 Records Final
JEP 394 Pattern Matching for instanceof Final
JEP 397 Sealed Classes Second Preview
JEP 380 Unix-Domain Socket Channels Final, Executable Example
JEP 338 Vector API Incubator, Notes
JEP 389 Foreign Linker API Incubator, Notes
JEP 393 Foreign-Memory Access API Third Incubator, Notes

Java 17

JEP Feature Status
JEP 409 Sealed Classes Final
JEP 406 Pattern Matching for switch Preview
JEP 356 Enhanced Pseudo-Random Number Generators Final
JEP 403 Strongly Encapsulate JDK Internals Runtime, Executable Example

Java 18

JEP Feature Status
JEP 400 UTF-8 by Default Final
JEP 408 Simple Web Server Tooling, Example
JEP 413 Code Snippets in Java API Documentation Tooling, Example
JEP 418 Internet-Address Resolution SPI Final, Executable Example

Java 19

JEP Feature Status
JEP 425 Virtual Threads Preview
JEP 428 Structured Concurrency Incubator, Explanatory module
JEP 405 Record Patterns Preview
JEP 427 Pattern Matching for switch Preview
JEP 420 Pattern Matching for switch Second Preview
JEP 424 Foreign Function and Memory API Preview, Notes

Java 20

JEP Feature Status
JEP 432 Record Patterns Preview
JEP 433 Pattern Matching for switch Preview
JEP 436 Virtual Threads Preview, Notes
JEP 429 Scoped Values Incubator, Explanatory module
JEP 437 Structured Concurrency Incubator, Explanatory module
JEP 434 Foreign Function and Memory API Preview, Notes
JEP 438 Vector API Incubator, Executable Example

Java 21

JEP Feature Status
JEP 444 Virtual Threads Final
JEP 440 Record Patterns Final
JEP 441 Pattern Matching for switch Final
JEP 431 Sequenced Collections Final
JEP 443 Unnamed Patterns and Variables Preview
JEP 446 Scoped Values Preview, Explanatory module
JEP 453 Structured Concurrency Preview, Explanatory module
JEP 452 Key Encapsulation Mechanism API Final, Security, Executable example
JEP 442 Foreign Function and Memory API Third Preview, Notes
JEP 445 Unnamed Classes and Instance Main Methods Preview, Notes

Java 22

JEP Feature Status
JEP 456 Unnamed Variables and Patterns Final
JEP 454 Foreign Function and Memory API Final, Example
JEP 463 Implicitly Declared Classes and Instance Main Methods Second Preview, Notes
JEP 461 Stream Gatherers Preview, Notes
JEP 457 Class-File API Preview, Notes
JEP 447 Statements before super(...) Preview, Notes
JEP 458 Launch Multi-File Source-Code Programs Final, Tooling, Executable Example
JEP 464 Scoped Values Preview, Notes
JEP 462 Structured Concurrency Preview, Notes

Java 23

JEP Feature Status
JEP 467 Markdown Documentation Comments Tooling, Executable Example
JEP 477 Implicitly Declared Classes and Instance Main Methods Third Preview, Notes
JEP 455 Primitive Types in Patterns, instanceof, and switch Preview, Notes
JEP 476 Module Import Declarations Preview, Notes
JEP 482 Flexible Constructor Bodies Preview, Notes
JEP 473 Stream Gatherers Preview, Notes
JEP 466 Class-File API Preview, Notes
JEP 481 Scoped Values Preview, Notes
JEP 480 Structured Concurrency Preview, Notes
JEP 471 Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal Runtime, Executable Example
JEP 474 ZGC: Generational Mode by Default Runtime, Executable Example

Java 24

JEP Feature Status
JEP 485 Stream Gatherers Final
JEP 484 Class-File API Final, Example
JEP 486 Permanently Disable the Security Manager Runtime, Executable Example
JEP 491 Synchronize Virtual Threads without Pinning Runtime, Executable Example
JEP 496 Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism Final, Security, Example
JEP 497 Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm Final, Security, Example
JEP 483 Ahead-of-Time Class Loading & Linking Runtime, Tooling, Executable Example
JEP 478 Key Derivation Function API Preview, Security, Notes
JEP 492 Flexible Constructor Bodies Preview, Notes
JEP 494 Module Import Declarations Preview, Notes
JEP 488 Primitive Types in Patterns, instanceof, and switch Preview, Notes
JEP 487 Scoped Values Preview, Notes
JEP 499 Structured Concurrency Preview, Notes
JEP 495 Simple Source Files and Instance Main Methods Fourth Preview, Notes
JEP 450 Compact Object Headers Experimental, Notes

Java 25

JEP Feature Status
JEP 506 Scoped Values Final
JEP 513 Flexible Constructor Bodies Final
JEP 511 Module Import Declarations Final, Tooling, Executable Example
JEP 512 Compact Source Files and Instance Main Methods Final, Tooling, Executable Example
JEP 510 Key Derivation Function API Final, Security, Example
JEP 507 Primitive Types in Patterns, instanceof, and switch Preview, Executable Example
JEP 502 Stable Values Preview, Executable Example
JEP 470 PEM Encodings of Cryptographic Objects Preview, Security, Executable Example
JEP 505 Structured Concurrency Preview, Executable Example
JEP 508 Vector API Incubator, Executable Example
JEP 514 Ahead-of-Time Command-Line Ergonomics Runtime, Tooling, Executable Example
JEP 509 JFR CPU-Time Profiling Runtime, Experimental, Explanatory Module
JEP 518 JFR Cooperative Sampling Runtime, Explanatory Module
JEP 520 JFR Method Timing & Tracing Runtime, Executable Example
JEP 519 Compact Object Headers Runtime, Executable Example
JEP 521 Generational Shenandoah Runtime, Explanatory Module

Java 26

JEP Feature Status
JEP 500 Prepare to Make Final Mean Final Runtime, Executable Example
JEP 504 Remove the Applet API Final, Removal, Executable Example
JEP 516 Ahead-of-Time Object Caching with Any GC Runtime, Executable Example
JEP 517 HTTP/3 for the HTTP Client API Final, Executable Example
JEP 522 G1 GC: Improve Throughput by Reducing Synchronization Runtime, Explanatory Module
JEP 524 PEM Encodings of Cryptographic Objects Preview, Security, Executable Example
JEP 525 Structured Concurrency Preview, Executable Example
JEP 526 Lazy Constants Preview, Executable Example
JEP 529 Vector API Incubator, Explanatory Module
JEP 530 Primitive Types in Patterns, instanceof, and switch Preview, Executable Example