There are two things that are significant changes,
1/ Java21 is due to be released September 2023 and be a LTS release.
Given our policy of "2 versions of Java" interpreted as "2 LTS
releases", we can move to requiring Java17.
(Java17, with compiler set to "release=11", outputting Java11 byte code,
is already used to build Jena. This is because javadoc generation with
native Java11 has been broken in several ways.)
Java17 has multiline strings for SPARQL queries!
2/ javax.* -> jakarata.*
This is the difference between Jetty 10 and Jetty11. Jetty 12.0 is
currently in beta.
But.
Spring Boot 2 is based on javax (Jetty10) and Spring Boot 3 uses jakarta
(Jetty11 configured).
Spring Boot 2 to Spring Boot 3 includes other upgrades as well. [1]
A way to deal with this is switch to jakarta.* at Jena 5.
This gives us:
April - Jena 4.8.0
July(-ish) - Jena 4.9.0
October 5.0.0: Java17, Jetty11, maybe Jetty12.
and leave a Jena4 branch.
So if we are doing Jena 5, what else should change at the major version
bump?
3/ Drop a separate JSON-LD 1.0 subsystem.
This also pulls in org.apache.http (although Jena controls the versions
because we've had to in the past to get maven to make the right choice
in resolving alternatives).
The last commit to jsonld-java/main was Dec 13, 2021
The front page says : "JSONLD-Java is looking for a maintainer"
JSON-LD 1.1 was published 16 July 2020
4/ Others?
Drop the war file?
Andy
[1]
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide