Skip to content

Spring Boot 2.2.0 M4 Release Notes

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

Spring Boot 2.2.0 M4 Release Notes

For changes in earlier milestones, please refer to:

Upgrading from Spring Boot 2.1

See instructions in the 2.2.0.M1 release notes for upgrading from Spring Boot 2.1.

Hamcrest 2.1

This release upgrades to Hamcrest 2.1. This should be a drop-in replacement for most users. If you have a direct dependency on org.hamcrest:hamcrest-core or org.hamcrest:hamcrest-library, please use the new combined module, org.hamcrest:hamcrest, instead. If you depend on Hamcrest via spring-boot-starter-test no action is required.

Freemarker templates configuration

This release changes the default template file extension for Freemarker templates. This aligns Spring Boot with safe configuration defaults for web applications. Please rename existing templates from *.ftl to *.ftlh when upgrading. (#15131)

Tomcat’s MBean Registry

Tomcat’s MBean Registry is now disabled by default, saving approximately 2MB of heap. If you want to use Tomcat’s MBeans, for example so that they can be used to expose metrics via Micrometer, set the server.tomcat.mbeanregistry.enabled to true.

Logback max history

The <rollingPolicy> in the default Logback configuration has been updated to use a <maxHistory> of 7 days. It can be tuned using the logging.file.max-history configuration property.

New and Noteworthy

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

Configuration property constructor parameter binding

Annotations such as @DefaultValue and DateTimeFormat can now be used on constructor parameters that are provided by configuration property binding. (#17109)

RestTemplateBuilder request customisation

Methods have been added to RestTemplateBuilder to add default headers to all requests and to enable generation request customization. (#17091)

Performance improvements

When launching an application at development time with bootRun in Gradle or spring-boot:run in Maven, the JVM will be configured with flags (-Xverify:none and -XX:TieredStopAtLevel=1) to optimise it for reduced launch time. (#16222) (#16941)

Configuration property binding has been optimized, particularly when binding an unusually large number of properties. (#16401) (#16717)

Conditions on codec auto-configuration have been improved so that the codecs are no longer configured when they won’t be used. (#15690)

Tomcat’s MBean Registry has been disabled by default, reducing Tomcat’s memory footprint by approximately 2MB. (#16498)

Reactive Elasticsearch Auto-configuration

Auto-configuration has been added for the reactive Elasticsearch components introduced in Spring Data Moore. A ReactiveElasticSearchTemplate is auto-configured with the spring.data.elasticsearch.client.reactive.* properties. Auto-configured support for reactive Elasticsearch repositories is also provided. (#16214)

Dependency Upgrades

Spring Boot 2.2.0.M4 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:

  • Artemis 2.9

  • HSQLDB 2.5

Miscellaneous

In addition to the changes listed above, there have also been lots of minor tweaks and improvements including:

  • Printer and Parser beans are automatically registered with the application conversion service. (#17064)

  • When using the H2 console auto-configuration, JDBC connection URL is now logged at startup for ease of connection. (#17063)

  • Couchbase role-based access is now supported via spring.couchbase.username and spring.couchbase.password. (#16389)

  • Support for OAuth2 resource server opaque token authentication has been added and can be configured using the spring.security.oauth2.resourceserver.opaquetoken configuration properties. (#15872)

Deprecations in Spring Boot 2.2.0 M4

  • None

Clone this wiki locally