Skip to content

Upgrading org.springframework.boot:spring-boot-starter-actuator 3 to 4

Breaking3.5.16 → 4.1.2Breaking5Security4Platform1Deprecated3New331Changed978Fixed506Other279

BreakingUpgrade verdict

5 breaking changes and a platform requirement change and 4 security fixes.

  • If your build uses Protobuf and gRPC, the build tool no longer sets up gRPC for you automatically; you must opt in explicitly.
  • OpenTelemetry's ZipkinSpanExporter has been deprecated and its support will be removed in Spring Boot 4.2.
  • The Jetty starter no longer pulls in a servlet library it did not use. If your own code uses classes from that library, you must add it yourself.
  • Two Kotlin serialization starter packages have new names that match their modules, so build files must use the new names.
Top 5 of 13 that need code or config changes

org.springframework.boot:spring-boot-starter-actuator publishes an official migration guide for version 4. It covers more than the release notes do.

A migration guide ↗

Adds org.springframework.boot:spring-boot-health 4.1.2, org.springframework.boot:spring-boot-starter-micrometer-metrics 4.1.2.

Breaking5
Spring Boot's Gradle plugin no longer automatically configures gRPC when the Protobuf plugin is applied.
protobufgrpcprotoc-gen-grpc-java
OpenTelemetry's ZipkinSpanExporter has been deprecated and its support will be removed in Spring Boot 4.2.
Removes the unnecessary and unused jetty-ee11-servlets dependency from spring-boot-jetty.
org.eclipse.jetty.ee11:jetty-ee11-servletsspring-boot-jetty
Renames spring-boot-starter-kotlin-serialization to spring-boot-starter-kotlinx-serialization-json and its test starter to spring-boot-starter-kotlinx-serialization-json-test.
spring-boot-starter-kotlin-serializationspring-boot-starter-kotlinx-serialization-jsonspring-boot-starter-kotlin-serialization-testspring-boot-starter-kotlinx-serialization-json-test
Using TestRestTemplate now requires a dependency on spring-boot-restclient.
TestRestTemplatespring-boot-restclient
Security4
Applies HTML escaping to the timestamp attribute in the Whitelabel error page.
Applies HTML escaping to the timestamp attribute in the Whitelabel error page.
Spring Boot has an Authentication Bypass under Actuator CloudFoundry endpoints
High · CVSS 8.2
Spring Boot has an Authentication Bypass under Actuator Health groups paths
High · CVSS 8.2
Platform1
Upgrade to jOOQ 3.20 and require Java 21 to use it.
Deprecated3
Deprecates SpringJtaPlatform, which should have been deprecated since 4.1.0-M3.
SpringJtaPlatform
Deprecates OpenTelemetry's ZipkinSpanExporter, with support to be removed in Spring Boot 4.2.
ZipkinSpanExporter
Delays removal of Jackson 2 support until 4.3 at the earliest.