Description
CAP Java 5, which ships with CDS 10, requires Spring Boot 4 as its minimum framework version. Spring Boot 3 is no longer supported. Upgrading involves both updating the CAP Java dependency version and completing a full Spring Boot 3 → 4 migration, which includes changes to Jakarta EE 11, updated auto-configuration APIs, and removed deprecated components. The migration effort is non-trivial and should be planned independently of other CDS 10 changes.
How to Check
- [ ] Check
pom.xmlfor<spring-boot.version>orspring-boot-starter-parentversion — any value in the3.xor lower range requires migration. - [ ] Check
build.gradleorbuild.gradle.ktsfor the Spring Boot Gradle plugin version:id("org.springframework.boot") version "3.x.x". - [ ] Verify the transitive Spring Framework version pulled in by the current Spring Boot dependency is compatible with the target.
Migration Steps
Update the Spring Boot parent or BOM version in
pom.xml:diff<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> - <version>3.4.0</version> + <version>4.0.0</version> </parent>Or in
build.gradle.kts:diff- id("org.springframework.boot") version "3.4.0" + id("org.springframework.boot") version "4.0.0"Follow the Spring Boot 4.0 Migration Guide to resolve all breaking changes introduced by Spring Boot 4 (Jakarta EE 11 namespace changes, removed APIs, updated auto-configuration).
Update the CAP Java SDK version to the CDS 10-compatible release:
diff<properties> - <cds.services.version>2.x.x</cds.services.version> + <cds.services.version>5.0.0</cds.services.version> </properties>Compile and run the full test suite. Address any remaining incompatibilities reported by the compiler or at runtime.
Notes
The Spring Boot 4 migration includes a move to Jakarta EE 11, which renames the javax.* packages to jakarta.*. All custom code using javax.persistence, javax.servlet, or related packages must be updated. Consider using the Spring Boot Migrator or OpenRewrite recipes to automate part of this work.
The confidence for this entry is low: CAP Java 5 release notes and the full scope of changes are not yet finalized as of the time of writing.