We have not had to wait long since Spring Framework 6 was released for Spring Boot 3 to become available as an official release. November 24, 2022 was the day when it was published as a GA (General Available) release.
Of course that is not a coincidence that two weeks after new Spring Framework major release, Spring Boot had a big moment too. Spring Boot 3 has Spring 6 as a dependency by default so upgrading to Spring Boot 3, you will get the new Spring Framework as well.
An important question that many developers ask themselves is what is new? The answer is quite straightforward for those who know what is Spring Boot. It is more or less some kind of configuration and dependency set for Spring-based applications. Based on that, the new are all Spring Framework 6 features as they automatically come to our projects with the Spring Boot upgrade. The most important ones are:
- Java 17 - Spring Boot is complied with JDK 17 so before the migration, you need to upgrade to the new Java first,
- Jakarta EE 10 - it let us to take advantage of the latest Tomcat 10.1,
- native images with GraalVM - allows to use of a powerful tool to improve a startup performance
- and many more - a number of external libraries were upgraded as dependencies in Spring Boot 3
A full list of new features and significant changes can be found in the official Spring Boot 3 release notes.
Sooner or later, many projects will upgrade to the latest version so the upgrade guide will be helpful as well. As there are many changes to Spring Boot itself, but dependencies also, the upgrade may require some code changes. Not all changes are backward compatible.