30-April-2016 - 5.3.7
New Supported Languages:
- CPD supports now Swift (see PR#33).
Feature Request and Improvements:
- A JSON-renderer for PMD which is compatible with CodeClimate. See PR#83.
- java-design/UseVargs: public static void main method is ignored now and so are methods, that are annotated with Override. See PR#79.
- #27: Added support for Raw String Literals (C++11).
- #29: Added support for files with UTF-8 BOM to JSP tokenizer.
- #30: Removed file filter for files that are explicitly specified on the CPD command line using the ‘–files’ command line option.
- #31: Added file encoding detection to CPD.
- #32: Extended Objective-C grammar to accept UTF-8 escapes (\uXXXX) in string literals.
- #33: Added support for Swift to CPD.
- #79: do not flag public static void main(String) as UseVarargs; ignore @Override for UseVarargs
- #80: Update mvn-plugin.md
- #83: Adds new Code Climate-compliant JSON renderer
- #85: #1340 UseStringBufferForStringAppends False Positive with Ternary Operator
- #1471: False positives for DoubleCheckedLocking
- #1457: TooManyMethods counts inner class methods
- #1449: false positive when casting a variable to short
- #1452: ArrayIndexOutOfBoundsException with Annotations for AccessorClassGenerationRule
- #1467: UseUtilityClass can’t correctly check functions with multiple annotations
- #1465: False Positve UnusedImports with javadoc @link
- #1453: Test Class Without Test Cases gives false positive
- #1340: UseStringBufferForStringAppends False Positive with ternary operator
- #1475: False positive of MethodReturnsInternalArray
- #1476: False positive of ArrayIsStoredDirectly
- #1464: UnnecessaryFinalModifier false positive on a @SafeVarargs method
- #1456: UnusedFormalParameter should ignore overriding methods
- #1455: PMD doesn’t handle Java 8 explicit receiver parameters
- #1458: Performance degradation scanning large XML files with XPath custom rules
- #1461: Possible threading issue due to PR#75
- #1470: Error with type-bound lambda
- CPD: If a complete filename is specified, the language dependent filename filter is not applied. This allows to scan files, that are not using the standard file extension. If a directory is specified, the filename filter is still applied and only those files with the correct file extension of the language are scanned.