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

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:
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
- 343: Packaging Tool
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.
- 341: Default CDS Archives
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.