Hi Mridul, I'm in favour of moving trunk to Java 25 before branching release26.11, while keeping release24.09 on Java 17.
Moving directly to Java 25 would unblock the dependency upgrades you've identified and avoid another Java baseline change soon after this release. The proposed scope looks sensible to me. We should also document the changes users and developers need to make to upgrade to Java 25, including any required updates to their environments, configurations, and custom code. Highlighting these steps in the release notes and setup instructions would help users plan their upgrades. +1 from me to proceed with the upgrade tickets. Best, Deepak On Sun, Nov 1, 2026 at 9:43 PM Mridul Pathak via dev <[email protected]> wrote: > [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 >
