diff --git a/java/migration.md b/java/migration.md index 0af8605a0..6f2949aa0 100644 --- a/java/migration.md +++ b/java/migration.md @@ -37,10 +37,10 @@ As migration is a one-time operation, run the OpenRewrite `recipes` as a command ```bash-vue mvn org.openrewrite.maven:rewrite-maven-plugin:run \ -Drewrite.recipeArtifactCoordinates=com.sap.cds:cds-services-recipes:{{ versions.java_services }} \ - -Drewrite.activeRecipes=com.sap.cds.services.migrations.Cap_4.9 + -Drewrite.activeRecipes=com.sap.cds.services.migrations.Cap_5.0 ``` -Here, the *recipe* `com.sap.cds.services.migrations.Cap_4.9` from CAP Java's OpenRewrite Maven artifact `com.sap.cds:cds-services-recipes` is called in the given project context. The *recipe* is a container for one or more recipes. A recipe is a rule that tells OpenRewrite how to transform code. +Here, the *recipe* `com.sap.cds.services.migrations.Cap_5.0` from CAP Java's OpenRewrite Maven artifact `com.sap.cds:cds-services-recipes` is called in the given project context. The *recipe* is a container for one or more recipes. A recipe is a rule that tells OpenRewrite how to transform code. ### Currently Released CAP Java Migrations @@ -52,6 +52,17 @@ The following table lists the individual recipes provided by CAP for APIs that h |[com.sap.cds.services.migrations.ServiceExceptionUtils](#removed-java-apis-4-to-5)|Replaces deprecated methods in `ServiceExceptionUtils`.|4.9.0| |[com.sap.cds.services.migrations.MigrateSaasRegistryDependency](#removed-java-apis-4-to-5)|Replaces deprecated `SaasRegistryDependency` methods `setAppId`/`setAppName`/`getAppId`/`getAppName` with their `xsappname`-based replacements.|4.9.0| |[com.sap.cds.services.migrations.UclMigration](#removed-java-apis-4-to-5)|Migrates deprecated UCL result getter and setter methods to the new API.|4.9.0| +|com.sap.cds.services.migrations.Cap_4.9_Properties|Replaces deprecated application properties with their CAP Java 4.9 equivalents (for example `cds.mcp.autoConfig.*` → `cds.mcp.autoWired.*`, `cds.taskScheduler.enabled` → `cds.outbox.persistent.scheduler.enabled`).|4.9.0| +|[com.sap.cds.services.migrations.Cap_5.0_Properties](#removed-properties-4-to-5)|Removes application properties that are no longer supported in CAP Java 5.0 and have no replacement (for example `cds.errors.combined`, `cds.sql.collate`, `cds.sql.hana.optimizationMode`, `cds.odataV4.searchMode`, `cds.odataV2.searchMode`, and the removed `cds.multiTenancy.serviceManager.*` flags).|5.0.0| +|[com.sap.cds.services.migrations.Cap_5.0_OutboxOrdered](#adjusted-defaults-4-to-5)|Adds `ordered: true` to every custom entry under `cds.outbox.services` (except the built-in `DefaultOutboxOrdered`/`DefaultOutboxUnordered`) to preserve the previous behavior, as the default of `cds.outbox.services..ordered` changes from `true` to `false` in CAP Java 5.0.|5.0.0| + +In addition, the following umbrella recipes are provided per release. Each one includes all individual recipes for APIs deprecated in this AND previous releases, plus Maven dependency upgrades for all CAP Java modules to the matching version. Run the latest umbrella recipe matching the version of the CAP Java SDK you are upgrading to. + +|Name |Description|Available since| +|--------|-----------|---------------| +|com.sap.cds.services.migrations.Cap_4.8|Migrates an application to CAP Java SDK 4.8. Includes `MigrateStatements` and upgrades all CAP Java Maven dependencies to `4.8.x`.|4.8.0| +|com.sap.cds.services.migrations.Cap_4.9|Migrates an application to CAP Java SDK 4.9. Includes `Cap_4.8`, `UclMigration`, `MigrateSaasRegistryDependency`, `ServiceExceptionUtils`, `Cap_4.9_Properties`, and upgrades all CAP Java Maven dependencies to `4.9.x`.|4.9.0| +|com.sap.cds.services.migrations.Cap_5.0|Migrates an application to CAP Java SDK 5.0. Includes `Cap_4.9`, `Cap_5.0_Properties`, `Cap_5.0_OutboxOrdered`, and upgrades all CAP Java Maven dependencies to `5.0.x`.|5.0.0| ## CAP Java 4.9 to CAP Java 5.0 (TBA) { #four-to-five }