-
Notifications
You must be signed in to change notification settings - Fork 40.8k
Spring Boot 2.3.0 M4 Release Notes
In addition to the below, please see the instructions in the 2.3.0.M1, 2.3.0.M2, and 2.3.0.M3 release notes for upgrading from Spring Boot 2.2.
The layers that are created by default have been changed from those in M3. Application classes and resources are now written into a single layer named application
. A new layer, spring-boot-loader
, that contains the fat jar launcher classes has been introduced.
The XML schema for customizing layers jars with Maven has been renamed and improved. The schema is now located at https://www.springframework.org/schema/boot/layers/layers-2.3.xsd. Please refer to the updated reference documentation for details.
Spring Boot upgraded to the Couchbase SDK v3 which brings a number of breaking changes:
-
To connect to a cluster, you should now use
spring.couchbase.connection-string
instead of the formerbootstrap-hosts
. -
Role-based access controls have now been generalized.
-
Spring Boot no longer auto-configures a
Bucket
but you can easily do so using theCluster
API. -
Endpoints IO configuration has been harmonized in
spring.couchbase.env.io
. -
If you were extending
CouchbaseConfiguration
to customize the environment, please useClusterEnvironmentBuilderCustomizer
to do so in a more idiomatic fashion.
A bucket name needs to be provided if you’re using Couchbase with Spring Data.
The configuration properties for configuring the threads used by embedded Servlet web servers (Jetty, Tomcat, and Undertow) have moved to dedicated threads
groups. The properties can now be found in server.jetty.threads
, server.tomcat.threads
, and server.undertow.threads
. The old properties remain in a deprecated form to ease migration.
The auto-configured disk space health indicator no longer requires the path that is monitored to exist when the application starts. A non-existent path will be detected as having zero usable space resulting in a down response from the indicator.
Tip
|
Check the configuration changelog for a complete overview of the changes in configuration. |
Spring Boot now has in-built knowledge of the availability of your application, tracking whether it is alive and whether it is ready to handle traffic. The health endpoint can be configured to expose the liveness (/actuator/health/liveness
) and readiness (/actuator/health/readiness
) of you application with the management.health.probes.enabled=true
configuration property. When running on Kubernetes this is done automatically. To learn more about this feature, please check out this blog post and the reference documentation to which it links.
DOCKER_*
environment variables are now used to locate the Docker daemon when building OCI images with Maven or Gradle.
The name of the image and the builder that is used to build it can now be controlled via a command-line property. When using Maven the properties are spring-boot.build-image.imageName
and spring-boot.build-image.builder
respectively. The equivalent properties for Gradle are --imageName
and --builder
.
Support for customizing layers when using Gradle has been added to the bootJar
DSL. Please refer to the updated reference documentation for details.
The base path of all web handlers a WebFlux application can now be configured. Use the spring.webflux.base-path
property to do so.
Tags that are used in addition to those provided by default for MVC and WebFlux can now be contributed. Contributions can be made using a WebMvcTagsContributor
@Bean
for MVC and a WebFluxTagsContributor
@Bean
for WebFlux.
Spring Boot 2.3 M4 upgrades to the latest milestone of several Spring projects:
-
Spring Data Neumann-RC1
-
Spring HATEOAS 1.1.0.M3
-
Spring Integration 5.3.0.M4
-
Spring Session Dragonfruit-RC2
Numerous third-party dependencies have been upgraded, some of the more noteworthy of which are the following:
-
Couchbase Client 3.0
-
MariaDB 2.6
-
QueryDSL 4.3
Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:
-
Auto-detection of the cloud platform can be overridden using
spring.main.cloud-platform
. -
Caching of responses from Acuator’s HTTP endpoints is now supported when the request has a principal.
-
Maven support for creating a fat jar now honors the
project.build.outputTimestamp
property, allowing its output to be reproducible. -
The Javadoc of the Maven plugin is now published.