Accelerating the JDK LTS release cadence

Andrew Haley aph at
Tue Sep 21 14:07:36 UTC 2021

On 9/14/21 3:30 PM, mark.reinhold at wrote:
> Over on my blog today I’ve proposed shifting the JDK LTS release cadence
> from three years to two years:
> The LTS release following JDK 17 would thus be JDK 21 (in 2023), rather
> than JDK 23 (in 2024).
> ...
> Comments?  Questions?

Firstly, thank you very much for asking. I'm rather late to this party
because I had to go away and think about the possible consequences and
poll a few people. I've taken the time to move from my initial "Cool!"
reaction to something more nuanced.

TL/DR: The most obvious absence in this conversation is that of ISVs
and end users. As developers of Java as well as users of it, we're
perhaps biased in favour of new features, and we're less likely to
feel the adverse effects of the upgrade treadmill. For that reason we
should seek input from the broad Java community before making a
decision that will affect everyone.

>From my point of view as an engineer, moving to a two-year LTS cycle
is broadly positive. There's a lot going on with Java development, and
the time since JDK 11 has felt to me like a very long time to
wait. Getting Loom, Panama, etc. into people's hands as part of an LTS
would be good.

However, we have to think about the wider Java community. Certifying
libraries to run on a new Java release can take months of effort, and
no-one is going to welcome having to do so more frequently.

Also, many of our end users have been highly resistant to upgrading to
new Java releases. As you know, many still use JDK 8, and some would
continue to do so forever if they could. I don't want us to be
releasing frequent "LTS" versions that few people use. That would
cause the fragmentation of the Java community we really want to avoid.

On the positive side, JEP 396 (Strongly Encapsulate JDK Internals by
Default) should be a huge help, making it less likely that a JDK
upgrade will break library compatibility.

So, from me it's a rather nervous yes, but.

Andrew Haley  (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

More information about the discuss mailing list