Java 17 is a feature release which will obsolete Java 16 and became a long-term support (LTS) release of Java on its introduction in September 2021.
Current status: Early Access
Page last updated: 2021-03-01, EA 11
Schedule: TBD
Resources
- Java 17 Early-Access Builds (note: OpenJDK builds only; no Oracle builds)
- Release notes
- Jave SE 17 Platform
Selected Changes Targeted to Java 17
- JEP 356: Enhanced Pseudo-Random Number Generators
- JEP 382: New macOS Rendering Pipeline
- JDK-8235139: Deprecate the socket impl factory mechanism
- JDK-8259801: Enable XML Signature secure validation mode by default
Proposed to Target Java 17
- JEP 398: Deprecate the Applet API for Removal
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