Skip to content

Spring Boot 3.3.0 RC1 Release Notes

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

Spring Boot 3.3.0-RC1 Release Notes

For changes in earlier milestones, please refer to:

Upgrading from Spring Boot 3.2

Minimum Requirements Changes

None.

New and Noteworthy

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

Auto-configure Embedded Web Server SSL with SNI

When configuring a Tomcat, Netty, or Undertow embedded web server with SSL/TLS, it is now possible to configure multiple hostnames with unique trust material for each to support Server Name Indication (SNI). See the updated documentation for more information on the configuration options.

Prometheus Client 1.x

Spring Boot 3.3.0-RC1 includes support for the Prometheus Client 1.x, contributed through #40023. This release of the client contains some breaking changes, e.g. changes to the exported metric names. Use of the Prometheus Push Gateway is not supported with the 1.x client, until this support has been added from the Prometheus maintainers.

If you want to instead use the 0.x version of Prometheus client, remove io.micrometer:micrometer-registry-prometheus from your dependencies and add io.micrometer:micrometer-registry-prometheus-simpleclient instead. Spring Boot contains auto-configuration for simpleclient in a deprecated form which will be removed in Spring Boot 3.5.0.

For a more detailed migration guide, please see this section of the Micrometer wiki.

Documentation Updates

The documentation migration we started in M3 has now been completed. RC1 documentation is available at https://docs.spring.io/spring-boot/3.3.0-RC1.

Dependency Upgrades

Spring Boot 3.3.0-RC1 moves to new versions of several Spring projects:

  • Spring Data 2024.0.0-RC1

  • Spring GraphQL 1.3.0-RC1

  • Spring HATEOAS 2.3.0-RC1

  • Spring Integration 6.3.0-RC1

  • Spring Security 6.3.0-RC1

  • Spring Session 3.3.0-RC1

  • Spring for Apache Kafka 3.2.0-RC1

  • Spring for Apache Pulsar 1.1.0-RC1

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

  • Hazelcast 5.4.0

  • Hibernate 6.5.0.CR2

  • Micrometer 1.13.0-RC1

Miscellaneous

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

  • The new property spring.data.jdbc.dialect can be used to set the dialect for Spring Data JDBC. If not set, the dialect will be auto-detected.

  • Add more gap between the orders of CloudFoundryVcapEnvironmentPostProcessor and ConfigDataEnvironmentPostProcessor.

  • The Cassandra driver changed coordinates from com.datastax.oss to org.apache.cassandra.

  • Setting the new property management.observations.long-task-timer.enabled to false now prevents the creation of a LongTaskTimer for every observation.

  • Beans in the infrastructure role are now automatically excluded from lazy initialization.

  • Spring Config now uses the conversion service from the environment when resolving properties.

  • Set the new property spring.docker.compose.start.skip to never to always execute the Docker Compose startup command.

  • A new spring.graphql.websocket.keep-alive property has been added.

  • JPA auto-configuration now uses a ManagedClassNameFilter bean if one is defined.

  • A new spring.rabbitmq.template.allow-list-patterns property has been added.

Deprecations in Spring Boot 3.3.0-RC1

Clone this wiki locally