[PROPOSAL] Move trunk to Java 25 before the release26.11 branch Hi all,
I'd like to propose that we raise trunk's Java source and target level from 17 to 25, the current LTS, before we create the release26.11 branch, so that the next major release ships on Java 25. release24.09 would stay on Java 17. Java 17 is starting to hold us back: we currently ignore Lucene 10 (needs Java 21), the CAS LDAP support 7.x and 8.x (Java 21 and 25) and activiti-juel-jakarta 9 (Java 25) in Dependabot for that reason. Moving to 21 would only unblock some of these, and a release cut now will be in use well past the end of Java 17's support window. Over the last few weeks I cleaned trunk up on Java 17 so the switch itself stays small (OFBIZ-13732, OFBIZ-13743, OFBIZ-13786): all this-escape and varargs warnings are fixed and their lint exclusions are gone. Trunk with the plugins builds, passes check and javadoc, and runs all 713 integration tests on JDK 25 at target 25 with only the version changed in build.gradle. The public API changes from that work are listed in a comment on OFBIZ-13743. The upgrade itself would be one short series of PRs: the source/target level, the CI matrix, the Dockerfile and devcontainer images, replacing the Java 17 workarounds (new Locale(...) and Thread.getId()), and making the compiler lint fatal. I'd really appreciate your thoughts and any concerns about moving to Java 25. If we're broadly in agreement, I'll go ahead and file the tickets for the upgrade. Thanks, Mridul Pathak
