Skip to content

Releases: openrewrite/rewrite

5.0.0

30 Aug 06:48
Compare
Choose a tag to compare

Enhancements

  • Add Maven.Pom#withModel.
  • Don't resolve runtime scope dependencies in Maven parser.
  • RefactorPlan renamed to Environment. Environment now supports property substitution.
  • Styles separated from Recipe.
  • Support version updating on modules with pre-release and metadata (maven).
  • Lower logging level for dependency resolution problems (maven).
  • UpgradeVersion (maven) now supports updating properties in parents.
  • Initial implementation of GenerateGetter and GenerateSetter (incubating).
  • Added getter for include/exclude in Recipe.

Fixes

  • Fix delegation of validation in CompositeRefactorVisitor.
  • Correct tag telemetry in Refactor.

Polish

  • Moved ChangeLiteral implementation into a Scope inner class because it cannot be used declaratively.
  • Downgraded ValidationException if recipe name not unique to a warning.

4.2.1

27 Aug 04:37
Compare
Choose a tag to compare

Enhancements

  • Don't resolve runtime scope dependencies in Maven parser

v4.2.0

26 Aug 00:18
Compare
Choose a tag to compare

Add new building-block recipes for generating getter and setter methods for fields

4.1.2

22 Aug 17:34
Compare
Choose a tag to compare

Add system properties to DefaultModelBuilderRequest so that BOMs that rely on system properties (e.g. profiles based on java.version) can be parsed.

4.1.1

22 Aug 05:56
Compare
Choose a tag to compare

Correct two Java parser tests that will allow rewrite-java-8 build to pass.

4.1.0

22 Aug 02:53
Compare
Choose a tag to compare
  • Maven parser now uses a "workspace resolver" that uses a mapdb cache so we don't re-resolve the same version range requests over and over again against remote repos when we're batch processing lots of poms.
  • Maven parser replaces http:// with https:// on pom-defined repositories.
  • Maven parser now always uses the remote repository defined to the parser and avoiding maven's implicit inclusion a maven central remote repository.
  • MavenModel now has new transitive dependencies field.

4.0.1

18 Aug 02:35
Compare
Choose a tag to compare

Change types from openrewrite.org/v1beta to specs.openrewrite.org/v1beta

4.0.0

17 Aug 22:02
Compare
Choose a tag to compare
  • Rename "Profile" to "Recipe"

Don't use this release, use 4.0.1 instead

This was mistakenly released with visitor and recipe having the type strings "openrewrite.org/v1beta" when it should have been "specs.openrewrite.org/v1beta"

Change "Profile" into "Recipe"

Everywhere the term "profile" used to appear, the term "recipe" now appears.
Recipe now must also:

  • Have names consisting of letters, numbers, underscores, and dashes
  • Be fully qualified with a package prefix

Simplify "Recipe" Concept

Recipes may no longer extend other recipes and must be uniquely named.

Previously it was allowable to scatter a recipe's definition around in pieces. One bit could come from a jar on the classpath, another from your user home directory, another from the project's rewrite config yaml, etc. These bits would be merged together into a single recipe at runtime.

This mechanism has been removed. Two recipes having the same name is now an error. Provide package-prefixes to namespace your recipes and avoid name collision.
To get the effects of multiple different recipes at once, merely list all of them as "active" to the build tool plugin.

3.0.3

10 Aug 05:33
Compare
Choose a tag to compare

Enhancements

  • Added -Dorg.openrewrite.debug to always have cursoring on. This makes it easier to set conditional breakpoints on a particular class name in visitors that don't otherwise enable cursoring.
  • Add methods to allow for binding of styles of profiles to parser.

Fixes

  • CompositeRefactorVisitor not clearing andThen() of delegates on next().
  • AddImport stripping first ClassDecl javadocs.

3.0.2

05 Aug 18:00
122637e
Compare
Choose a tag to compare

Fix a bug that made recipes operating on multiple source files never return any changes/fixes