Edit me

26-February-2022 - 6.43.0-SNAPSHOT

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

This is a minor release.

New and noteworthy

Fixed Issues

  • misc
    • #3759: [lang-test] Upgrade dokka maven plugin to 1.4.32

API Changes

Deprecated API

Some API deprecations were performed in core PMD classes, to improve compatibility with PMD 7.

  • Report: construction methods like addViolation or createReport
  • RuleContext: all constructors, getters and setters. A new set of stable methods, matching those in PMD 7, was added to replace the addViolation overloads of AbstractRule. In PMD 7, RuleContext will be the API to report violations, and it can already be used as such in PMD 6.
  • RuleSet: methods that serve to apply rules, including apply, start, end, removeDysfunctionalRules

Changed API

It is now forbidden to report a violation:

  • With a null node
  • With a null message
  • With a null set of format arguments (prefer a zero-length array)

Note that the message is set from the XML rule declaration, so this is only relevant if you instantiate rules manually.

RuleContext now requires setting the current rule before calling apply. This is done automatically by RuleSet#apply and such. Creating and configuring a RuleContext manually is strongly advised against, as the lifecycle of RuleContext will change drastically in PMD 7.

External Contributions