Skip to content

Spring Boot 2.7.0 RC1 Release Notes

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

Spring Boot 2.7.0 RC1 Release Notes

For changes in earlier milestones, please refer to:

Upgrading from Spring Boot 2.6

Running Your Application in the Maven Process

The spring-boot:run and spring-boot:start goals of the Maven Plugin run your application in a forked processed by default. It is possible to disable this behavior using the fork attribute of the plugin. This attribute is now deprecated with no replacement.

Ordered Exit Code Generators

ExitCodeGenerators are now ordered based on their Ordered implementation and @Order annotation. The first non-zero exit code that is generated is used.

Metric Tag Keys Renamed

Metric tag keys that were in camelCase have been renamed to comply with Micrometer’s recommendation to use all lower-case and a . separator. The following metrics and tag keys are affected:

Metric Old Tag Key New Tag Key

application.ready.time

main-application-class

main.application.class

application.started.time

main-application-class

main.application.class

cache.*

cacheManager

cache.manager

http.client.requests

clientName

client.name

If you need to restore the previous names, define a MeterFilter bean that implements the map(Id) method to modify the tag keys.

Support for Elasticsearch’s RestHighLevelClient is Deprecated

Elasticsearch has deprecated its RestHighLevelClient. In alignment with this, Spring Boot’s auto-configuration for RestHighLevelClient has been deprecated. Where possible, the auto-configured low-level RestClient should be used instead. Alternatively, consider manually configuring the new client.

Deprecations from Spring Boot 2.5

Minimum Requirements Changes

None.

New and Noteworthy

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

Simplified Registration of Jackson Mixins

Auto-configuration for Jackson will now scan your application’s packages for classes annotated with @JsonMixin. Any class that are found are automatically registered as mixins with the auto-configured ObjectMapper.

New Default GraphQL Media Type

As required by the GraphQL HTTP spec, our GraphQL support selects by default the "application/graphql+json" media type for all supported transports. "application/json" is still supported, if explicitly requested by the client.

Web Server SSL Configuration Using PEM-encoded Certificates

Embedded web servers can be configured to use SSL with PEM-encoded certificate and private key files using the properties server.ssl.certificate and server.ssl.certificate-private-key, as well as the optional server.ssl.trust-certificate and server.ssl.trust-certificate-private-key. Management endpoints can be secured using similar management.server.ssl.* properties. See the documentation for an example. This is provided as an alternative to configuring SSL with Java KeyStore files.

Dependency Upgrades

Spring Boot 2.7.0-M3 moves to new versions of several Spring projects:

  • TBD

Numerous third-party dependencies have also been updated, some of the more noteworthy of which are the following:

  • TBD

Miscellaneous

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

  • Elasticsearch RestClientBuilder and RestClient beans are now auto-configured when elasticsearch-rest-client is on the classpath. If elasticsearch-rest-high-level-client is on the classpath, a RestHighLevelClient bean will still be auto-configured as before, but note that support for RestHighLevelClient is now deprecated.

Deprecations in Spring Boot 2.7

  • DatabaseDriver.GAE

  • Properties under spring.security.saml2.relyingparty.registration.{id}.identity-provider have been moved to spring.security.saml2.relyingparty.registration.{id}.asserting-party. Using the old property names result in log messages on WARN level on startup.

Clone this wiki locally