Java 23 is a STS Java release and scheduled to ship in September 2024 (https://mail.openjdk.org/pipermail/jdk-dev/2024-March/008832.html) Adoption timing in Trino will depend on testing results and feedback, as well as the time for implementation and collaboration with Trino community members.
Specifically, for Java 23, these are some features that we want to be able to leverage:
No new features are targeting JDK 23 yet
Proposed schedule for JDK 23 release is:
2024/06/06 Rampdown Phase One
2024/07/18 Rampdown Phase Two
2024/08/08 Initial Release Candidate
2024/08/22 Final Release Candidate
2024/09/17 General Availability
The plan is to test and ensure runtime and compile JDK 23 compatibility before GA.
Implementation
Following steps are roughly in order:
[x] CI build with Java 23 EA in parallel to Java 22
[ ] Blog post about plan to adopt Java 23, @mosabua
[x] Update dependencies as required to support Java 23, @wendigo
[ ] Update JVM in docker container to Java 23, @wendigo
[ ] Wait for official release of Java 23 and Eclipse Temurin binaries (if necessary in terms of timing)
[ ] Ship a release with the updated container image
[ ] Update build, docs, and runtime to require Java 23
[ ] Ship a release with new requirement, announce and update blog post
This issues aims to detail and track the progress towards adopting Java 23 as build and runtime requirement for Trino.
Background and motivation
Trino completely adopted Java 22 as of Trino 44x. See https://trino.io/blog/2024/03/13/java-22 and https://trino.io/docs/current/release/release-44x.html. Java 22 is an STS release of Java.
Java 23 is a STS Java release and scheduled to ship in September 2024 (https://mail.openjdk.org/pipermail/jdk-dev/2024-March/008832.html) Adoption timing in Trino will depend on testing results and feedback, as well as the time for implementation and collaboration with Trino community members.
Specifically, for Java 23, these are some features that we want to be able to leverage:
Proposed schedule for JDK 23 release is:
The plan is to test and ensure runtime and compile JDK 23 compatibility before GA.
Implementation
Following steps are roughly in order: