Proposal: Move the build & runtime from Java 17 to Java 21 #6248
aglinxinyuan
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The problem
jOOQ's Open Source Edition tracks the latest LTS JDK — 3.20+ is compiled to Java 21 bytecode (class file 65), but we build and run on Java 17 (class 61). So any jOOQ ≥ 3.20 compiles fine but fails the moment a JVM loads the class.
#6225 hit exactly this: the Dependabot bump to 3.21.6 went red at test runtime with
UnsupportedClassVersionError ... class file version 65.0 ... only recognizes up to 61.0onamber-integrationandcomputing-unit-managing-service. I capped it at 3.19.36 (the last Java-17 jOOQ release) to unblock — but every jOOQ bump past 3.19 is now blocked until we move off Java 17, and other libraries are raising their baseline to 21 too.Proposal
Move the build & runtime from Java 17 → Java 21 (current LTS). Touches the CI matrices (
build.yml,benchmarks.yml,build-and-push-images.yml), thebuild.sbtjavac/scalac target, the Docker base images, and the setup docs.Java 17 isn't EOL, so no fire — but the library floor is rising and #6225 is the first place it's costing us. This is bigger than a dep bump (needs a green run across engine + services + Docker images), so raising it before scoping a PR. Objections?
Beta Was this translation helpful? Give feedback.
All reactions