Software giant Oracle has announced Java SE 13 and Java Development Kit (JDK) 13 with the promise to developers that it will release future feature updates on a regular and predictable six-month cycle.
The binaries for Java SE 13 are slated for release today with performance, stability, and security improvements, as well as two new preview features, 'Switch Expressions' and 'Text Blocks', which are designed to improve developer productivity.
"Oracle JDK 13 increases developer productivity by improving the performance, stability and security of the Java SE platform and the JDK," Oracle said.
SEE: How to build a successful developer career (free PDF)
The Switch Expressions feature extends switch statements so they can be used as a statement or as an expression. The Text Blocks feature is designed to simplify writing Java programs by easily expressing strings that span several lines of source code without escape sequences.
As preview features, Switch Expressions and Text Blocks might be removed at some point in future. However, Java 13 does also bring dynamic class-data sharing archives, memory improvements, and a new implementation of the Java sockets application programming interface.
While Oracle is trying to carve out a future for Java, there's also lots of history to the programming language that has shaped much of today's technology.
Oracle gained Java as part of its acquisition of Sun Microsystems in 2009 and then waged a protracted legal battle with Google over its use of Java in Android, the non-Apple OS that Microsoft's co-founder Bill Gates regrets Microsoft didn't make.
Java turns 25 next year and is used for building mobile, desktop, and cloud apps. The language was created by Sun Microsystems engineer James Gosling, who joined Google in 2011 but a year later wrote that Google "totally slimed Sun".
The newish six-month release cycle is a break from the three-year cycle historically adopted by Java releases.
Oracle kicked off that change with the release of Java 9 in 2017. The idea was to make feature improvement more predictable for developers.
Releases are now marked for March and September, much like Microsoft's Windows 10 release cadence, but not quite as rapid as Google Chrome, Mozilla Firefox, and now Microsoft Edge's Chromium-based six-week release cycle.
"By gaining access to new enhancements at a more granular and faster measure, developers can much more easily manage the pace of innovation as proven by Java 10 offering 12 new enhancements, Java 11 offering 17 new enhancements, and Java 12 offering 8 new enhancements," said Sharat Chander, director of Java SE product management.
According to Chander, JDK 13 will get at least two updates in line with Oracle's critical-patch update schedule for security issues that happen on the Tuesday closest to the 17th day of January, April, July, and October.
This happens before the release of Oracle JDK 14, which should be generally available in March 2020 following test builds that developers can access now.
He also credited Google, Red Hat, and SAP with fixing issues that are resolved in JDK 13 via its JIRA bug tracking system from Australian tech startup Atlassian.
"While developers employed by Oracle resolved ~70% of the JIRA issues during the development of JDK 13, ~30% were fixed by developers working for other organizations," wrote Chander.
"Oracle would like to thank the developers working for organizations, like Google, Red Hat and SAP for their notable contributions. We are also thankful to see contributions from small organizations such as Bellsoft and from independent developers who contributed 5% of the fixes in JDK 13."
Oracle also acknowledged support from Ampere Computing, Arm, Huawei, and Linaro for assisting with Arm support.