Hello, As you might know, JDK now offers "LTS" releases. The latest LTS release was Java 17, one year ago. To prepare Apache SIS for the future, I propose to upgrade its Java requirements to Java 17+.
I suggest the following plan of action: 1. Make a java 8 compatible 1.3 release (as I understand it, it is already planned). 2. Upgrade maven compiler configuration to require java 17 source and target compatibility. As the build already succeed on Java 17, I expect this task to be trivial. 3. Update project README to clarify Apache SIS compatibility regarding Java versions. (i.e: 1.0 to 1.3 included: java 8 compatible. Going further: Java 17 compatible). 4. Start discussing / experimenting JPMS (Jigsaw) modularization in the long-term. Who is in favor of such migration ? Is there any objection, remarks or questions ? Some additional information: - The switch to Java 17 would bring the following features to developers: - improved instanceof (also refered as pattern matching for instanceof) -> since Java 16 - Java records -> Since Java 14 - Sealed classes and interfaces -> Since Java 15 - "var" keyword for local variable definitions -> Since Java 11 - JDK Http Client -> Since Java 11 - Many new methods / improvements in StdLib, amongst others : VarHandles, new utility methods on Stream (mapMulti, toList, takeWhile, toList, etc.), new utilities on Optional (or, stream, etc.) - I advocate for a jump from Java 8 directly to Java 17, without stopping by Java 11, because: - Java 11 "premier" support will end very soon (september 2023). - Jjava 11 does not offers some of the most usefuls features stated above (records, improved instanceof, sealed interfaces). - Other well-known open-source projects already decided to discard Java 11. For example, Spring framework 6.0 (released this month) requires java 17. Regards,