-
Notifications
You must be signed in to change notification settings - Fork 40.7k
Spring Boot 2.6.0 M3 Release Notes
Classes, methods and properties that were deprecated in Spring Boot 2.4 have been removed in this release. Please ensure that you aren’t calling deprecated methods before upgrading.
The dependency management for the Oracle database driver has been streamlined.
If you are still relying on the old com.oracle.ojdbc
groupId, you need to upgrade to the com.oracle.database.jdbc
group as we have removed dependency management for the former.
The default strategy for matching request paths against registered Spring MVC handler mappings has changed from AntPathMatcher
to PathPatternParser
.
If you need to switch the default back to AntPathMatcher
, you can set spring.mvc.pathmatch.matching-strategy
to ant-path-matcher
.
The actuator endpoints now also use PathPattern
based URL matching.
Note that the path matching strategy for actuator endpoints is not configurable via a configuration property.
The configuration properties used to configure an Elasticsearch client have been consolidated.
Previously, a number of common properties for configuring the blocking high-level REST client and the reactive REST client were duplicated across spring.elasticsearch.rest
and spring.data.elasticsearch.clients.reactive
.
If you are using the blocking REST client, the following table lists the old properties and their replacements:
Deprecated Property | Replacement |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you are using the reactive client, the following table lists the old properties and their replacements: |
Deprecated Property | Replacement |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The spring.boot.application.running
startup step logged to ApplicationStartup
has been renamed to spring.boot.application.ready
.
If you are processing files generated from FlightRecorderApplicationStartup
or BufferingApplicationStartup
you will need to use the new name.
Tip
|
Check the configuration changelog for a complete overview of the changes in configuration. |
Spring Boot sanitizes sensitive values present in the /env
and /configprops
endpoints.
While it was possible to configure which properties get sanitized via configuration properties, users might want to apply sanitization rules based on which PropertySource
the property originated from.
For example, Spring Cloud Vault uses vault to store encrypted values and load them into the Spring environment.
Since all values are encrypted, it would make sense to blank the values of every key in an entire property source.
Such sanitization customizations can be configured by adding a @Bean
of type SanitizingFunction
.
Auto-configuration exposes two metrics related to application startup:
* application.started.time
: time taken to start the application.
* application.ready.time
: time taken for the application to be ready to service requests.
Spring Integration PollerMetadata
(poll unbounded number of messages every second) can now be customized with spring.integration.poller.*
configuration properties.
Spring Boot 2.6 M3 moves to new versions of several Spring projects:
-
Spring AMQP 2.4.0-M3
-
Spring Data 2021.1.0-M3
-
Spring Framework 5.3.10
-
Spring HATEOAS 1.4.0-M3
-
Spring Kafka 2.8.0-M3
-
Spring Security 5.6.0-M3
-
Micrometer 1.8.0-M3
Numerous third-party dependencies have also been updated, some of the more noteworthy of which are the following:
-
AssertJ 3.21
-
Cassandra Driver 4.13
-
Elasticsearch 7.14
-
Flyway 7.15
-
HtmlUnit 2.53
-
Jedis 3.7
-
Jersey 2.35
-
JUnit Jupiter 5.8
-
Oracle Database 21.3
-
Selenium HtmlUnit 2.53
-
Thymeleaf Layout Dialect 3.0
Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:
-
Command Latency metrics for Lettuce are now auto-configured.
-
Disk space metrics can be configured with one or more paths using the
management.metrics.system.diskspace.paths
property. -
Users can take control over the Redis auto-configuration by providing a
RedisStandaloneConfiguration
bean.
-
The
started
andrunning
methods inSpringApplicationRunListener
have been replaced with versions that accept aDuration
. -
Constructors in
ApplicationStartedEvent
andApplicationReadyEvent
have been replaced with versions that accept aDuration
. -
The
EnvironmentEndpoint.sanitize
has been deprecated for removal.