2 min read

With JDK 11 reaching general availability next week, there is also a proposed schedule released for JDK 12. The proposed schedule indicates a final release in March 2019 along with two JDK Enhancement Proposals (JEPs) proposed for JDK 12.

Mark Reinhold, Chief Architect of the Java Platform Group at Oracle, made an announcement in a mail posted to the OpenJDK mailing list. Per the mail, JDK 12 should be out to the public on March 19, 2019. The proposed schedule for JDK 12 will be as follows:

13th December 2018 Rampdown Phase One
17th January 2019 Rampdown Phase Two
31st January 2019 Release-Candidate Phase
19th March 2019 General Availability

JDK 11 had a total of 17 JEPs contributed out of which three were from the community, the highest number in any JDK release. The other 14 were from Oracle according to a tweet by @bellsoftware.

For JDK 12, there are two JEPs integrated which will be available as a preview language feature and four candidate JEPs.

JDK 12 preview features

JEP 325: Switch Expressions (Preview)

This JEP is going to allow the switch statement to be used as both statements and as an expression. Both forms can use either a “traditional” or “simplified” scoping and control flow behavior. The changes to the switch statement will simplify everyday coding. It will also pave the way for the use of pattern matching in switch.

JEP 326: Raw String Literals (Preview)

This JEP adds raw string literals to Java. A raw string literal can span many source code lines. It does not interpret escape sequences, such as \n, or Unicode escapes, of the form \uXXXX. This does not introduce any new String operators. There will be no change in the interpretation of traditional string literals.

JDK 12 JEP candidates

JEP 343: Packaging Tool

To create a new tool based on the JavaFX javapackager tool for packaging self-contained Java applications.

JEP 342: Limit Speculative Execution

To help both developers and deployers to defend against speculative-execution vulnerabilities. This is to be done by providing a means to limit speculative execution and not a complete defense against all forms of speculative execution.

JEP 340: One AArch64 Port, Not Two

Remove all arm64 port related sources while retaining the 32-bit ARM port and the 64-bit AArch64 port. This will help focus on a single 64-bit ARM implementation and eliminate duplicate work to maintain two ports.

JEP 341: Default CDS Archives

Enhance the JDK build process to generate a class data-sharing (CDS) archive by using the default class list, on 64-bit platforms. The goal is to improve out-of-the-box startup time and eliminating the need for users to run -Xshare:dump to benefit from CDS.

To know more details on the proposed schedule for JDK 12, visit the OpenJDK website.

Read next

JEP 325: Revamped switch statements that can also be expressions proposed for Java 12

Mark Reinhold on the evolution of Java platform and OpenJDK

No more free Java SE 8 updates for commercial use after January 2019

Data science enthusiast. Cycling, music, food, movies. Likes FPS and strategy games.