-
Notifications
You must be signed in to change notification settings - Fork 40.8k
Spring Boot 2.3.0 RC1 Release Notes
In addition to the below, please see the instructions in the 2.3.0.M1, 2.3.0.M2, 2.3.0.M3, and 2.3.0.M4 release notes for upgrading from Spring Boot 2.2.
The error message and any binding errors are no longer included in the default error page by default. This reduces the risk of leaking information to a client. server.error.include-message
and server.error.include-binding-errors
can be used to control the inclusion of the message and binding errors respectively. Supported values are always
, on-param
, and never
.
The developmentOnly
configuration, primarily intended for use when declaring a dependency on Spring Boot’s DevTools, is now created automatically by Spring Boot’s Gradle plugin. Any manual configuration of developmentOnly
can be removed from your Gradle build scripts.
Spring Boot’s build no longer makes use of Maven’s exec plugin and plugin management for it has been removed. If you were relying on Spring Boot’s managed version, you should add your own plugin management.
This release upgrades to Micrometer 1.5 which brings a number of deprecations:
-
Service Level Agreements have been renamed to Service Level Objectives and the boundary is expressed as a
double
rather than along
. -
Wavefront metrics are now exported via
WavefrontSender
. As a result the read and connection timeout properties are no longer honoured. -
Kafka metrics are published natively so that it is no longer required to enable JMX
Tip
|
Check the configuration changelog for a complete overview of the changes in configuration. |
The conversion of time and date-time values in web applications is now configurable via application properties. This complements that existing support for formatting date values. For MVC, the properties are spring.mvc.format.time
and spring.mvc.format.date-time
respectively. For WebFlux, the properties are spring.webflux.format.time
and spring.webflux.format.date-time
respectively.
In addition to taking a typical formatting pattern, the properties for configuring the formatting of dates, times, and date-times now support a value of iso
. When set, the corresponding ISO-8601 formatting will be applied. The iso
values is supported by the following properties:
-
spring.mvc.format.date
-
spring.mvc.format.date-time
-
spring.mvc.format.time
-
spring.webflux.format.date
-
spring.webflux.format.date-time
-
spring.webflux.format.time
The upgrade to Micrometer 1.5 brings a number of new features:
-
The auto-configuration for Wavefront has been updated to define a
WavefrontSender
bean. This allows publishing of both metrics and traces to Wavefront over a single connection. -
Native support for tags has been added for Graphite.
-
New Relic can be configured to use HTTP or a Java agent.
-
Histogram type for backing DistributionSummary and Timer to prometheus can be configured.
The build-image
Maven goal and the bootBuildImage
Gradle task now use the Paketo Java buildpack to create images.
Spring Boot 2.3 RC1 upgrades to the latest milestone of several Spring projects:
-
Spring Data Neumann-RC2
-
Spring HATEOAS 1.1.0.RC1
-
Spring Integration 5.3.0.RC1
-
Spring Kafka 2.5.0.RC1
Numerous third-party dependencies have been upgraded, some of the more noteworthy of which are the following:
-
Flyway 6.4
-
Jackson 2.11
-
Lettuce 5.3
-
Micrometer 1.5
-
Solr 8.5
-
Testcontainers 1.14
Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:
-
A customizer interface,
RSocketMessageHandlerCustomizer
, is provided for customizing the auto-configuredRSocketMessageHandler
, -
A customizer interface,
DefaultCookieSerializerCustomizer
, is provided for customizing the auto-configuredDefaultCookieSerializer
. -
Auto-configuration of the default servlet can now be disabled by setting
server.servlet.register-default-servlet
tofalse
. -
A new condition,
@ConditionalOnWarDeployment
has been added. It can be used to detect when an application has been deployed as a war to a Servlet container or application server.