Releases: openrewrite/rewrite
5.0.0
Enhancements
- Add
Maven.Pom#withModel
. - Don't resolve runtime scope dependencies in Maven parser.
RefactorPlan
renamed toEnvironment
.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
andGenerateSetter
(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 aScope
inner class because it cannot be used declaratively. - Downgraded
ValidationException
if recipe name not unique to a warning.
4.2.1
Enhancements
- Don't resolve runtime scope dependencies in Maven parser
v4.2.0
Add new building-block recipes for generating getter and setter methods for fields
4.1.2
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
Correct two Java parser tests that will allow rewrite-java-8 build to pass.
4.1.0
- 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://
withhttps://
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
4.0.0
- 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
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 clearingandThen()
of delegates onnext()
.AddImport
stripping firstClassDecl
javadocs.