28-May-2022 - 6.46.0-SNAPSHOT

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

This is a minor release.

New and noteworthy

CLI improvements

The PMD CLI now allows repeating the --dir (-d) and --rulesets (-R) options, as well as providing several space-separated arguments to either of them. For instance:

pmd -d src/main/java src/test/java -R rset1.xml -R rset2.xml

This also allows globs to be used on the CLI if your shell supports shell expansion. For instance, the above can be written

pmd -d src/*/java -R rset*.xml

Please use theses new forms instead of using comma-separated lists as argument to these options.

Fixed Issues

  • cli
    • #1445: [core] Allow CLI to take globs as parameters
  • html
    • #3955: [html] Improvements for handling text and comment nodes
  • java-design
    • #3874: [java] ImmutableField reports fields annotated with @Autowired (Spring) and @Mock (Mockito)
  • javascript
    • #3948: [js] Invalid operator error for method property in object literal

API Changes

Deprecated API

  • getInputPaths and setInputPaths are now deprecated. A new set of methods have been added, which use lists and do not rely on comma splitting.

External Contributions

  • #3964: [java] Fix #3874 - ImmutableField: fix mockito/spring false positives - @lukelukes