21-January-2018 - 6.0.1
The PMD team is pleased to announce PMD 6.0.1.
This is a bug fixing release.
Table Of Contents
- Additional information about the new introduced rule categories
- Fixed Issues
- API Changes
- External Contributions
Additional information about the new introduced rule categories
With the release of PMD 6.0.0, all rules have been sorted into one of the following eight categories:
- Best Practices: These are rules which enforce generally accepted best practices.
- Code Style: These rules enforce a specific coding style.
- Design: Rules that help you discover design issues.
- Documentation: These rules are related to code documentation.
- Error Prone: Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
- Multithreading: These are rules that flag issues when dealing with multiple threads of execution.
- Performance: Rules that flag suboptimal code.
- Security: Rules that flag potential security flaws.
Please note, that not every category in every language may have a rule. There might be categories with no
rules at all, such as
category/java/security.xml, which has currently no rules.
There are even languages, which only have rules of one category (e.g.
You can find the information about available rules in the generated rule documentation, available at https://pmd.github.io/pmd-6.0.1/.
In order to help migrate to the new category scheme, the new name for the old, deprecated rule names will be logged as a warning. See PR #865. Please note, that the deprecated rule names will keep working throughout PMD 6. You can upgrade to PMD 6 without the immediate need to migrate your current ruleset. That backwards compatibility will be maintained until PMD 7.0.0 is released.
- #842: [core] Use correct java bootclasspath for compiling
- #792: [apex] AvoidDirectAccessTriggerMap incorrectly detects array access in classes
- #788: [apex] Method chaining breaks ApexCRUDViolation
- #817: [java] UnnecessaryModifierRule crashes on valid code
- #841: [java] InsufficientStringBufferDeclaration NumberFormatException
- #866: [java] rulesets/java/typeresolution.xml lists non-existent rules
- The constant
net.sourceforge.pmd.PMD.VERSIONhas been deprecated and will be removed with PMD 7.0.0. Please use