Enhancements:
- Added Maven UpgradePluginVersion recipe enhancement #570
- XmlRecipeTest, YamlRecipeTest, PropertiesRecipeTest and MavenRecipe test are now part of rewrite-test's public API #503
- Enable syntax highlighting in ALL recipe tests #644
- Line counting visitor for Java #643
- New "category" resource to provide descriptions of what packages of recipes do #625
- Diagnostic test harness to test against a single AST known to the Moderne SaaS. #606
- Allow passing a ClassLoader into Environment #603
- Autodetect SpacesStyle for Java #598
- Autodetect import layout style for Java #597
- RemovePlugin recipe to remove maven plugins from maven pom #587
- Autodetect named style for tab/indentation levels enhancement #586
- Support changing the return type in ChangeMethodTargetToStatic #649
Fixes:
- JavaTemplate fails to type-attribute method invocations that include primitive types short, byte, and char #650
- TabsAndIndentsVisitor can throw StringIndexOutOfBounds for mixed tabs/spaces #521
- Continuation indents on parameters which themselves have method chains #636
- HideUtilityClassConstructor clobbers formatting #639
- Comment moved to wrong place during autoreformat #621
- Wrong enum autoformatting #620
- RemoveUnusedImports erroneously considers static import used as annotation parameter to be unused #617
- Recipes with all-optional configuration, like OrderImports, can't be activated directly #616
- ChangePropertyValue Recipe doesn't preserve comment #575
- JavaTemplateParser templateCache ConcurrentModificationException #610
- Parse MemberReference when a type parameter is present #608
- ChangeMethodName does not update declaringType.name when the declaring type matches the method matcher #605
- Transposition of "import static" to "static import" in serialization of ImportLayoutStyle #600
- ConcurrentModificationException on JavaTemplateParser cache #578
- Maven: transitive dependencies should be considered by AddDependency #646
- Wrong indent when mixing if/else and comments #623