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 aGeneratorCreationContext
parameter instead ofServiceRegistry
. This recipe migrates method signatures and call sites. - io.moderne.hibernate.update70.MigrateIntegratorMethod: Migrate Hibernate
Integrator#integrate
method 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,
MetamodelImplementor
has been split intoMappingMetamodel
for ORM-specific operations andJpaMetamodel
for 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 convertsFlushModeType
parameters to theirQueryFlushMode
equivalents. - io.moderne.hibernate.update70.MigrateToHibernate7JFR: Migrates deprecated JFR integration APIs to their Hibernate 7 replacements.
EventManager
becomesEventMonitor
andHibernateMonitoringEvent
becomesDiagnosticEvent
. - io.moderne.hibernate.update70.UnboxingTransactionTimeout: JPA 3.2 adds
#getTimeout
but usesInteger
whereas Hibernate has historically usedint
. Note that this raises the possibility of aNullPointerException
during 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.WordUtils
toorg.apache.commons.text.WordUtils
and 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-node
if it is below the expected version number. - org.openrewrite.java.jackson.RemoveBuiltInModuleRegistrations: In Jackson 3,
ParameterNamesModule
,Jdk8Module
, andJavaTimeModule
are built intojackson-databind
and no longer need to be registered manually. This recipe removesObjectMapper.registerModule()
calls for these modules. - org.openrewrite.java.jackson.RemoveRedundantFeatureFlags: Remove
ObjectMapper
feature 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.jackson
totools.jackson
. - org.openrewrite.java.jackson.UpgradeJackson_2_3_RemoveRedundantFeatureFlags: Remove
ObjectMapper
feature 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
@JsonFormat
annotations onjava.time
types that specify ISO-8601 patterns, as Jackson 3 uses ISO-8601 as the default format (withWRITE_DATES_AS_TIMESTAMPS
now 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.Alphanumeric
class. This recipe migrates usages toMethodOrderer.MethodName
which 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:derby
orderbyclient
toio.quarkus:quarkus-jdbc-derby
(excludes test scope) - org.openrewrite.quarkus.spring.DerbyTestDriverToQuarkus: Migrates
org.apache.derby:derby
with test scope toio.quarkus:quarkus-jdbc-derby
with test scope - org.openrewrite.quarkus.spring.EnableAnnotationsToQuarkusDependencies: Removes Spring
@EnableXyz
annotations and adds the corresponding Quarkus extensions as dependencies. - org.openrewrite.quarkus.spring.H2DriverToQuarkus: Migrates
com.h2database:h2
toio.quarkus:quarkus-jdbc-h2
(excludes test scope) - org.openrewrite.quarkus.spring.H2TestDriverToQuarkus: Migrates
com.h2database:h2
with test scope toio.quarkus:quarkus-jdbc-h2
with 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
@SpringBootApplication
annotation with@QuarkusMain
,SpringApplication.run()
calls. - org.openrewrite.quarkus.spring.ResponseEntityToJaxRsResponse: Transforms Spring
ResponseEntity
patterns to JAX-RSResponse
API 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
@Bean
methods to CDI@Produces
methods with appropriate scope annotations. - org.openrewrite.quarkus.spring.SpringBootActiveMQToQuarkus: Migrates
spring-boot-starter-activemq
toquarkus-artemis-jms
. - org.openrewrite.quarkus.spring.SpringBootActuatorToQuarkus: Migrates
spring-boot-starter-actuator
toquarkus-smallrye-health
. - org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusClassic: Migrates
spring-boot-starter-amqp
toquarkus-messaging-rabbitmq
when no reactor dependencies are present. - org.openrewrite.quarkus.spring.SpringBootAmqpToQuarkusReactive: Migrates
spring-boot-starter-amqp
toquarkus-messaging-amqp
when reactor dependencies are present. - org.openrewrite.quarkus.spring.SpringBootArtemisToQuarkus: Migrates
spring-boot-starter-artemis
toquarkus-artemis-jms
. - org.openrewrite.quarkus.spring.SpringBootBatchToQuarkus: Migrates
spring-boot-starter-batch
toquarkus-scheduler
. - org.openrewrite.quarkus.spring.SpringBootCacheToQuarkus: Migrates
spring-boot-starter-cache
toquarkus-cache
. - org.openrewrite.quarkus.spring.SpringBootDataJpaToQuarkus: Migrates
spring-boot-starter-data-jpa
toquarkus-hibernate-orm-panache
. - org.openrewrite.quarkus.spring.SpringBootDataMongoToQuarkus: Migrates
spring-boot-starter-data-mongodb
toquarkus-mongodb-panache
. - org.openrewrite.quarkus.spring.SpringBootDataRedisToQuarkus: Migrates
spring-boot-starter-data-redis
toquarkus-redis-client
. - org.openrewrite.quarkus.spring.SpringBootDataRestToQuarkus: Migrates
spring-boot-starter-data-rest
toquarkus-rest-jackson
. - org.openrewrite.quarkus.spring.SpringBootElasticsearchToQuarkus: Migrates
spring-boot-starter-data-elasticsearch
toquarkus-elasticsearch-rest-client
. - org.openrewrite.quarkus.spring.SpringBootIntegrationToQuarkus: Migrates
spring-boot-starter-integration
tocamel-quarkus-core
. - org.openrewrite.quarkus.spring.SpringBootJdbcToQuarkus: Migrates
spring-boot-starter-jdbc
toquarkus-agroal
. - org.openrewrite.quarkus.spring.SpringBootMailToQuarkus: Migrates
spring-boot-starter-mail
toquarkus-mailer
. - org.openrewrite.quarkus.spring.SpringBootOAuth2ClientToQuarkus: Migrates spring-boot-starter-oauth2-client
to
quarkus-oidc-client`. - org.openrewrite.quarkus.spring.SpringBootOAuth2ResourceServerToQuarkus: Migrates
spring-boot-starter-oauth2-resource-server
toquarkus-oidc
. - org.openrewrite.quarkus.spring.SpringBootQuartzToQuarkus: Migrates
spring-boot-starter-quartz
toquarkus-quartz
. - org.openrewrite.quarkus.spring.SpringBootSecurityToQuarkus: Migrates
spring-boot-starter-security
toquarkus-security
. - org.openrewrite.quarkus.spring.SpringBootTestToQuarkus: Migrates
spring-boot-starter-test
toquarkus-junit5
. - org.openrewrite.quarkus.spring.SpringBootThymeleafToQuarkus: Migrates
spring-boot-starter-thymeleaf
toquarkus-qute
. - org.openrewrite.quarkus.spring.SpringBootToQuarkus: Replace Spring Boot with Quarkus.
- org.openrewrite.quarkus.spring.SpringBootValidationToQuarkus: Migrates
spring-boot-starter-validation
toquarkus-hibernate-validator
. - org.openrewrite.quarkus.spring.SpringBootWebFluxToQuarkusReactive: Migrates
spring-boot-starter-webflux
toquarkus-rest-client-jackson
when reactor dependencies are present. - org.openrewrite.quarkus.spring.SpringBootWebSocketToQuarkus: Migrates
spring-boot-starter-websocket
toquarkus-websockets
. - org.openrewrite.quarkus.spring.SpringBootWebToQuarkusClassic: Migrates
spring-boot-starter-web
toquarkus-resteasy-jackson
when no reactor dependencies are present. - org.openrewrite.quarkus.spring.SpringBootWebToQuarkusReactive: Migrates
spring-boot-starter-web
toquarkus-rest-jackson
when reactor dependencies are present. - org.openrewrite.quarkus.spring.SpringKafkaToQuarkusClassic: Migrates
spring-kafka
toquarkus-kafka-client
when no reactor dependencies are present. - org.openrewrite.quarkus.spring.SpringKafkaToQuarkusReactive: Migrates
spring-kafka
toquarkus-messaging-kafka
when 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
@Value
annotations to MicroProfile@ConfigProperty
with 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
VARCHAR2
can be replaced with PostgresVARCHAR
, orNUMBER
withNUMERIC
. - 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: