pmd/docs/pages/release_notes.md
Andreas Dangel d49014c861 Merge pull request #3742 from dykov:hotfix/3701
[java] Fix #3701 - fix MissingStaticMethodInNonInstantiatableClass for
method local classes #3742

* pr-3742:
  [doc] Update release notes (#3701, #3742)
  #3701 - fix MissingStaticMethodInNonInstantiatableClass for method
local classes
2022-01-17 19:05:59 +01:00

3.8 KiB

title permalink keywords
PMD Release Notes pmd_release_notes.html changelog, release notes

{{ site.pmd.date }} - {{ site.pmd.version }}

The PMD team is pleased to announce PMD {{ site.pmd.version }}.

This is a {{ site.pmd.release_type }} release.

{% tocmaker is_release_notes_processor %}

New and noteworthy

New rules

  • The new Java rule {% rule "java/codestyle/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 {% rule "apex/documentation/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

  • 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
    • #3686: [java] ReturnEmptyCollectionRatherThanNull - false negative with conditioned returns
    • #3701: [java] MissingStaticMethodInNonInstantiatableClass false positive with method inner classes
  • java-performance
    • #3492: [java] UselessStringValueOf: False positive when there is no initial String to append to

API Changes

External Contributions

{% endtocmaker %}