Details

    • Introduced In Version:
      12

      Description

      These notes describe important changes, enhancements, removed APIs and features, deprecated APIs and features, and other information about JDK 12 and Java SE 12. 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 12 ( JSR 386)](http://cr.openjdk.java.net/~iris/se/12/latestSpec/) Platform Specification, 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 12 ( JSR 386) specification provides links to:

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

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

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

      You should be aware of the content in that document as well as the items described in this page.

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

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

      - **Binary:** Binary compatibility is defined in [The Java Language Specification](http://cr.openjdk.java.net/~iris/se/12/latestSpec/java-se-12-annex-3.html) 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 12](https://bugs.openjdk.java.net/issues/?jql=project%20%3D%20JDK%20AND%20issuetype%20%3D%20CSR%20AND%20status%20%3D%20Closed%20AND%20resolution%20%3D%20Approved%20AND%20fixVersion%20%3D%20%2212%22) for the list of CSRs closed in JDK 12 and the [Compatibility & Specification Review (CSR)](https://wiki.openjdk.java.net/display/csr/Main) page on the OpenJDK wiki for general information about compatibility.

        Attachments

          Activity

            People

            • Assignee:
              cwayne Clifford Wayne
              Reporter:
              cwayne Clifford Wayne
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: