Skip to content

Spring Boot 2.1.0 M3 Release Notes

Phillip Webb edited this page Nov 13, 2024 · 1 revision

Spring Boot 2.1.0 M3 Release Notes

For changes in earlier milestones, please refer to:

Upgrading from Spring Boot 2.1.0 M2

See instructions in the 2.1.0.M2 release notes for upgrading from v2.1.0.M1.

Application Insights

The spring.insights.web.log-request-details configuration property introduced in M2 has been relocated to spring.http.log-request-details. If you defined the older property, you should rename it with this release.

Spring Version POM property

The spring.version property defined in the spring-boot-dependencies POM has been renamed. To override the Spring Framework version you should now use the spring-framework.version property instead. We generally recommend that you stick with the managed framework version unless absolutely necessary.

New and Noteworthy

Tip
Check the configuration changelog for a complete overview of the changes in configuration.

Kafka Streams Support

Auto-configuration is now provided for Kafa Streams when a org.apache.kafka:kafka-streams dependency is declared. See the updated Spring Boot documentation and the [Spring Kafka documentation](https://docs.spring.io/spring-kafka/reference/htmlsingle/#kafka-streams) for details.

Non-web OAuth Applications

It’s now easier to write non-web OAuth applications as we provide an auto-configured InMemoryReactiveClientRegistrationRepository bean regardless of the application type. If you’re writing an application that doesn’t use an embedded web server (such as a CLI application) you can now inject and use the configured registration repository directly.

Context ApplicationConversionService Support

The ApplicationConversionService is now registered by default with the Environment and BeanFactory created by SpringApplication. This allows you to use application converters directly with core Spring Framework items such as the @Value annotation:

@Value("${my.duration:10s}")
private Duration duration;

Logging Groups

Logger groups can be defined to allow related loggers to be configured in one go. For example, you could declare a tomcat group that allows you to configure org.apache.catalina, org.apache.coyote and org.apache.tomcat loggers with a single key:

# define the group
logging.group.tomcat=org.apache.catalina, org.apache.coyote, org.apache.tomcat

# use the group (possibly in a different configuration file)
logging.level.tomcat=TRACE

Convenient web and sql groups are provided out-of-the-box. See the reference guide for details.

Miscellaneous

Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:

  • Configuration property meta-data is now ordered, with deprecated items appearing last.

  • The withDetails method on Health.Builder now also accepts a Map.

  • The BackgroundPreinitializer can be disabled for if a spring.backgroundpreinitializer.ignore system property is set

  • The JAP starter POM now works out-of-the-box on Java 9+

  • Kafka auto-configuation now supports errorHandler transactionManager and afterRollbackProcessor beans.

  • A reactive ReactiveJwtDecoder is now auto-configured when you have an issuer url defined.

  • MongoDB auto-configuration will now back-off when a com.mongodb.client.MongoClient bean is defined (as well as the more usual com.mongodb.MongoClient).

  • You can now optionally use Jetty RS as HTTP driver for WebClient

  • Security configuration is now applied to WebTestClient

  • WebExceptionHandlers are now supported by @WebFluxTest

Deprecations in Spring Boot 2.1.0 M3

The secure attribute on @AutoConfigureMockMvc has been deprecated in favor of using Spring Security’s @WithMockUser annotation.

Configuration Property Changes

  • The spring.security.oauth2.client.registration.login.*.redirect-uri-template property is deprecated in favor of spring.security.oauth2.client.registration.login.*.redirect-uri

  • The spring.security.oauth2.resource.jwt.jwk.set-uri property has been renamed to spring.security.oauth2.resourceserver.jwt.jwk-set-uri

  • The spring.cloud.enabled property has been removed (exclude CloudServiceConnectorsAutoConfiguration if you need to disable cloud connectors)

  • All management.metrics.binders.*.enabled properties have been removed in favor of directly excluding the auto-configuration.

Clone this wiki locally