8.25.0 release (2024-05-08)
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-jackson
New Recipes
- org.openrewrite.github.PreferSecretsInheritWorkflow: Pass all secrets to a reusable workflow using
secrets: inherit
. See Simplify using secrets with reusable workflows for details. - org.openrewrite.java.jackson.CodehausToFasterXML: In Jackson 2, the package and dependency coordinates moved from Codehaus to FasterXML.
- org.openrewrite.java.liberty.WebSphereUnavailableSSOMethods: This recipe replaces
LTPACookieFromSSOToken()
withgetSSOCookieFromSSOToken
andrevokeSSOCookies
withlogout
. The two methods are deprecated in traditional WebSphere Application Server Version 8.5 and might be removed in a future release. They are not available on Liberty. - org.openrewrite.java.migrate.jacoco.UpgradeJaCoCo: This recipe will upgrade JaCoCo to the latest patch version, which traditionally advertises full backwards compatibility for older Java versions.
- org.openrewrite.java.migrate.javax.AddTransientAnnotationToCollections: In OpenJPA, attributes that inherit from the
java.util.Collection<E>
interface are not a default persistent type, so these attributes are not persisted unless they are annotated. EclipseLink has a different default behavior and attempts to persist these attributes to the database. To keep the OpenJPA behavior of ignoring unannotated collection attributes, add thejavax.persistence.Transient
annotation to these attributes in EclipseLink. - org.openrewrite.java.migrate.javax.AddTransientAnnotationToEntity: In OpenJPA, attributes that are themselves entity classes are not persisted by default. EclipseLink has a different default behavior and tries to persist these attributes to the database. To keep the OpenJPA behavior of ignoring unannotated entity attributes, add the
javax.persistence.Transient
annotation to these attributes in EclipseLink. - org.openrewrite.java.migrate.javax.AddTransientAnnotationToPrivateAccessor: According to the JPA 2.1 specification, when property access is used, the property accessor methods must be public or protected. OpenJPA ignores any private accessor methods, whereas EclipseLink persists those attributes. To ignore private accessor methods in EclipseLink, the methods must have a
@Transient
annotation. - org.openrewrite.java.migrate.javax.RemoveTemporalAnnotation: OpenJPA persists the fields of attributes of type
java.sql.Date
,java.sql.Time
, orjava.sql.Timestamp
that have ajavax.persistence.Temporal
annotation, whereas EclipseLink throws an exception. Remove the@Temporal
annotation so the behavior in EclipseLink will match the behavior in OpenJPA. - org.openrewrite.java.spring.boot3.AdditionalSpringBootProperties_3_0: Rename
management.metrics.export.atlas.aggrConfig
tomanagement.atlas.metrics.export.aggrConfig
. - org.openrewrite.java.spring.framework.MigrateSpringAssert: Assert methods without a message argument have been removed in Spring Framework 6.0.
- org.openrewrite.java.spring.framework.UpgradeSpringFramework_6_0: Migrate applications to the latest Spring Framework 6.0 release.
Removed Recipes
- org.openrewrite.java.dependencies.ChangeDependencyGroupIdAndArtifactId: Change a Gradle or Maven dependency coordinate. Either the
newGroupId
ornewArtifactId
must differ from the previous value. - org.openrewrite.java.liberty.WebSphereUnavailableSSOTokenMethod: This method
LTPACookieFromSSOToken()
is deprecated in traditional WebSphere Application Server Version 8.5 and might be removed in a future release. It is not available on Liberty. - org.openrewrite.java.migrate.JavaVersion11: Change maven.compiler.source and maven.compiler.target values to 11.
- org.openrewrite.java.migrate.JavaVersion17: Change maven.compiler.source and maven.compiler.target values to 17.
- org.openrewrite.java.migrate.JavaVersion21: Change maven.compiler.source and maven.compiler.target values to 21.
- org.openrewrite.java.migrate.jacoco.UpgradeJaCoCoMavenPluginVersion: This recipe will upgrade the JaCoCo Maven plugin to a more recent version compatible with Java 11.
Changed Recipes
- org.openrewrite.gradle.plugins.AddBuildPlugin was changed:
- Old Options:
pluginId: { type: String, required: true }
version: { type: String, required: false }
versionPattern: { type: String, required: false }
- New Options:
apply: { type: Boolean, required: false }
pluginId: { type: String, required: true }
version: { type: String, required: false }
versionPattern: { type: String, required: false }
- Old Options:
- org.openrewrite.gradle.plugins.AddSettingsPlugin was changed:
- Old Options:
pluginId: { type: String, required: true }
version: { type: String, required: false }
versionPattern: { type: String, required: false }
- New Options:
apply: { type: Boolean, required: false }
pluginId: { type: String, required: true }
version: { type: String, required: false }
versionPattern: { type: String, required: false }
- Old Options:
- org.openrewrite.java.dependencies.ChangeDependency was changed:
- Old Options:
newArtifactId: { type: String, required: false }
newGroupId: { type: String, required: false }
newVersion: { type: String, required: false }
oldArtifactId: { type: String, required: true }
oldGroupId: { type: String, required: true }
overrideManagedVersion: { type: Boolean, required: false }
versionPattern: { type: String, required: false }
- New Options:
changeManagedDependency: { type: Boolean, required: false }
newArtifactId: { type: String, required: false }
newGroupId: { type: String, required: false }
newVersion: { type: String, required: false }
oldArtifactId: { type: String, required: true }
oldGroupId: { type: String, required: true }
overrideManagedVersion: { type: Boolean, required: false }
versionPattern: { type: String, required: false }
- Old Options:
- org.openrewrite.yaml.CreateYamlFile was changed:
- Old Options:
fileContents: { type: String, required: false }
overwriteExisting: { type: Boolean, required: false }
relativeFileName: { type: String, required: true }
- New Options:
fileContents: { type: String, required: false }
fileContentsUrl: { type: String, required: false }
overwriteExisting: { type: Boolean, required: false }
relativeFileName: { type: String, required: true }
- Old Options: