JDK 13 has entered Feature Freeze and Rampdown, and no further new features will be targeted for this release.
The final list of new features is:
- JEP 350: Dynamic CDS Archives
- JEP 351: ZGC: Uncommit Unused Memory
- JEP 353: Reimplement the Legacy Socket API
- JEP 354: Switch Expressions (Preview)
- JEP 355: Text Blocks (Preview)
Of these new features, only one (Reimplement the Legacy Socket API) will have any direct impact on any users who do not explicitly opt in to the new features.
The switch expressions feature is being re-previewed after the initial preview in JDK 12. The syntax has been changed following community feedback, and now introduces a new keyword, yield
, to handle returning values from a switch expression used in block form.
Rather disappointingly, no new functionality is introduced in the JDK 13 switch expressions. In particular, no form of Pattern Matching arrives in this release, which contradicts the prediction made by InfoQ at the start of the year.
The other new Preview Feature in JDK 13 is Text Blocks which were previously called multi-line strings. This feature aims to reduce some of the burden of including large quantities of formatted text directly in Java programs.
The final version of Java 13 is expected to be released on September 17th 2019. It is not a long-term support release (LTS). It will only be eligible for free support from Oracle for 6 months after release and there is no current indication that other vendors will be interested in supporting it beyond the initial timeframe.