Spring Boot 3 will ship in November 2022, delaying Java module support
One of the more timely presentations at the 2022 JAX London conference was from Spring Staff 2 engineer Oliver Drotbohm – Spring Boot 3 and Spring Framework 6 – A new generation. Drotbohm shared the expected release dates for Spring Framework 6 and Spring Boot 3: late November 2022. He also pointed out that the recently released Spring Boot Migrator will migrate a Spring Boot 2.7 application to version 3.0 and a Spring Boot 2.6 application to version can migrate 2.7. Migration to Spring Boot 3 is necessary as Spring Framework 6 uses Jakarta EE 9 which supports the
jakarta.* package namespace.
Drothbohm reiterated other pillars of these releases: JDK 17 as the new baseline, out-of-the-box native Java support with GraalVM in Spring Boot, and built-in observability with Micrometer. Scheduled for December 6-8, 2022, the SpringOne conference will be the launch pad for Spring Framework 6 and Spring Boot 3.
Drotbohm didn’t address Spring Framework 6’s support for the Java Platform Module System (JPMS), which InfoQ first reported on last year. He later confirmed to InfoQ that full JPMS support will not be available in Spring Framework 6.0 but may be available at a later date:
Spring Framework 6.0 focuses heavily on native AOT and GraalVM images to optimize the deployment arrangement of Spring-based applications. At the same time, our module system initiative has not yet achieved build migration to full JPMS module descriptors. There have been very few requests for it over the course of this year. We are happy to use
jlinkThe module-bound approach for application/framework-level modules could eventually be replaced by runtime images based on GraalVM-style custom reachability analysis. However, the Leyden OpenJDK project aims to reuse module system concepts and tools for its standardized static image approach, so a deeper module system alignment remains part of our long-term technology strategy for the Spring Framework 6.x generation.
The current production versions of Spring Framework 5.3 and Spring Boot 2.7 will receive free support until May 2023 and extended commercial support until August 2025. The upcoming versions of Spring Framework 6 and Spring Boot 3 will receive one year of free support until November 2023 and extended commercial support thereafter until February 2025.
One year support for Spring Boot 3 corresponds to the most recent Spring Boot versions. VMware has already made it clear that Spring Framework users should upgrade faster with version 6, as InfoQ reported last year:
Spring Framework 6 users are strongly encouraged to join our stream of feature releases as they don’t expect to stay on 6.0.x for long, instead making the upgrades to 6.1, 6.2, etc. a part of their regular usage model.
Other Java frameworks show an even faster upgrade pace. For example, Quarkus releases feature updates about once a monthwith bugfix releases in between.
Drotbohm also provided new insights into observability with Spring Framework 6 and Spring Boot 3. Although the Spring portfolio projects are instrumented with Micrometer, observability for developers is more at the infrastructure level (e.g. a request to a REST controller) Pop up.
Spring currently includes 22 projects and supports a variety of third-party libraries. Drotbohm also noted that Spring Framework 6 and Spring Boot 3 are unlikely to fully support all of these projects and libraries with native Java and observability at startup. Future spring releases will fix this.