Links

7.35.0 Release (2023-01-20)

New Recipes

Removed Recipes

  • org.openrewrite.gradle.search.EnableGradleParallelExecution: Most builds consist of more than one project and some of those projects are usually independent of one another. Yet Gradle will only run one task at a time by default, regardless of the project structure. By using the --parallel switch, you can force Gradle to execute tasks in parallel as long as those tasks are in different projects. See the Gradle performance documentation for more.
  • org.openrewrite.java.migrate.jakarta.JavaxPeristenceXmlToJakartaPersistenceXml:
  • org.openrewrite.java.quarkus.ConfigPropertiesToConfigMapping: Migrate Quarkus configuration classes annotated with @ConfigProperties to the equivalent Smallrye @ConfigMapping.
  • org.openrewrite.java.quarkus.ConfigureQuarkusMavenPluginWithReasonableDefaults: Configures the quarkus-maven-plugin with reasonable defaults, such as default activated goals and <extensions> configuration.
  • org.openrewrite.java.quarkus.MigrateQuarkusMavenPluginNativeImageGoal: Migrates the quarkus-maven-plugin deprecated native-image goal. If the native-image goal needs to be removed, this adds <quarkus.package.type>native</quarkus.package.type> to the native profile properties section, given the native profile exists in the pom.xml.
  • org.openrewrite.java.quarkus.MultiTransformHotStreamToMultiHotStream: Replace Mutiny API usages of multi.transform().toHotStream() with multi.toHotStream().
  • org.openrewrite.java.quarkus.Quarkus1to1_13Migration: Migrates Quarkus 1.11 to 1.13.
  • org.openrewrite.java.quarkus.quarkus2.GrpcServiceAnnotationToGrpcClient: The @GrpcService annotation is replaced with @GrpcClient in Quarkus 2.x. Removes the optional @GrpcClient.value() unless the service name is different from the name of annotated element.
  • org.openrewrite.java.quarkus.quarkus2.Quarkus1to2Migration: Migrates Quarkus 1.x to 2.x.
  • org.openrewrite.java.quarkus.quarkus2.RemoveAvroMavenPlugin: Removes the avro-maven-plugin if the quarkus-maven-plugin is found in the project's pom.xml. Avro has been integrated with the Quarkus code generation mechanism. This replaces the need to use the Avro plugin.
  • org.openrewrite.java.quarkus.quarkus2.UseIdentifierOnDefaultKafkaBroker: Use @io.smallrye.common.annotation.Identifier on default kafka broker configuration.
  • org.openrewrite.java.quarkus.quarkus2.UsePanacheEntityBaseStaticMethods: The getEntityManager() and the flush() methods of PanacheEntityBase are now static methods.
  • org.openrewrite.java.quarkus.quarkus2.UsePanacheEntityBaseUniT: The persist() and persistAndFlush() methods now return an Uni<T extends PanacheEntityBase> instead of an Uni<Void> to allow chaining the methods.
  • org.openrewrite.java.quarkus.quarkus2.UseReactivePanacheMongoEntityBaseUniT: The persist(), update(), and persistOrUpdate() methods now return a Uni<T extends ReactivePanacheMongoEntityBase> instead of a Uni<Void> to allow chaining the methods.
  • org.openrewrite.java.spring.YamlPropertiesToKebabCase: Normalize Spring YAML properties to use lowercase and hyphen-separated syntax. For example, changing spring.main.showBanner to spring.main.show-banner. With Spring's relaxed binding, kebab-case may be used in properties files and still be converted to configuration beans. Note, an exception to this is the case of @Value, which is match-sensitive. For example, @Value("${anExampleValue}") will not match an-example-value. The Spring reference documentation recommends using kebab-case for properties where possible. .
  • org.openrewrite.java.spring.boot2.MigrateSpringBoot_2_0: Migrate applications built on Spring Boot 1.5 to the latest Spring Boot 2.0 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. This recipe will also chain additional framework migrations (Spring Framework, Spring Data, etc) that are required as part of the migration to Spring Boot 2.0.
  • org.openrewrite.java.spring.boot3.LegacyJmxExposure: Spring Boot 3.0 only exposes the health endpoint via JMX. This change exposes all actuator endpoints via JMX to maintain parity with Spring Boot 2.x. See See https://github.com/openrewrite/rewrite-spring/issues/229

Changed Recipes

    • Old Options:
      • fileMatcher: { type: String, required: false }
      • newPropertyKey: { type: String, required: true }
      • oldPropertyKey: { type: String, required: true }
      • relaxedBinding: { type: Boolean, required: false }
    • New Options:
      • fileMatcher: { type: String, required: false }
      • newPropertyKey: { type: String, required: true }
      • oldPropertyKey: { type: String, required: true }
      • regex: { type: Boolean, required: false }
      • relaxedBinding: { type: Boolean, required: false }