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
String
literal. - org.openrewrite.java.migrate.lombok.LombokBestPractices: Applies all recipes that enforce best practices for using Lombok.
- org.openrewrite.java.spring.boot3.ReplaceMockBeanAndSpyBean: Replaces
@MockBean
and@SpyBean
annotations with@MockitoBean
and@MockitoSpyBean
. - org.openrewrite.java.spring.boot3.ReplaceRestTemplateBuilderMethods: Replaces
setConnectTimeout
,setReadTimeout
, andsetSslBundle
method invocations withconnectTimeout
,readTimeout
, andsslBundle
respectively. - org.openrewrite.json.AddKeyValue: Adds a
value
at the specifiedkeyPath
with 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.release
property. - org.openrewrite.maven.UseMavenCompilerPluginReleaseConfiguration: Replaces any explicit
source
ortarget
configuration (if present) on themaven-compiler-plugin
withrelease
, and updates therelease
value if needed. Will not downgrade the Java version if the current version is higher. - org.openrewrite.staticanalysis.AbstractClassPublicConstructor: Constructors of
abstract
classes can only be called in constructors of their subclasses. Therefore the visibility ofpublic
constructors are reduced toprotected
. - software.amazon.awssdk.v2migration.SdkBytesToByteBuffer: Convert SdkBytes to ByteBuffer by calling SdkBytes#asByteBuffer()
Removed Recipes
- org.openrewrite.java.boot3.ReplaceMockBeanAndSpyBean: Replaces
@MockBean
and@SpyBean
annotations with@MockitoBean
and@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: