-
Notifications
You must be signed in to change notification settings - Fork 41.6k
Spring Boot 3.5.0 M1 Release Notes
The spring-boot-parent module is no longer published.
It provides dependency management for internal dependencies used, for example, in Spring Boot’s own tests.
If you were using spring-boot-parent, replace it with dependency management of your own that meets your application’s needs.
Supported values for .enabled properties have been tightened with this release and are now more consistent.
Values must now be either true or false.
Previous versions of Spring Boot would sometimes use conditions that considered any value other than false as enabled.
Rules for profile naming have been tightened with this release and are now more consistent.
Profiles can now only contain - (dash), _ (underscore), letters and digits.
Additionally, Profiles are not allowed to start or end with - or _.
When spring.data.redis.url is configured, the Redis database that is used is determined by the URL.
If the URL does not specify a database, the default of 0 is used.
The spring.data.redis.database property is now ignored when spring.data.redis.url is configured, aligning its behavior with the host, port, username, and password properties.
|
Tip
|
Check the configuration changelog for a complete overview of the changes in configuration. |
If a TaskDecorator bean is present, it is applied to the auto-configured taskScheduler bean.
It is also applied to the auto-configured ThreadPoolTaskSchedulerBuilder and SimpleAsyncTaskSchedulerBuilder beans.
It will be used by any schedulers created using those builders.
Support for configuring a Vibur DBCP connection pool using DataSourceBuilder has been added.
Dependency management has also been updated to cover org.vibur:vibur-dbcp.
Add support for configuring ReadFrom using the spring.data.redis.lettuce.read-from property.
Spring Boot Actuator now publishes metrics for SSL bundles.
The metric ssl.chains counts the number of chains and their status (valid, expired, soon-to-be-expired, not-yet-valid).
The metric ssl.chain.expiry tracks the number of seconds until expiry for each certificate chain.
The managed version of Liquibase is now 4.31.0. Two new Liquibase properties have been added:
-
spring.liquibase.analytics-enabled– Whether to send product usage data and analytics to Liquibase -
spring.liquibase.license-key– Liquibase Pro license key
Use of the properties requires Liquibase 4.31.0 or later.
Spring Boot 3.5.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:
-
Hikari CP 6.2
Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:
-
The
application_nameproperty of the Postgres docker container is now configured by default usingspring.application.name. -
The auto-configuration for Jackson retains modules that have been added prior to its execution, rather than overwriting them.
-
Tomcat connector’s max parameter count can be configured using the
server.tomcat.max-parameter-countproperty. -
Actuator’s process info contributor now contains virtual thread information when running on JDK 24 or later.
-
The ECS structured logging format now adds Logback and Log4j’s markers in the
tagsfield. -
Spring Boot now installs a Logback
OnErrorConsoleStatusListenerto print error messages during Logback initialization to the console. -
The 'error' entry returned from
ErrorAttributesnow wraps allMessageSourceResolvableinstances to ensure safe JSON serialization. -
Zipkin auto-configuration now uses
ZipkinHttpClientSenderby default, if theHttpClientclass is unavailableURLConnectionSenderis used. -
A new
@ConditionalOnBooleanPropertyannotation has been introduced. -
Empty passwords are now supported when using Bitnami’s PostgreSQL image with Docker Compose. Set
ALLOW_EMPTY_PASSWORDin the container’s environment to enable the support. -
The new property
management.server.accesslog.prefixcan now be used to customize the access log prefix for the management server. -
The AWS Advanced JDBC Wrapper is now auto-detected from
jdbc:aws-wrapper:…URLs, removing the need to configurespring.datasource.driver-class-name. -
ConstraintViolations can be adapted to aMethodValidationResultby setting the newspring.validation.method.adapt-constraint-violationsproperty totrue