Text Blocks
Text blocks are a permanent multi-line string literal.
Preview in Java 13 (JEP 355) and Java 14 (JEP 368).
OpenJDK JEP 378 (leaves JavaMastery)
Related reading: Strings
Curriculum file: versions5Java17Features.java
JDK 15 · JSR 390
JDK 15 is Java SE 15, JSR 390, generally available on 15 September 2020. Text blocks become permanent. Sealed classes are a preview, and records and instanceof patterns are in a second preview. ZGC and Shenandoah leave experimental status.
Text blocks are a permanent multi-line string literal.
Preview in Java 13 (JEP 355) and Java 14 (JEP 368).
OpenJDK JEP 378 (leaves JavaMastery)
Related reading: Strings
Curriculum file: versions5Java17Features.java
A sealed type lists the classes and interfaces that may extend or implement it. In Java 15 this is a preview.
Second preview in Java 16 (JEP 397). Final in Java 17 (JEP 409).
OpenJDK JEP 360 (leaves JavaMastery)
Related reading: Records and sealed classes
Records are previewed again. They are not yet a permanent class form.
First preview in Java 14 (JEP 359). Final in Java 16 (JEP 395).
OpenJDK JEP 384 (leaves JavaMastery)
Related reading: Records and sealed classes
instanceof patterns are previewed again, without becoming final.
First preview in Java 14 (JEP 305). Final in Java 16 (JEP 394).
The JDK implements EdDSA signatures, a cryptographic API addition.
ZGC becomes a product feature. It is not the default collector.
Experimental in Java 11 (JEP 333).
OpenJDK JEP 377 (leaves JavaMastery)
Related reading: JVM and memory
Shenandoah becomes a product feature. It is not the default collector.
Experimental in Java 12 (JEP 189).
OpenJDK JEP 379 (leaves JavaMastery)
Related reading: JVM and memory
Nashorn is removed.
It shipped in Java 8 and was deprecated in Java 11 (JEP 335).
Hidden classes (JEP 371) also ship. They are a JVM feature for frameworks that generate classes, not a new source construct for typical programs.
Sources. General availability and the JEP list: OpenJDK JDK 15. JSR 390: Oracle Java SE specifications. OpenJDK JDK 15 (leaves JavaMastery)