-
Notifications
You must be signed in to change notification settings - Fork 40.8k
Spring Boot 3.0.0 M5 Release Notes
The spring.data
prefix has been reserved for Spring Data and any properties under the prefix imply that Spring Data is required on the classpath.
Configuration Properties for Cassandra have moved from spring.data.cassandra.
to spring.cassandra.
.
By default, only the health endpoint is now exposed over JMX, to align with the default web endpoint exposure.
This can be changed by configuring the management.endpoints.jmx.exposure.include
and management.endpoints.jmx.exposure.exclude
properties.
Since, the /env
and /configprops
endpoints can contains sensitive values, all values are always masked by default.
This used to be case only for keys considered to be sensitive.
Instead, this release opts for a more secure default. The keys-based approach has been removed in favor of a role based approach, similar to the health endpoint details. Whether unsanitized values are shown or not can be configured using a property which can have the following values:
-
NEVER
- All values are sanitized. -
ALWAYS
- All values are present in the output (sanitizing functions will apply). -
WHEN_AUTHORIZED
- Values are present in the output only if a user is authorized (sanitizing functions will apply).
For JMX, users are always considered to be authorized. For HTTP, users are considered to be authorized if they are authenticated and have the specified roles.
Sanitization for the QuartzEndpoint is also configurable in the same way.
Dependency management for ANTLR 2 (antlr:antlr
) has been removed as it was no longer required.
If you are using ANTLR 2 in your application, specify a version that meets your needs.
FlywayConfigurationCustomizer
beans are now called to customize the FluentConfiguration
after any Callback
and JavaMigration
beans
have been added to the configuration. An application that defines Callback
and JavaMigration
beans and adds callbacks and Java migrations using a customizer may have to be updated to ensure that the intended callbacks and Java migrations are used.
Previously, @EnableBatchProcessing
could be used to enable Spring Boot’s auto-configuration of Spring Batch.
It is no longer required and should be removed from applications that want to use Boot’s auto-configuration.
A bean that is annotated with @EnableBatchProcessing
or that extends Batch’s DefaultBatchConfiguration
can now be defined to tell the auto-configuration to back off, allowing the application to take complete control of how Batch is configured.
The HealthIndicator
for MongoDB now supports MongoDB’s Stable API.
The buildInfo
query has been replaced with isMaster
and the response now contains maxWireVersion
instead of version
.
As described in the MongoDB documentation, clients may use maxWireVersion
to help negotiate compatibility with MongoDB.
Note that maxWireVersion
is an integer.
Spring Boot 2.7 introduced a new META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
file for registering auto-configurations, while maintaining backwards compatibility with registration in spring.factories
. With this release, support for registering auto-configurations in spring.factories
has been removed in favor of the imports file.
Tip
|
Check the configuration changelog for a complete overview of the changes in configuration. |
This milestone brings a number of improvements and compatibility for building an application as a Native image:
-
Hints for the default LDIF file is contributed.
-
The Maven
native
profile now longer sets a classifier for the repackaged archive. -
Native testing is now supported.
In its 3.0.6 release, Jersey now supports Spring Framework 6. As a result, support for Jersey has been reinstated both for application code and actuator web endpoints.
The @SpringBootTest
annotation can now use the main
of any discovered @SpringBootConfiguration
class if it’s available.
This means that any custom SpringApplication
configuration performed by your main method can now be picked up by tests.
To use the main
method for a test set the useMainMethod
attribute of @SpringBootTest
to UseMainMethod.ALWAYS
or UseMainMethod.WHEN_AVAILABLE
.
See the updated reference documentation for details.
Spring Boot 3.0.0-M5 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:
-
SnakeYAML 1.32
-
GraphQL Java 19.2
-
Postgresql 42.5
-
Maven Jar Plugin 3.3.0
-
Selenium 4.4.0
-
Selenium HtmlUnit 3.64.0
-
REST Assured 5.2.0
-
Rabbit AMQP Client 5.16.0
-
Rabbit Stream Client 0.7.0
-
Maven Shade Plugin 3.4.0
-
Mockito 4.8.0
Apart from the changes listed above, there have also been some minor tweaks and improvements including:
-
Multiple hosts can now be configured for MongoDB using the
spring.data.mongodb.additional-hosts
property. -
DiskSpaceHealthIndicator
now includes its path in its log message and its health details. -
WebJars resource handler path pattern can be customized using
spring.mvc.webjars-path-pattern
orspring.webflux.webjars-path-pattern
. -
Elasticsearch’s socketKeepAlive property can be configured using the
spring.elasticsearch.socket-keep-alive
property. -
The
spring.mvc.ignore-default-model-on-redirect
has been deprecated to align with upstream Spring Framework changes.