-
Notifications
You must be signed in to change notification settings - Fork 40.8k
Spring Boot 3.0.0 RC2 Release Notes
Following the end of life announcement for Apache Tomcat 10.0, we have upgraded from Jakarta EE 9 to Jakarta EE 10. Where Spring Boot depends upon a Jakarta EE specification, we now use the version that is included in Jakarta EE 10. For example, Spring Boot 3.0 uses the Servlet 6.0 and JPA 3.1 specifications by default. Jakarta EE 9 is still supported and a war-packaged Spring Boot application can be deployed to an EE 9 environment.
Jetty does not yet support Servlet 6.0. To use Jetty with Spring Boot 3.0, you will have to downgrade the Servlet API to 5.0. You can use the jakarta-servlet.version
property to do so.
Spring Boot does not depend on Hazelcast Hibernate so it need not have an opinion about its version.
As such, dependency management for Hazelcast Hibernate has been removed.
If you wish to continue using Hazelcast Hibernate, specify a version that meets your needs.
Alternatively, consider using org.hibernate.orm:hibernate-jcache
instead.
The httptrace
endpoint and related infrastructure records and provides access to information about recent HTTP request-response exchanges.
Following the introduction of support for Micrometer Tracing, the name httptrace
may cause confusion.
To reduce this possible confusion the endpoint has been renamed to httpexchanges
. The contents of the endpoint’s response has also been affected by this renaming. Please refer to the Actuator API documentation for further details.
Related infrastructure classes have also been renamed.
For example, HttpTraceRepository
is now named HttpExchangeRepository
and can be found in the org.springframework.boot.actuate.web.exchanges
package.
Responses from the actuator endpoints shipped with Spring Boot now use an isolated ObjectMapper
instance to ensure results are consistent.
If you want to revert to the old behavior and use the application ObjectMapper
you can set management.endpoints.jackson.isolated-object-mapper
to false
.
If you have developed your own endpoints, you might want to ensure that responses implement the OperationResponseBody
interface.
This will ensure that the isolated ObjectMapper
is considered when serializing the response as JSON.
If your project is using metrics or traces, please refer to the dedicated page for Spring Boot Metrics 3.0.
Tip
|
Check the configuration changelog for a complete overview of the changes in configuration. |
Spring Boot 3.0.0-RC2 moves to new versions of several Spring projects:
-
Spring Batch 5.0.0-RC2
-
Spring Data 2022.0.0-RC2
-
Spring Framework 6.0.0-RC4
-
Spring Integration 6.0.0-RC2
-
Spring Kafka 3.0.0-RC2
-
Spring Security 6.0.0-RC2
-
Spring Session 3.0.0-RC2
Numerous third-party dependencies have also been updated, some of the more noteworthy of which are the following:
-
Couchbase Client 3.4
-
Elasticsearch Client 8.5
-
Glassfish JAXB 4.0
-
Glassfish JSTL 3.0
-
Hibernate Validator 8.0
-
Jackson 2.14
-
Jakarta Activation 2.1
-
Jakarta Json 2.1
-
Jakarta Json Bind 3.0
-
Jakarta Mail 2.1
-
Jakarta Persistence 3.1
-
Jakarta Servlet 6.0
-
Jakarta Servlet JSP JSTL 3.0
-
Jakarta XML Bind 4.0
-
Jakarta XML SOAP 3.0
-
Jakarta XML WS 4.0
-
Jakarta WebSocket 2.1
-
Jakarta WS RS 3.1
-
Jersey 3.1
-
Micrometer 1.10
-
Micrometer Tracing 1.0
-
Neo4j Java Driver 5.2
-
Reactor 2022.0
-
SAAJ Implements 3.0
-
Tomcat 10.1
-
Undertow 2.3
-
Yasson 3.0
Apart from the changes listed above, there have also been some minor tweaks and improvements including:
-
SpanCustomizer
beans for Brave and OpenTelemetry are now auto-configured. -
Host names are no longer logged during application startup. This prevents a network lookup which helps improve startup times.
-
Bean implementing the
MeterBinder
interface are now bound to meter registries only after all singleton beans have been initialized.