You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Configuration Properties for Redis have moved from spring.redis. to spring.data.redis. as redis auto-configuration requires Spring Data to be present on the classpath.
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.
Flyway Configuration Customization
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.
@EnableBatchProcessing No Longer Required
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.
Mongo Health Check
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.
Auto-configuration Registration
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.
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.
Jersey Support Reinstated
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.
Dependency Upgrades
Spring Boot 3.0.0-M5 moves to new versions of several Spring projects:
Uh oh!
There was an error while loading. Please reload this page.
labels: ["upgrade:boot-recipe","3.0.0","epic"]
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0.0-M5-Release-Notes
Spring Boot 3.0.0 M5 Release Notes
For changes in earlier milestones, please refer to:
v3.0.0 M1
v3.0.0 M2
v3.0.0 M3
v3.0.0 M4
Upgrading from Spring Boot 2.x
Changes to Data properties
The data prefix has been reserved for Spring Data and any properties under the
data
prefix imply that Spring Data is required on the classpath.Cassandra Properties
Configuration Properties for Cassandra have moved from
spring.data.cassandra.
tospring.cassandra.
.Redis Properties
Configuration Properties for Redis have moved from
spring.redis.
tospring.data.redis.
as redis auto-configuration requires Spring Data to be present on the classpath.JMX Endpoint Exposure
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
andmanagement.endpoints.jmx.exposure.exclude
properties.Actuator Endpoints Sanitization
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 Removed
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.Flyway Configuration Customization
FlywayConfigurationCustomizer
beans are now called to customize theFluentConfiguration
after anyCallback
andJavaMigration
beans have been added to the configuration. An application that definesCallback
andJavaMigration
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.@EnableBatchProcessing
No Longer RequiredPreviously,
@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?sDefaultBatchConfiguration
can now be defined to tell the auto-configuration to back off, allowing the application to take complete control of how Batch is configured.Mongo Health Check
The
HealthIndicator
for MongoDB now supports MongoDB?s Stable API. ThebuildInfo
query has been replaced withisMaster
and the response now containsmaxWireVersion
instead ofversion
. As described in the MongoDB documentation, clients may usemaxWireVersion
to help negotiate compatibility with MongoDB. Note thatmaxWireVersion
is an integer.Auto-configuration Registration
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 inspring.factories
. With this release, support for registering auto-configurations inspring.factories
has been removed in favor of the imports file.Minimum Requirements Changes
New and Noteworthy
Tip
Check the configuration changelog for a complete overview of the changes in configuration.
Native Support
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.
Jersey Support Reinstated
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.
@SpringBootTest with Main Methods
The
@SpringBootTest
annotation can now use themain
of any discovered@SpringBootConfiguration
class if it?s available. This means that any customSpringApplication
configuration performed by your main method can now be picked up by tests.To use the
main
method for a test set theuseMainMethod
attribute of@SpringBootTest
toUseMainMethod.ALWAYS
orUseMainMethod.WHEN_AVAILABLE
.See the updated reference documentation for details.
Dependency Upgrades
Spring Boot 3.0.0-M5 moves to new versions of several Spring projects:
Spring AMQP 3.0.0-M4
Spring Batch 5.0.0-M6
Spring Data 2022.0.0-M6
Spring Framework 6.0.0-M6
Spring GraphQL 1.1.0-M1
Spring HATEOAS 2.0.0-M6
Spring Integration 6.0.0-M5
Spring Kafka 3.0.0-M6
Spring LDAP 3.0.0-M4
Spring Retry 2.0.0-M1
Spring Security 6.0.0-M7
Spring Session 2022.0.0-M3
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
Miscellaneous
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.Deprecations in Spring Boot 3.0
The text was updated successfully, but these errors were encountered: