Update release notes

This commit is contained in:
Clément Fournier
2022-02-06 13:57:30 +01:00
parent a8966e9749
commit c24614d925

View File

@ -18,6 +18,29 @@ This is a {{ site.pmd.release_type }} release.
### API Changes
#### Deprecated API
Some API deprecations were performed in core PMD classes, to improve compatibility with PMD 7.
- {% jdoc core::Report %}: construction methods like addViolation or createReport
- {% jdoc core::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 {% jdoc core::lang.rule.AbstractRule %}. In PMD 7, `RuleContext` will
be the API to report violations, and it can already be used as such in PMD 6.
- {% jdoc core::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)
{% jdoc core::RuleContext %} now requires setting the current rule before calling
{% jdoc core::lang.rule.Rule#apply(java.util.List, core::RuleContext)}. 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
{% endtocmaker %}