DEV Community

Cover image for What is new in Java 20?
Symflower
Symflower

Posted on • Edited on • Originally published at symflower.com

What is new in Java 20?

Java 20 is due for release in March 2023, and is expected to introduce a range of changes and new functionality. We prepared a sneak peek into which JEPs are most likely to be accepted into JDK 20, and which ones we are excited to hopefully be accepted next!

The latest version of the JDK (Java Development Kit) 19 was released on the 20th September 2022. The next version, Java 20, is planned as a non-LTS release, while the following version 21 is set to be a release with Long-Term Support (LTS). The upcoming version 20 is expected to bring a number of great updates, so we're excited to get our hands on it in March!

But before we jump into the JEPs lined up for Java 20, let's do a quick overview of the process for updating Java and the concept of enhancement proposals so that you have the full picture on what's going on.

JDK Enhancement Proposal (JEP) & roadmap process

Development of the Java Development Kit (JDK) is based on the concept of JDK Enhancement Proposals, or JEPs. In essence, these enhancement proposals serve as the roadmap for JDK release projects and all related development activities. The JEP process does not replace the Java community process as that is still the primary way to approve changes in the Java API and language. Rather, Oracle's intention for introducing the JEPs back in 2010 was to enable OpenJDK contributors to submit ideas to improve the ecosystem. JEPs help track the development status of features intended for delivery in a JDK release project, as well as work that is not linked to a specific release.

At the time of writing, the JEP Index lists 437 enhancement proposals, as well as a number of draft and submitted JEPs. Of all these enhancement proposals, the first 4 are meta-JEPs:

  • JEP 0 is the JEP Index of all posted proposals referenced above.
  • JEP 1 outlines the process for managing (collecting, reviewing, prioritizing & evaluating, and recording the results) of proposals for JDK enhancement, process, and infrastructure improvements.
  • JEP 2 is a template to be used for creating new JEPs.
  • JEP 3 describes the JDK release process.

The output of the JEP process is a JDK roadmap that contains proposals for new features as well as other improvement ideas to be considered for inclusion in JDK release projects. The roadmap basically serves as a backlog, covering ideas for at least the next three years, so not all JEPs will make it into the next release.

Workflow of the revised JEP Process<br>
Source: http://cr.openjdk.java.net/~mr/jep/jep-2.0-fi.png

You can check out the current list of JEPs (drafts and submitted candidates) for Java 20 on the JEP 0, as well as the Early-Access Release Notes for changes of this version. OK, now that you understand the process, let's dive right into what JEPs are expected to make it into Java 20!

Read the rest of this post over at Symflower's blog!

Top comments (0)