Oracle is proud to announce the general availability of Java 14 representing the fifth feature release as part of the six-month cadence. This level of predictability, for over two years now, allows developers to more easily manage their adoption of innovation thanks to a steady stream of expected changes.
Java 14 is now available!
Oracle now offers Java 14 for all developers and enterprises. Oracle JDK 14 will receive a minimum of two quarterly updates, per the Oracle Critical Patch Update (CPU) schedule, before being followed by Oracle JDK 15. Java 15 will reach general availability on September 2020, but early access builds are already being offered at jdk.java.net.
Once again, Oracle provides Java 14 as the Oracle OpenJDK release using the open source GNU General Public License v2, with the Classpath Exception (GPLv2+CPE), and also under a commercial license for those using the Oracle JDK release as part of an Oracle product or service, or for those who prefer commercial licenses over open source licenses.
Java 14, Together
JDK 14 Fix Ratio
The overall rate of change over time in the JDK has remained essentially constant for many years, but under the six-month cadence the pace at which production-ready innovations are delivered has vastly improved. Instead of making tens of thousands of fixes and around one hundred JDK Enhancement Proposals (JEPs) available in a large major release every few years, enhancements are delivered in smaller feature releases on a more manageable, predictable six-month schedule. These changes can range from a significant feature to small enhancements to routine maintenance, bug fixes, and documentation improvements. Each change is represented in a single commit for a single issue in the JDK Bug System.
Of the 1,986 JIRA issues marked as fixed in JDK 14, 1,458 were completed by people working for Oracle while 528 were contributed by individual developers and developers working for other organizations. Going through the issues and collating the organization data from assignees results in the following chart of organizations sponsoring the development of fixes in JDK 14:
Oracle would like to thank the developers working for organizations, like ARM, Google, NTT Data, Red Hat, and SAP for their notable contributions. We are also thankful to see contributions from smaller organizations such as Bellsoft, Loongson, and independent developers who collectively contributed 3% of the fixes in JDK 14.
We would also like to acknowledge and thank the many experienced developers who reviewed proposed changes, the early adopters who tried out early access builds and reported issues, and the dedicated professionals who provided feedback on the OpenJDK mailing lists.
We greatly appreciate the contributions of the following individuals for providing useful feedback on build quality:
And we’re also thankful to the following contributors who logged quality bugs & offered frequent updates:
New in Java 14
Java 14 offers users sixteen main enhancements/changes, including two incubator modules, three preview features, two deprecated features, and two removals.
Some enhancements are introduced in Incubator modules, a means of putting non-final APIs and non-final tools in the hands of developers that allows users to offer feedback that can ultimately improve the quality of the Java platform.
Similarly, some enhancements are introduced as Preview Features, language or VM features of the Java SE Platform that are fully specified, fully implemented, and yet impermanent. They are available in a JDK feature release to provoke developer feedback based on real-world use, which may lead to them becoming permanent in a future release. This offers users the chance to provide timely feedback, as well as allowing tool vendors the opportunity to build support for the feature before the bulk of Java developers use it in production.
Finally, some changes are intended to reduce the size and scope of the JDK via Deprecation, which is a technique to communicate information about the life-cycle of an API: to encourage applications to migrate away from the API, to discourage applications from forming new dependencies on the API, and to inform developers of the risks of continuing dependence upon the API. With the jdeprscan tool, first introduced in Java 9, users can perform static analysis of their jar files (or some other aggregation of class files) to identify uses of deprecated API elements, thus allowing them to prepare in-advance for their future removal.
The 16 JEPs delivered with JDK 14 are:
Current and updated tooling support helps drive developer productivity. With Java 14, we continue to welcome the efforts of leading IDE vendors whose tooling solutions offer developers support for current Java versions. Developers can expect to receive Java 14 support with the following IDEs:
Popular build automation tools used primarily for Java projects are also prepared to offer Java 14 support to developers. Both Apache Maven and its plug-ins as well as the Gradle 6.3 release candidate support Java 14.
Java continues to be the #1 programming language of choice by software programmers. As the on-time delivery of improvements with Java 14 demonstrates, through continued thoughtful planning and ecosystem involvement, the Java platform is well-positioned for modern development and growth in the cloud.