-
Notifications
You must be signed in to change notification settings - Fork 41.5k
Spring Boot 4.0.0 RC1 Release Notes
To help with upgrading, a migration guide is available.
The classic uber-jar loader has been removed from this release. You should remove any loader implementation configuration from your build file.
For maven this means removing the following:
<loaderImplementation>CLASSIC</loaderImplementation>
For Gradle, it will be lines similar to:
loaderImplementation = org.springframework.boot.loader.tools.LoaderImplementation.CLASSIC
Optional dependencies are no longer included in uber jars.
If you need them, you can use the configuration setting <includeOptional>true</includeOptional>
The JSON-specific spring.jackson.read.*
and spring.jackson.write.*
properties have moved beneath spring.jackson.json.read
and spring.jackson.json.write
respectively.
The properties for Spring Session Data Redis and Spring Session Data MongoDB have been renamed to reflect the dependencies on Spring Data Redis and Spring Data MongoDB respectively.
Properties that previously began with spring.session.redis
now begin with spring.session.data.redis
. Similarly, properties that previously began with spring.session.mongodb
now begin with spring.session.data.mongodb
.
This release deprecates Spring Boot’s HttpMessageConverters
because Spring Framework improved the converter configuration in the traditional stack. HttpMessageConverters
had several issues, including the fact that it conflates client and server converters.
If your application declares a custom org.springframework.boot.http.converter.autoconfigure.HttpMessageConverters
bean, this is still supported but the type itself is deprecated. Instead, your application can declare one or more ClientHttpMessageConvertersCustomizer
and ServerHttpMessageConvertersCustomizer
that will let you customize converters in a flexible way.
Tip
|
Check the configuration changelog for a complete overview of the changes in configuration. |
Support for the newly introduced RestTestClient has been added.
With a regular @SpringBootTest
or when @AutoConfigureMockMvc
is used, you can autowire a RestTestClient
that operates on the underlying MockMvc
instance.
For integration tests, i.e. @SpringBootTest
with either a defined or random port, a RestTestClient
can be injected to target the running server.
Auto-configuration for Static Master/Replica has been added. This feature is only supported by Lettuce.
To use it, provide the list of static nodes using the new spring.data.redis.masterreplica.nodes
property.
The Redis auto-configuration has been improved to auto-configure MicrometerTracing
, rather than MicrometerCommandLatencyRecorder
.
The former operates on the Observation API and provides both metrics and spans.
Spring Boot 4.0.0-RC1 moves to new versions of several Spring projects:
-
TODO
Numerous third-party dependencies have also been updated, some of the more noteworthy of which are the following:
-
TODO