New Maven Resolution & Model
This release includes a completely reworked implementation of rewrite's Maven resolution and semantic model. The resolution of the effective POM and dependencies is more accurate and performant than in previous releases. There are some breaking changes in recipes that rely on the legacy Maven model.
- See #1373 for notes on these changes
Other Enhancements
- New Recipe : ReplaceConstant 56927c4
Fixes
- Method modifiers from ClassgraphTypeMapping differ from Javac TypeMapping #1321
- Excluding Enum classes from getting
serialVersionUid
#1330 - Use the symbolType#superfield_type in Java 8 and Java 11 TypeMapping #1328
- XmlParsingException: mismatched input '' expecting '<'. with file endoded in UTF-8 with BOM #1295
- Configurable RemoveUnusedLocalVariables with ignorable local variable names #1332
- Add set of ignored variables to RemoveUnusedLocalVariables 6576255
- JavaDocParser does not handle parameterized types in @link #1274
- BlockStatementTemplateGenerator generates an invalid template stub when the template statement is within a Try with resources block. #1339
- Added visitParameterizedType in JavaDocVisitors and JavaDocPrinter. #1347
- Add Marker for SourceFiles found but not parsed #1315
- Moving UseFilesCreateTempDirectory from rewrite to rewrite-java-security e0a9232
- JavaVisitor.visitVariableDeclarations() visits the type expression twice, potentially causing bugs for type visitors #1359
- Support Range for AST node with pos including line, column #1363
- Incomplete assignment visitor fix. Modifiers positions fix 94bb2bc
- Maven resolution by @jkschneider in #1331
- Upgrading Maven dependency with explicitly empty versionPattern #1334
- JavaDoc parsing exception when a line break contains whitespace #1374
- Support origin that has a base path in the URI #1376
New Contributors
- @mrbitrary made their first contribution in #1330
- @hetzijzo made their first contribution in #1335
Full Changelog: v7.17.3...v7.18.0