Skip to content

Spring Boot 3.4.0 M1 Release Notes

Moritz Halbritter edited this page Jun 28, 2024 · 44 revisions

Spring Boot 3.4.0-M1 Release Notes

Upgrading from Spring Boot 3.3

Bean Validation of Configuration Properties

Previously, when a @ConfigurationProperties class annotated with @Validated was being validated using a Bean Validation implementation such as Hibernate Validator, validation of nested properties would be performed as they were bound, irrespective of the use of @Valid. In Spring Boot 3.4, validation now follows the behavior of the Bean Validation specification. Validation is performed from the @ConfigurationProperties-annoated class and only cascades down to nested properties where the corresponding field is annotated with @Valid.

When upgrading, inspect your @ConfigurationProperties classes with Bean Validation constraints. Add @Valid as necessary where you want the validation to cascade down to nested properties.

HtmlUnit 4.2

HtmlUnit has been upgraded to 4.2. With this upgrade comes a change in dependency coordinates from net.sourceforge.htmlunit:htmlunit to org.htmlunit:htmlunit and a change in package names from com.gargoylesoftware.htmlunit. to org.htmlunit.. When upgrading, update your build configuration and imports accordingly.

Selenium HtmlUnit 4.20

Selenium HtmlUnit has been updated to 4.20. With this upgrade comes a change in dependency coordinates from org.seleniumhq.selenium:htmlunit-driver to org.seleniumhq.selenium:htmlunit3-driver. When upgrading, update your build configuration accordingly.

Minimum Requirements Changes

Gradle

Gradle 7.5, 8.0, 8.1, and 8.2 are no longer supported. Gradle 7.x (7.6.4 or later) or Gradle 8.x (8.3 or later) is now required.

New and Noteworthy

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

Dependency Upgrades

Spring Boot 3.4.0-M1 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:

Miscellaneous

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

  • The new properties spring.docker.compose.start.arguments and spring.docker.compose.stop.arguments can be used to specify additional command line arguments passed to Docker Compose

  • The new properties management.otlp.tracing.export.enabled, management.wavefront.tracing.export.enabled and management.zipkin.tracing.export.enabled can be used to enable or disable trace exporting more finely grained

  • You can now use a Customizer<Liquibase> bean to customize Liquibase before it is being used

  • The properties used to create a JCache CacheManager can now be customized by defining a JCachePropertiesCustomizer bean.

  • Spring Boot’s Testcontainers integration now supports org.testcontainers.kafka.KafkaContainer.

  • The RequestToViewNameTranslator used by Spring MVC can now be customized by defining a bean named viewNameTranslator.

  • Lettuce’s ClientOptions can now be customized using a LettuceClientOptionsBuilderCustomizer bean. For broader configuration of the whole LettuceClientConfiguration, continue to use LettuceClientConfigurationBuilderCustomizer.

  • Auto-configuration for OpenTelemetry’s OtlpHttpLogRecordExporter and SdkLoggerProvider using new properties under management.otlp.logs.

Deprecations in Spring Boot 3.4.0-M1

Clone this wiki locally