github openrewrite/rewrite v7.3.0
7.3.0

latest releases: v8.62.6, v8.62.5, v8.62.4...
4 years ago

This release is largely centered around a performance concern that recipes were mutating the AST in ways that didn't cause the eventually rendered source to be different, but were causing additional refactoring cycles to run because some object like a List of AST elements was changing object references from cycle to cycle. There are two main additions:

  • Allow recipe to indicate that it alone shouldn't be the source of another cycle (see Recipe#causesAnotherCycle)
  • RecipeTest now always (with the default parameters) runs 2 cycles and checks that a recipe is done making referentially mutating changes to the AST after 1. These parameters are configurable with cycles and expectedCyclesToComplete, respectively.

Don't miss a new rewrite release

NewReleases is sending notifications on new releases.