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.26.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.27.0
Choose a head ref
  • 18 commits
  • 68 files changed
  • 9 contributors

Commits on Jan 24, 2026

  1. Configuration menu
    Copy the full SHA
    d889ee0 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2026

  1. Add jakarta.annotation-api dependency when using javax.annotation (#972)

    When migrating from javax.annotation to jakarta.annotation, the recipe was
    only changing the dependency if it already existed explicitly. If the
    javax.annotation classes were available transitively, the migration would
    change the import statements but not add the jakarta.annotation-api dependency,
    causing compilation failures.
    
    Added AddDependency recipe to JavaxAnnotationMigrationToJakartaAnnotation
    to ensure the jakarta.annotation-api dependency is added when javax.annotation
    classes are in use, consistent with how other migration recipes handle this.
    
    Fixes moderneinc/customer-requests#1563
    jkschneider authored Jan 26, 2026
    Configuration menu
    Copy the full SHA
    4f2dca1 View commit details
    Browse the repository at this point in the history
  2. Add com.sun.istack.NotNull to jakarta.validation.constraints.NotNull …

    …migration (#973)
    
    This adds a ChangeType to the JavaxValidationMigrationToJakartaValidation recipe
    to migrate usages of the internal Sun JAXB annotation @com.sun.istack.NotNull
    to @jakarta.validation.constraints.NotNull.
    
    This addresses the third sub-issue in customer-requests#1526 where SpringBoot
    upgrade migrations were leaving com.sun.istack.NotNull imports unchanged,
    causing compilation errors.
    
    Fixes: moderneinc/customer-requests#1526
    jkschneider authored Jan 26, 2026
    Configuration menu
    Copy the full SHA
    7c3842e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    49c0978 View commit details
    Browse the repository at this point in the history
  4. Add UseListOf and UseSetOf recipes (#974)

    Add recipes to convert double-brace initialization of ArrayList and
    HashSet to List.of() and Set.of() respectively for Java 10+. These
    recipes complement the existing UseMapOf recipe.
    
    Example transformation for UseListOf:
      new ArrayList<>() {{ add("a"); add("b"); }}
      becomes
      List.of("a", "b")
    
    Example transformation for UseSetOf:
      new HashSet<>() {{ add("a"); add("b"); }}
      becomes
      Set.of("a", "b")
    
    Fixes: moderneinc/customer-requests#1544
    jkschneider authored Jan 26, 2026
    Configuration menu
    Copy the full SHA
    3e07f69 View commit details
    Browse the repository at this point in the history
  5. Adopt JUnit 5.14.2 where 5.13.x was pinned

    2 people authored and app committed Jan 26, 2026
    Configuration menu
    Copy the full SHA
    9f52d4b View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2026

  1. Configuration menu
    Copy the full SHA
    43db7a1 View commit details
    Browse the repository at this point in the history
  2. Lombok Annotation Processor Configuration (#977)

    * fix upstream problem
    
    * include Lombok enablement in Java 25 migration
    
    * add basic test to show Java 25 migration
    
    * apply best practices
    
    * add a better rendering example
    MBoegers authored Jan 28, 2026
    Configuration menu
    Copy the full SHA
    9dae6ab View commit details
    Browse the repository at this point in the history
  3. Migrate GraalVM resource-config.json from regex to glob patterns (#976)

    * Migrate GraalVM resource-config.json from regex to glob patterns
    
    GraalVM JDK 23 changed the resource hints syntax in resource-config.json
    from Java regex pattern format to glob pattern format. This recipe
    automatically migrates the configuration files.
    
    Changes:
    - New recipe: MigrateGraalVMResourceConfig
    - Converts pattern entries to glob entries (e.g., ".*\.txt" -> "**/*.txt")
    - Restructures JSON from {resources: {includes: [...]}} to {resources: [...]}
    - Removes excludes section (no longer supported in GraalVM 23+)
    - Marks unconvertible patterns (character classes, alternations) for manual review
    
    Fixes moderneinc/customer-requests#1755
    
    * Address PR review feedback
    
    - Update copyright year to 2026
    - Use Tree.randomId() instead of UUID.randomUUID()
    - Use ListUtils.map for more concise code
    - Fix else-if code style (same line)
    - Fix string comparison order ("**".equals(glob))
    - Use defaults(RecipeSpec) pattern in tests
    - Integrate RegexToGlobConverter into MigrateGraalVMResourceConfig
      (reducing public API surface per reviewer suggestion)
    
    * Address additional PR review feedback
    
    - Convert getDisplayName/getDescription methods to String fields
    - Use StringUtils.isNullOrEmpty() for null/empty check
    - Add StringUtils import
    
    * apply OR BestPractices
    
    * include in MigrateGraalVMResourceConfig into Java 25 migration
    
    * update recipes
    MBoegers authored Jan 28, 2026
    Configuration menu
    Copy the full SHA
    4f3aaa0 View commit details
    Browse the repository at this point in the history
  4. Followup after the formatting merge (#978)

    * Followup after the formatting merge
    
    * Followup after the formatting merge
    Jenson3210 authored Jan 28, 2026
    Configuration menu
    Copy the full SHA
    c6b1bcf View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2026

  1. Add avoidLineContinuations option to UseTextBlocks (#975)

    Add a new recipe option `avoidLineContinuations` (default: false) that,
    when enabled, avoids using `\` line continuation escapes in text blocks
    where the content contains newlines. Non-newline-joined strings are
    placed on the same text block line instead.
    
    Previously with the option enabled, "foo\n" + "bar" + " baz" produces:
        foo
        bar baz
    
    Without the option (default), the existing behavior is preserved:
        foo
        bar\
         baz
    
    Fixes moderneinc/customer-requests#1763
    Jenson3210 authored Jan 29, 2026
    Configuration menu
    Copy the full SHA
    653dd7c View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2026

  1. Configuration menu
    Copy the full SHA
    e13f6e8 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2026

  1. Configuration menu
    Copy the full SHA
    dc6029d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6e525a1 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2026

  1. Change Docker image version in Java upgrades (#980)

    * Change Docker image version in Java upgrades
    
    * Extract UpgradeDockerImageVersion to separate recipe
    
    Move Docker image version upgrade logic from UpgradeJavaVersion into its
    own dedicated recipe class with corresponding tests.
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    
    * Apply suggestions from code review
    
    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    
    * Change Docker image version in Java upgrades
    
    * Apply suggestions from code review
    
    * Add Debian and Ubuntu codename suffixes for Docker image upgrades
    
    Add support for more Docker image tag suffixes:
    - Ubuntu: bionic (18.04)
    - Debian: bookworm, bullseye, buster
    - Debian slim variants: slim-bookworm, slim-bullseye, slim-buster
    - Generic: -slim
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    3 people authored Feb 4, 2026
    Configuration menu
    Copy the full SHA
    ca26543 View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2026

  1. Configuration menu
    Copy the full SHA
    9499e38 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f42714b View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2026

  1. Configuration menu
    Copy the full SHA
    04592ca View commit details
    Browse the repository at this point in the history
Loading