
JEP 433 Pattern Matching for switch (Fourth Preview)Įnhance the Java programming language with pattern matching for switch expressions and statements. Record patterns and type patterns can be nested to enable a powerful, declarative, and composable form of data navigation and processing. For more information, refer toĮnhance the Java programming language with record patterns to deconstruct record values. JDK 20 contains IANA time zone data version 2022g. The full version string for this release is build 20+36 (where "+" means "build"). See CSRs Approved for JDK 20 for the list of CSRs closed in JDK 20 and the Compatibility & Specification Review (CSR) page on the OpenJDK wiki for general information about compatibility. Source: Source compatibility preserves the ability to compile existing source code without error.īinary: Binary compatibility is defined in The Java Language Specification as preserving the ability to link existing class files without error.īehavioral: Behavioral compatibility includes the semantics of the code that is executed at runtime. The 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: The descriptions on this Release Notes page also identify potential compatibility issues that you might encounter when migrating to JDK 20. You should be aware of the content in the Java SE 20 ( JSR 395) specification as well as the items described in this page. The Java SE 20 Editions contain all corrections and clarifications made since the Java SE 17 Editions, as well as additions for new features.

Informative background for these changes may be found in the list of approved Change Specification Requests for this release.Īnnex 3: Java SE 20 Editions of The Java Language Specification and


The Java SE 20 ( JSR 395) specification provides links to:Īnnex 1: The complete Java SE 20 API Specification.Īnnex 2: An annotated API specification showing the exact differences between Java SE 17 and Java SE 20. This page does not duplicate the descriptions provided by the Java SE 20 ( JSR 395) 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.

In some cases, the descriptions provide links to additional detailed information about an issue or a change. These notes describe important changes, enhancements, removed APIs and features, deprecated APIs and features, and other information about JDK 20 and Java SE 20. Differences Between Oracle JDK and OpenJDK.
