Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8266824





      These notes describe important changes, enhancements, removed APIs and features, deprecated APIs and features, and other information about JDK 17 and Java SE 17. In some cases, the descriptions provide links to additional detailed information about an issue or a change. This page does not duplicate the descriptions provided by the [Java SE 17 ( JSR 392) Platform Specification](https://cr.openjdk.java.net/~iris/se/17/latestSpec/), which provides informative background for all specification changes and might also include the identification of removed or deprecated APIs and features not described here. The Java SE 17 ( JSR 392) specification provides links to:

      - **Annex 1:** The complete [Java SE 17 API Specification](https://cr.openjdk.java.net/~iris/se/17/latestSpec//api/index.html).

      - **Annex 2:** An [annotated API specification](https://cr.openjdk.java.net/~iris/se/17/latestSpec/apidiffs/overview-summary.html) showing the exact differences relative to Java SE 17. Informative background for these changes may be found in the list of approved Change Specification Requests for this release.

      - **Annex 3:** Java SE 17 Editions of [The Java Language Specification](https://cr.openjdk.java.net/~iris/se/17/latestSpec/java-se-17-annex-3.html) and [The Java Virtual Machine Specification](https://cr.openjdk.java.net/~iris/se/17/latestSpec/java-se-17-annex-3.html). The Java SE 17 Editions contain all corrections and clarifications made since the Java SE 16 Editions, as well as additions for new features.

      You should be aware of the content in the Java SE 17 ( JSR 392) specification as well as the items described in this page.

      The descriptions on this Release Notes page also identify potential compatibility issues that you might encounter when migrating to JDK 17. The [Kinds of Compatibility](https://wiki.openjdk.java.net/display/csr/Kinds+of+Compatibility) page on the OpenJDK wiki identifies the following three types of potential compatibility issues for Java programs that might be used in these release notes:

      - **Source:** Source compatibility preserves the ability to compile existing source code without error.

      - **Binary:** Binary compatibility is defined in The Java Language Specification as preserving the ability to link existing class files without error.

      - **Behavioral:** Behavioral compatibility includes the semantics of the code that is executed at runtime.

      See [CSRs Approved for JDK 17](https://bugs.openjdk.java.net/issues/?filter=40170) for the list of CSRs closed in JDK 17 and the [Compatibility & Specification Review (CSR)](https://wiki.openjdk.java.net/display/csr/Main) page on the OpenJDK wiki for general information about compatibility.

      The full version string for this release is build 17+35 (where "+" means "build"). The version number is 17.

      **IANA Data 2021a**

      JDK 17 contains IANA time zone data version 2021a. For more information, refer to [Timezone Data Versions in the JRE Software](https://www.oracle.com/java/technologies/tzdata-versions.html).


          Issue Links



              cwayne Clifford Wayne
              cwayne Clifford Wayne
              0 Vote for this issue
              1 Start watching this issue