| JFR In-Process Data Redaction |
536(27) |
|
|
|
|
|
|
|
|
| Post-Quantum Hybrid Key Exchange for TLS 1.3 |
527(27) |
|
|
|
|
|
|
|
|
| Make G1 the Default Garbage Collector in All Environments |
523(27) |
|
|
|
|
|
|
|
|
| G1 GC: Improve Throughput by Reducing Synchronization |
522(26) |
|
|
|
|
|
|
|
|
| HTTP/3 for the HTTP Client API |
517(26) |
|
|
|
|
|
|
|
|
| Ahead-of-Time Object Caching with Any GC |
516(26) |
|
|
|
|
|
|
|
|
| Remove the Applet API |
504(26) |
|
|
|
|
|
|
|
|
| Prepare to Make Final Mean Final |
500(26) |
|
|
|
|
|
|
|
|
| Generational Shenandoah |
521(25) |
|
|
|
|
|
|
|
|
| JFR Method Timing & Tracing |
520(25) |
|
|
|
|
|
|
|
|
| JFR Cooperative Sampling |
518(25) |
|
|
|
|
|
|
|
|
| PEM Encodings of Cryptographic Objects |
470(25)∗ |
524(26)∗2 |
538(27)∗3 |
|
|
|
|
|
|
| Ahead-of-Time Method Profiling |
515(25) |
|
|
|
|
|
|
|
|
| Ahead-of-Time Command-Line Ergonomics |
514(25) |
|
|
|
|
|
|
|
|
| JFR CPU-Time Profiling (Experimental) |
509(25) |
|
|
|
|
|
|
|
|
| Stable Values / Lazy Constants |
502(25)∗ |
526(26)∗2 |
531(27)∗3 |
|
|
|
|
|
|
| Deprecate & Remove the 32-bit x86 Port |
501(24) |
503(25) |
|
|
|
|
|
|
|
| Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm |
497(24) |
|
|
|
|
|
|
|
|
| Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism |
496(24) |
|
|
|
|
|
|
|
|
| Linking Run-Time Images without JMODs |
493(24) |
|
|
|
|
|
|
|
|
| Synchronize Virtual Threads without Pinning |
491(24) |
|
|
|
|
|
|
|
|
| ZGC: Remove the Non-Generational Mode |
490(24) |
|
|
|
|
|
|
|
|
| Ahead-of-Time Class Loading & Linking |
483(24) |
|
|
|
|
|
|
|
|
| Key Derivation Function API |
478(24)∗ |
510(25) |
|
|
|
|
|
|
|
| Late Barrier Expansion for G1 |
475(24) |
|
|
|
|
|
|
|
|
| Compact Object Headers by Default |
534(27) |
|
|
|
|
|
|
|
|
| Compact Object Headers |
450(24) |
519(25) |
|
|
|
|
|
|
|
| Generational Shenandoah (Experimental) |
404(24) |
|
|
|
|
|
|
|
|
| Module Import Declarations |
476(23)∗ |
494(24)∗2 |
511(25) |
|
|
|
|
|
|
| Prepare to Restrict the Use of JNI |
472(24) |
|
|
|
|
|
|
|
|
| ZGC: Generational Mode by Default |
474(23) |
|
|
|
|
|
|
|
|
Deprecate & Warn upon Use the Memory-Access Methods in sun.misc.Unsafe for Removal |
471(23) |
498(24) |
|
|
|
|
|
|
|
| Markdown Documentation Comments |
467(23) |
|
|
|
|
|
|
|
|
| Primitive Types in Patterns, instanceof, and switch |
455(23)∗ |
488(24)∗2 |
507(25)∗3 |
530(26)∗4 |
532(27)∗5 |
|
|
|
|
| Stream Gatherers |
461(22)∗ |
473(23)∗2 |
485(24) |
|
|
|
|
|
|
| Launch Multi-File Source-Code Programs |
458(22) |
|
|
|
|
|
|
|
|
| Class-File API |
457(22)∗ |
466(23)∗2 |
484(24) |
|
|
|
|
|
|
| Flexible Constructor Bodies |
447(22)∗ |
482(23)∗2 |
492(24)∗3 |
513(25) |
|
|
|
|
|
| Region Pinning for G1 |
423(22) |
|
|
|
|
|
|
|
|
| Structured Concurrency |
428(19)# |
437(20)#2 |
453(21)∗ |
462(22)∗2 |
480(23)∗3 |
499(24)∗4 |
505(25)∗5 |
525(26)∗6 |
533(27)∗7 |
| Key Encapsulation Mechanism API |
452(21) |
|
|
|
|
|
|
|
|
| Prepare to Disallow the Dynamic Loading of Agents |
451(21) |
|
|
|
|
|
|
|
|
| Deprecate & Remove the Windows 32-bit x86 Port |
449(21) |
479(24) |
|
|
|
|
|
|
|
| Compact Source Files and Instance Main Methods |
445(21)∗ |
463(22)∗2 |
477(23)∗3 |
495(24)∗4 |
512(25) |
|
|
|
|
| Unnamed Patterns and Variables |
443(21)∗ |
456(22) |
|
|
|
|
|
|
|
| Generational ZGC |
439(21) |
|
|
|
|
|
|
|
|
| Sequenced Collections |
431(21) |
|
|
|
|
|
|
|
|
| String Templates |
430(21)∗ |
459(22)∗2 |
|
|
|
|
|
|
|
| Scoped Values |
429(20)# |
446(21)∗ |
464(22)∗2 |
481(23)∗3 |
487(24)∗4 |
506(25) |
|
|
|
| Virtual Threads |
425(19)∗ |
436(20)∗2 |
444(21) |
|
|
|
|
|
|
| Linux/RISC-V Port |
422(19) |
|
|
|
|
|
|
|
|
| Record Patterns |
405(19)∗ |
432(20)∗2 |
440(21) |
|
|
|
|
|
|
| Deprecate Finalization for Removal |
421(18) |
|
|
|
|
|
|
|
|
| Internet-Address Resolution SPI |
418(18) |
|
|
|
|
|
|
|
|
| Reimplement Core Reflection with Method Handles |
416(18) |
|
|
|
|
|
|
|
|
| Code Snippets in Java API Documentation |
413(18) |
|
|
|
|
|
|
|
|
| Simple Web Server |
408(18) |
|
|
|
|
|
|
|
|
| UTF-8 by Default |
400(18) |
|
|
|
|
|
|
|
|
| Context-Specific Deserialization Filters |
415(17) |
|
|
|
|
|
|
|
|
| Foreign Function & Memory API |
412(17)# |
419(18)#2 |
424(19)∗ |
434(20)∗2 |
442(21)∗3 |
454(22) |
|
|
|
| Deprecate & Permanently Disable the Security Manager for Removal |
411(17) |
486(24) |
|
|
|
|
|
|
|
| Remove the Experimental AOT and JIT Compiler |
410(17) |
|
|
|
|
|
|
|
|
| Pattern Matching for switch |
406(17)∗ |
420(18)∗2 |
427(19)∗3 |
433(20)∗4 |
441(21) |
|
|
|
|
| Strongly Encapsulate JDK Internals |
403(17) |
|
|
|
|
|
|
|
|
| Deprecate the Applet API for Removal |
398(17) |
|
|
|
|
|
|
|
|
| macOS/AArch64 Port |
391(17) |
|
|
|
|
|
|
|
|
| New macOS Rendering Pipeline |
382(17) |
|
|
|
|
|
|
|
|
| Enhanced Pseudo-Random Number Generators |
356(17) |
|
|
|
|
|
|
|
|
| Restore Always-Strict Floating-Point Semantics |
306(17) |
|
|
|
|
|
|
|
|
| Strongly Encapsulate JDK Internals by Default |
396(16) |
|
|
|
|
|
|
|
|
| Warnings for Value-Based Classes |
390(16) |
|
|
|
|
|
|
|
|
| Foreign Linker API (Incubator) |
389(16)# |
|
|
|
|
|
|
|
|
| Windows/AArch64 Port |
388(16) |
|
|
|
|
|
|
|
|
| Elastic Metaspace |
387(16) |
|
|
|
|
|
|
|
|
| Alpine Linux Port |
386(16) |
|
|
|
|
|
|
|
|
| Unix-Domain Socket Channels |
380(16) |
|
|
|
|
|
|
|
|
| ZGC: Concurrent Thread-Stack Processing |
376(16) |
|
|
|
|
|
|
|
|
| Migrate to GitHub |
369(16) |
|
|
|
|
|
|
|
|
| Migrate from Mercurial to Git |
357(16) |
|
|
|
|
|
|
|
|
| Enable C++14 Language Features |
347(16) |
|
|
|
|
|
|
|
|
| Vector API |
338(16)# |
414(17)#2 |
417(18)#3 |
426(19)#4 |
438(20)#8 |
448(21)#6 |
460(22)#7 |
469(23)#8 |
|
|
489(24)#9 |
508(25)#10 |
529(26)#11 |
537(27)#12 |
|
|
|
|
|
| Deprecate & Remove RMI Activation |
385(15) |
407(17) |
|
|
|
|
|
|
|
| Disable and Deprecate Biased Locking |
374(15) |
|
|
|
|
|
|
|
|
| Reimplement the Legacy DatagramSocket API |
373(15) |
|
|
|
|
|
|
|
|
| Hidden Classes |
371(15) |
|
|
|
|
|
|
|
|
| Sealed Classes |
360(15)∗ |
397(16)∗2 |
409(17) |
|
|
|
|
|
|
| Edwards-Curve Digital Signature Algorithm (EdDSA) |
339(15) |
|
|
|
|
|
|
|
|
| Records |
359(14)∗ |
384(15)∗2 |
395(16) |
|
|
|
|
|
|
| Foreign-Memory Access API |
370(14)# |
383(15)#2 |
393(16)#3 |
|
|
|
|
|
|
| Deprecate the ParallelScavenge + SerialOld GC Combination |
366(14) |
|
|
|
|
|
|
|
|
| Remove the Concurrent Mark Sweep (CMS) Garbage Collector |
363(14) |
|
|
|
|
|
|
|
|
| Deprecate & Remove the Solaris and SPARC Ports |
362(14) |
381(15) |
|
|
|
|
|
|
|
| Helpful NullPointerExceptions |
358(14) |
|
|
|
|
|
|
|
|
| Non-Volatile Mapped Byte Buffers |
352(14) |
|
|
|
|
|
|
|
|
| JFR Event Streaming |
349(14) |
|
|
|
|
|
|
|
|
| NUMA-Aware Memory Allocation for G1 |
345(14) |
|
|
|
|
|
|
|
|
| Packaging Tool |
343(14)# |
392(16) |
|
|
|
|
|
|
|
| Pattern Matching for instanceof |
305(14)∗ |
375(15)∗2 |
394(16) |
|
|
|
|
|
|
| Text Blocks |
355(13)∗ |
368(14)∗2 |
378(15) |
|
|
|
|
|
|
| Reimplement the Legacy Socket API |
353(13) |
|
|
|
|
|
|
|
|
| Dynamic CDS Archives |
350(13) |
|
|
|
|
|
|
|
|
| Promptly Return Unused Committed Memory from G1 |
346(12) |
|
|
|
|
|
|
|
|
| Abortable Mixed Collections for G1 |
344(12) |
|
|
|
|
|
|
|
|
| Default CDS Archives |
341(12) |
|
|
|
|
|
|
|
|
| One AArch64 Port, Not Two |
340(12) |
|
|
|
|
|
|
|
|
| JVM Constants API |
334(12) |
|
|
|
|
|
|
|
|
| Switch Expressions |
325(12)∗ |
354(13)∗2 |
361(14) |
|
|
|
|
|
|
| Microbenchmark Suite |
230(12) |
|
|
|
|
|
|
|
|
| Shenandoah: A Low-Pause-Time Garbage Collector |
189(12) |
379(15) |
|
|
|
|
|
|
|
| Deprecate & Remove the Pack200 Tools and API |
336(11) |
367(14) |
|
|
|
|
|
|
|
| Deprecate & Remove the Nashorn JavaScript Engine |
335(11) |
372(15) |
|
|
|
|
|
|
|
| ZGC: A Scalable Low-Latency Garbage Collector |
333(11) |
351(13) |
364(14) |
365(14) |
377(15) |
|
|
|
|
| Transport Layer Security (TLS) 1.3 |
332(11) |
|
|
|
|
|
|
|
|
| Low-Overhead Heap Profiling |
331(11) |
|
|
|
|
|
|
|
|
| Launch Single-File Source-Code Programs |
330(11) |
|
|
|
|
|
|
|
|
| ChaCha20 and Poly1305 Cryptographic Algorithms |
329(11) |
|
|
|
|
|
|
|
|
| Flight Recorder |
328(11) |
|
|
|
|
|
|
|
|
| Unicode 10 |
327(11) |
|
|
|
|
|
|
|
|
| Key Agreement with Curve25519 and Curve448 |
324(11) |
|
|
|
|
|
|
|
|
| Local-Variable Syntax for Lambda Parameters |
323(11) |
|
|
|
|
|
|
|
|
| HTTP Client API |
321(11) |
|
|
|
|
|
|
|
|
| Remove the Java EE and CORBA Modules |
320(11) |
|
|
|
|
|
|
|
|
| Epsilon: A No-Op Garbage Collector |
318(11) |
|
|
|
|
|
|
|
|
| Improve Aarch64 Intrinsics |
315(11) |
|
|
|
|
|
|
|
|
| Dynamic Class-File Constants |
309(11) |
|
|
|
|
|
|
|
|
| Nest-Based Access Control |
181(11) |
|
|
|
|
|
|
|
|
| Time-Based Release Versioning |
322(10) |
|
|
|
|
|
|
|
|
| Root Certificates |
319(10) |
|
|
|
|
|
|
|
|
| Experimental Java-Based JIT Compiler |
317(10) |
|
|
|
|
|
|
|
|
| Heap Allocation on Alternative Memory Devices |
316(10) |
|
|
|
|
|
|
|
|
| Additional Unicode Language-Tag Extensions |
314(10) |
|
|
|
|
|
|
|
|
| Remove the Native-Header Generation Tool (javah) |
313(10) |
|
|
|
|
|
|
|
|
| Thread-Local Handshakes |
312(10) |
|
|
|
|
|
|
|
|
| Application Class-Data Sharing |
310(10) |
|
|
|
|
|
|
|
|
| Parallel Full GC for G1 |
307(10) |
|
|
|
|
|
|
|
|
| Garbage-Collector Interface |
304(10) |
|
|
|
|
|
|
|
|
| Consolidate the JDK Forest into a Single Repository |
296(10) |
|
|
|
|
|
|
|
|
| Local-Variable Type Inference |
286(10) |
|
|
|
|
|
|
|
|