Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Java 17 is a feature release which will obsolete obsoleted Java 16 and became a long-term support (LTS) release of Java on its introduction on 14th September 2021.

Current status: Rampdown Phase One

Page last updated: 2021-08-03, EA 33

Schedule:

...

2021-06-10 Rampdown Phase One (fork from main line)

...

2021-07-15 Rampdown Phase Two

...

2021-08-05 Initial Release Candidate

...

2021-08-19 Final Release Candidate

...

Java 17 is fully supported by Eclipse 2021-12 and later.

Current status: General Availability

Resources

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 409Sealed Classes

  • JEP 411Deprecate 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-8259709Disable 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  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:

...

  • 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