Links

8.15.2 Release (2024-02-07)

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

Removed Recipes

  • org.openrewrite.java.recipes.UseJavaParserBuilderInJavaTemplate: Because we can now clone JavaParser.Builder, there is no need to fully build the parser inside a Supplier<JavaParser>. This also makes room for JavaTemplate to add shared JavaTypeCache implementations to parsers used to compile templates.
  • org.openrewrite.java.security.OwaspA04: OWASP A04:2021 focuses on risks related to design and architectural flaws, with a call for more use of threat modeling, secure design patterns, and reference architectures. This recipe seeks to remediate these vulnerabilities.
  • org.openrewrite.java.security.OwaspA10: OWASP A10:2021 Server-Side Request Forgery (SSRF)
  • org.openrewrite.kotlin.StaticAnalysis: Static analysis fixes for Kotlin sources.

Changed Recipes

    • Old Options:
      • None
    • New Options:
      • fromDate: { type: String, required: false }
    • Old Options:
      • allowDowngrade: { type: Boolean, required: false }
      • compatibilityType: { type: CompatibilityType, required: false }
      • declarationStyle: { type: DeclarationStyle, required: false }
      • version: { type: Integer, required: true }
    • New Options:
      • addSourceCompatibilityIfMissing: { type: Boolean, required: false }
      • addTargetCompatibilityIfMissing: { type: Boolean, required: false }
      • allowDowngrade: { type: Boolean, required: false }
      • compatibilityType: { type: CompatibilityType, required: false }
      • declarationStyle: { type: DeclarationStyle, required: false }
      • version: { type: Integer, required: true }
    • Old Options:
      • fileMatcher: { type: String, required: false }
      • imageToFind: { type: String, required: true }
      • imageToUpdate: { type: String, required: false }
      • includeInitContainers: { type: boolean, required: false }
      • repoToFind: { type: String, required: false }
      • repoToUpdate: { type: String, required: false }
      • tagToFind: { type: String, required: false }
      • tagToUpdate: { type: String, required: false }
    • New Options:
      • digestToFind: { type: String, required: false }
      • digestToUpdate: { type: String, required: false }
      • fileMatcher: { type: String, required: false }
      • imageToFind: { type: String, required: true }
      • imageToUpdate: { type: String, required: false }
      • includeInitContainers: { type: boolean, required: false }
      • repoToFind: { type: String, required: false }
      • repoToUpdate: { type: String, required: false }
      • tagToFind: { type: String, required: false }
      • tagToUpdate: { type: String, required: false }
    • Old Options:
      • 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:
      • changeManagedDependency: { 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 }
    • Old Options:
      • artifactId: { type: String, required: true }
      • groupId: { type: String, required: true }
      • packaging: { type: String, required: true }
    • New Options:
      • artifactId: { type: String, required: true }
      • groupId: { type: String, required: true }
      • oldPackaging: { type: String, required: false }
      • packaging: { type: String, required: true }