8.63.0 release (2025-10-11)
Total recipe count: 4900
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.
Corresponding CLI version
- Stable CLI version
v3.48.8 - Staging CLI version:
v3.49.0
New Artifacts
- rewrite-spring-to-quarkus
New Recipes
- io.moderne.hibernate.update70.MigrateConfigurableToGeneratorCreationContext: In Hibernate 7.0,
Configurable.configure()now takes aGeneratorCreationContextparameter instead ofServiceRegistry. This recipe migrates method signatures and call sites. - io.moderne.hibernate.update70.MigrateIntegratorMethod: Migrate Hibernate
Integrator#integratemethod from deprecated signature to Hibernate 7 compatible signature. Changesintegrate(Metadata, SessionFactoryImplementor, SessionFactoryServiceRegistry)tointegrate(Metadata, BootstrapContext, SessionFactoryImplementor). - io.moderne.hibernate.update70.MigrateMetamodelImplementor: In Hibernate 7.0,
MetamodelImplementorhas been split intoMappingMetamodelfor ORM-specific operations andJpaMetamodelfor JPA-standard operations. This recipe migrates the usage based on which methods are called. - io.moderne.hibernate.update70.MigrateSetFlushModeToSetQueryFlushMode: In Hibernate 7.0,
CommonQueryContract.setFlushMode(FlushModeType)has been replaced withsetQueryFlushMode(QueryFlushMode). This recipe migrates the method call and convertsFlushModeTypeparameters to theirQueryFlushModeequivalents. - io.moderne.hibernate.update70.MigrateToHibernate7JFR: Migrates deprecated JFR integration APIs to their Hibernate 7 replacements.
EventManagerbecomesEventMonitorandHibernateMonitoringEventbecomesDiagnosticEvent. - io.moderne.hibernate.update70.UnboxingTransactionTimeout: JPA 3.2 adds
#getTimeoutbut usesIntegerwhereas Hibernate has historically usedint. Note that this raises the possibility of aNullPointerExceptionduring migration if, e.g., performing direct comparisons on the timeout value against an in (auto unboxing). This recipe adds ternary operators whereTransaction#getTimeout()is used and a negative value will be used if thegetTimeout()resulted in a null value. - org.openrewrite.apache.commons.lang.ApacheCommonsStringUtilsRecipes$StringJoinSeparatorIterableCharSequenceRecipe: Replace Apache Commons
StringUtils.join(Iterable<? extends CharSequence> iterable, String separator)with JDK provided API. - org.openrewrite.apache.commons.lang.WordUtilsToCommonsText: Migrate
org.apache.commons.lang.WordUtilstoorg.apache.commons.text.WordUtilsand add the Commons Text dependency. - org.openrewrite.codemods.ReactI18Next: Automatically internationalizes React applications by extracting hardcoded strings and replacing them with react-i18next translation calls. Handles JSX text, attributes, and template literals with variables. Creates and updates a translation JSON file with extracted strings.
- org.openrewrite.github.MigrateTibdexGitHubAppTokenToActions: Migrates from tibdex/github-app-token@v2 to actions/create-github-app-token@v2 and updates parameter names from snake_case to kebab-case.
- org.openrewrite.github.SetupNodeUpgradeNodeVersion: Update the Node.js version used by
actions/setup-nodeif it is below the expected version number. - org.openrewrite.java.jackson.RemoveBuiltInModuleRegistrations: In Jackson 3,
ParameterNamesModule,Jdk8Module, andJavaTimeModuleare built intojackson-databindand no longer need to be registered manually. This recipe removesObjectMapper.registerModule()calls for these modules. - org.openrewrite.java.jackson.RemoveRedundantFeatureFlags: Remove
ObjectMapperfeature flag configurations that set values to their new Jackson 3 defaults. For example,disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)andconfigure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)are redundant since this is now disabled by default in Jackson 3. - org.openrewrite.java.jackson.UpgradeJackson_2_3_Dependencies: Upgrade Jackson Maven dependencies from 2.x to 3.x versions and update group IDs.
- org.openrewrite.java.jackson.UpgradeJackson_2_3_MethodRenames: Rename Jackson methods that were renamed in 3.x (e.g.,
writeObject()towritePOJO(),getCurrentValue()tocurrentValue()). - org.openrewrite.java.jackson.UpgradeJackson_2_3_PackageChanges: Update Jackson package imports from
com.fasterxml.jacksontotools.jackson. - org.openrewrite.java.jackson.UpgradeJackson_2_3_RemoveRedundantFeatureFlags: Remove
ObjectMapperfeature flag configurations that are now defaults in Jackson 3. - org.openrewrite.java.jackson.UpgradeJackson_2_3_TypeChanges: Update Jackson type names including exception types and core class renames.
- org.openrewrite.java.jackson.UseModernDateTimeSerialization: Remove redundant
@JsonFormatannotations onjava.timetypes that specify ISO-8601 patterns, as Jackson 3 uses ISO-8601 as the default format (withWRITE_DATES_AS_TIMESTAMPSnow disabled by default). - org.openrewrite.java.search.FindDistinctMethods: A sample of every distinct method in use in a repository. The code sample in the method calls data table will be a representative use of the method, though there may be many other such uses of the method.
- org.openrewrite.java.spring.boot3.MigrateHooksToReactorContextProperty: Replace
Hooks.enableAutomaticContextPropagation()withspring.reactor.context-propagation=true. - org.openrewrite.java.spring.boot3.ReplaceStringLiteralsWithConstants: Replace String literals with Spring constants where applicable.
- org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_4: Migrate applications to the latest Spring Security 6.4 release. This recipe will modify an application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have changes between versions.
- org.openrewrite.java.testing.byteman.BytemanJUnit4ToBytemanJUnit5: Migrates Byteman JUnit 4 to JUnit 5.
- org.openrewrite.java.testing.junit.JUnit6BestPractices: Applies best practices to tests.
- org.openrewrite.java.testing.junit.JupiterBestPractices: Applies best practices to tests.
- org.openrewrite.java.testing.junit5.UpgradeToJUnit514: Upgrades JUnit 5 to 5.14.x and migrates all deprecated APIs.
- org.openrewrite.java.testing.junit6.MigrateMethodOrdererAlphanumeric: JUnit 6 removed the
MethodOrderer.Alphanumericclass. This recipe migrates usages toMethodOrderer.MethodNamewhich provides similar functionality. - org.openrewrite.java.testing.junit6.RemoveInterceptDynamicTest: JUnit 6 removed the
interceptDynamicTest(Invocation, ExtensionContext)method fromInvocationInterceptor. This recipe removes implementations of this deprecated method. - org.openrewrite.java.testing.truth.MigrateTruthToAssertJ: Migrate Google Truth assertions to AssertJ assertions.
- org.openrewrite.java.testing.truth.TruthAssertToAssertThat: Converts Google Truth's
assert_()method to AssertJ's standard assertion pattern. - org.openrewrite.java.testing.truth.TruthAssertWithMessageToAssertJ: Converts Google Truth's
assertWithMessage().that()pattern to AssertJ'sassertThat().as()pattern. - org.openrewrite.java.testing.truth.TruthCustomSubjectsToAssertJ: Marks Google Truth's
assertAbout()usage for manual review as AssertJ handles custom assertions differently. - org.openrewrite.java.testing.truth.TruthThrowableAssertions: Converts Google Truth's Throwable assertion chains like
hasMessageThat().contains()to AssertJ equivalents. - org.openrewrite.json.CreateJsonFile: Create a new JSON file.
- org.openrewrite.maven.ManagedToRuntimeDependencies: This recipe processes Maven POMs, converting all
<dependencyManagement>entries into runtime scoped<dependencies>entries. Import scoped BOMs (like jackson-bom) are left unmodified in<dependencyManagement>. Some style guidelines prefer that<dependencyManagement>be used only for BOMs. This maintain that style while avoiding introducing new symbols onto the compile classpath unintentionally. - org.openrewrite.quarkus.spring.AddQuarkusMavenPlugin: Adds the Quarkus Maven plugin using the same version as the quarkus-bom in dependency management.
- org.openrewrite.quarkus.spring.AddSpringCompatibilityExtensions: Adds Quarkus Spring compatibility extensions when Spring annotations are detected in the codebase.
- org.openrewrite.quarkus.spring.DerbyDriverToQuarkus: Migrates
org.apache.derby:derbyorderbyclienttoio.quarkus:quarkus-jdbc-derby(excludes test scope) - org.openrewrite.quarkus.spring.DerbyTestDriverToQuarkus: Migrates
org.apache.derby:derbywith test scope toio.quarkus:quarkus-jdbc-derbywith test scope - org.openrewrite.quarkus.spring.EnableAnnotationsToQuarkusDependencies: Removes Spring
@EnableXyzannotations and adds the corresponding Quarkus extensions as dependencies. - org.openrewrite.quarkus.spring.H2DriverToQuarkus: Migrates
com.h2database:h2toio.quarkus:quarkus-jdbc-h2(excludes test scope) - org.openrewrite.quarkus.spring.H2TestDriverToQuarkus: Migrates
com.h2database:h2with test scope toio.quarkus:quarkus-jdbc-h2with test scope - org.openrewrite.quarkus.spring.MigrateBootStarters: Migrates Spring Boot starter dependencies to their Quarkus equivalents, removing version tags as Quarkus manages versions through its BOM.
- org.openrewrite.quarkus.spring.MigrateDatabaseDrivers: Replaces Spring Boot database driver dependencies with their Quarkus JDBC extension equivalents.
- org.openrewrite.quarkus.spring.MigrateMavenPlugin: Remove Spring Boot Maven plugin if present and add Quarkus Maven plugin using the same version as the quarkus-bom.
- org.openrewrite.quarkus.spring.RemoveSpringBootParent: Removes the Spring Boot 3.x starter parent POM from Maven projects.
- org.openrewrite.quarkus.spring.ReplaceSpringBootApplication: Replace
@SpringBootApplicationannotation with@QuarkusMain,SpringApplication.run()calls. - org.openrewrite.quarkus.spring.ResponseEntityToJaxRsResponse: Transforms Spring
ResponseEntitypatterns to JAX-RSResponseAPI equivalents. - org.openrewrite.quarkus.spring.SpringApplicationRunToQuarkusRun: Replace Spring Boot's
SpringApplication.run()method calls with Quarkus'sQuarkus.run(). - org.openrewrite.quarkus.spring.SpringBeanToCdiProduces: Transform Spring
@Beanmethods to CDI@Producesmethods with appropriate scope annotations. - org.openrewrite.quarkus.spring.SpringBootActiveMQToQuarkus: Migrates
spring-boot-starter-activemqtoquarkus-artemis-jms. - org.openrewrite.quarkus.spring.SpringBootActuatorToQuarkus: Migrates
spring-boot-starter-actuatortoquarkus-smallrye-health. - org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusClassic: Migrates
spring-boot-starter-amqptoquarkus-messaging-rabbitmqwhen no reactor dependencies are present. - org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusReactive: Migrates
spring-boot-starter-amqptoquarkus-messaging-amqpwhen reactor dependencies are present. - org.openrewrite.quarkus.spring.SpringBootArtemisToQuarkus: Migrates
spring-boot-starter-artemistoquarkus-artemis-jms. - org.openrewrite.quarkus.spring.SpringBootBatchToQuarkus: Migrates
spring-boot-starter-batchtoquarkus-scheduler. - org.openrewrite.quarkus.spring.SpringBootCacheToQuarkus: Migrates
spring-boot-starter-cachetoquarkus-cache. - org.openrewrite.quarkus.spring.SpringBootDataJpaToQuarkus: Migrates
spring-boot-starter-data-jpatoquarkus-hibernate-orm-panache. - org.openrewrite.quarkus.spring.SpringBootDataMongoToQuarkus: Migrates
spring-boot-starter-data-mongodbtoquarkus-mongodb-panache. - org.openrewrite.quarkus.spring.SpringBootDataRedisToQuarkus: Migrates
spring-boot-starter-data-redistoquarkus-redis-client. - org.openrewrite.quarkus.spring.SpringBootDataRestToQuarkus: Migrates
spring-boot-starter-data-resttoquarkus-rest-jackson. - org.openrewrite.quarkus.spring.SpringBootElasticsearchToQuarkus: Migrates
spring-boot-starter-data-elasticsearchtoquarkus-elasticsearch-rest-client. - org.openrewrite.quarkus.spring.SpringBootIntegrationToQuarkus: Migrates
spring-boot-starter-integrationtocamel-quarkus-core. - org.openrewrite.quarkus.spring.SpringBootJdbcToQuarkus: Migrates
spring-boot-starter-jdbctoquarkus-agroal. - org.openrewrite.quarkus.spring.SpringBootMailToQuarkus: Migrates
spring-boot-starter-mailtoquarkus-mailer. - org.openrewrite.quarkus.spring.SpringBootOAuth2ClientToQuarkus: Migrates spring-boot-starter-oauth2-client
toquarkus-oidc-client`. - org.openrewrite.quarkus.spring.SpringBootOAuth2ResourceServerToQuarkus: Migrates
spring-boot-starter-oauth2-resource-servertoquarkus-oidc. - org.openrewrite.quarkus.spring.SpringBootQuartzToQuarkus: Migrates
spring-boot-starter-quartztoquarkus-quartz. - org.openrewrite.quarkus.spring.SpringBootSecurityToQuarkus: Migrates
spring-boot-starter-securitytoquarkus-security. - org.openrewrite.quarkus.spring.SpringBootTestToQuarkus: Migrates
spring-boot-starter-testtoquarkus-junit5. - org.openrewrite.quarkus.spring.SpringBootThymeleafToQuarkus: Migrates
spring-boot-starter-thymeleaftoquarkus-qute. - org.openrewrite.quarkus.spring.SpringBootToQuarkus: Replace Spring Boot with Quarkus.
- org.openrewrite.quarkus.spring.SpringBootValidationToQuarkus: Migrates
spring-boot-starter-validationtoquarkus-hibernate-validator. - org.openrewrite.quarkus.spring.SpringBootWebFluxToQuarkusReactive: Migrates
spring-boot-starter-webfluxtoquarkus-rest-client-jacksonwhen reactor dependencies are present. - org.openrewrite.quarkus.spring.SpringBootWebSocketToQuarkus: Migrates
spring-boot-starter-websockettoquarkus-websockets. - org.openrewrite.quarkus.spring.SpringBootWebToQuarkusClassic: Migrates
spring-boot-starter-webtoquarkus-resteasy-jacksonwhen no reactor dependencies are present. - org.openrewrite.quarkus.spring.SpringBootWebToQuarkusReactive: Migrates
spring-boot-starter-webtoquarkus-rest-jacksonwhen reactor dependencies are present. - org.openrewrite.quarkus.spring.SpringKafkaToQuarkusClassic: Migrates
spring-kafkatoquarkus-kafka-clientwhen no reactor dependencies are present. - org.openrewrite.quarkus.spring.SpringKafkaToQuarkusReactive: Migrates
spring-kafkatoquarkus-messaging-kafkawhen reactor dependencies are present. - org.openrewrite.quarkus.spring.StereotypeAnnotationsToCDI: Replace Spring stereotype and injection annotations with CDI equivalents.
- org.openrewrite.quarkus.spring.ValueToCdiConfigProperty: Transform Spring
@Valueannotations to MicroProfile@ConfigPropertywith proper parameter mapping. - org.openrewrite.quarkus.spring.WebToJaxRs: Converts Spring Web annotations such as
@RestController,@RequestMapping,@GetMapping, etc., to their JAX-RS equivalents like@Path,@GET, etc. - org.openrewrite.sql.ConvertDataType: When migrating between SQL dialects, data types often need to be converted. For example, Oracle's
VARCHAR2can be replaced with PostgresVARCHAR, orNUMBERwithNUMERIC. - org.openrewrite.sql.ConvertOracleDataTypesToPostgres: Replaces Oracle-specific data types with PostgreSQL equivalents.
- org.openrewrite.sql.ConvertOracleFunctionsToPostgres: Replaces Oracle-specific functions with PostgreSQL equivalents.
- org.openrewrite.sql.ConvertSqlServerDataTypesToPostgres: Replaces SQL Server-specific data types with PostgreSQL equivalents.
- org.openrewrite.sql.ConvertSqlServerFunctionsToPostgres: Replaces SQL Server-specific functions with PostgreSQL equivalents.
- org.openrewrite.sql.MigrateOracleToPostgres: Converts Oracle-specific SQL syntax and functions to PostgreSQL equivalents.
- org.openrewrite.sql.MigrateSqlServerToPostgres: Converts Microsoft SQL Server-specific SQL syntax and functions to PostgreSQL equivalents.
- software.amazon.awssdk.v2migration.S3AddImportsAndComments: Add imports and comments to unsupported S3 transforms.
- software.amazon.awssdk.v2migration.TransferManagerMethodsToV2: Transfer Manager Methods to V2
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes: These rules simplify and improve the readability of tests by using
File-specific AssertJ assertion methods instead of generic assertions. Source. - tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatDoesNotExistRecipe: Recipe created for the following Refaster template:
static final class AssertThatDoesNotExist {
@BeforeTemplate
AbstractBooleanAssert<?> before(File actual) {
return assertThat(actual.exists()).isFalse();
}
@AfterTemplate
AbstractFileAssert<?> after(File actual) {
return assertThat(actual).doesNotExist();
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatExistsRecipe: Recipe created for the following Refaster template:
static final class AssertThatExists {
@BeforeTemplate
AbstractBooleanAssert<?> before(File actual) {
return assertThat(actual.exists()).isTrue();
}
@AfterTemplate
AbstractFileAssert<?> after(File actual) {
return assertThat(actual).exists();
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatHasFileNameRecipe: Recipe created for the following Refaster template:
static final class AssertThatHasFileName {
@BeforeTemplate
AbstractStringAssert<?> before(File actual, String fileName) {
return assertThat(actual.getName()).isEqualTo(fileName);
}
@AfterTemplate
AbstractFileAssert<?> after(File actual, String fileName) {
return assertThat(actual).hasFileName(fileName);
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatHasNoParentRecipe: Recipe created for the following Refaster template:
static final class AssertThatHasNoParent {
@BeforeTemplate
void before(File actual) {
assertThat(actual.getParent()).isNull();
}
@AfterTemplate
void after(File actual) {
assertThat(actual).hasNoParent();
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatHasParentFileRecipe: Recipe created for the following Refaster template:
static final class AssertThatHasParentFile {
@BeforeTemplate
AbstractFileAssert<?> before(File actual, File expected) {
return assertThat(actual.getParentFile()).isEqualTo(expected);
}
@AfterTemplate
AbstractFileAssert<?> after(File actual, File expected) {
return assertThat(actual).hasParent(expected);
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatHasParentStringRecipe: Recipe created for the following Refaster template:
static final class AssertThatHasParentString {
@BeforeTemplate
AbstractFileAssert<?> before(File actual, String expected) {
return assertThat(actual.getParentFile()).hasFileName(expected);
}
@AfterTemplate
AbstractFileAssert<?> after(File actual, String expected) {
return assertThat(actual).hasParent(expected);
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatIsAbsoluteRecipe: Recipe created for the following Refaster template:
static final class AssertThatIsAbsolute {
@BeforeTemplate
AbstractBooleanAssert<?> before(File actual) {
return assertThat(actual.isAbsolute()).isTrue();
}
@AfterTemplate
AbstractFileAssert<?> after(File actual) {
return assertThat(actual).isAbsolute();
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatIsDirectoryRecipe: Recipe created for the following Refaster template:
static final class AssertThatIsDirectory {
@BeforeTemplate
AbstractBooleanAssert<?> before(File actual) {
return assertThat(actual.isDirectory()).isTrue();
}
@AfterTemplate
AbstractFileAssert<?> after(File actual) {
return assertThat(actual).isDirectory();
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatIsExecutableRecipe: Recipe created for the following Refaster template:
static final class AssertThatIsExecutable {
@BeforeTemplate
AbstractBooleanAssert<?> before(File actual) {
return assertThat(actual.canExecute()).isTrue();
}
@AfterTemplate
AbstractFileAssert<?> after(File actual) {
return assertThat(actual).isExecutable();
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatIsFileRecipe: Recipe created for the following Refaster template:
static final class AssertThatIsFile {
@BeforeTemplate
AbstractBooleanAssert<?> before(File actual) {
return assertThat(actual.isFile()).isTrue();
}
@AfterTemplate
AbstractFileAssert<?> after(File actual) {
return assertThat(actual).isFile();
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatIsReadableRecipe: Recipe created for the following Refaster template:
static final class AssertThatIsReadable {
@BeforeTemplate
AbstractBooleanAssert<?> before(File actual) {
return assertThat(actual.canRead()).isTrue();
}
@AfterTemplate
AbstractFileAssert<?> after(File actual) {
return assertThat(actual).isReadable();
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatIsRelativeRecipe: Recipe created for the following Refaster template:
static final class AssertThatIsRelative {
@BeforeTemplate
AbstractBooleanAssert<?> before(File actual) {
return assertThat(actual.isAbsolute()).isFalse();
}
@AfterTemplate
AbstractFileAssert<?> after(File actual) {
return assertThat(actual).isRelative();
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJFileRulesRecipes$AssertThatIsWritableRecipe: Recipe created for the following Refaster template:
static final class AssertThatIsWritable {
@BeforeTemplate
AbstractBooleanAssert<?> before(File actual) {
return assertThat(actual.canWrite()).isTrue();
}
@AfterTemplate
AbstractFileAssert<?> after(File actual) {
return assertThat(actual).isWritable();
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJStreamRulesRecipes: Refaster template recipes for
tech.picnic.errorprone.refasterrules.AssertJStreamRules. Source. - tech.picnic.errorprone.refasterrules.AssertJStreamRulesRecipes$AssertThatAnyMatchRecipe: Recipe created for the following Refaster template:
static final class AssertThatAnyMatch<T> {
@BeforeTemplate
ListAssert<T> before(Stream<T> stream, Predicate<? super T> predicate) {
return assertThat(stream).filteredOn(predicate).isNotEmpty();
}
@BeforeTemplate
AbstractBooleanAssert<?> before2(Stream<T> stream, Predicate<? super T> predicate) {
return Refaster.anyOf(assertThat(stream.anyMatch(predicate)).isTrue(), assertThat(stream.noneMatch(predicate)).isFalse());
}
@AfterTemplate
@UseImportPolicy(value = STATIC_IMPORT_ALWAYS)
ListAssert<T> after(Stream<T> stream, Predicate<? super T> predicate) {
return assertThat(stream).anyMatch(predicate);
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJStreamRulesRecipes$AssertThatCollectionRecipe: Recipe created for the following Refaster template:
static final class AssertThatCollection<T> {
@BeforeTemplate
ListAssert<T> before(Collection<T> collection) {
return assertThat(collection.stream());
}
@AfterTemplate
@UseImportPolicy(value = STATIC_IMPORT_ALWAYS)
AbstractCollectionAssert<?, ?, T, ?> after(Collection<T> collection) {
return assertThat(collection);
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJStreamRulesRecipes$AssertThatFilteredOnRecipe: Recipe created for the following Refaster template:
static final class AssertThatFilteredOn<T> {
@BeforeTemplate
ListAssert<T> before(Stream<T> stream, Predicate<? super T> predicate) {
return assertThat(stream.filter(predicate));
}
@AfterTemplate
@UseImportPolicy(value = STATIC_IMPORT_ALWAYS)
ListAssert<T> after(Stream<T> stream, Predicate<? super T> predicate) {
return assertThat(stream).filteredOn(predicate);
}
}
.
- tech.picnic.errorprone.refasterrules.AssertJStreamRulesRecipes$AssertThatNoneMatchRecipe: Recipe created for the following Refaster template:
static final class AssertThatNoneMatch<T> {
@BeforeTemplate
void before(Stream<T> stream, Predicate<? super T> predicate) {
assertThat(stream).filteredOn(predicate).isEmpty();
}
@BeforeTemplate
void before2(Stream<T> stream, Predicate<? super T> predicate) {
Refaster.anyOf(assertThat(stream.anyMatch(predicate)).isFalse(), assertThat(stream.noneMatch(predicate)).isTrue());
}
@AfterTemplate
@UseImportPolicy(value = STATIC_IMPORT_ALWAYS)
void after(Stream<T> stream, Predicate<? super T> predicate) {
assertThat(stream).noneMatch(predicate);
}
}
.
- tech.picnic.errorprone.refasterrules.FileRulesRecipes$FilesNewBufferedReaderPathOfRecipe: Prefer
Files#newBufferedReader(Path)over more verbose or contrived alternatives. - tech.picnic.errorprone.refasterrules.FileRulesRecipes$FilesNewBufferedReaderPathOfWithCharsetRecipe: Prefer
Files#newBufferedReader(Path, Charset)over more contrived alternatives. - tech.picnic.errorprone.refasterrules.FileRulesRecipes$FilesNewBufferedReaderToPathRecipe: Prefer
Files#newBufferedReader(Path)over more verbose or contrived alternatives. - tech.picnic.errorprone.refasterrules.FileRulesRecipes$FilesNewBufferedReaderToPathWithCharsetRecipe: Prefer
Files#newBufferedReader(Path, Charset)over more contrived alternatives. - tech.picnic.errorprone.refasterrules.ReactorRulesRecipes$FluxNextRecipe: Prefer fluent
Flux#next()over less explicit alternatives. - tech.picnic.errorprone.refasterrules.StreamRulesRecipes$CollectionParallelStreamRecipe: Prefer
Collection#parallelStream()over more contrived alternatives. - tech.picnic.errorprone.refasterrules.StreamRulesRecipes$StreamsStreamRecipe: Prefer
Streams#stream(Iterable)over more contrived alternatives.
Removed Recipes
- org.openrewrite.java.jackson.UpgradeJackson_2_And_3_Base_Exceptions: Jackson 3 contains new base exceptions which were also backported to 2.x. This recipe will migrate usage to the new base exceptions to prepare for a 3.x upgrade.
- tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$BooleanHashCodeRecipe: Prefer
Boolean#hashCode(boolean)over the Guava alternative. - tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$ByteHashCodeRecipe: Prefer
Byte#hashCode(byte)over the Guava alternative. - tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$CharacterHashCodeRecipe: Prefer
Character#hashCode(char)over the Guava alternative. - tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$DoubleHashCodeRecipe: Prefer
Double#hashCode(double)over the Guava alternative. - tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$DoubleIsFiniteRecipe: Prefer
Double#isFinite(double)over the Guava alternative. - tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$FloatHashCodeRecipe: Prefer
Float#hashCode(float)over the Guava alternative. - tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$FloatIsFiniteRecipe: Prefer
Float#isFinite(float)over the Guava alternative. - tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$IntegerHashCodeRecipe: Prefer
Integer#hashCode(int)over the Guava alternative. - tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$LongHashCodeRecipe: Prefer
Long#hashCode(long)over the Guava alternative. - tech.picnic.errorprone.refasterrules.PrimitiveRulesRecipes$ShortHashCodeRecipe: Prefer
Short#hashCode(short)over the Guava alternative. - tech.picnic.errorprone.refasterrules.ReactorRulesRecipes$FluxEmptyRecipe: Prefer
Flux#empty()over more contrived alternatives. - tech.picnic.errorprone.refasterrules.StreamRulesRecipes$EmptyStreamRecipe: Prefer
Stream#empty()over less clear alternatives.
Changed Recipes
- org.openrewrite.jenkins.JenkinsfileAsGroovy was changed:
- Old Options:
None
- New Options:
filePattern: { type: String, required: false }
- Old Options: