8.44.1 release (2025-01-24)
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.
Removed Artifacts
- rewrite-recommendations
New Recipes
- org.openrewrite.hcl.ReplaceLegacyAttributeIndexSyntax: Replace legacy attribute index syntax (
.0) with the new syntax ([0]). - org.openrewrite.java.ChangeMethodInvocationReturnType: Changes the return type of a method invocation.
- org.openrewrite.java.ReplaceStringLiteralValue: Replace the value of a complete
Stringliteral. - org.openrewrite.java.migrate.lombok.LombokBestPractices: Applies all recipes that enforce best practices for using Lombok.
- org.openrewrite.java.spring.boot3.ReplaceMockBeanAndSpyBean: Replaces
@MockBeanand@SpyBeanannotations with@MockitoBeanand@MockitoSpyBean. - org.openrewrite.java.spring.boot3.ReplaceRestTemplateBuilderMethods: Replaces
setConnectTimeout,setReadTimeout, andsetSslBundlemethod invocations withconnectTimeout,readTimeout, andsslBundlerespectively. - org.openrewrite.json.AddKeyValue: Adds a
valueat the specifiedkeyPathwith the specifiedkey, if the key doesn't already exist. - org.openrewrite.json.format.Indents: Format tabs and indents in JSON.
- org.openrewrite.maven.UpdateMavenProjectPropertyJavaVersion: The Java version is determined by several project properties, including:
*java.version
*jdk.version
*javaVersion
*jdkVersion
*maven.compiler.source
*maven.compiler.target
*maven.compiler.release
*release.version
If none of these properties are in use and the maven compiler plugin is not otherwise configured, adds themaven.compiler.releaseproperty. - org.openrewrite.maven.UseMavenCompilerPluginReleaseConfiguration: Replaces any explicit
sourceortargetconfiguration (if present) on themaven-compiler-pluginwithrelease, and updates thereleasevalue if needed. Will not downgrade the Java version if the current version is higher. - org.openrewrite.staticanalysis.AbstractClassPublicConstructor: Constructors of
abstractclasses can only be called in constructors of their subclasses. Therefore the visibility ofpublicconstructors are reduced toprotected. - software.amazon.awssdk.v2migration.SdkBytesToByteBuffer: Convert SdkBytes to ByteBuffer by calling SdkBytes#asByteBuffer()
Removed Recipes
- org.openrewrite.java.boot3.ReplaceMockBeanAndSpyBean: Replaces
@MockBeanand@SpyBeanannotations with@MockitoBeanand@MockitoSpyBean.
Changed Recipes
- org.openrewrite.gradle.plugins.AddBuildPlugin was changed:
- Old Options:
apply: { type: Boolean, required: false }pluginId: { type: String, required: true }version: { type: String, required: false }versionPattern: { type: String, required: false }
- New Options:
acceptTransitive: { type: Boolean, required: false }apply: { type: Boolean, required: false }pluginId: { type: String, required: true }version: { type: String, required: false }versionPattern: { type: String, required: false }
- Old Options:
- org.openrewrite.gradle.plugins.AddSettingsPlugin was changed:
- Old Options:
apply: { type: Boolean, required: false }pluginId: { type: String, required: true }version: { type: String, required: false }versionPattern: { type: String, required: false }
- New Options:
acceptTransitive: { type: Boolean, required: false }apply: { type: Boolean, required: false }pluginId: { type: String, required: true }version: { type: String, required: false }versionPattern: { type: String, required: false }
- Old Options:
- org.openrewrite.java.AddOrUpdateAnnotationAttribute was changed:
- Old Options:
addOnly: { type: Boolean, required: true }annotationType: { type: String, required: true }appendArray: { type: Boolean, required: true }attributeName: { type: String, required: false }attributeValue: { type: String, required: true }
- New Options:
addOnly: { type: Boolean, required: true }annotationType: { type: String, required: true }appendArray: { type: Boolean, required: true }attributeName: { type: String, required: false }attributeValue: { type: String, required: true }oldAttributeValue: { type: String, required: true }
- Old Options:
- org.openrewrite.maven.ChangePluginGroupIdAndArtifactId was changed:
- Old Options:
newArtifact: { type: String, required: false }newArtifactId: { type: String, required: false }newGroupId: { type: String, required: false }oldArtifactId: { type: String, required: true }oldGroupId: { type: String, required: true }
- New 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 }
- Old Options:
- org.openrewrite.quarkus.search.FindQuarkusProperties was changed:
- Old Options:
profile: { type: String, required: false }propertyKey: { type: String, required: true }searchAllProfiles: { type: Boolean, required: false }
- New Options:
pathExpressions: { type: List, required: false }profile: { type: String, required: false }propertyKey: { type: String, required: true }searchAllProfiles: { type: Boolean, required: false }
- Old Options:
- org.openrewrite.staticanalysis.UnnecessaryCatch was changed:
- Old Options:
includeJavaLangException: { type: boolean, required: false }
- New Options:
includeJavaLangException: { type: boolean, required: false }includeJavaLangThrowable: { type: boolean, required: false }
- Old Options: