8.27.1 release (2024-05-22)
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-cloud-suitability-analyzer
New Recipes
- org.openrewrite.gradle.RemoveEnableFeaturePreview: Remove an enabled Gradle preview feature from
settings.gradle
. - org.openrewrite.java.migrate.RemovedModifierAndConstantBootstrapsConstructors: The
java.lang.reflect.Modifier()
andjava.lang.invoke.ConstantBootstraps()
constructors have been removed in Java SE 15 because both classes only contain static methods. This recipe converts the usage of all methods in the two classes to be static. For more information on these changes, see https://docs.oracle.com/en/java/javase/15/migrate/index.html#GUID-233853B8-0782-429E-BEF7-7532EE610E63 - org.openrewrite.java.migrate.RemovedSubjectMethods: Replaces the
javax.security.auth.Subject.getSubject()
andjavax.security.auth.Subject.doAs()
methods withjavax.security.auth.Subject.current()
andjavax.security.auth.Subject.callAs()
. - org.openrewrite.java.migrate.RemovedToolProviderConstructor: The
javax.tools.ToolProvider()
constructor has been removed in Java SE 16 since the class only contains static methods. The recipe convertsjavax.tools.ToolProvider getSystemJavaCompiler()
,javax.tools.ToolProvider getSystemDocumentationTool()
andjavax.tools.ToolProvider getSystemToolClassLoader()
to static methods. - org.openrewrite.java.migrate.UpgradeBuildToJava11: Updates build files to use Java 11 as the target/source.
- org.openrewrite.java.migrate.UpgradeBuildToJava17: Updates build files to use Java 17 as the target/source.
- org.openrewrite.java.migrate.UpgradeBuildToJava21: Updates build files to use Java 21 as the target/source.
- org.openrewrite.java.migrate.UpgradePluginsForJava11: Updates plugins to version compatible with Java 11.
- org.openrewrite.java.migrate.UpgradePluginsForJava17: Updates plugins to version compatible with Java 17.
- org.openrewrite.java.migrate.UpgradePluginsForJava21: Updates plugins and dependencies to version compatible with Java 21.
- org.openrewrite.java.migrate.jakarta.JavaxBeanValidationXmlToJakartaBeanValidationXml: Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- org.openrewrite.java.migrate.jakarta.JavaxEjbJarXmlToJakartaEjbJarXml: Java EE has been rebranded to Jakarta EE, necessitating an XML namespace relocation.
- org.openrewrite.java.search.HasBuildToolVersion: Finds Java source files built with a particular build tool. This is useful especially as a precondition for other recipes.
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_3: Migrate properties found in
application.properties
andapplication.yml
. - org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_3: Migrate applications to the latest Spring Boot 3.3 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 3.2.
- org.openrewrite.java.spring.data.UpgradeSpringData_2_7: Migrate applications to the latest Spring Data 2.7 release.
- org.openrewrite.java.spring.data.UseJpaRepositoryGetReferenceById:
JpaRepository#getOne(ID)
was deprecated in 2.5 andJpaRepository#getById(ID)
was deprecated in 2.7. - org.openrewrite.java.spring.http.SimplifyWebTestClientCalls: Simplifies various types of WebTestClient expressions to improve code readability.
- org.openrewrite.java.testing.junit5.UpgradeSurefirePlugin: Upgrades the Maven Surefire Plugin to the latest version if still using an older Maven version.
- org.openrewrite.jenkins.UpgradeJavaVersion: Upgrades the version of java specified in Jenkins groovy scripts. Will not downgrade if the version is newer than the specified version.
- org.openrewrite.maven.ModernizeObsoletePoms: Very old Maven poms are no longer supported by current versions of Maven. This recipe updates poms with
<pomVersion>3</pomVersion>
to<modelVersion>4.0.0</modelVersion>
of the Maven pom schema. This does not attempt to upgrade old dependencies or plugins and is best regarded as the starting point of a migration rather than an end-point. - org.openrewrite.staticanalysis.RenameMethodsNamedHashcodeEqualOrToString: Methods should not be named
hashcode
,equal
, ortostring
. Any of these are confusing as they appear to be intended as overridden methods from theObject
base class, despite being case-insensitive.
Removed Recipes
- org.openrewrite.staticanalysis.RenameMethodsNamedHashcodeEqualOrTostring: Methods should not be named
hashcode
,equal
, ortostring
. Any of these are confusing as they appear to be intended as overridden methods from theObject
base class, despite being case-insensitive.
Changed Recipes
- org.openrewrite.maven.RemoveRedundantDependencyVersions was changed:
- Old Options:
artifactPattern: { type: String, required: false }
except: { type: List, required: false }
groupPattern: { type: String, required: false }
onlyIfVersionsMatch: { type: Boolean, required: false }
- New Options:
artifactPattern: { type: String, required: false }
except: { type: List, required: false }
groupPattern: { type: String, required: false }
onlyIfManagedVersionIs: { type: Comparator, required: false }
onlyIfVersionsMatch: { type: Boolean, required: false }
- Old Options: