-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Migrate Spring Cloud Azure to Spring Boot 4.x #47208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Added Spring Milestones repository to sdk/spring/pom.xml - Updated _constants.py to support Spring Boot 4 version tagging - Added SPRING_BOOT_MAJOR_4_VERSION_NAME support to sync_external_dependencies.py - Generated spring_boot_4.0.0-RC2_managed_external_dependencies.txt - Added springboot4_ prefixed dependencies to external_dependencies.txt Co-authored-by: Netyyyy <92105726+Netyyyy@users.noreply.github.com>
- Updated spring-cloud-azure-supported-spring.json to include Spring Boot 4.0.0-RC2 with EXPERIMENTAL support status Co-authored-by: Netyyyy <92105726+Netyyyy@users.noreply.github.com>
|
@copilot continue to update versions below spring folder by running command: |
I've run |
|
@copilot replace the prefix |
- Replaced all springboot3_ prefixes with springboot4_ in Spring pom.xml files (583 occurrences) - Added complete set of 97 springboot4_ dependencies to external_dependencies.txt - Ran update_versions.py to update all version numbers to Spring Boot 4.0.0-RC2 versions - Key updates: Spring Boot 4.0.0-RC2, JUnit 6.0.1, Spring Framework 7.0.0-RC3 Co-authored-by: Netyyyy <92105726+Netyyyy@users.noreply.github.com>
Completed the migration. Replaced all |
- Replaced deprecated org.springframework.lang.NonNull with jakarta.annotation.Nonnull (39 files) - Replaced deprecated org.springframework.lang.Nullable with jakarta.annotation.Nullable (49 files) - Added jakarta.annotation-api dependency (version 3.0.0) to 14 Spring modules as provided scope - Resolves compilation warnings when building with Spring Framework 7.0.0-RC3 Co-authored-by: Netyyyy <92105726+Netyyyy@users.noreply.github.com>
Fixed all compilation errors and warnings from the pipeline. Replaced deprecated Spring Framework 7 annotations ( |
- Added jakarta.annotation:jakarta.annotation-api to the allowed dependencies list in azure-client-sdk-parent pom - Resolves enforcer plugin error that was blocking Spring Boot 4 builds - Allows Spring modules to use Jakarta annotations for Spring Framework 7 compatibility Co-authored-by: Netyyyy <92105726+Netyyyy@users.noreply.github.com>
Fixed the maven enforcer plugin error. Added |
|
Please note that Spring Framework v7 uses JSpecify annotations for Null Safety. |
Description
Migrates Spring Cloud Azure from Spring Boot 3.x to Spring Boot 4.0.0-RC2 and Spring Cloud 2025.1.0-M4, enabling early compatibility testing ahead of the November 2025 GA release. Addresses enterprise planning request in #47230.
Changes
Dependency Management
sdk/spring/pom.xmlfor accessing RC releasesspring_boot_4.0.0-RC2_managed_external_dependencies.txt(1,745 managed dependencies)springboot4_prefixed entries toexternal_dependencies.txtVersion Infrastructure
_constants.pywithSPRING_BOOT_MAJOR_4_VERSION_NAMEandspringboot4_prefixsync_external_dependencies.pyto accept Spring Boot 4 as valid major versionspring-cloud-azure-supported-spring.jsonwithEXPERIMENTALstatusVersion Migration
springboot3_withspringboot4_Spring Framework 7 Compatibility Fixes
org.springframework.lang.NonNull→jakarta.annotation.Nonnull(39 files)org.springframework.lang.Nullable→jakarta.annotation.Nullable(49 files)jakarta.annotation-api(version 3.0.0) as a provided dependency to 14 Spring modulesazure-client-sdk-parent/pom.xmlto resolve banned dependency errorsBuild Status
Next Steps
Once Spring Boot 4.0 GA releases (Nov 2025):
All SDK Contribution checklist:
General Guidelines and Best Practices
Testing Guidelines
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.