Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 38 Next »

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

Current status: Early Access

Page last updated: 2021-05-03, EA 20

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
  • 2021-09-14 General Availability

Resources

Selected Changes Targeted to Java 17

  • 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 409Sealed Classes
  • JEP 414: Vector API (Second Incubator)
  • 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 XML Signature secure validation mode by default

Proposed to Target Java 17

  • JEP 403: Strongly Encapsulate JDK Internals
  • JEP 406: Pattern Matching for switch (Preview)
  • JEP 407: Remove RMI Activation
  • JEP 412: Foreign Function & Memory API (Incubator)

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:

From Java 13:

  • JDK-8215608: Old Features Removed from javadoc  tool. No more HTML4 API documentation.

From Java 14:

From Java 15:

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)
  • No labels