30-July-2022 - 6.48.0-SNAPSHOT

The PMD team is pleased to announce PMD 6.48.0-SNAPSHOT.

This is a minor release.

New and noteworthy

Gherkin support

Thanks to the contribution from Anne Brouwers PMD now has CPD support for the Gherkin language. It is used to defined test cases for the Cucumber testing tool for behavior-driven development.

Being based on a proper Antlr grammar, CPD can:

Fixed Issues

  • java-bestpractices
    • #3455: [java] WhileLoopWithLiteralBoolean - false negative with complex expressions
  • java-design
    • #3729: [java] TooManyMethods ignores “real” methods which are named like getters or setters
    • #3949: [java] FinalFieldCouldBeStatic - false negative with unnecessary parenthesis
  • java-performance
    • #3625: [java] AddEmptyString - false negative with empty var

API Changes

External Contributions

  • #3984: [java] Fix AddEmptyString false-negative issue - @LiGaOg
  • #3988: [java] Modify WhileLoopWithLiteralBoolean to meet the missing case #3455 - @VoidxHoshi
  • #3992: [java] FinalFieldCouldBeStatic - fix false negative with unnecessary parenthesis - @dalizi007
  • #3994: [java] TooManyMethods - improve getter/setter detection (#3729) - @341816041
  • #4017: Add Gherkin support to CPD - @ASBrouwers