PMD 6.42.0 released
29 January 2022
29-January-2022 - 6.42.0
The PMD team is pleased to announce PMD 6.42.0.
This is a minor release.
Table Of Contents
New and noteworthy
Javascript: Rhino updated to latest version 1.7.14
Rhino, the implementation of JavaScript we use
for parsing JavaScript code, has been updated to the latest version 1.7.14.
Now language features like template strings can be parsed. However Rhino does
not support all features of the latest EcmaScript standard.
New rules
- The new Java rule
FinalParameterInAbstractMethod
detects parameters that are
declared as final in interfaces or abstract methods. Declaring the parameters as final is useless
because the implementation may choose to not respect it.
<rule ref="category/java/codestyle.xml/FinalParameterInAbstractMethod" />
The rule is part of the quickstart.xml ruleset.
Modified rules
- The Apex rule
ApexDoc
has a new property reportProperty
.
If set to false
(default is true
if unspecified) doesn’t report missing ApexDoc comments on properties.
It allows you to enforce ApexDoc comments for classes and methods without requiring them for properties.
Fixed Issues
- core
- #3328: [core] designer.bat errors when JAVAFX_HOME contains spaces
- java
- #3698: [java] Error resolving Symbol Table
- java-bestpractices
- #3209: [java] UnusedPrivateMethod false positive with static method and cast expression
- #3468: [java] UnusedPrivateMethod false positive when outer class calls private static method on inner class
- java-design
- #3679: [java] Make FinalFieldCouldBeStatic detect constant variable
- java-errorprone
- #3644: [java] InvalidLogMessageFormat: false positives with logstash structured logging
- #3686: [java] ReturnEmptyCollectionRatherThanNull - false negative with conditioned returns
- #3701: [java] MissingStaticMethodInNonInstantiatableClass false positive with method inner classes
- #3721: [java] ReturnEmptyCollectionRatherThanNull - false positive with stream and lambda
- java-performance
- #3492: [java] UselessStringValueOf: False positive when there is no initial String to append to
- #3639: [java] UseStringBufferLength: false negative with empty string variable
- #3712: [java] InsufficientStringBufferDeclaration false positive with StringBuilder.setLength(0)
- javascript
- #3703: [javascript] Error - no Node adapter class registered for XmlPropRef
API Changes
No changes.
External Contributions
Stats
- 88 commits
- 35 closed tickets & PRs
- Days since last release: 62