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 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 |
| 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 |
| 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 |
| JEP | Feature | Status |
|---|---|---|
| JEP 286 | Local-Variable Type Inference | Final |
| JEP | Feature | Status |
|---|---|---|
| JEP 321 | HTTP Client | Final |
| JEP 323 | Local-Variable Syntax for Lambda Parameters | Final |
| JEP | Feature | Status |
|---|---|---|
| JEP 325 | Switch Expressions | Preview |
| JEP 334 | JVM Constants API | Final |
| JEP | Feature | Status |
|---|---|---|
| JEP 354 | Switch Expressions | Preview |
| JEP 355 | Text Blocks | Preview |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |