8.75.2 release (2026-03-09)
Total recipe count: 4202
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.57.12 - Staging CLI version:
v3.57.14
New Recipes
- org.openrewrite.gitlab.AddArtifactsExpireIn: Set
artifacts:expire_inin.gitlab-ci.ymlto prevent storage bloat from indefinitely stored artifacts. - org.openrewrite.gitlab.AddCache: Add
cacheconfiguration to.gitlab-ci.ymlfor faster builds. - org.openrewrite.gitlab.AddDefaultKeyword: Add or update a keyword in the
defaultsection of.gitlab-ci.yml. - org.openrewrite.gitlab.AddInterruptible: Set
interruptible: truein.gitlab-ci.ymlto allow pipelines to be cancelled when superseded. - org.openrewrite.gitlab.AddRetry: Add
retryconfiguration to.gitlab-ci.ymlfor resilience against infrastructure failures. - org.openrewrite.gitlab.AddTimeout: Set
timeoutin.gitlab-ci.ymlto prevent jobs from hanging indefinitely. - org.openrewrite.gitlab.AddWorkflowRules: Add
workflow:rulesto.gitlab-ci.ymlto control pipeline creation. - org.openrewrite.gitlab.BestPractices: Apply GitLab CI/CD best practices to
.gitlab-ci.yml. This includes addingworkflow:rulesto prevent duplicate pipelines, settinginterruptible: trueandretryin thedefaultsection, configuringartifacts:expire_in, and setting a jobtimeout. - org.openrewrite.java.logging.slf4j.MessageFormatToParameterizedLogging: Replace
MessageFormat.format()calls in SLF4J logging statements with parameterized placeholders for improved performance. - org.openrewrite.java.logging.slf4j.RemoveUnnecessaryLogLevelGuards: Remove
ifstatement guards around SLF4J logging calls when parameterized logging makes them unnecessary. - org.openrewrite.java.logging.slf4j.StringFormatToParameterizedLogging: Replace
String.format()calls in SLF4J logging statements with parameterized placeholders for improved performance. - org.openrewrite.java.migrate.lombok.UseAllArgsConstructor: Prefer the Lombok
@AllArgsConstructorannotation over explicitly written out constructors that assign all non-static fields. - org.openrewrite.java.migrate.lombok.UseRequiredArgsConstructor: Prefer the Lombok
@RequiredArgsConstructorannotation over explicitly written out constructors that only assign final fields. - org.openrewrite.java.spring.boot4.RenameDeprecatedStartersManagedVersions: Renames deprecated Spring Boot starters to their new names without adding explicit versions, for use in projects where the
io.spring.dependency-managementplugin manages versions via BOM. - org.openrewrite.java.testing.mockito.ReplaceMockitoTestExecutionListener: Replace
@TestExecutionListeners(MockitoTestExecutionListener.class)with the appropriate Mockito initialization for the test framework in use:@ExtendWith(MockitoExtension.class)for JUnit 5,@RunWith(MockitoJUnitRunner.class)for JUnit 4, orMockitoAnnotations.openMocks(this)for TestNG. - org.openrewrite.java.testing.mockito.ReplacePowerMockDependencies: Replaces PowerMock API dependencies with
mockito-inlinewhenmockStatic(),whenNew(), or@PrepareForTestusage is detected, ormockito-coreotherwise. PowerMock features like static mocking, constructor mocking, and final class mocking require the inline mock maker which is bundled inmockito-inlinefor Mockito 3.x/4.x.