Enhancements:
- RecipeIntrospectionUtils now provides access to
getVisitor
/getApplicableTest
/getSingleSourceApplicableTest
#717 - Added event hooks for Java parsing phases #716
- Added new MergeYaml recipe which allows for powerful, non-destructive modification of yaml documents #713
- Added FileMatcher option to make it convenient to target YAML recipes to specific file paths #706
- Added FileMatcher option to make it convenient to target Properties recipes to specific file paths #690
- Maven dependency management recipes now support "LATEST" and "RELEASE" version selectors #703
- RenameFile base recipe enhancement #685
- Added support for
var
to the Java 11 AST #667 - Added
ChangeMethodAccessLevel
recipe for changing the access level of a java method #647 - Add validation to JavaRecipeTest that method invocations are type attributed #654
Fixes:
- Fix race condition with File#mkdirs in LocalMavenArtifactCache #729
- Fix RecipeDescriptors sometimes failing to show non-declarative entries in recipe lists. #715
- Fix Autodetect#getImportLayoutStyle can add multiple blocks of all other imports #719
- Removing imports sometimes leads to missing spacing between groups of imports/package declaration #701
- Fix SimplifyBooleanExpression making an incorrect simplification #711
- Fix XML Autoformat indentation when attributes are on a different line than their containing tag #707
- Fix UnnecessaryThrows drops throws for exception thrown from AutoCloseable close(). #631
- Fix BlockStatementTemplateGenerator produces snippets with multiple definitions of the same inner class, leading to missing type attributions after templating #653
- Fix leaving an extra blank line when removing an annotation #686
- UseDiamondOperator should not be applied in assignment with var #658
- Fix Missing space after template replaces method invocation arguments #673
- Support unmatched UTF-16 surrogate pairs in String literals bug #665