Thanks Vladimir for the details, I don't think requiring JDK 25 is a big
deal and the benefits surpass the risks here, +1 on the change from me with
the proposed timeline.

Best regards,
Alessandro

On Sun, Sep 27, 2026, 21:27 Vladimir Sitnikov <[email protected]>
wrote:

> Hi Alessandro,
>
> Thank you. Widely used libraries that still support Java 8 compile
> with a newer JDK and target Java 8:
> - Guava compiles with JDK 26 through Maven toolchains, targets Java 8,
> and by default runs its tests on the JDK that runs Maven.
> - JUnit 5 compiles with JDK 21 through a Gradle toolchain and
> --release 8. PR #5278 does the same with JDK 25.
> - pgjdbc has been built with JDK 17, and later JDK 21, with --release
> 8 since 42.7.1 (December 2023). Apache JMeter released 5.6.1 through
> 5.6.3 the same way. I set up both builds.
>
> The current setup carries more risk. In CALCITE-6616, the 1.38.0
> release candidate was compiled on JDK 21 and failed on Java < 21. With
> --release 8, the same mistake becomes a compile error.
>
> The change has one cost: building Calcite needs JDK 25 installed next
> to the JDK that runs Gradle. Gradle downloads JDK 25 automatically
> when it runs on Java 11 or later; on Java 8 it cannot, and the howto
> explains what to do then. CI keeps running the tests on JDK 8, 11, 17,
> 21, and 24, so code that breaks on an older JVM still fails CI.
> Release managers need JDK 25 as well, and the PR updates the release
> steps in the howto. The published jars still target Java 8, so
> downstream users upgrade as before.
>
> Stamatis tested PR #5278 locally and approved it.
> Unless someone objects, I will merge it on Thursday, October 1.
>
> Vladimir
>

Reply via email to