-
Notifications
You must be signed in to change notification settings - Fork 40.5k
Spring Boot 3.1.0 M2 Release Notes
For changes in earlier milestones, please refer to:
The property used to override the version of io.github.git-commit-id:git-commit-id-maven-plugin
has been updated to align with its artifact name. To adapt to this change replace git-commit-id-plugin.version
with git-commit-id-maven-plugin.version
in your pom.xml
.
When using Apache Kafka with auto-configured retryable topic configuration (spring.kafka.retry.topic.enabled: true
), with an exponential back off with a maxDelay
, all retries at the maxDelay
level are now sent to the same topic.
Previously a separate topic was used for each retry, even if the max delay was exceeded.
For example, with a max retry attempts of 5
, delay of 1s
, a multiplier of 2
, and a max delay of 3s
, after the initial failure, retries will be performed at 1s, 2s, 3s, 3s.
With previous versions of Spring Boot, the framework would create 6 topics: someTopic
, someTopic-retry-0
, someTopic-retry-1
, someTopic-retry-2
, someTopic-retry-3
, and someTopic-dlt
.
With this change, the someTopic-retry-3
topic will not be created, but instead all 3 second retries will be in someTopic-retry-2
.
After migrating from an earlier Spring Boot version, you can safely delete the someTopic-retry-3
topic after all records have been consumed.
Tip
|
Check the configuration changelog for a complete overview of the changes in configuration. |
If you’re using Wavefront and you want to customize span tags for RED metrics, there’s now a new property called management.wavefront.trace-derived-custom-tag-keys
which allows you to do this. See #34194 for details.
@GraphQlExceptionHandler
methods declared in controllers or @ControllerAdvice
are now supported out-of-the box by Spring for GraphQL for controller method invocations. Additionally, Spring Boot auto-configures @ControllerAdvice
exception handling for other (non-controller) DataFetcher
implementations like QueryDslDataFetcher
, QueryByExampleDataFetcher
, and others through configuration of the GraphQlSource
.
When Spring Data is on the classpath, Spring for GraphQL is now auto-configured with support for pagination and sorting.
The GraphQlSource
is now auto-configured with a ConnectionTypeDefinitionConfigurer
.
It generates "Connection" types by looking for fields whose type definition name ends in "Connection", considered by the
GraphQL Cursor Connections Specification to be a Connection Type
, and adding the required type definitions if they don’t already exist.
This release ships support for the Spring Authorization Server project along with a new spring-boot-starter-oauth2-authorization-server
starter. More information can be found in the Authorization Server section of the Spring Boot reference documentation.
The support for using JoranConfigurator beans in AOT processing that was added in 3.1.0-M1 has been reverted. With hindsight, this change moved things in the wrong direction. More time is required to provide comprehensive support for programmatic configuration of Logback.
Spring Boot 3.1.0-M2 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:
-
…