With the release of Java 9 in September 2017, the release cycle of the Java language and runtime environment changed dramatically.Previously, new major versions of Java were released every few years (Java 7 in 2011, Java 8 in 2014 and Java 9 in 2017).
In the new release model, new versions of Java are now released every six months. So Java 10 was released in March 2018, Java 11 in September 2018 and Java 12 will be released in March 2019, with Java 13 following in September 2019.
However, support is only available for the long-term support (LTS) releases. The currently available LTS releases are Java 8 and Java 11 (the next LTS release after 11 will be Java 17, due to be released in September 2021).
This means that Java 9, 10, 12 & 13 are not supported releases and their use in production is strongly discouraged. They are referred to as "feature releases", but they are really best thought of as Technology Previews rather than full releases.
Oracle are ending Free Support for Java
Another major change that application teams will have to get to grips with is the question of support for Java. Since Java 7, the standard Oracle binaries for Java have been built from an open-source project called OpenJDK. Apart from the Oracle branding and licensing terms, Oracle's JDK is essentially the same as OpenJDK.
At the end of January 2019, Oracle are stopping free support updates for commercial use of Java 8.
This means that teams have two options - either pay Oracle for a support contract, or switch to OpenJDK and use one of several providers that are offering free binaries and support.
Even migrating to the latest LTS release (Java 11) will not help, as Oracle are only offering free support for Java 11 until March 2019 - after that the only support available will be paid-for.
This means that any team that does not want to pay Oracle for support will have to migrate to a new supplier for their Java binaries and installers. Fortunately, there are several alternative vendors to choose from.
OpenJDK Vendors and Free Support Options
A number of different vendors are now offering free downloads of Java binaries built from OpenJDK.
Some are also offering various support options, including both free and paid-for support.
The leading suppliers are:
- AdoptOpenJDK - a community-run, multivendor, not-for-profit project supported by IBM, Red Hat and other vendors on Linux, Mac & Windows
- Red Hat Iced Tea - free or paid support options from Red Hat
- Azul Systems Zulu OpenJDK - free on x64 Linux and Mac, paid options for ARM / embedded. Free support on Microsoft Azure.
- Amazon Corretto - Designed for AWS - only desktop OS and Amazon Linux currently supported. Free support.
How To Upgrade
If you are currently running Java 8 and want to upgrade, you should move to Java 11 and use a non-Oracle provider, such as AdoptOpenJDK or one of the others, as your source for Java binaries.
If you're currently running Java 6 or Java 7, you should to move to Java 8 as soon as possible, as these versions are end-of-life and contain hundreds of unpatched bugs. Java 8 contains major new features that will help your developers be much more productive and your applications will usually run much faster on Java 8 than they currently do on Java 6 or 7.
With support from Red Hat, AdoptOpenJDK or one of the other providers, applications running on Java 8 will be supported, and receive bug fixes and security updates for at least 5 more years.
It is not recommended to upgrade directly from Java 6 or 7 directly to Java 11.
See how we can assist your team with learning about Upgrading to Java 8, or Migrating to Java 11