On Tue, May 20, 2025 at 08:12 Josh McKenzie <jmcken...@apache.org> wrote:

> This came up in the release versioning thread and we punted to its own
> thread.
>
> *Topic: How do we want to handle JDK version support in C* releases?*
>
> Oracle LTS policy here:
> https://www.oracle.com/java/technologies/java-se-support-roadmap.html
>
> My first rough thoughts:
>
>    1. Any given C* release will only support 2 JDK / JRE at any given time
>    2. We only change JDK support on MAJOR releases (i.e. not patch)
>    3. When we add support for a new JDK, we drop support for the older in
>    that release
>       1. Every consecutive release *must share support for a runtime JDK
>       version with one version older* (this allows for live upgrades, CI,
>       etc). So if we take a long time releasing C* and multiple JDK's rev, we
>       don't jump from [11,17] supported to [21,23] and leave users in a lurch 
> on
>       the straddle
>
> I agree having overlap is a good thing but we don’t need to be
consecutive. Using this as an example, we could go [17,23] and skip 21 if
23 is already out and mature.


>    1.
>       1. We confirm C* builds on both supported JDK's
>    2. We run all test suites against all supported JDK's for a release
>    (yet more incentive to clean up slow tests..)
>    3. Language level support will be constrained to oldest JDK supported
>    4. We make an effort to support the latest LTS JDK on any given C*
>    release (i.e. 21 now, 25 next major when it goes LTS Sep of this year)
>
> The major downside I can think of with the above is operators will need to
> verify a new JDK maximally once every 2-3 years as older LTS support is
> dropped.
>
> What am I not thinking of? What are other downsides with the above
> proposal?
>
>

Reply via email to