8.57.0 release (2025-07-10)
Total recipe count: 3921
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.
New Recipes
- com.oracle.weblogic.rewrite.ChangeJakartaWebServiceRSAPIDependencyScope: This recipe will change the jakarta.ws.rs-api dependency scope to provided when jakarta.jakartaee-api version 9.x is provided in WebLogic 15.1.1. This prevents the jakarta.ws.rs-api jar from being deployed to WebLogic which can cause class conflicts.
- io.moderne.cryptography.FindInsecureSecuritySetProperties: Locate calls to
Security.setProperty
that set insecure properties. - io.moderne.java.spring.boot.IsLikelyNotSpringBoot: Marks the project if it's likely not a Spring Boot project.
- io.moderne.java.spring.boot.IsLikelySpringBoot: Marks the project if it's likely a Spring Boot project.
- io.moderne.java.spring.boot.MigrateSpringFrameworkDependenciesToSpringBoot: Migrate Spring Framework Dependencies to Spring Boot.
- io.moderne.java.spring.boot.SpringToSpringBoot: Migrate non Spring Boot applications to the latest compatible Spring Boot release. This recipe will modify an application's build files introducing Maven dependency management for Spring Boot, or adding the Gradle Spring Boot build plugin.
- io.moderne.java.spring.framework.IsLikelySpringFramework: Marks the project if it's likely a Spring Framework project.
- io.moderne.java.spring.framework.webxml.DeleteEmptyWebXml: Deletes
web.xml
files that contain only an empty<web-app>
root element with no child elements. - io.moderne.java.spring.framework.webxml.WebXmlToWebApplicationInitializer: Migrate
web.xml
toWebApplicationInitializer
for Spring applications. This allows for programmatic configuration of the web application context, replacing the need for XML-based configuration. This recipe only picks upweb.xml
files located in thesrc/main/webapp/WEB-INF
directory to avoid inference with tests. - org.openrewrite.github.ReplaceOssrhSecretsWithSonatype: Replace deprecated OSSRH_S01 secrets with new Sonatype secrets in GitHub Actions workflows. This is an example use of the
ReplaceSecrets
andReplaceSecretKeys
recipes combined used to update the Maven publishing secrets in OpenRewrite's GitHub organization. - org.openrewrite.github.ReplaceSecretKeys: Replace key names used for secrets in GitHub Actions workflow files.
- org.openrewrite.github.ReplaceSecrets: Replace references to GitHub Action secrets in workflow files.
- org.openrewrite.gradle.GradleBestPractices: Apply a set of Gradle best practices to the build files, for more efficient and ideomatic builds.
- org.openrewrite.java.flyway.AddFlywayModuleSqlServer: Database modules for Flyway 10 have been split out into separate modules for maintainability. Add the
flyway-sqlserver
dependency if you are using SQL Server with Flyway 10, as detailed on https://github.com/flyway/flyway/issues/3780. - org.openrewrite.java.jackson.UpgradeJackson_2_3: Migrate applications to the latest Jackson 3.x release.
- org.openrewrite.java.jackson.UpgradeJackson_2_And_3_Base_Exceptions: Jackson 3 contains new base exceptions which were also backported to 2.x. This recipe will migrate usage to the new base exceptions to prepare for a 3.x upgrade.
- org.openrewrite.java.migrate.BouncyCastleFromJdk15OnToJdk15to18: This recipe replaces the Bouncy Castle artifacts from
jdk15on
tojdk15to18
.jdk15on
isn't maintained anymore andjdk18on
is only for Java 8 and above. Thejdk15to18
artifact is the up-to-date replacement of the unmaintainedjdk15on
for Java < 8. - org.openrewrite.java.migrate.jakarta.HasNoJakartaAnnotations: Mark all source as found per
JavaProject
where no Jakarta annotations are found. This is useful mostly as a precondition for recipes that require Jakarta annotations to be present - org.openrewrite.java.migrate.lombok.LombokOnXToOnX_: Migrates Lombok's
onX
annotations from the Java 7 style using@__
to the Java 8+ style usingonX_
. For example,@Getter(onMethod=@__({@Id}))
becomes@Getter(onMethod_={@Id})
. - org.openrewrite.java.spring.data.MigrateQueryToNativeQuery: Replace
@Query
annotation by@NativeQuery
whennativeQuery = true
.@NativeQuery
was introduced in Spring Data JPA 3.4. - org.openrewrite.java.spring.data.UpgradeSpringData_3_4: Migrate applications to the latest Spring Data 3.4 release.
- org.openrewrite.jenkins.CreateJenkinsfile: Creates a simple base Jenkinsfile in Groovy for a Declarative Pipeline - located in the root of the project.
- org.openrewrite.jenkins.JenkinsfileAsGroovy: Parse any
Jenkinsfile
as Groovy code. - org.openrewrite.quarkus.Slf4jToQuarkusLogger: Removes usage of SLF4J Logger fields, adjusts imports, and replaces logger method calls with static Quarkus Log calls, including message formatting and method renaming for parameterized logging.
- org.openrewrite.spring.webxml.MigrateToJakartaEEServletConfiguration: Migrates
web.xml
content to Spring Boot Configuration classes using Jakarta EE namespace. - org.openrewrite.spring.webxml.MigrateToJavaXServletConfiguration: Migrates
web.xml
content to Spring Boot Configuration classes using Java EE javax namespace. - org.openrewrite.spring.webxml.RemoveWebXml: Migrates
web.xml
content to Spring Boot Configuration classes with respect to Java EE or Jakarta EE usage. - org.openrewrite.staticanalysis.RemoveRedundantNullCheckBeforeInstanceof: Removes redundant null checks before instanceof operations since instanceof returns false for null.
- org.openrewrite.staticanalysis.SimplifyArraysAsList: Simplifies
Arrays.asList()
method calls that use explicit array creation to use varargs instead. For example,Arrays.asList(new String[]{"a", "b", "c"})
becomesArrays.asList("a", "b", "c")
.