Skip to content

Deprecate springboot 3.4 and 3.5 #1718

@javier-aliaga

Description

@javier-aliaga

Deprecate Spring Boot 3.4 and 3.5 support

Context

Spring Boot 3.4.x reaches OSS end-of-life on 2025-11-20 and Spring Boot 3.5.x on 2026-05-22. The Dapr Java SDK currently targets Spring Boot 3.4.x (springboot.version=3.4.13) across the sdk-springboot, dapr-spring, and related modules.

Maintaining support for EOL Spring Boot versions creates an ongoing maintenance burden:

  • Transitive CVEs — many CVEs in the SDK dependency tree (tomcat-embed, logback, netty, commons-compress) originate from the Spring Boot BOM. Each patch release requires manual version overrides in the parent pom to work around what the BOM ships.
  • BOM shadowing — child modules that re-import the Spring Boot BOM can silently undo parent-level security overrides (e.g., netty-bom), as seen in [1.16] Fix/bump deps CVE 1.16 #1717.
  • Testing matrix — supporting multiple Spring Boot major versions (3.x and 4.x) doubles the integration test surface.

Proposal

  1. release-1.17 (current): add a deprecation notice for Spring Boot 3.4 support in the docs and release notes.
  2. release-1.18: drop Spring Boot 3.4 support. Minimum supported version becomes Spring Boot 3.5.
  3. release-1.19: drop Spring Boot 3.5 support. Minimum supported version becomes Spring Boot 4.0.

Migration path

  • Users on Spring Boot 3.4 should upgrade to 3.5 (drop-in compatible).
  • Users on Spring Boot 3.5 should plan migration to Spring Boot 4.0 following the Spring Boot 4.0 migration guide.
  • The dapr-spring-boot-4-autoconfigure and related SB4 modules are already available for early adopters.

Benefits

  • Reduced CVE surface from transitive Spring Boot dependencies
  • Simplified BOM management (single Spring Boot version in parent pom)
  • Smaller CI/CD matrix
  • Aligns with Spring's own support policy

Open questions

  • Should we align the deprecation timeline with Spring's EOL dates or move faster?
  • Do we have telemetry or community feedback on which Spring Boot versions are most used with the Dapr SDK?
  • Should we provide a compatibility matrix in the docs?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions