This issues is to summarise the current state of Java 25 support.
Java 25 is the next LTS release and is likely to be supported by OH in the future.
Java 25 brings a lot of improvements. I am curious especially about JEP 483: Ahead-of-Time Class Loading & Linking! How much faster will be the start on a RPi?
The migration will be done slowly. We will use Java 21 as the major and supported Java version.
In the background, we will work hard to remove blockers. I will add a Java 25 build to the CI, first only compiling with Java 25 compiler configured to generate Java 21 code. This will be extended over the next months once we are able to remove blockers.
Those are the steps to be taken:
Compile with Java 25, generate Java 21 bytecode
Compile with Java 25, generate (mostly) Java 25 bytecode
Run openHAB installation in Java 25
This issues is to summarise the current state of Java 25 support.
Java 25 is the next LTS release and is likely to be supported by OH in the future.
Java 25 brings a lot of improvements. I am curious especially about JEP 483: Ahead-of-Time Class Loading & Linking! How much faster will be the start on a RPi?
The migration will be done slowly. We will use Java 21 as the major and supported Java version.
In the background, we will work hard to remove blockers. I will add a Java 25 build to the CI, first only compiling with Java 25 compiler configured to generate Java 21 code. This will be extended over the next months once we are able to remove blockers.
Those are the steps to be taken:
Compile with Java 25, generate Java 21 bytecode
and junit downgraded below v13 (due to transitive dependency) in 7.2.0Compile with Java 25, generate (mostly) Java 25 bytecode
maven-shade-plugin, ecj 3.43 are not supporting Java 25 bytecode -> limit this bundles to Java 24Run openHAB installation in Java 25
YE 20252026