JEPs in JDK 17 integrated since JDK 11

Here are all of the JEPs integrated since the previous long-term-support (LTS) release, JDK 11. Incubator and Preview JEPs that were superseded by later JEPs in JDKs 12 through 17 are not included. The release in which a JEP was integrated is shown in parentheses after the JEP’s title.

Additions

403:  Strongly Encapsulate JDK Internals (17)
390:  Warnings for Value-Based Classes (16)
HotSpot JVM
386:  Alpine Linux Port (16)
391:  macOS/AArch64 Port (17)
340:  One AArch64 Port, Not Two (12)
388:  Windows/AArch64 Port (16)
Flight Recorder
349:  JFR Event Streaming (14)
Garbage Collectors
344:  Abortable Mixed Collections for G1 (12)
345:  NUMA-Aware Memory Allocation for G1 (14)
346:  Promptly Return Unused Committed Memory from G1 (12)
379:  Shenandoah: A Low-Pause-Time Garbage Collector (15)
377:  ZGC: A Scalable Low-Latency Garbage Collector (15)
376:  ZGC: Concurrent Thread-Stack Processing (16)
Run-Time System
341:  Default CDS Archives (12)
350:  Dynamic CDS Archives (13)
387:  Elastic Metaspace (16)
358:  Helpful NullPointerExceptions (14)
Language
394:  Pattern Matching for instanceof (16)
395:  Records (16)
306:  Restore Always-Strict Floating-Point Semantics (17)
409:  Sealed Classes (17)
361:  Switch Expressions (14)
378:  Text Blocks (15)
Libraries
2D Graphics
382:  New macOS Rendering Pipeline (17)
Cryptography
339:  Edwards-Curve Digital Signature Algorithm (EdDSA) (15)
I/O
352:  Non-Volatile Mapped Byte Buffers (14)
380:  Unix-Domain Socket Channels (16)
Networking
373:  Reimplement the Legacy DatagramSocket API (15)
353:  Reimplement the Legacy Socket API (13)
Reflection & Method Handles
371:  Hidden Classes (15)
334:  JVM Constants API (12)
Serialization
415:  Context-Specific Deserialization Filters (17)
Utilities
356:  Enhanced Pseudo-Random Number Generators (17)
Tools
392:  Packaging Tool (16)

Preview & incubating

Language
406:  Pattern Matching for switch (Preview) (17)
Libraries
412:  Foreign Function & Memory API (Incubator) (17)
414:  Vector API (Second Incubator) (17)

Deprecations

HotSpot JVM
374:  Deprecate and Disable Biased Locking (15)
366:  Deprecate the ParallelScavenge + SerialOld GC Combination (14)
Libraries
398:  Deprecate the Applet API for Removal (17)
411:  Deprecate the Security Manager for Removal (17)

Removals

HotSpot JVM
363:  Remove the Concurrent Mark Sweep (CMS) Garbage Collector (14)
410:  Remove the Experimental AOT and JIT Compiler (17)
381:  Remove the Solaris and SPARC Ports (15)
Libraries
407:  Remove RMI Activation (17)
372:  Remove the Nashorn JavaScript Engine (15)
Tools
367:  Remove the Pack200 Tools and API (14)