And so it begins

Proposed schedule: JDK 12 to be released March 19, 2019

Gabriela Motroc
JDK 12
© Shutterstock / Zerbor

JDK 11 will be released soon but we’re also keeping an eye on JDK 12 which, as it turns out, is due in March 2019 (thank you, six-month release cadence). The proposed schedule has just been released – let’s have a look at it!

You might already be familiar with our JDK 12 patrol thread, in which case you know that we’re keeping track of everything that’s going live.

The good news is that we now know when JDK 12 should be out: March 19, 2019. It has a nice ring to it, right?

Mark Reinhold, the Chief Architect of the Java Platform Group at Oracle, announced in a message to the OpenJDK mailing list that the proposed schedule for JDK 12 is as follows:

2018/12/13 Rampdown Phase One
2019/01/17 Rampdown Phase Two
2019/02/07 Release-Candidate Phase
2019/03/19 General Availability

The milestone definitions are the same as for JDK 11. As always, if no —reasoned— objections are raised by 23:00 UTC next Thursday, 20 September, or if they’re raised and then satisfactorily answered, this will be the schedule for JDK 12.

What we know so far

JEP Candidates

Summary: Create a new tool for packaging self-contained Java applications.

Summary: Help developers and deployers defend against speculative-execution (“Spectre”) vulnerabilities by providing a means to limit speculative execution, and enable further mitigations to be implemented in future releases.

Summary: Remove all of the sources related to the arm64 port while retaining the 32-bit ARM port and the 64-bit aarch64 port.

Summary: Enhance the JDK build process to generate a class data-sharing (CDS) archive, using the default class list, on 64-bit platforms.

Proposed to target

Summary: Extend the switch statement so that it can be used as either a statement or an expression, and that both forms can use either a “traditional” or “simplified” scoping and control flow behavior. These changes will simplify everyday coding, and also prepare the way for the use of pattern matching (JEP 305) in switch. This will be a preview language feature.

Summary: Add raw string literals to the Java programming language. A raw string literal can span multiple lines of source code and does not interpret escape sequences, such as \n, or Unicode escapes, of the form \uXXXX. This will be a preview language feature.

Gabriela Motroc
Gabriela Motroc is editor of and JAX Magazine. Before working at Software & Support Media Group, she studied International Communication Management at the Hague University of Applied Sciences.