From f2c6fe60e452714486b821968c0aa5dcd895815b Mon Sep 17 00:00:00 2001 From: Mike Solomon Date: Tue, 5 Dec 2023 08:22:42 -0800 Subject: [PATCH] Add new changelogs --- .../openrewrite/RecipeMarkdownGenerator.kt | 6 +- src/main/resources/CHANGELOG-2023-12-05.md | 78 ++ src/main/resources/recipeDescriptors.yml | 566 +++++++++--- .../snapshot-CHANGELOG-2023-12-04.md | 130 +++ .../resources/snapshotRecipeDescriptors.yml | 823 ++++++++++++++++-- 5 files changed, 1408 insertions(+), 195 deletions(-) create mode 100644 src/main/resources/CHANGELOG-2023-12-05.md create mode 100644 src/main/resources/snapshot-CHANGELOG-2023-12-04.md diff --git a/src/main/kotlin/org/openrewrite/RecipeMarkdownGenerator.kt b/src/main/kotlin/org/openrewrite/RecipeMarkdownGenerator.kt index 2dd3d2c..a9880a5 100644 --- a/src/main/kotlin/org/openrewrite/RecipeMarkdownGenerator.kt +++ b/src/main/kotlin/org/openrewrite/RecipeMarkdownGenerator.kt @@ -386,7 +386,11 @@ class RecipeMarkdownGenerator : Runnable { changelog.appendText("\nWant to learn how to use snapshot versions in your project? Check out our [snapshot version guide](/reference/snapshot-instructions.md).") changelog.appendText("\n{% endhint %}\n\n") } else { - changelog.appendText("# X.XX.X release ($formatted)\n\n") + changelog.appendText("# X.XX.X release ($formatted)") + + changelog.appendText("\n\n{% hint style=\"info\" %}") + changelog.appendText("\nThis changelog only shows what recipes have been added, removed, or changed. OpenRewrite may do releases that do not include these types of changes. To see these changes, please go to the [releases page](https://github.com/openrewrite/rewrite/releases).") + changelog.appendText("\n{% endhint %}\n\n") } // An example of what the changelog could look like after the below statements can be found here: diff --git a/src/main/resources/CHANGELOG-2023-12-05.md b/src/main/resources/CHANGELOG-2023-12-05.md new file mode 100644 index 0000000..03e21d3 --- /dev/null +++ b/src/main/resources/CHANGELOG-2023-12-05.md @@ -0,0 +1,78 @@ +# 8.11.0 release (2023-12-05) + +{% hint style="info" %} +This changelog only shows what recipes have been added, removed, or changed. OpenRewrite may do releases that do not include these types of changes. To see these changes, please go to the [releases page](https://github.com/openrewrite/rewrite/releases). +{% endhint %} + +## Removed Artifacts +* rewrite-jhipster + +## New Recipes + +* [org.openrewrite.java.CreateEmptyJavaClass](https://docs.openrewrite.org/recipes/java/createemptyjavaclass): Create a new, empty Java class. +* [org.openrewrite.java.dependencies.RemoveExpiredSuppressions](https://docs.openrewrite.org/recipes/java/dependencies/removeexpiredsuppressions): Remove expired vulnerability suppressions from `DependencyCheck` `suppression.xml` files. +* [org.openrewrite.java.logging.ChangeLombokLogAnnotation](https://docs.openrewrite.org/recipes/java/logging/changelomboklogannotation): Replace Lombok annotations such as `@CommonsLog` and `@Log4j` with the target logging framework annotation, or `@Sl4fj` if not provided. +* [org.openrewrite.java.logging.slf4j.CommonsLogging1ToSlf4j1](https://docs.openrewrite.org/recipes/java/logging/slf4j/commonslogging1toslf4j1): Transforms usages of Apache Commons Logging 1.x to leveraging SLF4J 1.x directly. +* [org.openrewrite.java.migrate.BeanDiscovery](https://docs.openrewrite.org/recipes/java/migrate/beandiscovery): Alters beans with missing version attribute to include this attribute as well as the bean-discovery-mode="all" attribute to maintain an explicit bean archive. +* [org.openrewrite.java.migrate.BeansXmlNamespace](https://docs.openrewrite.org/recipes/java/migrate/beansxmlnamespace): Set the `schemaLocation` that corresponds to the `xmlns` set in `beans.xml` files. +* [org.openrewrite.java.migrate.JREDoNotUseSunNetSslAPIs](https://docs.openrewrite.org/recipes/java/migrate/jredonotusesunnetsslapis): Do not use APIs from `com.sun.net.ssl` packages. +* [org.openrewrite.java.migrate.RemoveMethodInvocation](https://docs.openrewrite.org/recipes/java/migrate/removemethodinvocation): Checks for a method patterns and removes the method call from the class. +* [org.openrewrite.java.migrate.jakarta.ApplicationPathWildcardNoLongerAccepted](https://docs.openrewrite.org/recipes/java/migrate/jakarta/applicationpathwildcardnolongeraccepted): Remove trailing `/*` from `jakarta.ws.rs.ApplicationPath` values. +* [org.openrewrite.java.migrate.jakarta.FacesManagedBeansRemoved](https://docs.openrewrite.org/recipes/java/migrate/jakarta/facesmanagedbeansremoved): This recipe substitutes Faces Managed Beans, which were deprecated in JavaServer Faces 2.3 and have been removed from Jakarta Faces 4.0. +* [org.openrewrite.java.migrate.jakarta.UpdateApacheWSSecurityPackages](https://docs.openrewrite.org/recipes/java/migrate/jakarta/updateapachewssecuritypackages): Java EE has been rebranded to Jakarta EE. This recipe replaces Apache security packages to migrate to Apache `wss4j` +* [org.openrewrite.java.migrate.javaee7](https://docs.openrewrite.org/recipes/java/migrate/javaee7): These recipes help with the Migration to Java EE 7, flagging and updating deprecated methods. +* [org.openrewrite.java.migrate.javaee7.OpenJPAPersistenceProvider](https://docs.openrewrite.org/recipes/java/migrate/javaee7/openjpapersistenceprovider): When migrating to EclipseLink, using OpenJPA providers in EclipseLink results in runtime errors. To resolve these errors, the recipe removes the flagged OpenJPA provider from the persistence.xml. +* [org.openrewrite.java.migrate.javaee8](https://docs.openrewrite.org/recipes/java/migrate/javaee8): These recipes help with the Migration to Java EE 8, flagging and updating deprecated methods. +* [org.openrewrite.java.migrate.javaee8.ApacheDefaultProvider](https://docs.openrewrite.org/recipes/java/migrate/javaee8/apachedefaultprovider): This recipe flags any `org.apache.bval.jsr*` (bval 1.1) and `org.apache.bval.jsr303*` (bval 1.0) package references in validation.xml deployment descriptors. Bean Validation 2.0 and later use the Hibernate Validator implementation instead of the Apache BVal implementation which was used for Bean Validation 1.0 and 1.1 +* [org.openrewrite.java.migrate.javaee8.ServletIsRequestedSessionIdFromURL](https://docs.openrewrite.org/recipes/java/migrate/javaee8/servletisrequestedsessionidfromurl): The method `HttpServletRequestWrapper.isRequestedSessionIdFromUrl()` is deprecated in JavaEE8 and is replaced by `HttpServletRequestWrapper.isRequestedSessionIdFromURL()` +* [org.openrewrite.java.migrate.lang.ThreadStopUnsupported](https://docs.openrewrite.org/recipes/java/migrate/lang/threadstopunsupported): `Thread.stop()` always throws a `new UnsupportedOperationException` in Java 21+. This recipe makes that explicit, as the migration is more complicated.See https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/doc-files/threadPrimitiveDeprecation.html . +* [org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes](https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes): Refaster template recipes for `org.openrewrite.java.migrate.net.URLConstructorsToURI`. +* [org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLFourArgumentConstructorRecipe](https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes$urlfourargumentconstructorrecipe): Converts `new URL(String, String, int, String)` constructors to `new URI(...).toURL()`. +* [org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLSingleArgumentConstructorRecipe](https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes$urlsingleargumentconstructorrecipe): Converts `new URL(String)` constructors to `URI.create(String).toURL()`. +* [org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLThreeArgumentConstructorRecipe](https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes$urlthreeargumentconstructorrecipe): Converts `new URL(String, String, String)` constructors to `new URI(...).toURL()`. +* [org.openrewrite.java.migrate.search.FindJavaVersion](https://docs.openrewrite.org/recipes/java/migrate/search/findjavaversion): Finds Java versions in use. +* [org.openrewrite.java.search.FindTypeMappings](https://docs.openrewrite.org/recipes/java/search/findtypemappings): Find types mapped to J trees. +* [org.openrewrite.java.security.FixCwe338](https://docs.openrewrite.org/recipes/java/security/fixcwe338): Use a cryptographically strong pseudo-random number generator (PRNG). +* [org.openrewrite.java.spring.cloud2022.DependencyUpgrades](https://docs.openrewrite.org/recipes/java/spring/cloud2022/dependencyupgrades): Upgrade dependencies to Spring Cloud 2022 from prior 2021.x version. +* [org.openrewrite.java.spring.cloud2023.DependencyUpgrades](https://docs.openrewrite.org/recipes/java/spring/cloud2023/dependencyupgrades): Upgrade dependencies to Spring Cloud 2023 from prior 2022.x version. +* [org.openrewrite.java.spring.cloud2023.UpgradeSpringCloud_2023](https://docs.openrewrite.org/recipes/java/spring/cloud2023/upgradespringcloud_2023): Migrate applications to the latest Spring Cloud 2023 release. +* [org.openrewrite.java.testing.archunit.ArchUnit0to1Migration](https://docs.openrewrite.org/recipes/java/testing/archunit/archunit0to1migration): Upgrade ArchUnit from 0.x to 1.x. +* [org.openrewrite.java.testing.testcontainers.ExplicitContainerImage](https://docs.openrewrite.org/recipes/java/testing/testcontainers/explicitcontainerimage): Set the image to use for a container explicitly if unset, rather than relying on the default image for the container class. +* [org.openrewrite.java.testing.testcontainers.ExplicitContainerImages](https://docs.openrewrite.org/recipes/java/testing/testcontainers/explicitcontainerimages): Replace implicit default container images and versions with explicit versions. +* [org.openrewrite.java.testing.testcontainers.GetHostMigration](https://docs.openrewrite.org/recipes/java/testing/testcontainers/gethostmigration): Replace `org.testcontainers.containers.ContainerState.getContainerIpAddress()` with `getHost()`. +* [org.openrewrite.java.testing.testcontainers.TestContainersBestPractices](https://docs.openrewrite.org/recipes/java/testing/testcontainers/testcontainersbestpractices): Apply best practices to Testcontainers usage. +* [org.openrewrite.launchdarkly.ChangeVariationDefault](https://docs.openrewrite.org/recipes/launchdarkly/changevariationdefault): Change the default value for `Variation` invocations for feature key. +* [org.openrewrite.launchdarkly.MigrateUserToContext](https://docs.openrewrite.org/recipes/launchdarkly/migrateusertocontext): Migrate from `LDUser` and `LDUser.Builder` to `LDContext` and `ContextBuilder`. +* [org.openrewrite.launchdarkly.RemoveBoolVariation](https://docs.openrewrite.org/recipes/launchdarkly/removeboolvariation): Replace `boolVariation` invocations for feature key with value, and simplify constant if branch execution. +* [org.openrewrite.launchdarkly.UpgradeLaunchDarkly7](https://docs.openrewrite.org/recipes/launchdarkly/upgradelaunchdarkly7): This recipe will apply changes commonly needed when migrating to LaunchDarkly 7.x. +* [org.openrewrite.launchdarkly.search.FindFeatureFlag](https://docs.openrewrite.org/recipes/launchdarkly/search/findfeatureflag): Find a LaunchDarkly feature flag. +* [org.openrewrite.okhttp.UpgradeOkHttp4](https://docs.openrewrite.org/recipes/okhttp/upgradeokhttp4): This recipe will apply changes commonly needed when migrating to OkHttp 4.x. +* [org.openrewrite.okhttp.UpgradeOkHttp4Dependencies](https://docs.openrewrite.org/recipes/okhttp/upgradeokhttp4dependencies): Migrate OkHttp dependencies to 4.x. +* [org.openrewrite.properties.CreatePropertiesFile](https://docs.openrewrite.org/recipes/properties/createpropertiesfile): Create a new Properties file. +* [org.openrewrite.xml.CreateXmlFile](https://docs.openrewrite.org/recipes/xml/createxmlfile): Create a new XML file. +* [org.openrewrite.xml.RemoveEmptyXmlTags](https://docs.openrewrite.org/recipes/xml/removeemptyxmltags): Removes XML tags that do not have attributes or children, including self closing tags. +* [org.openrewrite.yaml.CreateYamlFile](https://docs.openrewrite.org/recipes/yaml/createyamlfile): Create a new YAML file. + +## Removed Recipes + +* **org.openrewrite.java.migrate.jakarta.ChangeJavaxAnnotationToJakarta**: Java EE has been rebranded to Jakarta EE, necessitating a package relocation. Excludes `javax.annotation.processing`. +* **org.openrewrite.java.migrate.jakarta.JavaxAnnotationPackageToJakarta**: Change type of classes in the `javax.annotation` package to jakarta. +* **org.openrewrite.java.migrate.jakarta.RemoveMethods**: Checks for a method patterns and removes the method call from the class +* **org.openrewrite.java.migrate.lang.RemoveThreadDestroyMethod**: Remove deprecated invocations of `Thread.destroy()` which have no alternatives needed. +* **org.openrewrite.java.spring.cloud2022.MavenPomUpgrade**: Upgrade Maven POM to Spring Cloud 2022 from prior 2021.x version. +* **org.openrewrite.launchdarkly.UpgradeLaunchDarkly6Dependencies**: Migrate LaunchDarkly dependencies to 6.x. + +## Changed Recipes + +* [org.openrewrite.java.dependencies.DependencyResolutionDiagnostic](https://docs.openrewrite.org/recipes/java/dependencies/dependencyresolutiondiagnostic) was changed: + * Old Options: + * `None` + * New Options: + * `artifactId: { type: String, required: false }` + * `groupId: { type: String, required: false }` + * `version: { type: String, required: false }` +* [org.openrewrite.kotlin.FindKotlinSources](https://docs.openrewrite.org/recipes/kotlin/findkotlinsources) was changed: + * Old Options: + * `None` + * New Options: + * `markCompilationUnits: { type: Boolean, required: false }` \ No newline at end of file diff --git a/src/main/resources/recipeDescriptors.yml b/src/main/resources/recipeDescriptors.yml index cef3b41..5e43101 100644 --- a/src/main/resources/recipeDescriptors.yml +++ b/src/main/resources/recipeDescriptors.yml @@ -1,6 +1,6 @@ rewrite-analysis: artifactId: "rewrite-analysis" - version: "2.1.0" + version: "2.1.3" markdownRecipeDescriptors: org.openrewrite.analysis.controlflow.ControlFlowVisualization: name: "org.openrewrite.analysis.controlflow.ControlFlowVisualization" @@ -63,7 +63,7 @@ rewrite-analysis: artifactId: "rewrite-analysis" rewrite-circleci: artifactId: "rewrite-circleci" - version: "2.0.6" + version: "2.0.9" markdownRecipeDescriptors: org.openrewrite.circleci.InstallOrb: name: "org.openrewrite.circleci.InstallOrb" @@ -91,7 +91,7 @@ rewrite-circleci: artifactId: "rewrite-circleci" rewrite-cloud-suitability-analyzer: artifactId: "rewrite-cloud-suitability-analyzer" - version: "2.0.6" + version: "2.0.9" markdownRecipeDescriptors: org.openrewrite.cloudsuitability.FindCacheUses: name: "org.openrewrite.cloudsuitability.FindCacheUses" @@ -269,7 +269,7 @@ rewrite-cloud-suitability-analyzer: artifactId: "rewrite-cloud-suitability-analyzer" rewrite-concourse: artifactId: "rewrite-concourse" - version: "2.0.6" + version: "2.0.9" markdownRecipeDescriptors: org.openrewrite.concourse.ChangeResourceVersion: name: "org.openrewrite.concourse.ChangeResourceVersion" @@ -349,7 +349,7 @@ rewrite-concourse: artifactId: "rewrite-concourse" rewrite-core: artifactId: "rewrite-core" - version: "8.9.6" + version: "8.11.0" markdownRecipeDescriptors: org.openrewrite.DeleteSourceFiles: name: "org.openrewrite.DeleteSourceFiles" @@ -428,7 +428,7 @@ rewrite-core: name: "org.openrewrite.IsInRepository" description: "A search recipe which marks files that are in a repository with\ \ one of the supplied names. Intended for use as a precondition for other\ - \ recipes being run over many different repositories" + \ recipes being run over many different repositories." docLink: "https://docs.openrewrite.org/recipes/isinrepository" options: - name: "allowedRepositories" @@ -541,7 +541,9 @@ rewrite-core: artifactId: "rewrite-core" org.openrewrite.text.ChangeText: name: "org.openrewrite.text.ChangeText" - description: "Completely replaces the contents of the text file with other text." + description: "Completely replaces the contents of the text file with other text.\ + \ Use together with a `FindSourceFiles` precondition to limit which files\ + \ are changed." docLink: "https://docs.openrewrite.org/recipes/text/changetext" options: - name: "toText" @@ -653,7 +655,7 @@ rewrite-core: artifactId: "rewrite-core" rewrite-cucumber-jvm: artifactId: "rewrite-cucumber-jvm" - version: "1.0.9" + version: "1.0.11" markdownRecipeDescriptors: org.openrewrite.cucumber.jvm.CucumberAnnotationToSuite: name: "org.openrewrite.cucumber.jvm.CucumberAnnotationToSuite" @@ -732,7 +734,7 @@ rewrite-cucumber-jvm: artifactId: "rewrite-cucumber-jvm" rewrite-github-actions: artifactId: "rewrite-github-actions" - version: "2.0.7" + version: "2.0.10" markdownRecipeDescriptors: org.openrewrite.github.AddCronTrigger: name: "org.openrewrite.github.AddCronTrigger" @@ -868,7 +870,7 @@ rewrite-github-actions: artifactId: "rewrite-github-actions" rewrite-gradle: artifactId: "rewrite-gradle" - version: "8.9.6" + version: "8.11.0" markdownRecipeDescriptors: org.openrewrite.gradle.AddDependency: name: "org.openrewrite.gradle.AddDependency" @@ -1437,7 +1439,7 @@ rewrite-gradle: artifactId: "rewrite-gradle" rewrite-groovy: artifactId: "rewrite-groovy" - version: "8.9.6" + version: "8.11.0" markdownRecipeDescriptors: org.openrewrite.groovy.format.OmitParenthesesForLastArgumentLambda: name: "org.openrewrite.groovy.format.OmitParenthesesForLastArgumentLambda" @@ -1456,7 +1458,7 @@ rewrite-groovy: artifactId: "rewrite-groovy" rewrite-hcl: artifactId: "rewrite-hcl" - version: "8.9.6" + version: "8.11.0" markdownRecipeDescriptors: org.openrewrite.hcl.DeleteContent: name: "org.openrewrite.hcl.DeleteContent" @@ -1540,7 +1542,7 @@ rewrite-hcl: artifactId: "rewrite-hcl" rewrite-hibernate: artifactId: "rewrite-hibernate" - version: "1.0.7" + version: "1.0.9" markdownRecipeDescriptors: org.openrewrite.hibernate.MigrateToHibernate61: name: "org.openrewrite.hibernate.MigrateToHibernate61" @@ -1607,7 +1609,7 @@ rewrite-hibernate: artifactId: "rewrite-hibernate" rewrite-java: artifactId: "rewrite-java" - version: "8.9.6" + version: "8.11.0" markdownRecipeDescriptors: org.openrewrite.java.AddApache2LicenseHeader: name: "org.openrewrite.java.AddApache2LicenseHeader" @@ -1799,6 +1801,31 @@ rewrite-java: required: true isImperative: true artifactId: "rewrite-java" + org.openrewrite.java.CreateEmptyJavaClass: + name: "org.openrewrite.java.CreateEmptyJavaClass" + description: "Create a new, empty Java class." + docLink: "https://docs.openrewrite.org/recipes/java/createemptyjavaclass" + options: + - name: "className" + type: "String" + required: true + - name: "modifier" + type: "String" + required: true + - name: "overwriteExisting" + type: "Boolean" + required: false + - name: "packageName" + type: "String" + required: true + - name: "relativePath" + type: "String" + required: false + - name: "sourceRoot" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-java" org.openrewrite.java.DeleteMethodArgument: name: "org.openrewrite.java.DeleteMethodArgument" description: "Delete an argument from method invocations." @@ -2197,8 +2224,9 @@ rewrite-java: artifactId: "rewrite-java" org.openrewrite.java.recipes.RemoveApplicabilityTestFromYamlRecipe: name: "org.openrewrite.java.recipes.RemoveApplicabilityTestFromYamlRecipe" - description: "Remove the applicability test from the YAML recipe when migrating\ - \ from Rewrite 7 to 8, as these have been replaced by preconditions." + description: "Removes any-source applicability tests from YAML recipes, as the\ + \ are no longer supported in Rewrite 8 and migrates single-source applicability\ + \ tests to preconditions." docLink: "https://docs.openrewrite.org/recipes/java/recipes/removeapplicabilitytestfromyamlrecipe" options: [] isImperative: true @@ -2477,7 +2505,7 @@ rewrite-java: artifactId: "rewrite-java" org.openrewrite.java.search.FindMethods: name: "org.openrewrite.java.search.FindMethods" - description: "Find method usages by pattern." + description: "Find method calls by pattern." docLink: "https://docs.openrewrite.org/recipes/java/search/findmethods" options: - name: "matchOverrides" @@ -2510,6 +2538,13 @@ rewrite-java: options: [] isImperative: false artifactId: "rewrite-java" + org.openrewrite.java.search.FindTypeMappings: + name: "org.openrewrite.java.search.FindTypeMappings" + description: "Find types mapped to J trees." + docLink: "https://docs.openrewrite.org/recipes/java/search/findtypemappings" + options: [] + isImperative: true + artifactId: "rewrite-java" org.openrewrite.java.search.FindTypes: name: "org.openrewrite.java.search.FindTypes" description: "Find type references by name." @@ -2603,7 +2638,7 @@ rewrite-java: artifactId: "rewrite-java" rewrite-java-dependencies: artifactId: "rewrite-java-dependencies" - version: "1.2.0" + version: "1.2.4" markdownRecipeDescriptors: org.openrewrite.java.dependencies.AddDependency: name: "org.openrewrite.java.dependencies.AddDependency" @@ -2744,7 +2779,16 @@ rewrite-java-dependencies: \ when the project was parsed. This is representative of conditions at the\ \ time the LST was parsed." docLink: "https://docs.openrewrite.org/recipes/java/dependencies/dependencyresolutiondiagnostic" - options: [] + options: + - name: "artifactId" + type: "String" + required: false + - name: "groupId" + type: "String" + required: false + - name: "version" + type: "String" + required: false isImperative: true artifactId: "rewrite-java-dependencies" org.openrewrite.java.dependencies.DependencyVulnerabilityCheck: @@ -2794,6 +2838,14 @@ rewrite-java-dependencies: required: false isImperative: true artifactId: "rewrite-java-dependencies" + org.openrewrite.java.dependencies.RemoveExpiredSuppressions: + name: "org.openrewrite.java.dependencies.RemoveExpiredSuppressions" + description: "Remove expired vulnerability suppressions from `DependencyCheck`\ + \ `suppression.xml` files." + docLink: "https://docs.openrewrite.org/recipes/java/dependencies/removeexpiredsuppressions" + options: [] + isImperative: true + artifactId: "rewrite-java-dependencies" org.openrewrite.java.dependencies.UpgradeDependencyVersion: name: "org.openrewrite.java.dependencies.UpgradeDependencyVersion" description: "For Gradle projects, upgrade the version of a dependency in a\ @@ -2828,7 +2880,7 @@ rewrite-java-dependencies: artifactId: "rewrite-java-dependencies" rewrite-java-security: artifactId: "rewrite-java-security" - version: "2.1.0" + version: "2.1.2" markdownRecipeDescriptors: org.openrewrite.java.security.FindTextDirectionChanges: name: "org.openrewrite.java.security.FindTextDirectionChanges" @@ -2844,6 +2896,14 @@ rewrite-java-security: options: [] isImperative: true artifactId: "rewrite-java-security" + org.openrewrite.java.security.FixCwe338: + name: "org.openrewrite.java.security.FixCwe338" + description: "Use a cryptographically strong pseudo-random number generator\ + \ (PRNG)." + docLink: "https://docs.openrewrite.org/recipes/java/security/fixcwe338" + options: [] + isImperative: true + artifactId: "rewrite-java-security" org.openrewrite.java.security.ImproperPrivilegeManagement: name: "org.openrewrite.java.security.ImproperPrivilegeManagement" description: "Marking code as privileged enables a piece of trusted code to\ @@ -3301,7 +3361,7 @@ rewrite-java-security: artifactId: "rewrite-java-security" rewrite-jenkins: artifactId: "rewrite-jenkins" - version: "0.2.4" + version: "0.2.7" markdownRecipeDescriptors: org.openrewrite.jenkins.AddPluginsBom: name: "org.openrewrite.jenkins.AddPluginsBom" @@ -3442,21 +3502,9 @@ rewrite-jenkins: options: [] isImperative: false artifactId: "rewrite-jenkins" -rewrite-jhipster: - artifactId: "rewrite-jhipster" - version: "2.0.6" - markdownRecipeDescriptors: - org.openrewrite.java.jhipster.FixCwe338: - name: "org.openrewrite.java.jhipster.FixCwe338" - description: "Use a cryptographically strong pseudo-random number generator\ - \ (PRNG)." - docLink: "https://docs.openrewrite.org/recipes/java/jhipster/fixcwe338" - options: [] - isImperative: true - artifactId: "rewrite-jhipster" rewrite-json: artifactId: "rewrite-json" - version: "8.9.6" + version: "8.11.0" markdownRecipeDescriptors: org.openrewrite.json.ChangeKey: name: "org.openrewrite.json.ChangeKey" @@ -3506,14 +3554,17 @@ rewrite-json: artifactId: "rewrite-json" rewrite-kotlin: artifactId: "rewrite-kotlin" - version: "1.7.5" + version: "1.8.0" markdownRecipeDescriptors: org.openrewrite.kotlin.FindKotlinSources: name: "org.openrewrite.kotlin.FindKotlinSources" description: "Use data table to collect source files types and counts of files\ \ with extensions `.kt`." docLink: "https://docs.openrewrite.org/recipes/kotlin/findkotlinsources" - options: [] + options: + - name: "markCompilationUnits" + type: "Boolean" + required: false isImperative: true artifactId: "rewrite-kotlin" org.openrewrite.kotlin.RenameTypeAlias: @@ -3588,7 +3639,7 @@ rewrite-kotlin: artifactId: "rewrite-kotlin" rewrite-kubernetes: artifactId: "rewrite-kubernetes" - version: "2.0.6" + version: "2.0.9" markdownRecipeDescriptors: org.openrewrite.kubernetes.AddConfiguration: name: "org.openrewrite.kubernetes.AddConfiguration" @@ -4047,8 +4098,44 @@ rewrite-kubernetes: artifactId: "rewrite-kubernetes" rewrite-launchdarkly: artifactId: "rewrite-launchdarkly" - version: "0.0.1" + version: "0.0.3" markdownRecipeDescriptors: + org.openrewrite.launchdarkly.ChangeVariationDefault: + name: "org.openrewrite.launchdarkly.ChangeVariationDefault" + description: "Change the default value for `Variation` invocations for feature\ + \ key." + docLink: "https://docs.openrewrite.org/recipes/launchdarkly/changevariationdefault" + options: + - name: "defaultValue" + type: "String" + required: true + - name: "featureKey" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-launchdarkly" + org.openrewrite.launchdarkly.MigrateUserToContext: + name: "org.openrewrite.launchdarkly.MigrateUserToContext" + description: "Migrate from `LDUser` and `LDUser.Builder` to `LDContext` and\ + \ `ContextBuilder`." + docLink: "https://docs.openrewrite.org/recipes/launchdarkly/migrateusertocontext" + options: [] + isImperative: true + artifactId: "rewrite-launchdarkly" + org.openrewrite.launchdarkly.RemoveBoolVariation: + name: "org.openrewrite.launchdarkly.RemoveBoolVariation" + description: "Replace `boolVariation` invocations for feature key with value,\ + \ and simplify constant if branch execution." + docLink: "https://docs.openrewrite.org/recipes/launchdarkly/removeboolvariation" + options: + - name: "featureKey" + type: "String" + required: true + - name: "replacementValue" + type: "Boolean" + required: true + isImperative: true + artifactId: "rewrite-launchdarkly" org.openrewrite.launchdarkly.UpgradeLaunchDarkly6: name: "org.openrewrite.launchdarkly.UpgradeLaunchDarkly6" description: "This recipe will apply changes commonly needed when migrating\ @@ -4057,16 +4144,30 @@ rewrite-launchdarkly: options: [] isImperative: false artifactId: "rewrite-launchdarkly" - org.openrewrite.launchdarkly.UpgradeLaunchDarkly6Dependencies: - name: "org.openrewrite.launchdarkly.UpgradeLaunchDarkly6Dependencies" - description: "Migrate LaunchDarkly dependencies to 6.x." - docLink: "https://docs.openrewrite.org/recipes/launchdarkly/upgradelaunchdarkly6dependencies" + org.openrewrite.launchdarkly.UpgradeLaunchDarkly7: + name: "org.openrewrite.launchdarkly.UpgradeLaunchDarkly7" + description: "This recipe will apply changes commonly needed when migrating\ + \ to LaunchDarkly 7.x." + docLink: "https://docs.openrewrite.org/recipes/launchdarkly/upgradelaunchdarkly7" options: [] isImperative: false artifactId: "rewrite-launchdarkly" + org.openrewrite.launchdarkly.search.FindFeatureFlag: + name: "org.openrewrite.launchdarkly.search.FindFeatureFlag" + description: "Find a LaunchDarkly feature flag." + docLink: "https://docs.openrewrite.org/recipes/launchdarkly/search/findfeatureflag" + options: + - name: "featureKey" + type: "String" + required: false + - name: "flagType" + type: "FeatureFlagType" + required: false + isImperative: true + artifactId: "rewrite-launchdarkly" rewrite-liberty: artifactId: "rewrite-liberty" - version: "1.0.3" + version: "1.0.5" markdownRecipeDescriptors: org.openrewrite.java.liberty: name: "org.openrewrite.java.liberty" @@ -4149,8 +4250,19 @@ rewrite-liberty: artifactId: "rewrite-liberty" rewrite-logging-frameworks: artifactId: "rewrite-logging-frameworks" - version: "2.1.0" + version: "2.2.1" markdownRecipeDescriptors: + org.openrewrite.java.logging.ChangeLombokLogAnnotation: + name: "org.openrewrite.java.logging.ChangeLombokLogAnnotation" + description: "Replace Lombok annotations such as `@CommonsLog` and `@Log4j`\ + \ with the target logging framework annotation, or `@Sl4fj` if not provided." + docLink: "https://docs.openrewrite.org/recipes/java/logging/changelomboklogannotation" + options: + - name: "loggingFramework" + type: "String" + required: false + isImperative: true + artifactId: "rewrite-logging-frameworks" org.openrewrite.java.logging.ParameterizedLogging: name: "org.openrewrite.java.logging.ParameterizedLogging" description: "Transform logging statements using concatenation for messages\ @@ -4323,6 +4435,14 @@ rewrite-logging-frameworks: required: true isImperative: true artifactId: "rewrite-logging-frameworks" + org.openrewrite.java.logging.slf4j.CommonsLogging1ToSlf4j1: + name: "org.openrewrite.java.logging.slf4j.CommonsLogging1ToSlf4j1" + description: "Transforms usages of Apache Commons Logging 1.x to leveraging\ + \ SLF4J 1.x directly." + docLink: "https://docs.openrewrite.org/recipes/java/logging/slf4j/commonslogging1toslf4j1" + options: [] + isImperative: false + artifactId: "rewrite-logging-frameworks" org.openrewrite.java.logging.slf4j.CompleteExceptionLogging: name: "org.openrewrite.java.logging.slf4j.CompleteExceptionLogging" description: "It is a common mistake to call `Exception.getMessage()` when passing\ @@ -4400,7 +4520,7 @@ rewrite-logging-frameworks: artifactId: "rewrite-logging-frameworks" rewrite-maven: artifactId: "rewrite-maven" - version: "8.9.6" + version: "8.11.0" markdownRecipeDescriptors: org.openrewrite.maven.AddCommentToMavenDependency: name: "org.openrewrite.maven.AddCommentToMavenDependency" @@ -5429,7 +5549,7 @@ rewrite-maven: artifactId: "rewrite-maven" rewrite-micrometer: artifactId: "rewrite-micrometer" - version: "0.0.4" + version: "0.0.6" markdownRecipeDescriptors: org.openrewrite.micrometer.TimerToObservation: name: "org.openrewrite.micrometer.TimerToObservation" @@ -5470,7 +5590,7 @@ rewrite-micrometer: artifactId: "rewrite-micrometer" rewrite-micronaut: artifactId: "rewrite-micronaut" - version: "2.1.5" + version: "2.1.7" markdownRecipeDescriptors: org.openrewrite.java.micronaut.AddAnnotationProcessorPath: name: "org.openrewrite.java.micronaut.AddAnnotationProcessorPath" @@ -5814,7 +5934,7 @@ rewrite-micronaut: artifactId: "rewrite-micronaut" rewrite-migrate-java: artifactId: "rewrite-migrate-java" - version: "2.3.0" + version: "2.4.1" markdownRecipeDescriptors: org.openrewrite.java.migrate.AddJDeprScanPlugin: name: "org.openrewrite.java.migrate.AddJDeprScanPlugin" @@ -5854,6 +5974,23 @@ rewrite-migrate-java: required: false isImperative: true artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.BeanDiscovery: + name: "org.openrewrite.java.migrate.BeanDiscovery" + description: "Alters beans with missing version attribute to include this attribute\ + \ as well as the bean-discovery-mode=\"all\" attribute to maintain an explicit\ + \ bean archive." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/beandiscovery" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.BeansXmlNamespace: + name: "org.openrewrite.java.migrate.BeansXmlNamespace" + description: "Set the `schemaLocation` that corresponds to the `xmlns` set in\ + \ `beans.xml` files." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/beansxmlnamespace" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.ChangeMethodInvocationReturnType: name: "org.openrewrite.java.migrate.ChangeMethodInvocationReturnType" description: "Changes the return type of a method invocation." @@ -5911,6 +6048,13 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.JREDoNotUseSunNetSslAPIs: + name: "org.openrewrite.java.migrate.JREDoNotUseSunNetSslAPIs" + description: "Do not use APIs from `com.sun.net.ssl` packages." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/jredonotusesunnetsslapis" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.JREDoNotUseSunNetSslInternalSslProvider: name: "org.openrewrite.java.migrate.JREDoNotUseSunNetSslInternalSslProvider" description: "Do not use the `com.sun.net.ssl.internal.ssl.Provider` class." @@ -5999,6 +6143,17 @@ rewrite-migrate-java: options: [] isImperative: true artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.RemoveMethodInvocation: + name: "org.openrewrite.java.migrate.RemoveMethodInvocation" + description: "Checks for a method patterns and removes the method call from\ + \ the class." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/removemethodinvocation" + options: + - name: "methodPattern" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.RemovedLegacySunJSSEProviderName: name: "org.openrewrite.java.migrate.RemovedLegacySunJSSEProviderName" description: "The `com.sun.net.ssl.internal.ssl.Provider` provider name was\ @@ -6794,13 +6949,12 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" - org.openrewrite.java.migrate.jakarta.ChangeJavaxAnnotationToJakarta: - name: "org.openrewrite.java.migrate.jakarta.ChangeJavaxAnnotationToJakarta" - description: "Java EE has been rebranded to Jakarta EE, necessitating a package\ - \ relocation. Excludes `javax.annotation.processing`." - docLink: "https://docs.openrewrite.org/recipes/java/migrate/jakarta/changejavaxannotationtojakarta" + org.openrewrite.java.migrate.jakarta.ApplicationPathWildcardNoLongerAccepted: + name: "org.openrewrite.java.migrate.jakarta.ApplicationPathWildcardNoLongerAccepted" + description: "Remove trailing `/*` from `jakarta.ws.rs.ApplicationPath` values." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/jakarta/applicationpathwildcardnolongeraccepted" options: [] - isImperative: false + isImperative: true artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.jakarta.EhcacheJavaxToJakarta: name: "org.openrewrite.java.migrate.jakarta.EhcacheJavaxToJakarta" @@ -6820,6 +6974,14 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.jakarta.FacesManagedBeansRemoved: + name: "org.openrewrite.java.migrate.jakarta.FacesManagedBeansRemoved" + description: "This recipe substitutes Faces Managed Beans, which were deprecated\ + \ in JavaServer Faces 2.3 and have been removed from Jakarta Faces 4.0.\n" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/jakarta/facesmanagedbeansremoved" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.jakarta.JacksonJavaxToJakarta: name: "org.openrewrite.java.migrate.jakarta.JacksonJavaxToJakarta" description: "Java EE has been rebranded to Jakarta EE. This recipe replaces\ @@ -6853,13 +7015,6 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" - org.openrewrite.java.migrate.jakarta.JavaxAnnotationPackageToJakarta: - name: "org.openrewrite.java.migrate.jakarta.JavaxAnnotationPackageToJakarta" - description: "Change type of classes in the `javax.annotation` package to jakarta." - docLink: "https://docs.openrewrite.org/recipes/java/migrate/jakarta/javaxannotationpackagetojakarta" - options: [] - isImperative: false - artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.jakarta.JavaxAnnotationSecurityPackageToJakarta: name: "org.openrewrite.java.migrate.jakarta.JavaxAnnotationSecurityPackageToJakarta" description: "Change type of classes in the `javax.annotation.security` package\ @@ -7110,17 +7265,6 @@ rewrite-migrate-java: options: [] isImperative: true artifactId: "rewrite-migrate-java" - org.openrewrite.java.migrate.jakarta.RemoveMethods: - name: "org.openrewrite.java.migrate.jakarta.RemoveMethods" - description: "Checks for a method patterns and removes the method call from\ - \ the class" - docLink: "https://docs.openrewrite.org/recipes/java/migrate/jakarta/removemethods" - options: - - name: "methodPattern" - type: "String" - required: true - isImperative: true - artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.jakarta.RemovedIsParmetersProvidedMethod: name: "org.openrewrite.java.migrate.jakarta.RemovedIsParmetersProvidedMethod" description: "Expression Language prior to 5.0 provides the deprecated MethodExpression.isParmetersProvided()\ @@ -7197,6 +7341,14 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.jakarta.UpdateApacheWSSecurityPackages: + name: "org.openrewrite.java.migrate.jakarta.UpdateApacheWSSecurityPackages" + description: "Java EE has been rebranded to Jakarta EE. This recipe replaces\ + \ Apache security packages to migrate to Apache `wss4j`\n" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/jakarta/updateapachewssecuritypackages" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.jakarta.WsWsocServerContainerDeprecation: name: "org.openrewrite.java.migrate.jakarta.WsWsocServerContainerDeprecation" description: "Deprecated `WsWsocServerContainer.doUpgrade(..)` is replaced by\ @@ -7205,6 +7357,50 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.javaee7: + name: "org.openrewrite.java.migrate.javaee7" + description: "These recipes help with the Migration to Java EE 7, flagging and\ + \ updating deprecated methods." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/javaee7" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.javaee7.OpenJPAPersistenceProvider: + name: "org.openrewrite.java.migrate.javaee7.OpenJPAPersistenceProvider" + description: "When migrating to EclipseLink, using OpenJPA providers in EclipseLink\ + \ results in runtime errors. To resolve these errors, the recipe removes\ + \ the flagged OpenJPA provider from the persistence.xml.\n" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/javaee7/openjpapersistenceprovider" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.javaee8: + name: "org.openrewrite.java.migrate.javaee8" + description: "These recipes help with the Migration to Java EE 8, flagging and\ + \ updating deprecated methods." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/javaee8" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.javaee8.ApacheDefaultProvider: + name: "org.openrewrite.java.migrate.javaee8.ApacheDefaultProvider" + description: "This recipe flags any `org.apache.bval.jsr*` (bval 1.1) and `org.apache.bval.jsr303*`\ + \ (bval 1.0) package references in validation.xml deployment descriptors.\ + \ Bean Validation 2.0 and later use the Hibernate Validator implementation\ + \ instead of the Apache BVal implementation which was used for Bean Validation\ + \ 1.0 and 1.1\n" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/javaee8/apachedefaultprovider" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.javaee8.ServletIsRequestedSessionIdFromURL: + name: "org.openrewrite.java.migrate.javaee8.ServletIsRequestedSessionIdFromURL" + description: "The method `HttpServletRequestWrapper.isRequestedSessionIdFromUrl()`\ + \ is deprecated in JavaEE8 and is replaced by `HttpServletRequestWrapper.isRequestedSessionIdFromURL()`" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/javaee8/servletisrequestedsessionidfromurl" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.javax.AddInjectDependencies: name: "org.openrewrite.java.migrate.javax.AddInjectDependencies" description: "This recipe will add the necessary `inject-api` dependency from\ @@ -7245,7 +7441,7 @@ rewrite-migrate-java: name: "org.openrewrite.java.migrate.javax.AddJaxwsDependencies" description: "This recipe will add explicit dependencies for Jakarta EE 8 when\ \ a Java 8 application is using JAX-WS. Any existing dependencies will be\ - \ upgraded to the latest version of Jakarta EE 8. **The artifacts are moved\ + \ upgraded to the latest version of Jakarta EE 8. The artifacts are moved\ \ to Jakarta EE 8 but the application can continue to use the `javax.xml.bind`\ \ namespace.\n" docLink: "https://docs.openrewrite.org/recipes/java/migrate/javax/addjaxwsdependencies" @@ -7510,14 +7706,6 @@ rewrite-migrate-java: options: [] isImperative: true artifactId: "rewrite-migrate-java" - org.openrewrite.java.migrate.lang.RemoveThreadDestroyMethod: - name: "org.openrewrite.java.migrate.lang.RemoveThreadDestroyMethod" - description: "Remove deprecated invocations of `Thread.destroy()` which have\ - \ no alternatives needed." - docLink: "https://docs.openrewrite.org/recipes/java/migrate/lang/removethreaddestroymethod" - options: [] - isImperative: true - artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.lang.StringFormatted: name: "org.openrewrite.java.migrate.lang.StringFormatted" description: "Prefer `String#formatted(Object...)` over `String#format(String,\ @@ -7563,6 +7751,16 @@ rewrite-migrate-java: options: [] isImperative: true artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.lang.ThreadStopUnsupported: + name: "org.openrewrite.java.migrate.lang.ThreadStopUnsupported" + description: "`Thread.stop()` always throws a `new UnsupportedOperationException`\ + \ in Java 21+. This recipe makes that explicit, as the migration is more complicated.See\ + \ https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/doc-files/threadPrimitiveDeprecation.html\ + \ ." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/lang/threadstopunsupported" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.lang.UseStringIsEmptyRecipe: name: "org.openrewrite.java.migrate.lang.UseStringIsEmptyRecipe" description: "Replace `0 < s.length()` and `s.length() != 0` with `!s.isEmpty()`." @@ -7674,8 +7872,9 @@ rewrite-migrate-java: artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.lombok.LombokValToFinalVar: name: "org.openrewrite.java.migrate.lombok.LombokValToFinalVar" - description: "Prefer the Java standard library's `final var` over third-party\ - \ usage of Lombok's `lombok.val` in Java 10 or higher." + description: "Prefer the Java standard library's `final var` and `var` over\ + \ third-party usage of Lombok's `lombok.val` and `lombok.var` in Java 10 or\ + \ higher." docLink: "https://docs.openrewrite.org/recipes/java/migrate/lombok/lombokvaltofinalvar" options: [] isImperative: true @@ -7886,6 +8085,36 @@ rewrite-migrate-java: options: [] isImperative: true artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes: + name: "org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes" + description: "Refaster template recipes for `org.openrewrite.java.migrate.net.URLConstructorsToURI`." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLFourArgumentConstructorRecipe: + name: "org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLFourArgumentConstructorRecipe" + description: "Converts `new URL(String, String, int, String)` constructors to\ + \ `new URI(...).toURL()`." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes$urlfourargumentconstructorrecipe" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLSingleArgumentConstructorRecipe: + name: "org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLSingleArgumentConstructorRecipe" + description: "Converts `new URL(String)` constructors to `URI.create(String).toURL()`." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes$urlsingleargumentconstructorrecipe" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLThreeArgumentConstructorRecipe: + name: "org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLThreeArgumentConstructorRecipe" + description: "Converts `new URL(String, String, String)` constructors to `new\ + \ URI(...).toURL()`." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes$urlthreeargumentconstructorrecipe" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.plexus.PlexusFileUtilsRecipes: name: "org.openrewrite.java.migrate.plexus.PlexusFileUtilsRecipes" description: "Refaster template recipes for `org.openrewrite.java.migrate.plexus.PlexusFileUtils`." @@ -8068,6 +8297,13 @@ rewrite-migrate-java: required: true isImperative: true artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.search.FindJavaVersion: + name: "org.openrewrite.java.migrate.search.FindJavaVersion" + description: "Finds Java versions in use." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/search/findjavaversion" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.sql.JavaSqlAPIs: name: "org.openrewrite.java.migrate.sql.JavaSqlAPIs" description: "Certain Java sql APIs have become deprecated and their usages\ @@ -8233,7 +8469,7 @@ rewrite-migrate-java: artifactId: "rewrite-migrate-java" rewrite-okhttp: artifactId: "rewrite-okhttp" - version: "0.0.4" + version: "0.0.6" markdownRecipeDescriptors: org.openrewrite.okhttp.ReorderRequestBodyCreateArguments: name: "org.openrewrite.okhttp.ReorderRequestBodyCreateArguments" @@ -8243,6 +8479,21 @@ rewrite-okhttp: options: [] isImperative: false artifactId: "rewrite-okhttp" + org.openrewrite.okhttp.UpgradeOkHttp4: + name: "org.openrewrite.okhttp.UpgradeOkHttp4" + description: "This recipe will apply changes commonly needed when migrating\ + \ to OkHttp 4.x." + docLink: "https://docs.openrewrite.org/recipes/okhttp/upgradeokhttp4" + options: [] + isImperative: false + artifactId: "rewrite-okhttp" + org.openrewrite.okhttp.UpgradeOkHttp4Dependencies: + name: "org.openrewrite.okhttp.UpgradeOkHttp4Dependencies" + description: "Migrate OkHttp dependencies to 4.x." + docLink: "https://docs.openrewrite.org/recipes/okhttp/upgradeokhttp4dependencies" + options: [] + isImperative: false + artifactId: "rewrite-okhttp" org.openrewrite.okhttp.UpgradeOkHttp5: name: "org.openrewrite.okhttp.UpgradeOkHttp5" description: "This recipe will apply changes commonly needed when migrating\ @@ -8275,7 +8526,7 @@ rewrite-okhttp: artifactId: "rewrite-okhttp" rewrite-properties: artifactId: "rewrite-properties" - version: "8.9.6" + version: "8.11.0" markdownRecipeDescriptors: org.openrewrite.properties.AddProperty: name: "org.openrewrite.properties.AddProperty" @@ -8336,6 +8587,22 @@ rewrite-properties: required: false isImperative: true artifactId: "rewrite-properties" + org.openrewrite.properties.CreatePropertiesFile: + name: "org.openrewrite.properties.CreatePropertiesFile" + description: "Create a new Properties file." + docLink: "https://docs.openrewrite.org/recipes/properties/createpropertiesfile" + options: + - name: "fileContents" + type: "String" + required: false + - name: "overwriteExisting" + type: "Boolean" + required: false + - name: "relativeFileName" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-properties" org.openrewrite.properties.DeleteProperty: name: "org.openrewrite.properties.DeleteProperty" description: "Deletes key/value pairs from properties files." @@ -8364,7 +8631,7 @@ rewrite-properties: artifactId: "rewrite-properties" rewrite-python: artifactId: "rewrite-python" - version: "1.2.0" + version: "1.2.3" markdownRecipeDescriptors: org.openrewrite.python.ChangeMethodName: name: "org.openrewrite.python.ChangeMethodName" @@ -8409,7 +8676,7 @@ rewrite-python: artifactId: "rewrite-python" rewrite-quarkus: artifactId: "rewrite-quarkus" - version: "2.0.6" + version: "2.0.9" markdownRecipeDescriptors: org.openrewrite.quarkus.ConfigPropertiesToConfigMapping: name: "org.openrewrite.quarkus.ConfigPropertiesToConfigMapping" @@ -8513,7 +8780,7 @@ rewrite-quarkus: artifactId: "rewrite-quarkus" rewrite-recommendations: artifactId: "rewrite-recommendations" - version: "1.0.5" + version: "1.0.7" markdownRecipeDescriptors: org.openrewrite.recommendations.CodeHealth: name: "org.openrewrite.recommendations.CodeHealth" @@ -8545,7 +8812,7 @@ rewrite-recommendations: artifactId: "rewrite-recommendations" rewrite-spring: artifactId: "rewrite-spring" - version: "5.1.2" + version: "5.1.5" markdownRecipeDescriptors: org.openrewrite.gradle.spring.AddSpringDependencyManagementPlugin: name: "org.openrewrite.gradle.spring.AddSpringDependencyManagementPlugin" @@ -9675,10 +9942,10 @@ rewrite-spring: options: [] isImperative: true artifactId: "rewrite-spring" - org.openrewrite.java.spring.cloud2022.MavenPomUpgrade: - name: "org.openrewrite.java.spring.cloud2022.MavenPomUpgrade" - description: "Upgrade Maven POM to Spring Cloud 2022 from prior 2021.x version." - docLink: "https://docs.openrewrite.org/recipes/java/spring/cloud2022/mavenpomupgrade" + org.openrewrite.java.spring.cloud2022.DependencyUpgrades: + name: "org.openrewrite.java.spring.cloud2022.DependencyUpgrades" + description: "Upgrade dependencies to Spring Cloud 2022 from prior 2021.x version." + docLink: "https://docs.openrewrite.org/recipes/java/spring/cloud2022/dependencyupgrades" options: [] isImperative: false artifactId: "rewrite-spring" @@ -9698,6 +9965,20 @@ rewrite-spring: options: [] isImperative: false artifactId: "rewrite-spring" + org.openrewrite.java.spring.cloud2023.DependencyUpgrades: + name: "org.openrewrite.java.spring.cloud2023.DependencyUpgrades" + description: "Upgrade dependencies to Spring Cloud 2023 from prior 2022.x version." + docLink: "https://docs.openrewrite.org/recipes/java/spring/cloud2023/dependencyupgrades" + options: [] + isImperative: false + artifactId: "rewrite-spring" + org.openrewrite.java.spring.cloud2023.UpgradeSpringCloud_2023: + name: "org.openrewrite.java.spring.cloud2023.UpgradeSpringCloud_2023" + description: "Migrate applications to the latest Spring Cloud 2023 release." + docLink: "https://docs.openrewrite.org/recipes/java/spring/cloud2023/upgradespringcloud_2023" + options: [] + isImperative: false + artifactId: "rewrite-spring" org.openrewrite.java.spring.data.MigrateJpaSort: name: "org.openrewrite.java.spring.data.MigrateJpaSort" description: "Equivalent constructors in `JpaSort` were deprecated in Spring\ @@ -10201,7 +10482,7 @@ rewrite-spring: artifactId: "rewrite-spring" rewrite-sql: artifactId: "rewrite-sql" - version: "1.0.5" + version: "1.0.8" markdownRecipeDescriptors: org.openrewrite.sql.FindSql: name: "org.openrewrite.sql.FindSql" @@ -10233,7 +10514,7 @@ rewrite-sql: artifactId: "rewrite-sql" rewrite-static-analysis: artifactId: "rewrite-static-analysis" - version: "1.1.0" + version: "1.1.2" markdownRecipeDescriptors: org.openrewrite.kotlin.StaticAnalysis: name: "org.openrewrite.kotlin.StaticAnalysis" @@ -11420,7 +11701,7 @@ rewrite-static-analysis: artifactId: "rewrite-static-analysis" rewrite-terraform: artifactId: "rewrite-terraform" - version: "2.0.6" + version: "2.0.9" markdownRecipeDescriptors: org.openrewrite.terraform.AddConfiguration: name: "org.openrewrite.terraform.AddConfiguration" @@ -12313,8 +12594,15 @@ rewrite-terraform: artifactId: "rewrite-terraform" rewrite-testing-frameworks: artifactId: "rewrite-testing-frameworks" - version: "2.1.0" + version: "2.1.2" markdownRecipeDescriptors: + org.openrewrite.java.testing.archunit.ArchUnit0to1Migration: + name: "org.openrewrite.java.testing.archunit.ArchUnit0to1Migration" + description: "Upgrade ArchUnit from 0.x to 1.x." + docLink: "https://docs.openrewrite.org/recipes/java/testing/archunit/archunit0to1migration" + options: [] + isImperative: false + artifactId: "rewrite-testing-frameworks" org.openrewrite.java.testing.assertj.AdoptAssertJDurationAssertions: name: "org.openrewrite.java.testing.assertj.AdoptAssertJDurationAssertions" description: "Adopt AssertJ `DurationAssert` assertions for more expressive\ @@ -13023,9 +13311,49 @@ rewrite-testing-frameworks: options: [] isImperative: false artifactId: "rewrite-testing-frameworks" + org.openrewrite.java.testing.testcontainers.ExplicitContainerImage: + name: "org.openrewrite.java.testing.testcontainers.ExplicitContainerImage" + description: "Set the image to use for a container explicitly if unset, rather\ + \ than relying on the default image for the container class." + docLink: "https://docs.openrewrite.org/recipes/java/testing/testcontainers/explicitcontainerimage" + options: + - name: "containerClass" + type: "String" + required: true + - name: "image" + type: "String" + required: true + - name: "parseImage" + type: "Boolean" + required: false + isImperative: true + artifactId: "rewrite-testing-frameworks" + org.openrewrite.java.testing.testcontainers.ExplicitContainerImages: + name: "org.openrewrite.java.testing.testcontainers.ExplicitContainerImages" + description: "Replace implicit default container images and versions with explicit\ + \ versions." + docLink: "https://docs.openrewrite.org/recipes/java/testing/testcontainers/explicitcontainerimages" + options: [] + isImperative: false + artifactId: "rewrite-testing-frameworks" + org.openrewrite.java.testing.testcontainers.GetHostMigration: + name: "org.openrewrite.java.testing.testcontainers.GetHostMigration" + description: "Replace `org.testcontainers.containers.ContainerState.getContainerIpAddress()`\ + \ with `getHost()`." + docLink: "https://docs.openrewrite.org/recipes/java/testing/testcontainers/gethostmigration" + options: [] + isImperative: false + artifactId: "rewrite-testing-frameworks" + org.openrewrite.java.testing.testcontainers.TestContainersBestPractices: + name: "org.openrewrite.java.testing.testcontainers.TestContainersBestPractices" + description: "Apply best practices to Testcontainers usage." + docLink: "https://docs.openrewrite.org/recipes/java/testing/testcontainers/testcontainersbestpractices" + options: [] + isImperative: false + artifactId: "rewrite-testing-frameworks" rewrite-xml: artifactId: "rewrite-xml" - version: "8.9.6" + version: "8.11.0" markdownRecipeDescriptors: org.openrewrite.xml.AddCommentToXmlTag: name: "org.openrewrite.xml.AddCommentToXmlTag" @@ -13111,6 +13439,30 @@ rewrite-xml: required: false isImperative: true artifactId: "rewrite-xml" + org.openrewrite.xml.CreateXmlFile: + name: "org.openrewrite.xml.CreateXmlFile" + description: "Create a new XML file." + docLink: "https://docs.openrewrite.org/recipes/xml/createxmlfile" + options: + - name: "fileContents" + type: "String" + required: false + - name: "overwriteExisting" + type: "Boolean" + required: false + - name: "relativeFileName" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-xml" + org.openrewrite.xml.RemoveEmptyXmlTags: + name: "org.openrewrite.xml.RemoveEmptyXmlTags" + description: "Removes XML tags that do not have attributes or children, including\ + \ self closing tags." + docLink: "https://docs.openrewrite.org/recipes/xml/removeemptyxmltags" + options: [] + isImperative: true + artifactId: "rewrite-xml" org.openrewrite.xml.RemoveTrailingWhitespace: name: "org.openrewrite.xml.RemoveTrailingWhitespace" description: "Remove any extra trailing whitespace from the end of each line." @@ -13231,7 +13583,7 @@ rewrite-xml: artifactId: "rewrite-xml" rewrite-yaml: artifactId: "rewrite-yaml" - version: "8.9.6" + version: "8.11.0" markdownRecipeDescriptors: org.openrewrite.yaml.AppendToSequence: name: "org.openrewrite.yaml.AppendToSequence" @@ -13359,6 +13711,22 @@ rewrite-yaml: required: true isImperative: true artifactId: "rewrite-yaml" + org.openrewrite.yaml.CreateYamlFile: + name: "org.openrewrite.yaml.CreateYamlFile" + description: "Create a new YAML file." + docLink: "https://docs.openrewrite.org/recipes/yaml/createyamlfile" + options: + - name: "fileContents" + type: "String" + required: false + - name: "overwriteExisting" + type: "Boolean" + required: false + - name: "relativeFileName" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-yaml" org.openrewrite.yaml.DeleteKey: name: "org.openrewrite.yaml.DeleteKey" description: "Delete a YAML mapping entry key." diff --git a/src/main/resources/snapshot-CHANGELOG-2023-12-04.md b/src/main/resources/snapshot-CHANGELOG-2023-12-04.md new file mode 100644 index 0000000..c346c54 --- /dev/null +++ b/src/main/resources/snapshot-CHANGELOG-2023-12-04.md @@ -0,0 +1,130 @@ +# Snapshot (2023-12-04) + +{% hint style="info" %} +Want to learn how to use snapshot versions in your project? Check out our [snapshot version guide](/reference/snapshot-instructions.md). +{% endhint %} + +## New Artifacts +* rewrite-launchdarkly + +## Removed Artifacts +* rewrite-jhipster + +## New Recipes + +* [org.openrewrite.IsInRepository](https://docs.openrewrite.org/recipes/isinrepository): A search recipe which marks files that are in a repository with one of the supplied names. Intended for use as a precondition for other recipes being run over many different repositories. +* [org.openrewrite.java.ChangeAnnotationAttributeName](https://docs.openrewrite.org/recipes/java/changeannotationattributename): Some annotations accept arguments. This recipe renames an existing attribute. +* [org.openrewrite.java.CreateEmptyJavaClass](https://docs.openrewrite.org/recipes/java/createemptyjavaclass): Create a new, empty Java class. +* [org.openrewrite.java.dependencies.DependencyInsight](https://docs.openrewrite.org/recipes/java/dependencies/dependencyinsight): Finds dependencies, including transitive dependencies, in both Gradle and Maven projects. Matches within all Gradle dependency configurations and maven scopes. +* [org.openrewrite.java.dependencies.DependencyResolutionDiagnostic](https://docs.openrewrite.org/recipes/java/dependencies/dependencyresolutiondiagnostic): Recipes which manipulate dependencies must be able to successfully access the artifact repositories and resolve dependencies from them. This recipe produces two data tables used to understand the state of dependency resolution. + +The Repository accessibility report lists all the artifact repositories known to the project and whether respond to network access. The network access is attempted while the recipe is run and so is representative of current conditions. + +The Gradle dependency configuration errors lists all the dependency configurations that failed to resolve one or more dependencies when the project was parsed. This is representative of conditions at the time the LST was parsed. +* [org.openrewrite.java.dependencies.RemoveExpiredSuppressions](https://docs.openrewrite.org/recipes/java/dependencies/removeexpiredsuppressions): Remove expired vulnerability suppressions from `DependencyCheck` `suppression.xml` files. +* [org.openrewrite.java.logging.ChangeLombokLogAnnotation](https://docs.openrewrite.org/recipes/java/logging/changelomboklogannotation): Replace Lombok annotations such as `@CommonsLog` and `@Log4j` with the target logging framework annotation, or `@Sl4fj` if not provided. +* [org.openrewrite.java.logging.slf4j.CommonsLogging1ToSlf4j1](https://docs.openrewrite.org/recipes/java/logging/slf4j/commonslogging1toslf4j1): Transforms usages of Apache Commons Logging 1.x to leveraging SLF4J 1.x directly. +* [org.openrewrite.java.migrate.AddMissingMethodImplementation](https://docs.openrewrite.org/recipes/java/migrate/addmissingmethodimplementation): Check for missing methods required by interfaces and adds them. +* [org.openrewrite.java.migrate.BeanDiscovery](https://docs.openrewrite.org/recipes/java/migrate/beandiscovery): Alters beans with missing version attribute to include this attribute as well as the bean-discovery-mode="all" attribute to maintain an explicit bean archive. +* [org.openrewrite.java.migrate.BeansXmlNamespace](https://docs.openrewrite.org/recipes/java/migrate/beansxmlnamespace): Set the `schemaLocation` that corresponds to the `xmlns` set in `beans.xml` files. +* [org.openrewrite.java.migrate.DontOverfetchDto](https://docs.openrewrite.org/recipes/java/migrate/dontoverfetchdto): Replace method parameters that have DTOs with their data elements when only the specified data element is used. +* [org.openrewrite.java.migrate.JREDoNotUseSunNetSslAPIs](https://docs.openrewrite.org/recipes/java/migrate/jredonotusesunnetsslapis): Do not use APIs from `com.sun.net.ssl` packages. +* [org.openrewrite.java.migrate.JREJdbcInterfaceNewMethods](https://docs.openrewrite.org/recipes/java/migrate/jrejdbcinterfacenewmethods): Add method implementations stubs to classes that implement JDBC interfaces. +* [org.openrewrite.java.migrate.JREWrapperInterface](https://docs.openrewrite.org/recipes/java/migrate/jrewrapperinterface): Add method implementations stubs to classes that implement `java.sql.Wrapper`. +* [org.openrewrite.java.migrate.MXBeanNonPublic](https://docs.openrewrite.org/recipes/java/migrate/mxbeannonpublic): Sets visibility of MBean and MXBean interfaces to public. +* [org.openrewrite.java.migrate.RemoveMethodInvocation](https://docs.openrewrite.org/recipes/java/migrate/removemethodinvocation): Checks for a method patterns and removes the method call from the class. +* [org.openrewrite.java.migrate.UpgradeToJava6](https://docs.openrewrite.org/recipes/java/migrate/upgradetojava6): This recipe will apply changes commonly needed when upgrading to Java 6. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. +* [org.openrewrite.java.migrate.UpgradeToJava7](https://docs.openrewrite.org/recipes/java/migrate/upgradetojava7): This recipe will apply changes commonly needed when upgrading to Java 7. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. +* [org.openrewrite.java.migrate.UpgradeToJava8](https://docs.openrewrite.org/recipes/java/migrate/upgradetojava8): This recipe will apply changes commonly needed when upgrading to Java 8. This recipe will also replace deprecated API with equivalents when there is a clear migration strategy. +* [org.openrewrite.java.migrate.jakarta.ApplicationPathWildcardNoLongerAccepted](https://docs.openrewrite.org/recipes/java/migrate/jakarta/applicationpathwildcardnolongeraccepted): Remove trailing `/*` from `jakarta.ws.rs.ApplicationPath` values. +* [org.openrewrite.java.migrate.jakarta.FacesManagedBeansRemoved](https://docs.openrewrite.org/recipes/java/migrate/jakarta/facesmanagedbeansremoved): This recipe substitutes Faces Managed Beans, which were deprecated in JavaServer Faces 2.3 and have been removed from Jakarta Faces 4.0. +* [org.openrewrite.java.migrate.jakarta.UpdateApacheWSSecurityPackages](https://docs.openrewrite.org/recipes/java/migrate/jakarta/updateapachewssecuritypackages): Java EE has been rebranded to Jakarta EE. This recipe replaces Apache security packages to migrate to Apache `wss4j` +* [org.openrewrite.java.migrate.javaee7](https://docs.openrewrite.org/recipes/java/migrate/javaee7): These recipes help with the Migration to Java EE 7, flagging and updating deprecated methods. +* [org.openrewrite.java.migrate.javaee7.OpenJPAPersistenceProvider](https://docs.openrewrite.org/recipes/java/migrate/javaee7/openjpapersistenceprovider): When migrating to EclipseLink, using OpenJPA providers in EclipseLink results in runtime errors. To resolve these errors, the recipe removes the flagged OpenJPA provider from the persistence.xml. +* [org.openrewrite.java.migrate.javaee8](https://docs.openrewrite.org/recipes/java/migrate/javaee8): These recipes help with the Migration to Java EE 8, flagging and updating deprecated methods. +* [org.openrewrite.java.migrate.javaee8.ApacheDefaultProvider](https://docs.openrewrite.org/recipes/java/migrate/javaee8/apachedefaultprovider): This recipe flags any `org.apache.bval.jsr*` (bval 1.1) and `org.apache.bval.jsr303*` (bval 1.0) package references in validation.xml deployment descriptors. Bean Validation 2.0 and later use the Hibernate Validator implementation instead of the Apache BVal implementation which was used for Bean Validation 1.0 and 1.1 +* [org.openrewrite.java.migrate.javaee8.ServletIsRequestedSessionIdFromURL](https://docs.openrewrite.org/recipes/java/migrate/javaee8/servletisrequestedsessionidfromurl): The method `HttpServletRequestWrapper.isRequestedSessionIdFromUrl()` is deprecated in JavaEE8 and is replaced by `HttpServletRequestWrapper.isRequestedSessionIdFromURL()` +* [org.openrewrite.java.migrate.lang.ThreadStopUnsupported](https://docs.openrewrite.org/recipes/java/migrate/lang/threadstopunsupported): `Thread.stop()` always throws a `new UnsupportedOperationException` in Java 21+. This recipe makes that explicit, as the migration is more complicated.See https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/doc-files/threadPrimitiveDeprecation.html . +* [org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes](https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes): Refaster template recipes for `org.openrewrite.java.migrate.net.URLConstructorsToURI`. +* [org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLFourArgumentConstructorRecipe](https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes$urlfourargumentconstructorrecipe): Converts `new URL(String, String, int, String)` constructors to `new URI(...).toURL()`. +* [org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLSingleArgumentConstructorRecipe](https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes$urlsingleargumentconstructorrecipe): Converts `new URL(String)` constructors to `URI.create(String).toURL()`. +* [org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLThreeArgumentConstructorRecipe](https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes$urlthreeargumentconstructorrecipe): Converts `new URL(String, String, String)` constructors to `new URI(...).toURL()`. +* [org.openrewrite.java.migrate.search.FindDataUsedOnDto](https://docs.openrewrite.org/recipes/java/migrate/search/finddatausedondto): Find data elements used on DTOs. This is useful to provide information where data over-fetching may be a problem. +* [org.openrewrite.java.migrate.search.FindDtoOverfetching](https://docs.openrewrite.org/recipes/java/migrate/search/finddtooverfetching): Find methods that have 'opportunities' for improvement. +* [org.openrewrite.java.migrate.search.FindJavaVersion](https://docs.openrewrite.org/recipes/java/migrate/search/findjavaversion): Finds Java versions in use. +* [org.openrewrite.java.migrate.util.IteratorNext](https://docs.openrewrite.org/recipes/java/migrate/util/iteratornext): Replace `SequencedCollection.iterator().next()` with `getFirst()`. +* [org.openrewrite.java.migrate.util.ListFirstAndLast](https://docs.openrewrite.org/recipes/java/migrate/util/listfirstandlast): Replace `list.get(0)` with `list.getFirst()`, `list.get(list.size() - 1)` with `list.getLast()`, and similar for `add(int, E)` and `remove(int)`. +* [org.openrewrite.java.migrate.util.OptionalStreamRecipe](https://docs.openrewrite.org/recipes/java/migrate/util/optionalstreamrecipe): Migrate Java 8 `Optional.filter(Optional::isPresent).map(Optional::get)` to Java 11 `.flatMap(Optional::stream)`. +* [org.openrewrite.java.search.FindTypeMappings](https://docs.openrewrite.org/recipes/java/search/findtypemappings): Find types mapped to J trees. +* [org.openrewrite.java.security.FixCwe338](https://docs.openrewrite.org/recipes/java/security/fixcwe338): Use a cryptographically strong pseudo-random number generator (PRNG). +* [org.openrewrite.java.spring.boot3.EnableVirtualThreads](https://docs.openrewrite.org/recipes/java/spring/boot3/enablevirtualthreads): Set `spring.threads.virtual.enabled` to `true` in `application.properties` or `application.yml`. +* [org.openrewrite.java.spring.boot3.SpringBootProperties_3_2](https://docs.openrewrite.org/recipes/java/spring/boot3/springbootproperties_3_2): Migrate properties found in `application.properties` and `application.yml`. +* [org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_2](https://docs.openrewrite.org/recipes/java/spring/boot3/upgradespringboot_3_2): Migrate applications to the latest Spring Boot 3.2 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions. This recipe will also chain additional framework migrations (Spring Framework, Spring Data, etc) that are required as part of the migration to Spring Boot 3.1. +* [org.openrewrite.java.spring.cloud2022.DependencyUpgrades](https://docs.openrewrite.org/recipes/java/spring/cloud2022/dependencyupgrades): Upgrade dependencies to Spring Cloud 2022 from prior 2021.x version. +* [org.openrewrite.java.spring.cloud2023.DependencyUpgrades](https://docs.openrewrite.org/recipes/java/spring/cloud2023/dependencyupgrades): Upgrade dependencies to Spring Cloud 2023 from prior 2022.x version. +* [org.openrewrite.java.spring.cloud2023.UpgradeSpringCloud_2023](https://docs.openrewrite.org/recipes/java/spring/cloud2023/upgradespringcloud_2023): Migrate applications to the latest Spring Cloud 2023 release. +* [org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_2](https://docs.openrewrite.org/recipes/java/spring/security6/upgradespringsecurity_6_2): Migrate applications to the latest Spring Security 6.2 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions. +* [org.openrewrite.java.testing.archunit.ArchUnit0to1Migration](https://docs.openrewrite.org/recipes/java/testing/archunit/archunit0to1migration): Upgrade ArchUnit from 0.x to 1.x. +* [org.openrewrite.java.testing.testcontainers.ExplicitContainerImage](https://docs.openrewrite.org/recipes/java/testing/testcontainers/explicitcontainerimage): Set the image to use for a container explicitly if unset, rather than relying on the default image for the container class. +* [org.openrewrite.java.testing.testcontainers.ExplicitContainerImages](https://docs.openrewrite.org/recipes/java/testing/testcontainers/explicitcontainerimages): Replace implicit default container images and versions with explicit versions. +* [org.openrewrite.java.testing.testcontainers.GetHostMigration](https://docs.openrewrite.org/recipes/java/testing/testcontainers/gethostmigration): Replace `org.testcontainers.containers.ContainerState.getContainerIpAddress()` with `getHost()`. +* [org.openrewrite.java.testing.testcontainers.TestContainersBestPractices](https://docs.openrewrite.org/recipes/java/testing/testcontainers/testcontainersbestpractices): Apply best practices to Testcontainers usage. +* [org.openrewrite.launchdarkly.ChangeVariationDefault](https://docs.openrewrite.org/recipes/launchdarkly/changevariationdefault): Change the default value for `Variation` invocations for feature key. +* [org.openrewrite.launchdarkly.MigrateUserToContext](https://docs.openrewrite.org/recipes/launchdarkly/migrateusertocontext): Migrate from `LDUser` and `LDUser.Builder` to `LDContext` and `ContextBuilder`. +* [org.openrewrite.launchdarkly.RemoveBoolVariation](https://docs.openrewrite.org/recipes/launchdarkly/removeboolvariation): Replace `boolVariation` invocations for feature key with value, and simplify constant if branch execution. +* [org.openrewrite.launchdarkly.UpgradeLaunchDarkly6](https://docs.openrewrite.org/recipes/launchdarkly/upgradelaunchdarkly6): This recipe will apply changes commonly needed when migrating to LaunchDarkly 6.x. +* [org.openrewrite.launchdarkly.UpgradeLaunchDarkly7](https://docs.openrewrite.org/recipes/launchdarkly/upgradelaunchdarkly7): This recipe will apply changes commonly needed when migrating to LaunchDarkly 7.x. +* [org.openrewrite.launchdarkly.search.FindFeatureFlag](https://docs.openrewrite.org/recipes/launchdarkly/search/findfeatureflag): Find a LaunchDarkly feature flag. +* [org.openrewrite.okhttp.UpgradeOkHttp4](https://docs.openrewrite.org/recipes/okhttp/upgradeokhttp4): This recipe will apply changes commonly needed when migrating to OkHttp 4.x. +* [org.openrewrite.okhttp.UpgradeOkHttp4Dependencies](https://docs.openrewrite.org/recipes/okhttp/upgradeokhttp4dependencies): Migrate OkHttp dependencies to 4.x. +* [org.openrewrite.properties.CreatePropertiesFile](https://docs.openrewrite.org/recipes/properties/createpropertiesfile): Create a new Properties file. +* [org.openrewrite.search.FindCommitters](https://docs.openrewrite.org/recipes/search/findcommitters): List the committers on a repository. +* [org.openrewrite.xml.CreateXmlFile](https://docs.openrewrite.org/recipes/xml/createxmlfile): Create a new XML file. +* [org.openrewrite.xml.RemoveEmptyXmlTags](https://docs.openrewrite.org/recipes/xml/removeemptyxmltags): Removes XML tags that do not have attributes or children, including self closing tags. +* [org.openrewrite.yaml.CreateYamlFile](https://docs.openrewrite.org/recipes/yaml/createyamlfile): Create a new YAML file. + +## Removed Recipes + +* **org.openrewrite.java.migrate.jakarta.ChangeJavaxAnnotationToJakarta**: Java EE has been rebranded to Jakarta EE, necessitating a package relocation. Excludes `javax.annotation.processing`. +* **org.openrewrite.java.migrate.jakarta.JavaxAnnotationPackageToJakarta**: Change type of classes in the `javax.annotation` package to jakarta. +* **org.openrewrite.java.migrate.jakarta.RemoveMethods**: Checks for a method patterns and removes the method call from the class +* **org.openrewrite.java.migrate.lang.RemoveThreadDestroyMethod**: Remove deprecated invocations of `Thread.destroy()` which have no alternatives needed. +* **org.openrewrite.java.spring.cloud2022.MavenPomUpgrade**: Upgrade Maven POM to Spring Cloud 2022 from prior 2021.x version. + +## Changed Recipes + +* [org.openrewrite.gradle.search.DependencyInsight](https://docs.openrewrite.org/recipes/gradle/search/dependencyinsight) was changed: + * Old Options: + * `artifactIdPattern: { type: String, required: true }` + * `configuration: { type: String, required: false }` + * `groupIdPattern: { type: String, required: true }` + * New Options: + * `artifactIdPattern: { type: String, required: true }` + * `configuration: { type: String, required: false }` + * `groupIdPattern: { type: String, required: true }` + * `version: { type: String, required: false }` +* [org.openrewrite.kotlin.FindKotlinSources](https://docs.openrewrite.org/recipes/kotlin/findkotlinsources) was changed: + * Old Options: + * `None` + * New Options: + * `markCompilationUnits: { type: Boolean, required: false }` +* [org.openrewrite.maven.search.DependencyInsight](https://docs.openrewrite.org/recipes/maven/search/dependencyinsight) was changed: + * Old Options: + * `artifactIdPattern: { type: String, required: true }` + * `groupIdPattern: { type: String, required: true }` + * `onlyDirect: { type: Boolean, required: false }` + * `scope: { type: String, required: true }` + * New Options: + * `artifactIdPattern: { type: String, required: true }` + * `groupIdPattern: { type: String, required: true }` + * `onlyDirect: { type: Boolean, required: false }` + * `scope: { type: String, required: false }` + * `version: { type: String, required: false }` +* [org.openrewrite.maven.search.ParentPomInsight](https://docs.openrewrite.org/recipes/maven/search/parentpominsight) was changed: + * Old Options: + * `artifactIdPattern: { type: String, required: true }` + * `groupIdPattern: { type: String, required: true }` + * New Options: + * `artifactIdPattern: { type: String, required: true }` + * `groupIdPattern: { type: String, required: true }` + * `version: { type: String, required: false }` \ No newline at end of file diff --git a/src/main/resources/snapshotRecipeDescriptors.yml b/src/main/resources/snapshotRecipeDescriptors.yml index 0694187..b2c1717 100644 --- a/src/main/resources/snapshotRecipeDescriptors.yml +++ b/src/main/resources/snapshotRecipeDescriptors.yml @@ -1,6 +1,6 @@ rewrite-analysis: artifactId: "rewrite-analysis" - version: "2.1.0-SNAPSHOT" + version: "2.2.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.analysis.controlflow.ControlFlowVisualization: name: "org.openrewrite.analysis.controlflow.ControlFlowVisualization" @@ -349,7 +349,7 @@ rewrite-concourse: artifactId: "rewrite-concourse" rewrite-core: artifactId: "rewrite-core" - version: "8.9.0-SNAPSHOT" + version: "8.11.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.DeleteSourceFiles: name: "org.openrewrite.DeleteSourceFiles" @@ -424,6 +424,18 @@ rewrite-core: required: true isImperative: true artifactId: "rewrite-core" + org.openrewrite.IsInRepository: + name: "org.openrewrite.IsInRepository" + description: "A search recipe which marks files that are in a repository with\ + \ one of the supplied names. Intended for use as a precondition for other\ + \ recipes being run over many different repositories." + docLink: "https://docs.openrewrite.org/recipes/isinrepository" + options: + - name: "allowedRepositories" + type: "Set" + required: true + isImperative: true + artifactId: "rewrite-core" org.openrewrite.ListRuntimeClasspath: name: "org.openrewrite.ListRuntimeClasspath" description: "A diagnostic utility which emits the runtime classpath to a data\ @@ -484,6 +496,13 @@ rewrite-core: required: true isImperative: true artifactId: "rewrite-core" + org.openrewrite.search.FindCommitters: + name: "org.openrewrite.search.FindCommitters" + description: "List the committers on a repository." + docLink: "https://docs.openrewrite.org/recipes/search/findcommitters" + options: [] + isImperative: true + artifactId: "rewrite-core" org.openrewrite.search.FindParseToPrintInequality: name: "org.openrewrite.search.FindParseToPrintInequality" description: "OpenRewrite `Parser` implementations should produce `SourceFile`\ @@ -522,7 +541,9 @@ rewrite-core: artifactId: "rewrite-core" org.openrewrite.text.ChangeText: name: "org.openrewrite.text.ChangeText" - description: "Completely replaces the contents of the text file with other text." + description: "Completely replaces the contents of the text file with other text.\ + \ Use together with a `FindSourceFiles` precondition to limit which files\ + \ are changed." docLink: "https://docs.openrewrite.org/recipes/text/changetext" options: - name: "toText" @@ -849,7 +870,7 @@ rewrite-github-actions: artifactId: "rewrite-github-actions" rewrite-gradle: artifactId: "rewrite-gradle" - version: "8.9.0-SNAPSHOT" + version: "8.11.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.gradle.AddDependency: name: "org.openrewrite.gradle.AddDependency" @@ -1183,7 +1204,7 @@ rewrite-gradle: artifactId: "rewrite-gradle" org.openrewrite.gradle.plugins.AddBuildPlugin: name: "org.openrewrite.gradle.plugins.AddBuildPlugin" - description: "Add a Gradle build plugin to `build.gradle(.kts)`." + description: "Add a build plugin to a Gradle build file's `plugins` block." docLink: "https://docs.openrewrite.org/recipes/gradle/plugins/addbuildplugin" options: - name: "pluginId" @@ -1224,7 +1245,7 @@ rewrite-gradle: artifactId: "rewrite-gradle" org.openrewrite.gradle.plugins.AddSettingsPlugin: name: "org.openrewrite.gradle.plugins.AddSettingsPlugin" - description: "Add a Gradle settings plugin to `settings.gradle(.kts)`." + description: "Add plugin to Gradle settings file `plugins` block by id." docLink: "https://docs.openrewrite.org/recipes/gradle/plugins/addsettingsplugin" options: - name: "pluginId" @@ -1269,7 +1290,8 @@ rewrite-gradle: artifactId: "rewrite-gradle" org.openrewrite.gradle.plugins.RemoveBuildPlugin: name: "org.openrewrite.gradle.plugins.RemoveBuildPlugin" - description: "Remove plugin from `build.gradle(.kts)`." + description: "Remove plugin from Gradle `plugins` block by its id. Does not\ + \ remove plugins from the `buildscript` block." docLink: "https://docs.openrewrite.org/recipes/gradle/plugins/removebuildplugin" options: - name: "pluginId" @@ -1279,7 +1301,7 @@ rewrite-gradle: artifactId: "rewrite-gradle" org.openrewrite.gradle.plugins.RemoveSettingsPlugin: name: "org.openrewrite.gradle.plugins.RemoveSettingsPlugin" - description: "Remove plugin from `settings.gradle(.kts)`." + description: "Remove plugin from Gradle settings file `plugins` block by id." docLink: "https://docs.openrewrite.org/recipes/gradle/plugins/removesettingsplugin" options: - name: "pluginId" @@ -1319,6 +1341,9 @@ rewrite-gradle: - name: "groupIdPattern" type: "String" required: true + - name: "version" + type: "String" + required: false isImperative: true artifactId: "rewrite-gradle" org.openrewrite.gradle.search.FindDependency: @@ -1414,7 +1439,7 @@ rewrite-gradle: artifactId: "rewrite-gradle" rewrite-groovy: artifactId: "rewrite-groovy" - version: "8.9.0-SNAPSHOT" + version: "8.11.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.groovy.format.OmitParenthesesForLastArgumentLambda: name: "org.openrewrite.groovy.format.OmitParenthesesForLastArgumentLambda" @@ -1433,7 +1458,7 @@ rewrite-groovy: artifactId: "rewrite-groovy" rewrite-hcl: artifactId: "rewrite-hcl" - version: "8.9.0-SNAPSHOT" + version: "8.11.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.hcl.DeleteContent: name: "org.openrewrite.hcl.DeleteContent" @@ -1584,7 +1609,7 @@ rewrite-hibernate: artifactId: "rewrite-hibernate" rewrite-java: artifactId: "rewrite-java" - version: "8.9.0-SNAPSHOT" + version: "8.11.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.java.AddApache2LicenseHeader: name: "org.openrewrite.java.AddApache2LicenseHeader" @@ -1626,6 +1651,23 @@ rewrite-java: required: true isImperative: true artifactId: "rewrite-java" + org.openrewrite.java.ChangeAnnotationAttributeName: + name: "org.openrewrite.java.ChangeAnnotationAttributeName" + description: "Some annotations accept arguments. This recipe renames an existing\ + \ attribute." + docLink: "https://docs.openrewrite.org/recipes/java/changeannotationattributename" + options: + - name: "annotationType" + type: "String" + required: true + - name: "newAttributeName" + type: "String" + required: true + - name: "oldAttributeName" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-java" org.openrewrite.java.ChangeMethodAccessLevel: name: "org.openrewrite.java.ChangeMethodAccessLevel" description: "Change the access level (public, protected, private, package private)\ @@ -1759,6 +1801,31 @@ rewrite-java: required: true isImperative: true artifactId: "rewrite-java" + org.openrewrite.java.CreateEmptyJavaClass: + name: "org.openrewrite.java.CreateEmptyJavaClass" + description: "Create a new, empty Java class." + docLink: "https://docs.openrewrite.org/recipes/java/createemptyjavaclass" + options: + - name: "className" + type: "String" + required: true + - name: "modifier" + type: "String" + required: true + - name: "overwriteExisting" + type: "Boolean" + required: false + - name: "packageName" + type: "String" + required: true + - name: "relativePath" + type: "String" + required: false + - name: "sourceRoot" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-java" org.openrewrite.java.DeleteMethodArgument: name: "org.openrewrite.java.DeleteMethodArgument" description: "Delete an argument from method invocations." @@ -2157,9 +2224,9 @@ rewrite-java: artifactId: "rewrite-java" org.openrewrite.java.recipes.RemoveApplicabilityTestFromYamlRecipe: name: "org.openrewrite.java.recipes.RemoveApplicabilityTestFromYamlRecipe" - description: "Remove the applicability test from the YAML recipe when migrating\ - \ from Rewrite 7 to 8, as it is no longer supported and may require migrating\ - \ the recipe to Java code." + description: "Removes any-source applicability tests from YAML recipes, as the\ + \ are no longer supported in Rewrite 8 and migrates single-source applicability\ + \ tests to preconditions." docLink: "https://docs.openrewrite.org/recipes/java/recipes/removeapplicabilitytestfromyamlrecipe" options: [] isImperative: true @@ -2203,7 +2270,8 @@ rewrite-java: artifactId: "rewrite-java" org.openrewrite.java.recipes.UpdateMovedRecipe: name: "org.openrewrite.java.recipes.UpdateMovedRecipe" - description: "Update moved package recipe." + description: "If a recipe moved between packages, update the code reference\ + \ places, declarative recipes, and `activeRecipes` in pom.xml." docLink: "https://docs.openrewrite.org/recipes/java/recipes/updatemovedrecipe" options: - name: "newRecipeFullyQualifiedClassName" @@ -2437,7 +2505,7 @@ rewrite-java: artifactId: "rewrite-java" org.openrewrite.java.search.FindMethods: name: "org.openrewrite.java.search.FindMethods" - description: "Find method usages by pattern." + description: "Find method calls by pattern." docLink: "https://docs.openrewrite.org/recipes/java/search/findmethods" options: - name: "matchOverrides" @@ -2470,6 +2538,13 @@ rewrite-java: options: [] isImperative: false artifactId: "rewrite-java" + org.openrewrite.java.search.FindTypeMappings: + name: "org.openrewrite.java.search.FindTypeMappings" + description: "Find types mapped to J trees." + docLink: "https://docs.openrewrite.org/recipes/java/search/findtypemappings" + options: [] + isImperative: true + artifactId: "rewrite-java" org.openrewrite.java.search.FindTypes: name: "org.openrewrite.java.search.FindTypes" description: "Find type references by name." @@ -2563,7 +2638,7 @@ rewrite-java: artifactId: "rewrite-java" rewrite-java-dependencies: artifactId: "rewrite-java-dependencies" - version: "1.1.0-SNAPSHOT" + version: "1.3.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.java.dependencies.AddDependency: name: "org.openrewrite.java.dependencies.AddDependency" @@ -2646,6 +2721,24 @@ rewrite-java-dependencies: required: false isImperative: true artifactId: "rewrite-java-dependencies" + org.openrewrite.java.dependencies.DependencyInsight: + name: "org.openrewrite.java.dependencies.DependencyInsight" + description: "Finds dependencies, including transitive dependencies, in both\ + \ Gradle and Maven projects. Matches within all Gradle dependency configurations\ + \ and maven scopes." + docLink: "https://docs.openrewrite.org/recipes/java/dependencies/dependencyinsight" + options: + - name: "artifactIdPattern" + type: "String" + required: true + - name: "groupIdPattern" + type: "String" + required: true + - name: "version" + type: "String" + required: false + isImperative: true + artifactId: "rewrite-java-dependencies" org.openrewrite.java.dependencies.DependencyLicenseCheck: name: "org.openrewrite.java.dependencies.DependencyLicenseCheck" description: "Locates and reports on all licenses in use." @@ -2673,6 +2766,31 @@ rewrite-java-dependencies: required: true isImperative: true artifactId: "rewrite-java-dependencies" + org.openrewrite.java.dependencies.DependencyResolutionDiagnostic: + name: "org.openrewrite.java.dependencies.DependencyResolutionDiagnostic" + description: "Recipes which manipulate dependencies must be able to successfully\ + \ access the artifact repositories and resolve dependencies from them. This\ + \ recipe produces two data tables used to understand the state of dependency\ + \ resolution. \n\nThe Repository accessibility report lists all the artifact\ + \ repositories known to the project and whether respond to network access.\ + \ The network access is attempted while the recipe is run and so is representative\ + \ of current conditions. \n\nThe Gradle dependency configuration errors lists\ + \ all the dependency configurations that failed to resolve one or more dependencies\ + \ when the project was parsed. This is representative of conditions at the\ + \ time the LST was parsed." + docLink: "https://docs.openrewrite.org/recipes/java/dependencies/dependencyresolutiondiagnostic" + options: + - name: "artifactId" + type: "String" + required: false + - name: "groupId" + type: "String" + required: false + - name: "version" + type: "String" + required: false + isImperative: true + artifactId: "rewrite-java-dependencies" org.openrewrite.java.dependencies.DependencyVulnerabilityCheck: name: "org.openrewrite.java.dependencies.DependencyVulnerabilityCheck" description: "This software composition analysis (SCA) tool detects and upgrades\ @@ -2720,6 +2838,14 @@ rewrite-java-dependencies: required: false isImperative: true artifactId: "rewrite-java-dependencies" + org.openrewrite.java.dependencies.RemoveExpiredSuppressions: + name: "org.openrewrite.java.dependencies.RemoveExpiredSuppressions" + description: "Remove expired vulnerability suppressions from `DependencyCheck`\ + \ `suppression.xml` files." + docLink: "https://docs.openrewrite.org/recipes/java/dependencies/removeexpiredsuppressions" + options: [] + isImperative: true + artifactId: "rewrite-java-dependencies" org.openrewrite.java.dependencies.UpgradeDependencyVersion: name: "org.openrewrite.java.dependencies.UpgradeDependencyVersion" description: "For Gradle projects, upgrade the version of a dependency in a\ @@ -2754,7 +2880,7 @@ rewrite-java-dependencies: artifactId: "rewrite-java-dependencies" rewrite-java-security: artifactId: "rewrite-java-security" - version: "2.1.0-SNAPSHOT" + version: "2.2.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.java.security.FindTextDirectionChanges: name: "org.openrewrite.java.security.FindTextDirectionChanges" @@ -2770,6 +2896,14 @@ rewrite-java-security: options: [] isImperative: true artifactId: "rewrite-java-security" + org.openrewrite.java.security.FixCwe338: + name: "org.openrewrite.java.security.FixCwe338" + description: "Use a cryptographically strong pseudo-random number generator\ + \ (PRNG)." + docLink: "https://docs.openrewrite.org/recipes/java/security/fixcwe338" + options: [] + isImperative: true + artifactId: "rewrite-java-security" org.openrewrite.java.security.ImproperPrivilegeManagement: name: "org.openrewrite.java.security.ImproperPrivilegeManagement" description: "Marking code as privileged enables a piece of trusted code to\ @@ -3368,21 +3502,9 @@ rewrite-jenkins: options: [] isImperative: false artifactId: "rewrite-jenkins" -rewrite-jhipster: - artifactId: "rewrite-jhipster" - version: "2.1.0-SNAPSHOT" - markdownRecipeDescriptors: - org.openrewrite.java.jhipster.FixCwe338: - name: "org.openrewrite.java.jhipster.FixCwe338" - description: "Use a cryptographically strong pseudo-random number generator\ - \ (PRNG)." - docLink: "https://docs.openrewrite.org/recipes/java/jhipster/fixcwe338" - options: [] - isImperative: true - artifactId: "rewrite-jhipster" rewrite-json: artifactId: "rewrite-json" - version: "8.9.0-SNAPSHOT" + version: "8.11.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.json.ChangeKey: name: "org.openrewrite.json.ChangeKey" @@ -3432,14 +3554,17 @@ rewrite-json: artifactId: "rewrite-json" rewrite-kotlin: artifactId: "rewrite-kotlin" - version: "1.6.0-SNAPSHOT" + version: "1.8.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.kotlin.FindKotlinSources: name: "org.openrewrite.kotlin.FindKotlinSources" description: "Use data table to collect source files types and counts of files\ \ with extensions `.kt`." docLink: "https://docs.openrewrite.org/recipes/kotlin/findkotlinsources" - options: [] + options: + - name: "markCompilationUnits" + type: "Boolean" + required: false isImperative: true artifactId: "rewrite-kotlin" org.openrewrite.kotlin.RenameTypeAlias: @@ -3971,6 +4096,75 @@ rewrite-kubernetes: required: true isImperative: true artifactId: "rewrite-kubernetes" +rewrite-launchdarkly: + artifactId: "rewrite-launchdarkly" + version: "0.1.0-SNAPSHOT" + markdownRecipeDescriptors: + org.openrewrite.launchdarkly.ChangeVariationDefault: + name: "org.openrewrite.launchdarkly.ChangeVariationDefault" + description: "Change the default value for `Variation` invocations for feature\ + \ key." + docLink: "https://docs.openrewrite.org/recipes/launchdarkly/changevariationdefault" + options: + - name: "defaultValue" + type: "String" + required: true + - name: "featureKey" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-launchdarkly" + org.openrewrite.launchdarkly.MigrateUserToContext: + name: "org.openrewrite.launchdarkly.MigrateUserToContext" + description: "Migrate from `LDUser` and `LDUser.Builder` to `LDContext` and\ + \ `ContextBuilder`." + docLink: "https://docs.openrewrite.org/recipes/launchdarkly/migrateusertocontext" + options: [] + isImperative: true + artifactId: "rewrite-launchdarkly" + org.openrewrite.launchdarkly.RemoveBoolVariation: + name: "org.openrewrite.launchdarkly.RemoveBoolVariation" + description: "Replace `boolVariation` invocations for feature key with value,\ + \ and simplify constant if branch execution." + docLink: "https://docs.openrewrite.org/recipes/launchdarkly/removeboolvariation" + options: + - name: "featureKey" + type: "String" + required: true + - name: "replacementValue" + type: "Boolean" + required: true + isImperative: true + artifactId: "rewrite-launchdarkly" + org.openrewrite.launchdarkly.UpgradeLaunchDarkly6: + name: "org.openrewrite.launchdarkly.UpgradeLaunchDarkly6" + description: "This recipe will apply changes commonly needed when migrating\ + \ to LaunchDarkly 6.x." + docLink: "https://docs.openrewrite.org/recipes/launchdarkly/upgradelaunchdarkly6" + options: [] + isImperative: false + artifactId: "rewrite-launchdarkly" + org.openrewrite.launchdarkly.UpgradeLaunchDarkly7: + name: "org.openrewrite.launchdarkly.UpgradeLaunchDarkly7" + description: "This recipe will apply changes commonly needed when migrating\ + \ to LaunchDarkly 7.x." + docLink: "https://docs.openrewrite.org/recipes/launchdarkly/upgradelaunchdarkly7" + options: [] + isImperative: false + artifactId: "rewrite-launchdarkly" + org.openrewrite.launchdarkly.search.FindFeatureFlag: + name: "org.openrewrite.launchdarkly.search.FindFeatureFlag" + description: "Find a LaunchDarkly feature flag." + docLink: "https://docs.openrewrite.org/recipes/launchdarkly/search/findfeatureflag" + options: + - name: "featureKey" + type: "String" + required: false + - name: "flagType" + type: "FeatureFlagType" + required: false + isImperative: true + artifactId: "rewrite-launchdarkly" rewrite-liberty: artifactId: "rewrite-liberty" version: "1.1.0-SNAPSHOT" @@ -4056,13 +4250,27 @@ rewrite-liberty: artifactId: "rewrite-liberty" rewrite-logging-frameworks: artifactId: "rewrite-logging-frameworks" - version: "2.1.0-SNAPSHOT" + version: "2.3.0-SNAPSHOT" markdownRecipeDescriptors: + org.openrewrite.java.logging.ChangeLombokLogAnnotation: + name: "org.openrewrite.java.logging.ChangeLombokLogAnnotation" + description: "Replace Lombok annotations such as `@CommonsLog` and `@Log4j`\ + \ with the target logging framework annotation, or `@Sl4fj` if not provided." + docLink: "https://docs.openrewrite.org/recipes/java/logging/changelomboklogannotation" + options: + - name: "loggingFramework" + type: "String" + required: false + isImperative: true + artifactId: "rewrite-logging-frameworks" org.openrewrite.java.logging.ParameterizedLogging: name: "org.openrewrite.java.logging.ParameterizedLogging" description: "Transform logging statements using concatenation for messages\ \ and variables into a parameterized format. For example, `logger.info(\"\ - hi \" + userName)` becomes `logger.info(\"hi {}\", userName)`." + hi \" + userName)` becomes `logger.info(\"hi {}\", userName)`. This can significantly\ + \ boost performance for messages that otherwise would be assembled with String\ + \ concatenation. Particularly impactful when the log level is not enabled,\ + \ as no work is done to assemble the message." docLink: "https://docs.openrewrite.org/recipes/java/logging/parameterizedlogging" options: - name: "methodPattern" @@ -4153,8 +4361,10 @@ rewrite-logging-frameworks: artifactId: "rewrite-logging-frameworks" org.openrewrite.java.logging.log4j.ParameterizedLogging: name: "org.openrewrite.java.logging.log4j.ParameterizedLogging" - description: "Log4j 2.x supports parameterized logging, which can significantly\ - \ boost logging performance for disabled logging statements." + description: "Use Log4j 2.x parameterized logging, which can significantly boost\ + \ performance for messages that otherwise would be assembled with String concatenation.\ + \ Particularly impactful when the log level is not enabled, as no work is\ + \ done to assemble the message." docLink: "https://docs.openrewrite.org/recipes/java/logging/log4j/parameterizedlogging" options: [] isImperative: false @@ -4225,6 +4435,14 @@ rewrite-logging-frameworks: required: true isImperative: true artifactId: "rewrite-logging-frameworks" + org.openrewrite.java.logging.slf4j.CommonsLogging1ToSlf4j1: + name: "org.openrewrite.java.logging.slf4j.CommonsLogging1ToSlf4j1" + description: "Transforms usages of Apache Commons Logging 1.x to leveraging\ + \ SLF4J 1.x directly." + docLink: "https://docs.openrewrite.org/recipes/java/logging/slf4j/commonslogging1toslf4j1" + options: [] + isImperative: false + artifactId: "rewrite-logging-frameworks" org.openrewrite.java.logging.slf4j.CompleteExceptionLogging: name: "org.openrewrite.java.logging.slf4j.CompleteExceptionLogging" description: "It is a common mistake to call `Exception.getMessage()` when passing\ @@ -4277,8 +4495,10 @@ rewrite-logging-frameworks: artifactId: "rewrite-logging-frameworks" org.openrewrite.java.logging.slf4j.ParameterizedLogging: name: "org.openrewrite.java.logging.slf4j.ParameterizedLogging" - description: "SLF4J supports parameterized logging, which can significantly\ - \ boost logging performance for disabled logging statements." + description: "Use SLF4J's parameterized logging, which can significantly boost\ + \ performance for messages that otherwise would be assembled with String concatenation.\ + \ Particularly impactful when the log level is not enabled, as no work is\ + \ done to assemble the message." docLink: "https://docs.openrewrite.org/recipes/java/logging/slf4j/parameterizedlogging" options: [] isImperative: false @@ -4300,7 +4520,7 @@ rewrite-logging-frameworks: artifactId: "rewrite-logging-frameworks" rewrite-maven: artifactId: "rewrite-maven" - version: "8.9.0-SNAPSHOT" + version: "8.11.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.maven.AddCommentToMavenDependency: name: "org.openrewrite.maven.AddCommentToMavenDependency" @@ -5184,7 +5404,10 @@ rewrite-maven: required: false - name: "scope" type: "String" - required: true + required: false + - name: "version" + type: "String" + required: false isImperative: true artifactId: "rewrite-maven" org.openrewrite.maven.search.DoesNotIncludeDependency: @@ -5305,6 +5528,9 @@ rewrite-maven: - name: "groupIdPattern" type: "String" required: true + - name: "version" + type: "String" + required: false isImperative: true artifactId: "rewrite-maven" org.openrewrite.maven.security.UseHttpsForRepositories: @@ -5708,7 +5934,7 @@ rewrite-micronaut: artifactId: "rewrite-micronaut" rewrite-migrate-java: artifactId: "rewrite-migrate-java" - version: "2.3.0-SNAPSHOT" + version: "2.5.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.java.migrate.AddJDeprScanPlugin: name: "org.openrewrite.java.migrate.AddJDeprScanPlugin" @@ -5721,6 +5947,22 @@ rewrite-migrate-java: required: false isImperative: true artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.AddMissingMethodImplementation: + name: "org.openrewrite.java.migrate.AddMissingMethodImplementation" + description: "Check for missing methods required by interfaces and adds them." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/addmissingmethodimplementation" + options: + - name: "fullyQualifiedClassName" + type: "String" + required: true + - name: "methodPattern" + type: "String" + required: true + - name: "methodTemplateString" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.AddSuppressionForIllegalReflectionWarningsPlugin: name: "org.openrewrite.java.migrate.AddSuppressionForIllegalReflectionWarningsPlugin" description: "Adds a maven jar plugin that's configured to suppress Illegal\ @@ -5732,6 +5974,23 @@ rewrite-migrate-java: required: false isImperative: true artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.BeanDiscovery: + name: "org.openrewrite.java.migrate.BeanDiscovery" + description: "Alters beans with missing version attribute to include this attribute\ + \ as well as the bean-discovery-mode=\"all\" attribute to maintain an explicit\ + \ bean archive." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/beandiscovery" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.BeansXmlNamespace: + name: "org.openrewrite.java.migrate.BeansXmlNamespace" + description: "Set the `schemaLocation` that corresponds to the `xmlns` set in\ + \ `beans.xml` files." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/beansxmlnamespace" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.ChangeMethodInvocationReturnType: name: "org.openrewrite.java.migrate.ChangeMethodInvocationReturnType" description: "Changes the return type of a method invocation." @@ -5759,6 +6018,20 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.DontOverfetchDto: + name: "org.openrewrite.java.migrate.DontOverfetchDto" + description: "Replace method parameters that have DTOs with their data elements\ + \ when only the specified data element is used." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/dontoverfetchdto" + options: + - name: "dtoDataElement" + type: "String" + required: true + - name: "dtoType" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.IBMSemeru: name: "org.openrewrite.java.migrate.IBMSemeru" description: "This recipe will apply changes commonly needed when upgrading\ @@ -5775,6 +6048,13 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.JREDoNotUseSunNetSslAPIs: + name: "org.openrewrite.java.migrate.JREDoNotUseSunNetSslAPIs" + description: "Do not use APIs from `com.sun.net.ssl` packages." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/jredonotusesunnetsslapis" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.JREDoNotUseSunNetSslInternalSslProvider: name: "org.openrewrite.java.migrate.JREDoNotUseSunNetSslInternalSslProvider" description: "Do not use the `com.sun.net.ssl.internal.ssl.Provider` class." @@ -5797,6 +6077,21 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.JREJdbcInterfaceNewMethods: + name: "org.openrewrite.java.migrate.JREJdbcInterfaceNewMethods" + description: "Add method implementations stubs to classes that implement JDBC\ + \ interfaces." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/jrejdbcinterfacenewmethods" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.JREWrapperInterface: + name: "org.openrewrite.java.migrate.JREWrapperInterface" + description: "Add method implementations stubs to classes that implement `java.sql.Wrapper`." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/jrewrapperinterface" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.Java8toJava11: name: "org.openrewrite.java.migrate.Java8toJava11" description: "This recipe will apply changes commonly needed when upgrading\ @@ -5841,6 +6136,24 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.MXBeanNonPublic: + name: "org.openrewrite.java.migrate.MXBeanNonPublic" + description: "Sets visibility of MBean and MXBean interfaces to public." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/mxbeannonpublic" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.RemoveMethodInvocation: + name: "org.openrewrite.java.migrate.RemoveMethodInvocation" + description: "Checks for a method patterns and removes the method call from\ + \ the class." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/removemethodinvocation" + options: + - name: "methodPattern" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.RemovedLegacySunJSSEProviderName: name: "org.openrewrite.java.migrate.RemovedLegacySunJSSEProviderName" description: "The `com.sun.net.ssl.internal.ssl.Provider` provider name was\ @@ -5900,6 +6213,33 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.UpgradeToJava6: + name: "org.openrewrite.java.migrate.UpgradeToJava6" + description: "This recipe will apply changes commonly needed when upgrading\ + \ to Java 6. This recipe will also replace deprecated API with equivalents\ + \ when there is a clear migration strategy.\n" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/upgradetojava6" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.UpgradeToJava7: + name: "org.openrewrite.java.migrate.UpgradeToJava7" + description: "This recipe will apply changes commonly needed when upgrading\ + \ to Java 7. This recipe will also replace deprecated API with equivalents\ + \ when there is a clear migration strategy.\n" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/upgradetojava7" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.UpgradeToJava8: + name: "org.openrewrite.java.migrate.UpgradeToJava8" + description: "This recipe will apply changes commonly needed when upgrading\ + \ to Java 8. This recipe will also replace deprecated API with equivalents\ + \ when there is a clear migration strategy.\n" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/upgradetojava8" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.UseJavaUtilBase64: name: "org.openrewrite.java.migrate.UseJavaUtilBase64" description: "Prefer `java.util.Base64` instead of using `sun.misc` in Java\ @@ -6609,13 +6949,12 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" - org.openrewrite.java.migrate.jakarta.ChangeJavaxAnnotationToJakarta: - name: "org.openrewrite.java.migrate.jakarta.ChangeJavaxAnnotationToJakarta" - description: "Java EE has been rebranded to Jakarta EE, necessitating a package\ - \ relocation. Excludes `javax.annotation.processing`." - docLink: "https://docs.openrewrite.org/recipes/java/migrate/jakarta/changejavaxannotationtojakarta" + org.openrewrite.java.migrate.jakarta.ApplicationPathWildcardNoLongerAccepted: + name: "org.openrewrite.java.migrate.jakarta.ApplicationPathWildcardNoLongerAccepted" + description: "Remove trailing `/*` from `jakarta.ws.rs.ApplicationPath` values." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/jakarta/applicationpathwildcardnolongeraccepted" options: [] - isImperative: false + isImperative: true artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.jakarta.EhcacheJavaxToJakarta: name: "org.openrewrite.java.migrate.jakarta.EhcacheJavaxToJakarta" @@ -6635,6 +6974,14 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.jakarta.FacesManagedBeansRemoved: + name: "org.openrewrite.java.migrate.jakarta.FacesManagedBeansRemoved" + description: "This recipe substitutes Faces Managed Beans, which were deprecated\ + \ in JavaServer Faces 2.3 and have been removed from Jakarta Faces 4.0.\n" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/jakarta/facesmanagedbeansremoved" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.jakarta.JacksonJavaxToJakarta: name: "org.openrewrite.java.migrate.jakarta.JacksonJavaxToJakarta" description: "Java EE has been rebranded to Jakarta EE. This recipe replaces\ @@ -6668,13 +7015,6 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" - org.openrewrite.java.migrate.jakarta.JavaxAnnotationPackageToJakarta: - name: "org.openrewrite.java.migrate.jakarta.JavaxAnnotationPackageToJakarta" - description: "Change type of classes in the `javax.annotation` package to jakarta." - docLink: "https://docs.openrewrite.org/recipes/java/migrate/jakarta/javaxannotationpackagetojakarta" - options: [] - isImperative: false - artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.jakarta.JavaxAnnotationSecurityPackageToJakarta: name: "org.openrewrite.java.migrate.jakarta.JavaxAnnotationSecurityPackageToJakarta" description: "Change type of classes in the `javax.annotation.security` package\ @@ -6925,17 +7265,6 @@ rewrite-migrate-java: options: [] isImperative: true artifactId: "rewrite-migrate-java" - org.openrewrite.java.migrate.jakarta.RemoveMethods: - name: "org.openrewrite.java.migrate.jakarta.RemoveMethods" - description: "Checks for a method patterns and removes the method call from\ - \ the class" - docLink: "https://docs.openrewrite.org/recipes/java/migrate/jakarta/removemethods" - options: - - name: "methodPattern" - type: "String" - required: true - isImperative: true - artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.jakarta.RemovedIsParmetersProvidedMethod: name: "org.openrewrite.java.migrate.jakarta.RemovedIsParmetersProvidedMethod" description: "Expression Language prior to 5.0 provides the deprecated MethodExpression.isParmetersProvided()\ @@ -7012,6 +7341,14 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.jakarta.UpdateApacheWSSecurityPackages: + name: "org.openrewrite.java.migrate.jakarta.UpdateApacheWSSecurityPackages" + description: "Java EE has been rebranded to Jakarta EE. This recipe replaces\ + \ Apache security packages to migrate to Apache `wss4j`\n" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/jakarta/updateapachewssecuritypackages" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.jakarta.WsWsocServerContainerDeprecation: name: "org.openrewrite.java.migrate.jakarta.WsWsocServerContainerDeprecation" description: "Deprecated `WsWsocServerContainer.doUpgrade(..)` is replaced by\ @@ -7020,6 +7357,50 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.javaee7: + name: "org.openrewrite.java.migrate.javaee7" + description: "These recipes help with the Migration to Java EE 7, flagging and\ + \ updating deprecated methods." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/javaee7" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.javaee7.OpenJPAPersistenceProvider: + name: "org.openrewrite.java.migrate.javaee7.OpenJPAPersistenceProvider" + description: "When migrating to EclipseLink, using OpenJPA providers in EclipseLink\ + \ results in runtime errors. To resolve these errors, the recipe removes\ + \ the flagged OpenJPA provider from the persistence.xml.\n" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/javaee7/openjpapersistenceprovider" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.javaee8: + name: "org.openrewrite.java.migrate.javaee8" + description: "These recipes help with the Migration to Java EE 8, flagging and\ + \ updating deprecated methods." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/javaee8" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.javaee8.ApacheDefaultProvider: + name: "org.openrewrite.java.migrate.javaee8.ApacheDefaultProvider" + description: "This recipe flags any `org.apache.bval.jsr*` (bval 1.1) and `org.apache.bval.jsr303*`\ + \ (bval 1.0) package references in validation.xml deployment descriptors.\ + \ Bean Validation 2.0 and later use the Hibernate Validator implementation\ + \ instead of the Apache BVal implementation which was used for Bean Validation\ + \ 1.0 and 1.1\n" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/javaee8/apachedefaultprovider" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.javaee8.ServletIsRequestedSessionIdFromURL: + name: "org.openrewrite.java.migrate.javaee8.ServletIsRequestedSessionIdFromURL" + description: "The method `HttpServletRequestWrapper.isRequestedSessionIdFromUrl()`\ + \ is deprecated in JavaEE8 and is replaced by `HttpServletRequestWrapper.isRequestedSessionIdFromURL()`" + docLink: "https://docs.openrewrite.org/recipes/java/migrate/javaee8/servletisrequestedsessionidfromurl" + options: [] + isImperative: false + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.javax.AddInjectDependencies: name: "org.openrewrite.java.migrate.javax.AddInjectDependencies" description: "This recipe will add the necessary `inject-api` dependency from\ @@ -7060,7 +7441,7 @@ rewrite-migrate-java: name: "org.openrewrite.java.migrate.javax.AddJaxwsDependencies" description: "This recipe will add explicit dependencies for Jakarta EE 8 when\ \ a Java 8 application is using JAX-WS. Any existing dependencies will be\ - \ upgraded to the latest version of Jakarta EE 8. **The artifacts are moved\ + \ upgraded to the latest version of Jakarta EE 8. The artifacts are moved\ \ to Jakarta EE 8 but the application can continue to use the `javax.xml.bind`\ \ namespace.\n" docLink: "https://docs.openrewrite.org/recipes/java/migrate/javax/addjaxwsdependencies" @@ -7325,14 +7706,6 @@ rewrite-migrate-java: options: [] isImperative: true artifactId: "rewrite-migrate-java" - org.openrewrite.java.migrate.lang.RemoveThreadDestroyMethod: - name: "org.openrewrite.java.migrate.lang.RemoveThreadDestroyMethod" - description: "Remove deprecated invocations of `Thread.destroy()` which have\ - \ no alternatives needed." - docLink: "https://docs.openrewrite.org/recipes/java/migrate/lang/removethreaddestroymethod" - options: [] - isImperative: true - artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.lang.StringFormatted: name: "org.openrewrite.java.migrate.lang.StringFormatted" description: "Prefer `String#formatted(Object...)` over `String#format(String,\ @@ -7378,6 +7751,16 @@ rewrite-migrate-java: options: [] isImperative: true artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.lang.ThreadStopUnsupported: + name: "org.openrewrite.java.migrate.lang.ThreadStopUnsupported" + description: "`Thread.stop()` always throws a `new UnsupportedOperationException`\ + \ in Java 21+. This recipe makes that explicit, as the migration is more complicated.See\ + \ https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/doc-files/threadPrimitiveDeprecation.html\ + \ ." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/lang/threadstopunsupported" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.lang.UseStringIsEmptyRecipe: name: "org.openrewrite.java.migrate.lang.UseStringIsEmptyRecipe" description: "Replace `0 < s.length()` and `s.length() != 0` with `!s.isEmpty()`." @@ -7489,8 +7872,9 @@ rewrite-migrate-java: artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.lombok.LombokValToFinalVar: name: "org.openrewrite.java.migrate.lombok.LombokValToFinalVar" - description: "Prefer the Java standard library's `final var` over third-party\ - \ usage of Lombok's `lombok.val` in Java 10 or higher." + description: "Prefer the Java standard library's `final var` and `var` over\ + \ third-party usage of Lombok's `lombok.val` and `lombok.var` in Java 10 or\ + \ higher." docLink: "https://docs.openrewrite.org/recipes/java/migrate/lombok/lombokvaltofinalvar" options: [] isImperative: true @@ -7701,6 +8085,36 @@ rewrite-migrate-java: options: [] isImperative: true artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes: + name: "org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes" + description: "Refaster template recipes for `org.openrewrite.java.migrate.net.URLConstructorsToURI`." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLFourArgumentConstructorRecipe: + name: "org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLFourArgumentConstructorRecipe" + description: "Converts `new URL(String, String, int, String)` constructors to\ + \ `new URI(...).toURL()`." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes$urlfourargumentconstructorrecipe" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLSingleArgumentConstructorRecipe: + name: "org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLSingleArgumentConstructorRecipe" + description: "Converts `new URL(String)` constructors to `URI.create(String).toURL()`." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes$urlsingleargumentconstructorrecipe" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLThreeArgumentConstructorRecipe: + name: "org.openrewrite.java.migrate.net.URLConstructorsToURIRecipes$URLThreeArgumentConstructorRecipe" + description: "Converts `new URL(String, String, String)` constructors to `new\ + \ URI(...).toURL()`." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/net/urlconstructorstourirecipes$urlthreeargumentconstructorrecipe" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.plexus.PlexusFileUtilsRecipes: name: "org.openrewrite.java.migrate.plexus.PlexusFileUtilsRecipes" description: "Refaster template recipes for `org.openrewrite.java.migrate.plexus.PlexusFileUtils`." @@ -7862,6 +8276,34 @@ rewrite-migrate-java: required: false isImperative: true artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.search.FindDataUsedOnDto: + name: "org.openrewrite.java.migrate.search.FindDataUsedOnDto" + description: "Find data elements used on DTOs. This is useful to provide information\ + \ where data over-fetching may be a problem." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/search/finddatausedondto" + options: + - name: "dtoType" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.search.FindDtoOverfetching: + name: "org.openrewrite.java.migrate.search.FindDtoOverfetching" + description: "Find methods that have 'opportunities' for improvement." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/search/finddtooverfetching" + options: + - name: "dtoType" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.search.FindJavaVersion: + name: "org.openrewrite.java.migrate.search.FindJavaVersion" + description: "Finds Java versions in use." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/search/findjavaversion" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.sql.JavaSqlAPIs: name: "org.openrewrite.java.migrate.sql.JavaSqlAPIs" description: "Certain Java sql APIs have become deprecated and their usages\ @@ -7879,6 +8321,13 @@ rewrite-migrate-java: options: [] isImperative: true artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.util.IteratorNext: + name: "org.openrewrite.java.migrate.util.IteratorNext" + description: "Replace `SequencedCollection.iterator().next()` with `getFirst()`." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/util/iteratornext" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.util.JavaUtilAPIs: name: "org.openrewrite.java.migrate.util.JavaUtilAPIs" description: "Certain java util APIs have been introduced and are favored over\ @@ -7887,6 +8336,14 @@ rewrite-migrate-java: options: [] isImperative: false artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.util.ListFirstAndLast: + name: "org.openrewrite.java.migrate.util.ListFirstAndLast" + description: "Replace `list.get(0)` with `list.getFirst()`, `list.get(list.size()\ + \ - 1)` with `list.getLast()`, and similar for `add(int, E)` and `remove(int)`." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/util/listfirstandlast" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.util.MigrateCollectionsSingletonList: name: "org.openrewrite.java.migrate.util.MigrateCollectionsSingletonList" description: "Prefer `List.of(..)` instead of using `Collections.singletonList()`\ @@ -7943,6 +8400,14 @@ rewrite-migrate-java: options: [] isImperative: true artifactId: "rewrite-migrate-java" + org.openrewrite.java.migrate.util.OptionalStreamRecipe: + name: "org.openrewrite.java.migrate.util.OptionalStreamRecipe" + description: "Migrate Java 8 `Optional.filter(Optional::isPresent).map(Optional::get)`\ + \ to Java 11 `.flatMap(Optional::stream)`." + docLink: "https://docs.openrewrite.org/recipes/java/migrate/util/optionalstreamrecipe" + options: [] + isImperative: true + artifactId: "rewrite-migrate-java" org.openrewrite.java.migrate.util.RemoveFinalizerFromZip: name: "org.openrewrite.java.migrate.util.RemoveFinalizerFromZip" description: "Remove invocations of finalize() deprecated invocations from Deflater,\ @@ -8014,6 +8479,21 @@ rewrite-okhttp: options: [] isImperative: false artifactId: "rewrite-okhttp" + org.openrewrite.okhttp.UpgradeOkHttp4: + name: "org.openrewrite.okhttp.UpgradeOkHttp4" + description: "This recipe will apply changes commonly needed when migrating\ + \ to OkHttp 4.x." + docLink: "https://docs.openrewrite.org/recipes/okhttp/upgradeokhttp4" + options: [] + isImperative: false + artifactId: "rewrite-okhttp" + org.openrewrite.okhttp.UpgradeOkHttp4Dependencies: + name: "org.openrewrite.okhttp.UpgradeOkHttp4Dependencies" + description: "Migrate OkHttp dependencies to 4.x." + docLink: "https://docs.openrewrite.org/recipes/okhttp/upgradeokhttp4dependencies" + options: [] + isImperative: false + artifactId: "rewrite-okhttp" org.openrewrite.okhttp.UpgradeOkHttp5: name: "org.openrewrite.okhttp.UpgradeOkHttp5" description: "This recipe will apply changes commonly needed when migrating\ @@ -8046,7 +8526,7 @@ rewrite-okhttp: artifactId: "rewrite-okhttp" rewrite-properties: artifactId: "rewrite-properties" - version: "8.9.0-SNAPSHOT" + version: "8.11.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.properties.AddProperty: name: "org.openrewrite.properties.AddProperty" @@ -8107,6 +8587,22 @@ rewrite-properties: required: false isImperative: true artifactId: "rewrite-properties" + org.openrewrite.properties.CreatePropertiesFile: + name: "org.openrewrite.properties.CreatePropertiesFile" + description: "Create a new Properties file." + docLink: "https://docs.openrewrite.org/recipes/properties/createpropertiesfile" + options: + - name: "fileContents" + type: "String" + required: false + - name: "overwriteExisting" + type: "Boolean" + required: false + - name: "relativeFileName" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-properties" org.openrewrite.properties.DeleteProperty: name: "org.openrewrite.properties.DeleteProperty" description: "Deletes key/value pairs from properties files." @@ -8135,7 +8631,7 @@ rewrite-properties: artifactId: "rewrite-properties" rewrite-python: artifactId: "rewrite-python" - version: "1.2.0-SNAPSHOT" + version: "1.3.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.python.ChangeMethodName: name: "org.openrewrite.python.ChangeMethodName" @@ -8316,7 +8812,7 @@ rewrite-recommendations: artifactId: "rewrite-recommendations" rewrite-spring: artifactId: "rewrite-spring" - version: "5.1.0-SNAPSHOT" + version: "5.2.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.gradle.spring.AddSpringDependencyManagementPlugin: name: "org.openrewrite.gradle.spring.AddSpringDependencyManagementPlugin" @@ -9075,12 +9571,7 @@ rewrite-spring: artifactId: "rewrite-spring" org.openrewrite.java.spring.boot2.SpringBootProperties_2_7: name: "org.openrewrite.java.spring.boot2.SpringBootProperties_2_7" - description: "Migrate applications to the latest Spring Boot 2.7 release. This\ - \ recipe will modify an application's build files, make changes to deprecated/preferred\ - \ APIs, and migrate configuration settings that have changes between versions.\ - \ This recipe will also chain additional framework migrations (Spring Framework,\ - \ Spring Data, etc) that are required as part of the migration to Spring Boot\ - \ 2.7\n" + description: "Migrate properties found in `application.properties` and `application.yml`." docLink: "https://docs.openrewrite.org/recipes/java/spring/boot2/springbootproperties_2_7" options: [] isImperative: false @@ -9303,6 +9794,14 @@ rewrite-spring: options: [] isImperative: true artifactId: "rewrite-spring" + org.openrewrite.java.spring.boot3.EnableVirtualThreads: + name: "org.openrewrite.java.spring.boot3.EnableVirtualThreads" + description: "Set `spring.threads.virtual.enabled` to `true` in `application.properties`\ + \ or `application.yml`." + docLink: "https://docs.openrewrite.org/recipes/java/spring/boot3/enablevirtualthreads" + options: [] + isImperative: false + artifactId: "rewrite-spring" org.openrewrite.java.spring.boot3.MaintainTrailingSlashURLMappings: name: "org.openrewrite.java.spring.boot3.MaintainTrailingSlashURLMappings" description: "This is part of Spring MVC and WebFlux URL Matching Changes, as\ @@ -9383,6 +9882,13 @@ rewrite-spring: options: [] isImperative: false artifactId: "rewrite-spring" + org.openrewrite.java.spring.boot3.SpringBootProperties_3_2: + name: "org.openrewrite.java.spring.boot3.SpringBootProperties_3_2" + description: "Migrate properties found in `application.properties` and `application.yml`." + docLink: "https://docs.openrewrite.org/recipes/java/spring/boot3/springbootproperties_3_2" + options: [] + isImperative: false + artifactId: "rewrite-spring" org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_0: name: "org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_0" description: "Migrate applications to the latest Spring Boot 3.0 release. This\ @@ -9397,11 +9903,28 @@ rewrite-spring: artifactId: "rewrite-spring" org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_1: name: "org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_1" - description: "Upgrade to Spring Boot 3.1" + description: "Migrate applications to the latest Spring Boot 3.1 release. This\ + \ recipe will modify an application's build files, make changes to deprecated/preferred\ + \ APIs, and migrate configuration settings that have changes between versions.\ + \ This recipe will also chain additional framework migrations (Spring Framework,\ + \ Spring Data, etc) that are required as part of the migration to Spring Boot\ + \ 3.0.\n" docLink: "https://docs.openrewrite.org/recipes/java/spring/boot3/upgradespringboot_3_1" options: [] isImperative: false artifactId: "rewrite-spring" + org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_2: + name: "org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_2" + description: "Migrate applications to the latest Spring Boot 3.2 release. This\ + \ recipe will modify an application's build files, make changes to deprecated/preferred\ + \ APIs, and migrate configuration settings that have changes between versions.\ + \ This recipe will also chain additional framework migrations (Spring Framework,\ + \ Spring Data, etc) that are required as part of the migration to Spring Boot\ + \ 3.1.\n" + docLink: "https://docs.openrewrite.org/recipes/java/spring/boot3/upgradespringboot_3_2" + options: [] + isImperative: false + artifactId: "rewrite-spring" org.openrewrite.java.spring.boot3.UpgradeSpringDoc_2: name: "org.openrewrite.java.spring.boot3.UpgradeSpringDoc_2" description: "Migrate applications to the latest spring-doc 2 release. This\ @@ -9419,10 +9942,10 @@ rewrite-spring: options: [] isImperative: true artifactId: "rewrite-spring" - org.openrewrite.java.spring.cloud2022.MavenPomUpgrade: - name: "org.openrewrite.java.spring.cloud2022.MavenPomUpgrade" - description: "Upgrade Maven POM to Spring Cloud 2022 from prior 2021.x version." - docLink: "https://docs.openrewrite.org/recipes/java/spring/cloud2022/mavenpomupgrade" + org.openrewrite.java.spring.cloud2022.DependencyUpgrades: + name: "org.openrewrite.java.spring.cloud2022.DependencyUpgrades" + description: "Upgrade dependencies to Spring Cloud 2022 from prior 2021.x version." + docLink: "https://docs.openrewrite.org/recipes/java/spring/cloud2022/dependencyupgrades" options: [] isImperative: false artifactId: "rewrite-spring" @@ -9442,6 +9965,20 @@ rewrite-spring: options: [] isImperative: false artifactId: "rewrite-spring" + org.openrewrite.java.spring.cloud2023.DependencyUpgrades: + name: "org.openrewrite.java.spring.cloud2023.DependencyUpgrades" + description: "Upgrade dependencies to Spring Cloud 2023 from prior 2022.x version." + docLink: "https://docs.openrewrite.org/recipes/java/spring/cloud2023/dependencyupgrades" + options: [] + isImperative: false + artifactId: "rewrite-spring" + org.openrewrite.java.spring.cloud2023.UpgradeSpringCloud_2023: + name: "org.openrewrite.java.spring.cloud2023.UpgradeSpringCloud_2023" + description: "Migrate applications to the latest Spring Cloud 2023 release." + docLink: "https://docs.openrewrite.org/recipes/java/spring/cloud2023/upgradespringcloud_2023" + options: [] + isImperative: false + artifactId: "rewrite-spring" org.openrewrite.java.spring.data.MigrateJpaSort: name: "org.openrewrite.java.spring.data.MigrateJpaSort" description: "Equivalent constructors in `JpaSort` were deprecated in Spring\ @@ -9885,6 +10422,15 @@ rewrite-spring: options: [] isImperative: false artifactId: "rewrite-spring" + org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_2: + name: "org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_2" + description: "Migrate applications to the latest Spring Security 6.2 release.\ + \ This recipe will modify an application's build files, make changes to deprecated/preferred\ + \ APIs, and migrate configuration settings that have changes between versions.\n" + docLink: "https://docs.openrewrite.org/recipes/java/spring/security6/upgradespringsecurity_6_2" + options: [] + isImperative: false + artifactId: "rewrite-spring" org.openrewrite.java.spring.security6.UseSha256InRememberMe: name: "org.openrewrite.java.spring.security6.UseSha256InRememberMe" description: "As of Spring Security 6.0 the SHA-256 algorithm is the default\ @@ -9968,7 +10514,7 @@ rewrite-sql: artifactId: "rewrite-sql" rewrite-static-analysis: artifactId: "rewrite-static-analysis" - version: "1.1.0-SNAPSHOT" + version: "1.2.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.kotlin.StaticAnalysis: name: "org.openrewrite.kotlin.StaticAnalysis" @@ -12048,8 +12594,15 @@ rewrite-terraform: artifactId: "rewrite-terraform" rewrite-testing-frameworks: artifactId: "rewrite-testing-frameworks" - version: "2.1.0-SNAPSHOT" + version: "2.2.0-SNAPSHOT" markdownRecipeDescriptors: + org.openrewrite.java.testing.archunit.ArchUnit0to1Migration: + name: "org.openrewrite.java.testing.archunit.ArchUnit0to1Migration" + description: "Upgrade ArchUnit from 0.x to 1.x." + docLink: "https://docs.openrewrite.org/recipes/java/testing/archunit/archunit0to1migration" + options: [] + isImperative: false + artifactId: "rewrite-testing-frameworks" org.openrewrite.java.testing.assertj.AdoptAssertJDurationAssertions: name: "org.openrewrite.java.testing.assertj.AdoptAssertJDurationAssertions" description: "Adopt AssertJ `DurationAssert` assertions for more expressive\ @@ -12758,9 +13311,49 @@ rewrite-testing-frameworks: options: [] isImperative: false artifactId: "rewrite-testing-frameworks" + org.openrewrite.java.testing.testcontainers.ExplicitContainerImage: + name: "org.openrewrite.java.testing.testcontainers.ExplicitContainerImage" + description: "Set the image to use for a container explicitly if unset, rather\ + \ than relying on the default image for the container class." + docLink: "https://docs.openrewrite.org/recipes/java/testing/testcontainers/explicitcontainerimage" + options: + - name: "containerClass" + type: "String" + required: true + - name: "image" + type: "String" + required: true + - name: "parseImage" + type: "Boolean" + required: false + isImperative: true + artifactId: "rewrite-testing-frameworks" + org.openrewrite.java.testing.testcontainers.ExplicitContainerImages: + name: "org.openrewrite.java.testing.testcontainers.ExplicitContainerImages" + description: "Replace implicit default container images and versions with explicit\ + \ versions." + docLink: "https://docs.openrewrite.org/recipes/java/testing/testcontainers/explicitcontainerimages" + options: [] + isImperative: false + artifactId: "rewrite-testing-frameworks" + org.openrewrite.java.testing.testcontainers.GetHostMigration: + name: "org.openrewrite.java.testing.testcontainers.GetHostMigration" + description: "Replace `org.testcontainers.containers.ContainerState.getContainerIpAddress()`\ + \ with `getHost()`." + docLink: "https://docs.openrewrite.org/recipes/java/testing/testcontainers/gethostmigration" + options: [] + isImperative: false + artifactId: "rewrite-testing-frameworks" + org.openrewrite.java.testing.testcontainers.TestContainersBestPractices: + name: "org.openrewrite.java.testing.testcontainers.TestContainersBestPractices" + description: "Apply best practices to Testcontainers usage." + docLink: "https://docs.openrewrite.org/recipes/java/testing/testcontainers/testcontainersbestpractices" + options: [] + isImperative: false + artifactId: "rewrite-testing-frameworks" rewrite-xml: artifactId: "rewrite-xml" - version: "8.9.0-SNAPSHOT" + version: "8.11.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.xml.AddCommentToXmlTag: name: "org.openrewrite.xml.AddCommentToXmlTag" @@ -12846,6 +13439,30 @@ rewrite-xml: required: false isImperative: true artifactId: "rewrite-xml" + org.openrewrite.xml.CreateXmlFile: + name: "org.openrewrite.xml.CreateXmlFile" + description: "Create a new XML file." + docLink: "https://docs.openrewrite.org/recipes/xml/createxmlfile" + options: + - name: "fileContents" + type: "String" + required: false + - name: "overwriteExisting" + type: "Boolean" + required: false + - name: "relativeFileName" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-xml" + org.openrewrite.xml.RemoveEmptyXmlTags: + name: "org.openrewrite.xml.RemoveEmptyXmlTags" + description: "Removes XML tags that do not have attributes or children, including\ + \ self closing tags." + docLink: "https://docs.openrewrite.org/recipes/xml/removeemptyxmltags" + options: [] + isImperative: true + artifactId: "rewrite-xml" org.openrewrite.xml.RemoveTrailingWhitespace: name: "org.openrewrite.xml.RemoveTrailingWhitespace" description: "Remove any extra trailing whitespace from the end of each line." @@ -12966,7 +13583,7 @@ rewrite-xml: artifactId: "rewrite-xml" rewrite-yaml: artifactId: "rewrite-yaml" - version: "8.9.0-SNAPSHOT" + version: "8.11.0-SNAPSHOT" markdownRecipeDescriptors: org.openrewrite.yaml.AppendToSequence: name: "org.openrewrite.yaml.AppendToSequence" @@ -13094,6 +13711,22 @@ rewrite-yaml: required: true isImperative: true artifactId: "rewrite-yaml" + org.openrewrite.yaml.CreateYamlFile: + name: "org.openrewrite.yaml.CreateYamlFile" + description: "Create a new YAML file." + docLink: "https://docs.openrewrite.org/recipes/yaml/createyamlfile" + options: + - name: "fileContents" + type: "String" + required: false + - name: "overwriteExisting" + type: "Boolean" + required: false + - name: "relativeFileName" + type: "String" + required: true + isImperative: true + artifactId: "rewrite-yaml" org.openrewrite.yaml.DeleteKey: name: "org.openrewrite.yaml.DeleteKey" description: "Delete a YAML mapping entry key."