Java 17 (21.9 LTS)
Java 17 is a feature release which obsoleted Java 16 and became a long-term support (LTS) release of Java on its introduction on 14th September 2021.
Java 17 is fully supported by Eclipse 2021-12 and later.
Current status: General Availability
Resources
Java 17 Early-Access Builds (note: OpenJDK builds only; no Oracle builds)
Selected Changes in Java 17
JEP 306:Â Restore Always-Strict Floating-Point Semantic
JEP 356: Enhanced Pseudo-Random Number Generators
JEP 382:Â New macOS Rendering Pipeline
JEP 391: macOS/AArch64 Port
JEP 398: Deprecate the Applet API for Removal
JEP 403:Â Strongly Encapsulate JDK Internals
JEPÂ 406: Pattern Matching for switch (Preview)
JEP 407: Remove RMI Activation
JEP 409:Â Sealed Classes
JEP 411:Â Deprecate the Security Manager for Removal
JEP 412: Foreign Function & Memory API (Incubator)
JEP 414: Vector API (Second Incubator)
JEP 415: Context-Specific Deserialization Filters
JDK-6323374: Collections.unmodifiable* methods are idempotent for their corresponding collection. The unmodifiable* methods in java.util.Collections will no longer re-wrap a given collection with an unmodifiable view if that collection has already been wrapped by same method. (our unit tests still pass)
JDK-8235139:Â Deprecate the socket impl factory mechanism
JDK-8259709: Disable SHA-1 XML Signatures. XML signatures that use SHA-1 based digest or signature algorithms have been disabled by default. (our unit tests still pass)
JDK-8259801:Â Enable XML Signature secure validation mode by default
Significant Changes from Java 11 (18.9 LTS)
The following changes may factor in to our adoption of Java 17 as a new platform, and as a baseline for individual products:
From Java 12:
JEP 182 and JDK-8028563: no more support forÂ
-source
/-target
/-release
 1.6.
From Java 13:
JDK-8215608: Old Features Removed fromÂ
javadoc
 tool. No more HTML4 API documentation.
From Java 14:
JEP 361:Â Switch Expressions (Standard)
From Java 15:
JEP 372: Remove the Nashorn JavaScript Engine
JEP 378: Text Blocks (Standard)
JEP 381:Â Remove the Solaris and SPARC Ports
JDK-8237219:Â Disable native SunEC implementation by default (OSJ-319)
From Java 16:
JEP 394: Pattern Matching for instanceof
JEP 395: Records
JEP 396: Strongly Encapsulate JDK Internals by Default
From Java 17:
JEP 356: Enhanced Pseudo-Random Number Generators
JEP 391: macOS/AArch64 Port (not clear if this will be back-ported to, e.g., Java 11 or not)
JEP 403:Â Strongly Encapsulate JDK Internals
JEP 409:Â Sealed Classes
JEP 411:Â Deprecate the Security Manager for Removal
JDK-8259709:Â Disable SHA-1 XML Signatures
JDK-8259801:Â Enable XML Signature secure validation mode by default