Skip to content

Spring Boot 2.3.0 M3 Release Notes

Phillip Webb edited this page Nov 13, 2024 · 1 revision

Spring Boot 2.3.0 M3 Release Notes

For changes in earlier milestones, please refer to:

Upgrading from Spring Boot 2.2

In addition to the below, please see the instructions in the 2.3.0.M1 and 2.3.0.M2 release notes for upgrading from Spring Boot 2.2.

Neo4j health indicator

The details of the Neo4j health indicator now contains the version and edition of the server:

neo4j: {
  status: "UP",
  details: {
    edition: "community",
    version: "4.0.0"
  }
}

Upgrading from Spring Boot 2.3.0.M2

Maven layered configuration

The configuration for layers in the Maven Plugin has been renamed from layered to layers.

New and noteworthy

Tip
Check the configuration changelog for a complete overview of the changes in configuration.

Graceful shutdown

Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and Undertow) and with both reactive and Servlet-based web applications. When a grace period is configured using server.shutdown.grace-period, upon shutdown, the web server will no longer permit new requests and will wait for up to the grace period for active requests to complete.

R2DBC support

When r2dbc is on the classpath, a ConnectionFactory is auto-configured with a similar arrangement than a jdbc DataSource. If Spring Data is on the classpath, repositories are auto-configured as well, as usual.

R2DBC support also adds an health indicator for the connection factory, metrics for ConnectionPool and a test slice, @DataR2dbcTest.

Custom layers configuration with Maven

The layers that are created when repackaging a layered jar is configurable with the Maven Plugin and we expect similar support for Gradle in the next milestone. For more details, see the updated reference documentation.

Query-less datasource health indicator

In the absence of a validation query, the datasource HealthIndicator now operates in query-less mode, using java.sql.Connection#isValid to validate the connection.

RSocket support for Spring Integration

Spring Boot now provides auto-configuration for Spring Integration’s RSocket support.

If spring-integration-rsocket is available, developers can configure an RSocket server using "spring.rsocket.server.*" properties and let it use IntegrationRSocketEndpoint or RSocketOutboundGateway components to handle incoming RSocket messages.

Actuator-specific ObjectMapper support

The support for the Actuator-specific ObjectMapper that was introduced in M2 has been reverted as it introduced a regression. The feature is now being tracked by this issue.

Dependency Upgrades

Spring Boot 2.3 M3 upgrades to the latest milestone of several Spring projects:

  • Spring Data Neumann-M4

  • Spring Integration 5.3.0.M3

  • Spring Security 5.3.0.RELEASE

Numerous third-party dependencies have been upgraded, some of the more noteworthy of which are the following:

  • Elasticsearch 7.6.1

  • Flyway 6.3

  • Kotlin 1.3.70

Miscellaneous

Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:

  • Jetty’s backing queue can be configured using server.jetty.max-queue-capacity.

  • Liquibase’s tag support can be configured using spring.liquibase.tag. Clearing all checksums in the current changelog is now available via the spring.liquibase.clear-checksums property.

  • The build plugins offer an option to not include the layers tools jar in a layered archive.

  • Gradle metadata is now published.

  • The Java version used to build is used to set the Java version the buildpack should use.

  • DataSourceBuilder can be used to configure a SimpleDriverDataSource.

  • DataSource metrics have now a description.

Deprecations in Spring Boot 2.3.0 M3

None

Clone this wiki locally