Enhancements
- New Recipe: Add managed dependency #1286 #1436
- New Recipe: Find literals matching a pattern. #1449
- New Recipe: Extract interface #1460
- New Recipe: List potentially dead code by declared method #1471
- Added condition to filter by the provided scope in
DependencyInsight
#1435 - Add method declaration sorting block coordinate #1424
- SetDefaultEstimatedEffortPerOccurrence #1425
- Alter XML attribute #1426
- Expand ChangeType to support wildcard matches on subpackage types #1431
FindAnnotations
support for wildcard matching on annotation type name #1446TreeObserver
to provide an event-driven model for responding to AST mutations #1464- Expand
FindTypes
to support subpackage wildcard matching. #1466 - Better support for generics in Groovy parsing 3d0bd45
- GroovyParser support for parsing inner classes 68b54b1
- Beginning of dataflow analysis edges LastRead, LastWrite, GuardedBy #1472
- Better Protobuf support de3ff63
- Support ChangePackage recursive sub-packages visit #1476
- Improved XML autoformat #1477
- Consider dependency management when removing exclusions #1490
Fixes
- Fix for new lines without '*' ending with CRLF in Javadoc Visitors #1413
- Add trailing whitespace to the body in
JavaDocVisitor
#1415 - Add whitespace before equals of attributes in JavaDoc #1416
- Prevent infinite recursion in
JsonPathMatcher
#1428 - Rename
ChangeXmlAttribute
toChangeTagAttribute
bcf6abc - Wildcard matching on inner classes for
UsesType
,FindTypes
, andMethodMatcher
518f104 - Bumped Gradle wrapper from 7.3.3 to 7.4 #1433
- Empty XML tags can trip up XML deserialization #1427
- Correctly interpret layered managed dependencies #1422 74e86bf
- Updated
MethodSignatureParserBaseVisitor#visitClassNameOrInterface
to work with wildcard matching inStringUtils.aspectjNameToPattern
74e86bf - Updated
DependencyInsight
to usefindDependency(tag, scope)
#1435 #1418 - Fix generation of inner class
MethodMatcher
from method declaration c7db34b - Prevent infinite recursion on generic recursive intersections in
JavaReflectionTypeSignatureBuilder
#1439 AddDependency
adds dependency if it already exists transitively #1443- Updated Hcl
Space
to add hash style comments #1441 - Only compare the
Xml.Tags
inInsertDependencyComparator
#1444 - Update ResolvedPom to handle null property values. #1450
- Pin
com.puppycrawl.tools:checkstyle
to 9.+ #1452 - Resolve property placeholders in classifier and type #1454
- Removed redundant maybeUpdateModel in ChangeParentPom.
maybeUpdateModel
will be called in visitDocument. 4444886 - Update
ManageDependencies
to useisManagedDependencyTag(..)
vsisDependencyTag(..)
when checking managed-dependency tags. f9ae7bc - Fix javac and java reflection type mapping for constructors and super-type of enums #1453
ExplicitLambdaArgumentTypes
handles unknown type #1459- Implementation of
getEstimatedEffortPerOccurrence
onCompositeRecipe
#1461 - Fix profile activation logic when using
jdk
#1462 #1463 UpgradeDependencyVersion
should also update managed-dependency versions when the version is not a property #1468- DeimplementInterface and JavaType.Method#isInheritedFrom(fqn) #1470
- Prevent NPE and IOB exceptions when merging YAML into empty documents. #1469
- Use comparator to find the best location for XML tag #1473 #1474
- Pin okhttp3:okhttp to 4.9.3 while waiting on 5.x #1479
- Skip proto3 files #1480
- Prevent local variables initialized in J.WhileLoop from being marked as final by narrowing the scope to only local variables having a non-null initializer #1478
- Allow an empty profile activation element #1487
- Updated JsonPathParser and JsonPathLexer. #1485
- Rework
UpdateDependencyVersion
to do no harm. #634 #1489 - Determine branch when repository is in detached head state c121497
Thank You to Our Contributors
Full Changelog: v7.19.0...v7.20.0