Spring Boot 2.7.0 released with support for GraphQL, Podman and Cache2k
This latest version of Spring Boot includes Spring support for GraphQL 1.0; support for Podman container engine as an alternative to Docker Engine when creating images using Cloud-native buildpacks; dependency management and auto-configuration for Cache2k; and new test annotations for Elastic Search and CouchBase.
OsInfoContributor Classes have been improved and can now expose more information about the Java version, vendor, and underlying operating system, respectively, under the Info endpoint.
If a project contains custom autoconfigurations, the record must be moved from spring.plants in a new file named META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports.
A new @AutoConfiguration the annotation was introduced. It should be used to annotate the top level auto-configuration classes listed in the new file referenced above.
Spring Boot 2.7 upgrades to new versions of different Spring projects such as Spring 2021.2 data and Spring Safety 5.7. Also, many third-party dependencies have been updated, such as Infinispan 13, Micrometer 1.9Elastic Search 7.17, H2 2.1 and Flyway 8.5.
Spring for GraphQL allows clients and servers to be configured using the new Spring Boot starter and annotations for this open source query and data manipulation language for APIs. Further details can be found in this detailed news item from InfoQ.
Spring Boot 2.x was first released in 2018 and thanks to easy deployment, minimal configuration, and its ability to adapt to different use cases, it has grown in popularity year after year. It is now the most popular framework on Java according to the recent JRebel survey.
Spring Boot 2.5 has reached the end of its OSS support period, but commercial support is still available until August 2023.
Based on Spring Framework 6.0, Spring Boot 3.0 will be the next major revision and will require Java 17 or higher. It will also mark the first release of Spring Boot that uses the Jakarta EE 9 APIs (
jakarta.* namespace) instead of the old Java EE 8 APIs (
javax.* namespace). This is a radical change since all libraries used in a project must be compatible with the new variant. Spring suggests phased migration (ex. 2.5 >> 2.6 >> 2.7), so it is recommended to upgrade to 2.7 before migrating to 3.0.
Spring Boot 3.0 will also support AOT (ahead-of-time) compilation and native executables through spring native.