Enhancements
- New incubating
RewriteTest
unit testing harness. Implemented as a Java interface rather than a Kotlin class and adds significant support for testing on multiple file types simultaneously. - New Recipe: Simplify constant if branch execution #1539
- New Recipe: Remove managed dependency #1530
- New Recipe: Change managed dependency group and artifact id #1529
- New Recipe: Explicit charset on
String#getByte
- New option
newVersion
forChangeDependencyGroupIdAndArtifactId
- Added support for logical operators (
&&
and||
) inJsonPathMatcher
- Support additional Groovy operators #1525 #1523 #1532 #1521
- Support
'''
multiline Groovy strings #1518 - Add
HttpSender
interface to decouplerewrite-maven
from OkHttp #1512 - New markers for CI build metadata #1502
GitProvenance
now defers branch name decision toBuildEnvironment
in detached head and shallow clone situationsMetricsHelper#record
convenience method- New Recipe:
RandomizeId
(mostly for performance diagnostics) - Enable Caffeine cache stats on
InMemoryMavenPomCache
- Java
Autodetect
result can now be built one source file at a time
Fixes
- Consistent use of UTF-8 #1559
- Do not shift Java single line comments at column 0 in
TabsAndIndents
#1535 - Fix base-n conversion in
GradleParser
#1534 - Update of XML indentation autodetection #1527
- Consistently update Maven model when modifying dependencies #1507
- Guard against recipes that run source files on sources with the same ID
- Make access to
Recipe#recipeList
thread safe - Increase visibility of
MetadataKey
to public - Fix HCL operator padding
- Fix
ClassCastException
in HCLSpacesVisitor
Thank You to Contributors
Full Changelog: v7.20.0...v7.21.0