Spring Cloud 2025.0
When upgrading to Spring Cloud 2025.0, refer to the Spring Cloud 2025.0 Release Notes to find out about newly introduced APIs, deprecated APIs, and information about breaking changes.
The io.arconia.rewrite.spring.cloud2025.UpgradeSpringCloud_2025_0 recipe automates most of the changes introduced in Spring Cloud 2025.0. You can use it to update your project to the latest Spring Cloud 2025.0.x release.
The recipe will:
-
Upgrade
org.springframework.cloud:spring-cloud-dependencies(and thespring-cloud-starter-parentMaven parent) to the 2025.0.x release line. -
Rename Spring Cloud configuration properties to match the new property names.
-
Adopt the new module names for the Spring Cloud Gateway dependencies:
-
spring-cloud-gateway-server→spring-cloud-gateway-server-webflux(and the matchingspring-cloud-starter-gateway-server→spring-cloud-starter-gateway-server-webflux). -
spring-cloud-gateway-server-mvc→spring-cloud-gateway-server-webmvc(and the matching starter). -
The former
spring-cloud-gateway-mvcandspring-cloud-gateway-webfluxartifacts, which host the Proxy Exchange handlers, are renamed tospring-cloud-gateway-proxyexchange-webmvcandspring-cloud-gateway-proxyexchange-webflux.
-
Run the recipe
You can apply this recipe with any OpenRewrite-compatible tool. The tabs below show three of them: the Arconia CLI, the OpenRewrite Gradle plugin, and the OpenRewrite Maven plugin. See Running Recipes for a comparison of when to pick each one.
-
Arconia CLI
-
Gradle
-
Maven
arconia rewrite run --recipe-name io.arconia.rewrite.spring.cloud2025.UpgradeSpringCloud_2025_0
First, create an init.gradle file in your project root with the following content.
initscript {
repositories {
maven { url "https://plugins.gradle.org/m2" }
}
dependencies {
classpath("org.openrewrite:plugin:latest.release")
}
}
rootProject {
plugins.apply(org.openrewrite.gradle.RewritePlugin)
dependencies {
rewrite("io.arconia.migrations:rewrite-spring:latest.release")
}
afterEvaluate {
if (repositories.isEmpty()) {
repositories {
mavenCentral()
}
}
}
configurations.named("rewrite") {
canBeConsumed = false
}
}
Then, run the following command.
./gradlew rewriteRun \
--init-script init.gradle \
-DactiveRecipe=io.arconia.rewrite.spring.cloud2025.UpgradeSpringCloud_2025_0
You can remove the init.gradle file afterwards.
./mvnw -U org.openrewrite.maven:rewrite-maven-plugin:run \
-Drewrite.recipeArtifactCoordinates=io.arconia.migrations:rewrite-spring:LATEST \
-Drewrite.activeRecipes=io.arconia.rewrite.spring.cloud2025.UpgradeSpringCloud_2025_0