Java Release Model
To make the Java language remain competitive while maintaining its core values of compatibility, reliability, and thoughtful evolution, the community has adopted the rapid-cadence release model.
In short rapid-cadence release model makes java releases more predictable. This is a time-based model with a new feature release every six months, update releases every quarter, and a long-term support release every three years.
- Feature releases can contain any type of feature, including not just new and improved APIs but also language and JVM features. New features will be merged only when they’re nearly finished, so that the release currently in development is feature-complete at all times. Feature releases will ship in March and September of each year, starting in March of 2018.
- Update releases will be strictly limited to fixes of security issues, regressions, and bugs in newer features. Each feature release will receive two updates before the next feature release. Update releases will ship quarterly in January, April, July, and October
- Every three years, starting in September of 2018, the feature release will be a long-term support release. Updates for these releases will be available for at least three years and quite possibly longer, depending upon your vendor.
Long term release (LTS) is for the people/businesses who prefer having one java version for all the applications. LTS allows such entities to plan ahead for migrations for next LTS every 3 years. All the releases follow the form $YEAR.$MONTH. Thus September long-term support release will be 18.9 (Java 11), the next LTS will be 18.9+3 years = 21.9 (Java 17).
Every feature release renders the previous version obsolete, by this we mean, oracle will not provide any security updates for this version. Technically other JDK vendors like OpenJDK might or might not provide updates for this particular release.
An easy to follow release table:
JDK Version | Release Date | Description |
---|---|---|
9 | Sep 2017 | Starting of Cadence release model |
10 | Mar 2018 | After this release java 9 is obsolete. |
11 | Sep 2018 | Long Term Support (18.9), year.month. Also After this release java 10 is obsolete. |
12 | Mar 2019 | Feature Release |
13 | Sep 2019 | After this release java 12 is obsolete. |
14 | Mar 2020 | After this release java 13 is obsolete. |
15 | Sep 2020 | After this release java 14 is obsolete. |
16 | Mar 2021 | After this release java 15 is obsolete. |
17 | Sep 2021 | Long Term Support (21.9) year.month. After this release java 16 is obsolete. |
-Rushi
One thought on “Java Release Model”