Time-Based Release Versioning

Time-Based Release Versioning in Java 11

Java 11 introduced a major change in how Java versions are released, moving to a time-based release versioning system. This means that instead of waiting for major new features to be ready, Java now follows a fixed release schedule, where new versions of Java are released every six months. This change makes it easier for developers and organizations to plan updates and stay current with new features and improvements.

The Old Release Model

Before Java 11, the Java platform followed a release system that was less predictable. New versions of Java were released when significant features were ready, which meant the release schedule could be delayed, or there could be long gaps between updates. Developers and businesses often faced uncertainty about when to upgrade to newer versions of Java. This could be problematic, especially for businesses relying on long-term support (LTS) versions for stability.

What is Time-Based Release Versioning?

In the new system, Java is released on a regular, predictable schedule:

  • A new version of Java is released every six months.
  • Each new version is named based on the year and month of its release. For example, Java 11 was released in September 2018, and Java 17 was released in September 2021.

The new naming convention makes it clear when each version was released and avoids confusion. This new system helps developers plan their work and upgrades more easily because they know exactly when to expect the next version of Java.

Benefits of Time-Based Release Versioning

  • Predictability: Developers and businesses can plan ahead because they know when a new version of Java will be released. This removes the uncertainty of when new features or updates will become available.
  • Regular Updates: With a six-month cycle, new features and improvements are delivered regularly. This allows Java to evolve more quickly, making it easier for developers to use the latest tools and technologies.
  • Long-Term Support (LTS): Every third release (every three years) is designated as a Long-Term Support (LTS) release. LTS versions are supported for several years, making them a good choice for businesses that need stability and reliable updates.
  • Innovation: Regular releases allow for faster adoption of new technologies. Instead of waiting years for major updates, Java can introduce smaller, incremental improvements that keep the language fresh and modern.

Java 8 (released in 2014) was an LTS release.

  • Java 11 (released in 2018) is another LTS release.
  • Java 17 (released in 2021) is the next LTS version.

Impact on Developers

With time-based versioning, developers no longer need to wait for years for the next major release. Instead, they get access to new features and fixes every six months. However, there is a choice to be made:

  • LTS Versions: If stability is important, developers can stick with LTS releases, which receive updates for a longer period.
  • Non-LTS Versions: For developers who want the latest features as soon as possible, they can adopt the newer non-LTS versions. These versions are supported for a shorter time, so developers need to upgrade to the next release more frequently.

The regularity of the releases also means developers can easily keep their projects up to date. If they choose to stay on the latest version, they will be able to use the newest features quickly without waiting for a major new release.

Release Cadence Example

Here’s an example of how the time-based release system works:

Release Date Released LTS
JDK 8 March 2014 Yes
JDK 9 September 2017 No
JDK 11 September 2018 Yes
JDK 17 September 2021 Yes

As you can see, Java 8, 11, and 17 are all LTS releases, with long-term support. In between, there are non-LTS versions, such as Java 9 and Java 10, which are supported for only six months.

How Does It Affect Businesses?

For businesses that rely on Java, the time-based release model gives them more predictability and control over their systems. By knowing exactly when a new version will be released, companies can plan upgrades in advance. For many businesses, sticking to LTS versions is important for stability, as these releases have extended support and are less likely to require frequent updates.

For businesses looking to stay ahead of the curve, they can choose to adopt non-LTS versions as they come out. This gives them access to the latest Java features and improvements without waiting for the next major release.

Java 11’s move to time-based release versioning marks a major step forward in making Java more predictable and manageable. With regular releases every six months, developers no longer have to wait years for new features, and businesses can better plan their upgrades. The LTS versions provide a stable, long-term option for organizations that need reliability, while non-LTS versions allow developers to quickly adopt the latest features. Overall, this new approach ensures that Java remains a modern and relevant programming language in an ever-evolving software development landscape.

Scroll to Top