29-January-2022 - 6.42.0-SNAPSHOT
The PMD team is pleased to announce PMD 6.42.0-SNAPSHOT.
This is a minor release.
New and noteworthy
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 propertyreportProperty
. If set tofalse
(default istrue
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
- java-bestpractices
- java-design
- #3679: [java] Make FinalFieldCouldBeStatic detect constant variable
- java-errorprone
- #3686: [java] ReturnEmptyCollectionRatherThanNull - false negative with conditioned returns
- java-performance
- #3492: [java] UselessStringValueOf: False positive when there is no initial String to append to
API Changes
External Contributions
- #3631: [java] Fixed False positive for UselessStringValueOf when there is no initial String to append to - John Armgardt
- #3683: [java] Fixed 3468 UnusedPrivateMethod false positive when outer class calls private static method on inner class - John Armgardt
- #3688: [java] Bump log4j to 2.16.0 - Sergey Nuyanzin
- #3693: [apex] ApexDoc: Add reportProperty property - Steve Babula
- #3704: [java] Fix for #3686 - Fix ReturnEmptyCollectionRatherThanNull - Oleksii Dykov
- #3713: [java] Enhance UnnecessaryModifier to support records - Vincent Galloy
- #3719: [java] Upgrade log4j to 2.17.1 - Daniel Paul Searles
- #3720: [java] New rule: FinalParameterInAbstractMethod - Vincent Galloy
- #3724: [java] Fix for #3686 - fix FinalFieldCouldBeStatic - Oleksii Dykov