Skip to main content

8.56.0 release (2025-06-25)

Total recipe count: 3892

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 Artifacts

  • rewrite-cryptography
  • rewrite-devcenter
  • rewrite-netty

New Recipes

public class IsLiteralNull {

@BeforeTemplate
boolean before(Expression expression) {
return expression instanceof J.Literal && ((J.Literal)expression).getValue() == null;
}

@AfterTemplate
boolean after(Expression expression) {
return J.Literal.isLiteralValue(expression, null);
}
}

.

Removed Recipes

  • org.openrewrite.java.jspecify.MigrateToJspecify: This recipe will migrate to JSpecify annotations from various other nullability annotation standards.
  • org.openrewrite.java.migrate.jakarta.Faces2xMigrationToJakarta4x: Jakarta EE 10 uses Faces 4.0 a major upgrade to Jakarta packages and XML namespaces.
  • org.openrewrite.java.migrate.jakarta.JakartaFacesXhtml: Find and replace legacy JSF namespaces and javax references with Jakarta Faces values in XHTML files.
  • org.openrewrite.java.migrate.jakarta.JavaxFacesToJakartaFaces: Java EE has been rebranded to Jakarta EE, necessitating a package relocation.
  • org.openrewrite.java.migrate.jakarta.UpgradeFacesOpenSourceLibraries: Upgrade PrimeFaces, OmniFaces, and MyFaces libraries to Jakarta EE10 versions.
  • org.openrewrite.java.migrate.javax.AddJaxbDependencies: This recipe will add explicit dependencies for Jakarta EE 8 when a Java 8 application is using JAXB. Any existing dependencies will be upgraded to the latest version of Jakarta EE 8. The artifacts are moved to Jakarta EE 8 version 2.x which allows for the continued use of the javax.xml.bind namespace. Running a full javax to Jakarta migration using org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakarta will update to versions greater than 3.x which necessitates the package change as well.
  • org.openrewrite.java.recipes.SetDefaultEstimatedEffortPerOccurrence: Retrofit recipes with a default estimated effort per occurrence.

Changed Recipes

  • org.openrewrite.gitlab.AddComponent was changed:
    • Old Options:
      • inputs: { type: List, required: false }
      • newComponent: { type: String, required: true }
      • version: { type: String, required: true }
    • New Options:
      • inputs: { type: List, required: false }
      • insertMode: { type: InsertMode, required: false }
      • newComponent: { type: String, required: true }
      • version: { type: String, required: true }
  • org.openrewrite.gitlab.AddStages was changed:
    • Old Options:
      • acceptTheirs: { type: Boolean, required: false }
      • stages: { type: List, required: true }
    • New Options:
      • acceptTheirs: { type: Boolean, required: false }
      • insertMode: { type: InsertMode, required: false }
      • stages: { type: List, required: true }
  • org.openrewrite.gitlab.AddTemplate was changed:
    • Old Options:
      • newTemplate: { type: String, required: true }
    • New Options:
      • insertMode: { type: InsertMode, required: false }
      • newTemplate: { type: String, required: true }
  • org.openrewrite.gradle.search.FindJVMTestSuites was changed:
    • Old Options:
      • definesDependencies: { type: Boolean, required: true }
      • insertRows: { type: Boolean, required: true }
    • New Options:
      • insertRows: { type: Boolean, required: true }
  • io.quarkus.updates.core.quarkus37.ChangeMavenCompilerAnnotationProcessorGroupIdAndArtifactId was changed:
    • Old Options:
      • enforceManagedVersion: { type: Boolean, required: false }
      • newArtifactId: { type: String, required: false }
      • newGroupId: { type: String, required: false }
      • newVersion: { type: String, required: false }
      • oldArtifactId: { type: String, required: true }
      • oldGroupId: { type: String, required: true }
      • overrideManagedVersion: { type: Boolean, required: false }
      • versionPattern: { type: String, required: false }
    • New Options:
      • enforceManagedVersion: { type: Boolean, required: false }
      • newArtifactId: { type: String, required: false }
      • newGroupId: { type: String, required: false }
      • newVersion: { type: String, required: false }
      • oldArtifactId: { type: String, required: true }
      • oldGroupId: { type: String, required: true }
      • overrideManagedVersion: { type: Boolean, required: false }
      • removeVersionIfManaged: { type: Boolean, required: false }
      • versionPattern: { type: String, required: false }