Spring Boot 3.0.0 M1 Release Notes

转自官方github项目的发布说明

Spring Boot 3.0.0 M1 Release Notes

Upgrading from Spring Boot 2.x

Deprecations from Spring Boot 2.x

Classes, methods and properties that were deprecated in Spring Boot 2.x have been removed in this release. Please ensure that you aren’t calling deprecated methods before upgrading.

Minimum Requirements Changes

Spring Boot 3.0 makes the following changes to its minimum supported versions:

  • Gradle 7.3
  • Jakarta EE 9
  • Java 17
  • Kotlin 1.6
  • Spring Framework 6

Jakarta EE 9

Where Spring Boot depends upon a Jakarta EE specification, 3.0 has upgraded to the version that is included in Jakarta EE 9. For example, Spring Boot 3.0 uses the Servlet 5.0 and JPA 3.0 specifications.

To differentiate between modules that support Jakarta EE 8 and modules that support Jakarta EE 9, some projects have published their Jakarta EE 9-compatible modules with different artifact IDs. For example, Undertow uses a -jakartaee9 suffix and Hibernate uses -jakarta. Generally speaking, Spring Boot’s starter modules should handle this change for you. If you are declaring dependencies on third-party modules directly, you may need to update your dependency declarations to use the EE 9-compatible artifact IDs.

As part of this upgrade to Jakarta EE 9, support for some dependencies has been reduced or removed where support was not available. We hope to reinstate support as the ecosystem gradually adapts to the new package names in Jakarta EE 9. In the meantime, support for the following has been removed:

  • EhCache 3
  • H2’s web console
  • Hibernate’s metrics
  • Infinispan
  • Jolokia
  • Pooled JMS
  • REST Assured
  • SMTP appending with Logback
  • SMTP appending with Log4j 2

Jersey

Support for Jersey has been temporarily removed as it does not yet support Spring Framework 6.

Removed Support

Support for the following dependencies has been removed in Spring Boot 3.0:

  • Apache ActiveMQ
  • Atomikos
  • EhCache 2
  • Hazelcast 3

JSON-B

Dependency management for Apache Johnzon has been removed in favor of Eclipse Yasson. A Jakarta EE 9-compatible version of Apache Johnzon can be used with Spring Boot 3, but you will now have to specify a version in your dependency declaration.

New and Noteworthy

TipCheck the configuration changelog for a complete overview of the changes in configuration.

Dependency Upgrades

Spring Boot 3.0.0-M1 moves to new versions of several Spring projects:

Numerous third-party dependencies have also been updated, some of the more noteworthy of which are the following:

  • Artemis 2.20.0
  • Hazelcast 5.0
  • Hibernate Validator 7.0
  • Jakarta Activation 2.0
  • Jakarta Annotation 2.0
  • Jakarta JMS 3.0
  • Jakarta JSON 2.0
  • Jakarta JSON Bind 3.0
  • Jakarta Mail 2.0
  • Jakarta Persistence 3.0
  • Jakarta Servlet 5.0
  • Jakarta Servlet JSP JSTL 2.0
  • Jakarta Transaction 2.0
  • Jakarta Validation 3.0
  • Jakarta WebSocket 2.0
  • Jakarta WS RS 3.0
  • Jakarta XML Bind 3.0
  • Jakarta XML Soap 2.0
  • Jetty 11
  • jOOQ 3.16
  • Tomcat 10

Miscellaneous

Apart from the changes listed above, there have also been some minor tweaks and improvements including:

  • Support for Java’s SecurityManager has been removed following its deprecation in the JDK
  • Support for Spring Framework’s CommonsMultipartResolver has been removed following its removal in Spring Framework 6

Deprecations in Spring Boot 3.0

  • None