8.43.0 release (2025-01-10)
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-compiled-analysis
- rewrite-comprehension
New Recipes
- io.moderne.compiled.verification.ChangeListMethodAndVerify: We know this won't compile.
- io.moderne.compiled.verification.VerifyCompilation: This is a task that runs after another recipe to verify that the changes made by that recipe would result in a successful compilation.
- io.moderne.knowledge.ComprehendCode: Use LLMs to add inferred knowledge to the code.
- io.moderne.knowledge.docs.UpdateOpenRewriteReadme: Updates the README periodically to reflect the latest contents of recipe projects.
- io.moderne.knowledge.docs.UpdateReadme: Generate a README file for the project, containing information about the project inferred from its knowledge graph.
- org.openrewrite.gradle.EnableDevelocityBuildCache: Adds
buildCache
configuration todevelocity
where not yet present. - org.openrewrite.gradle.plugins.RemoveDevelocity: Remove the Develocity plugin and configuration from the Gradle build and settings files.
- org.openrewrite.gradle.plugins.RemoveDevelocityConfiguration: Remove Develocity configuration from a Gradle build.
- org.openrewrite.java.migrate.UpdateSdkMan: Update the SDKMAN JDK version in the
.sdkmanrc
file. Given a major release (e.g., 17), the recipe will update the current distribution to the current default SDKMAN version of the specified major release. The distribution option can be used to specify a specific JVM distribution. Note that these must correspond to valid SDKMAN distributions. - org.openrewrite.java.migrate.guava.NoMapsAndSetsWithExpectedSize: Prefer Java 19+ methods to create Maps and Sets of an expected size instead of using Guava methods.
- org.openrewrite.java.migrate.lombok.UseNoArgsConstructor: Prefer the Lombok
@NoArgsConstructor
annotation over explicitly written out constructors. - org.openrewrite.java.migrate.lombok.log.UseCommonsLog: Prefer the lombok annotation
@CommonsLog
over explicitly written outorg.apache.commons.logging.Log
fields. - org.openrewrite.java.migrate.lombok.log.UseJBossLog: Prefer the lombok annotation
@JBossLog
over explicitly written outorg.jboss.logging.Logger
fields. - org.openrewrite.java.migrate.lombok.log.UseLog: Prefer the lombok annotation
@Log
over explicitly written outjava.util.logging.Logger
fields. - org.openrewrite.java.migrate.lombok.log.UseLog4j2: Prefer the lombok annotation
@Log4j2
over explicitly written outorg.apache.logging.log4j.Logger
fields. - org.openrewrite.java.migrate.lombok.log.UseLombokLogAnnotations: Applies all recipes that replace logger declarations with class level annotations.
- org.openrewrite.java.migrate.lombok.log.UseSlf4j: Prefer the lombok annotation
@Slf4
over explicitly written outorg.slf4j.Logger
fields. - org.openrewrite.java.search.FindCompileErrors: Compile errors result in a particular LST structure that can be searched for.
- org.openrewrite.java.spring.cloud2022.MigrateRequestMappingOnFeignClient: Support for
@RequestMapping
over aFeignClient
interface was removed in Spring Cloud OpenFeign 2.2.10.RELEASE. - org.openrewrite.java.testing.arquillian.ArquillianJUnit4ToArquillianJUnit5: Migrates Arquillian JUnit 4 to JUnit 5.
- org.openrewrite.java.testing.arquillian.ReplaceArquillianInSequenceAnnotation: Transforms the Arquillian JUnit 4
@InSequence
to the JUnit Jupiter@Order
. - org.openrewrite.java.testing.assertj.IsEqualToIgnoringMillisToIsCloseToRecipe:
isEqualToIgnoringMillis()
is deprecated in favor ofisCloseTo()
. - org.openrewrite.maven.EnableDevelocityBuildCache: Add Develocity build cache configuration to any
.mvn/
Develocity configuration file that lack existing configuration. - org.openrewrite.openapi.swagger.MigrateApiImplicitParam: Migrate
@ApiImplicitParam
to@Parameter
. - org.openrewrite.openapi.swagger.MigrateApiParamDefaultValue: Migrate
@ApiParam(defaultValue)
to@Parameter(schema = @Schema(defaultValue))
. - org.openrewrite.openapi.swagger.MigrateSwaggerDefinitionToOpenAPIDefinition: Migrate from
@SwaggerDefinition
to@OpenAPIDefinition
. - software.amazon.awssdk.v2migration.S3MethodsToV2: Change S3 methods to v2.
Removed Recipes
- org.openrewrite.java.dependencies.RemoveExpiredSuppressions: Remove expired vulnerability suppressions from
DependencyCheck
suppression.xml
files. - org.openrewrite.openapi.swagger.MigrateApiImplicitParamDataTypeClass: Migrate
@ApiImplicitParam(dataTypeClass=Foo.class)
to@Parameter(schema=@Schema(implementation=Foo.class))
.
Changed Recipes
- org.openrewrite.text.Find was changed:
- Old Options:
caseSensitive: { type: Boolean, required: false }
dotAll: { type: Boolean, required: false }
filePattern: { type: String, required: false }
find: { type: String, required: true }
multiline: { type: Boolean, required: false }
regex: { type: Boolean, required: false }
- New Options:
caseSensitive: { type: Boolean, required: false }
description: { type: Boolean, required: false }
dotAll: { type: Boolean, required: false }
filePattern: { type: String, required: false }
find: { type: String, required: true }
multiline: { type: Boolean, required: false }
regex: { type: Boolean, required: false }
- Old Options:
- org.openrewrite.xml.security.RemoveOwaspSuppressions was changed:
- Old Options:
None
- New Options:
cutOffDate: { type: String, required: false }
- Old Options: