v2.0.0 — Java 25 / Tomcat 11 / Jakarta EE (no functional change since v1.5.1)
Infrastructure / platform release. No functional changes since v1.5.1 — same
behavior, same web-service API, same on-the-wire data format, same stored data.
Major version bump only because the required runtime infrastructure changed and
the client-connector libraries moved to the jakarta namespace.
New requirements
- Java 25 (was Java 8)
- Tomcat 11 / Jakarta EE (was Tomcat 9 / Java EE)
What changed (platform / namespace only)
- Servlet
javax.*→jakarta.*(servlet-api 6.1, JSP 4.0; web.xml → web-app 6.0) - JAXB
javax.xml.bind→jakarta.xml.bind(JAXB 4.0) - Gradle 9.5.1; build image
ghcr.io/yeastrc/spectral-storage-build-docker:2
What did NOT change
- The HTTP web-service API and request/response XML format are unchanged — XML
written/read by last 1.x (1.5.1) and 2.0.0 is identical, so existing stored data and existing
clients stay wire-compatible. - The only source-incompatible change is for code compiling against the
client-connector libraries: update importsjavax.xml.bind.*→
jakarta.xml.bind.*and the JAXB dependency to jakarta (still wire-compatible).
Verified
Full build; both web apps deploy on Tomcat 11; functional round-trip (add scan file
via accept_import, retrieve spectrum via get_data) tested with the jakarta connectors.