Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: openrewrite/rewrite-migrate-java
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.27.0
Choose a base ref
...
head repository: openrewrite/rewrite-migrate-java
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.28.0
Choose a head ref
  • 14 commits
  • 20 files changed
  • 7 contributors

Commits on Feb 11, 2026

  1. Add UpgradePluginsForJava25 for surefire, failsafe, compiler, and byt…

    …e-buddy (#981)
    
    * Add UpgradePluginsForJava25 for surefire, failsafe, compiler, and byte-buddy
    
    Closes moderneinc/customer-requests#1820
    
    * Regenerate recipes.csv
    
    * Move `SetupJavaUpgradeJavaVersion` for consistency
    
    * Use `.actual()`
    
    * Apply suggestions
    
    * Move comment
    
    ---------
    
    Co-authored-by: Tim te Beek <tim@mac.home>
    timtebeek and Tim te Beek authored Feb 11, 2026
    Configuration menu
    Copy the full SHA
    0efab1c View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2026

  1. Skip adding methods already provided by a superclass (#983)

    * Add failing test for superclass method check
    
    When a class extends a superclass that already has the method
    implementation, AddMissingMethodImplementation should not add
    the method again.
    
    Reproduces moderneinc/customer-requests#1862
    
    * Skip adding methods already provided by a superclass
    
    AddMissingMethodImplementation now walks up the superclass chain
    to check if the method is already inherited, avoiding unnecessary
    duplicate method additions to classes like HikariDataSource subclasses.
    
    Fixes moderneinc/customer-requests#1862
    
    * Remove @issue annotation pointing to private repo
    Jenson3210 authored Feb 14, 2026
    Configuration menu
    Copy the full SHA
    7a5a1b0 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2026

  1. Configuration menu
    Copy the full SHA
    21993f5 View commit details
    Browse the repository at this point in the history
  2. Prevent UseTextBlocks from dropping comments in concatenations (#985)

    Skip text block conversion if any comments exist in the binary expression tree, since text blocks (single J.Literal nodes) have nowhere to preserve inline comments from the middle of concatenations.
    
    Co-authored-by: Tim te Beek <tim@mac.home>
    timtebeek and Tim te Beek authored Feb 16, 2026
    Configuration menu
    Copy the full SHA
    e91f59e View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2026

  1. Prevent LombokValToFinalVar from removing star imports (#986)

    * Prevent LombokValToFinalVar from removing star imports
    
    LombokValToFinalVar unconditionally called `maybeRemoveImport("lombok.var")`
    in `visitCompilationUnit` on every file matching the `MaybeUsesImport`
    precondition. This matched files with `import lombok.*;` even when no
    val/var was used. In multi-module projects with incomplete type information,
    `maybeRemoveImport` could not determine that other lombok types (like @DaTa,
    @Getter) were still referenced, and removed the entire star import.
    
    Now only calls `maybeRemoveImport` when there is an explicit
    `import lombok.var;` statement, leaving star imports untouched.
    
    Fixes #962
    
    * Apply suggestions from code review
    
    * Apply suggestion from @Jenson3210
    Jenson3210 authored Feb 17, 2026
    Configuration menu
    Copy the full SHA
    0c1793f View commit details
    Browse the repository at this point in the history
  2. Retain javax.xml.bind:jaxb-api when jackson-module-jaxb-annotations i…

    …s present (#987)
    
    * Retain javax.xml.bind:jaxb-api when jackson-module-jaxb-annotations is present
    
    When migrating from javax.xml.bind to jakarta.xml.bind 3.0+, the
    ChangeDependency recipe replaces javax.xml.bind:jaxb-api entirely.
    However, jackson-module-jaxb-annotations still depends on the
    javax.xml.bind namespace at runtime through its transitive dependency
    on jakarta.xml.bind:jakarta.xml.bind-api:2.3.x (the bridge version).
    When version resolution upgrades to 3.0.x+, the javax.xml.bind classes
    disappear, causing NoClassDefFoundError.
    
    This adds a RetainJaxbApiForJackson recipe that re-adds
    javax.xml.bind:jaxb-api as a runtime dependency when
    jackson-module-jaxb-annotations is detected on the classpath,
    for both Gradle and Maven projects.
    
    Fixes #504
    
    * Update recipes.csv with RetainJaxbApiForJackson
    
    * Replace imperative recipe with declarative YAML, use actual() in tests
    
    Address PR feedback:
    - Replace imperative RetainJaxbApiForJackson.java with declarative YAML
      recipes using FindDependency preconditions (split into Gradle and Maven
      variants since ModuleHasDependency is a ScanningRecipe which doesn't
      work as a declarative precondition)
    - Use assertThat().actual() instead of return in test assertions
    
    * Update recipes.csv for new declarative recipes
    
    * Consolidate into single declarative recipe using DependencyInsight precondition
    
    Replace the Gradle/Maven split with a single declarative recipe that uses
    DependencyInsight as a cross-platform precondition instead of build-system
    specific FindDependency recipes.
    Jenson3210 authored Feb 17, 2026
    Configuration menu
    Copy the full SHA
    56b280c View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2026

  1. Add maven-compiler-plugin version when missing during Java migration (#…

    …989)
    
    When maven-compiler-plugin has no <version> tag and uses <source>/<target>,
    the migration converts to <release> but the default plugin version (3.1)
    doesn't support it. Set addVersionIfMissing on UpgradePluginVersion so a
    compatible version is always present.
    jkschneider authored Feb 18, 2026
    Configuration menu
    Copy the full SHA
    c17f866 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2026

  1. Configuration menu
    Copy the full SHA
    32b8caa View commit details
    Browse the repository at this point in the history
  2. UpdateSdkMan recipe to support newJavaVersion=latest.patch (#990)

    * newJavaVersion=minor
    
    * sameMajor
    
    * Use latest.patch
    
    * Option doc
    
    ---------
    
    Co-authored-by: Tim te Beek <tim@moderne.io>
    greg-at-moderne and timtebeek authored Feb 19, 2026
    Configuration menu
    Copy the full SHA
    626e34f View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2026

  1. Configuration menu
    Copy the full SHA
    f30e774 View commit details
    Browse the repository at this point in the history
  2. OpenRewrite recipe best practices

    2 people authored and app committed Feb 20, 2026
    Configuration menu
    Copy the full SHA
    e750f1b View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2026

  1. Configuration menu
    Copy the full SHA
    7c8b223 View commit details
    Browse the repository at this point in the history
  2. Fix UpdateSdkManTest to use current SDKMAN Java versions (#991)

    Update test fixtures to use Java versions available in the current sdkman-java.csv after the automated update removed 17.0.17-tem and 11.0.29-amzn.
    timtebeek authored Feb 23, 2026
    Configuration menu
    Copy the full SHA
    0b2cb73 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f5a2bd8 View commit details
    Browse the repository at this point in the history
Loading