-
Notifications
You must be signed in to change notification settings - Fork 41.6k
Spring Boot 2.6.0 RC1 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.
For a resource server application using spring-security-oauth2-resource-server which is configured with an OpenID connect issuer-uri, Spring Boot now auto-configures a SupplierJwtDecoder instead of a NimbusJwtDecoder.
This enables Spring Security’s lazy OIDC discovery support which improves startup time.
Similarly, for reactive applications, a ReactiveSupplierJwtDecoder is auto-configured.
To align the default behavior with Spring Data Couchbase, @Persistent-annotated types are no longer considered.
If you are relying on that annotation, @Document can be used instead.
The env info contributor is now disabled by default. To enable it, set management.info.env.enabled to true.
|
Tip
|
Check the configuration changelog for a complete overview of the changes in configuration. |
The info endpoint can now expose Java Runtime information under the java key, as shown in the following example:
{
"java": {
"vendor": "BellSoft",
"version": "17",
"runtime": {
"name": "OpenJDK Runtime Environment",
"version": "17+35-LTS"
},
"jvm": {
"name": "OpenJDK 64-Bit Server VM",
"vendor": "BellSoft",
"version": "17+35-LTS"
}
}
}To expose this information in the info endpoint’s response, set the management.info.java.enabled property to true.
Log4j2’s composite configuration is now supported.
To use it, configure the logging.log4j2.config.override property with a comma-separated list of secondary configuration files that will override the main configuration. The main configuration is sourced from Spring Boot’s defaults, a well-known standard location such as log4j2.xml, or the location specified by the logging.config property as before.
The Maven and Gradle plugins now support applying additional tags to a generated image after it is built using a tags configuration parameter.
It’s now possible to exclude specific properties from being added to the build-info.properties file generated by the Spring Boot Maven or Gradle plugin.
Maven users can exclude the standard group, artifact, name, version or time properties using the <excludeInfoProperties> tag.
For example, to exclude the version property the following configuration can be used:
<configuration>
<excludeInfoProperties>
<excludeInfoProperty>version</excludeInfoProperty>
</excludeInfoProperties>
</configuration>Gradle users can use null values with the properties block of the DSL:
task buildInfo(type: org.springframework.boot.gradle.tasks.buildinfo.BuildInfo) {
destinationDir project.buildDir
properties {
version = null
}
}Previously, Kafka only supported file-based key and trust stores for SSL. With KIP-651, it is now possible to use the PEM format. Spring Boot has added the following properties that allow configuring SSL certificates and private keys using the PEM format:
-
spring.kafka.ssl.key-store-key -
spring.kafka.ssl.key-store-certificate-chain -
spring.kafka.ssl.trust-store-certificates
The session properties supported for reactive servers (previously under spring.webflux.session) have been expanded with this release.
The new properties are available under server.reactive.session and now offer parity with the servlet versions.
You can now configure SameSite attributes on session cookies for servlet applications using the server.session.cookie.same-site property.
This works with auto-configured Tomcat, Jetty and Undertow servers.
In addition, the CookieSameSiteSupplier interface can be used if you want to apply a SameSite attribute to other cookies.
See the updated documentation for more details and some example code.
Spring Boot 2.6 RC1 moves to new versions of several Spring projects:
-
Spring HATEOAS 1.4.0-RC1
-
Spring Session 2021.1.0-RC1
-
Reactor 2020.0.12
Numerous third-party dependencies have also been updated, some of the more noteworthy of which are the following:
-
Apache Kafka 3.0.0
-
Couchbase Client 3.2.2
-
Elasticsearch 7.15.1
-
Flyway 8.0.2
-
Hibernate 5.6.0.Final
-
Jackson 2.13.0
-
Jetty 9.4.44.v20210927
-
Kotlin 1.6.0-RC
-
Liquibase 4.5.0
-
Mockito 4.0.0
-
MongoDB 4.4.0-beta1
-
MySQL 8.0.27
-
Netty 4.1.69.Final
-
Postgresql 42.3.0
-
Tomcat 9.0.54
Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:
-
The URLs of all available data sources is now logged when the H2 console is auto-configured.
-
A new configuration property,
spring.integration.management.default-logging-enabled, can be used to disable Spring Integration’s default logging by setting its value tofalse. -
Auto-configuration for
UserDetailsServicewill now back off in the presence of anAuthenticationManagerProviderbean.