PMD 6.0.1 released PMD Source Code Analyzer Home Documentation Bugs About News Downloads Support Plugins PMD 6.0.1 released 21 January 2018 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. category/xml/errorprone.xml). You can find the information about available rules in the generated rule documentation, available at https://pmd.github.io/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. Fixed Issues all #842: [core] Use correct java bootclasspath for compiling apex-errorprone #792: [apex] AvoidDirectAccessTriggerMap incorrectly detects array access in classes apex-security #788: [apex] Method chaining breaks ApexCRUDViolation doc #782: [doc] Wrong information in the Release Notes about the Security ruleset #794: [doc] Broken documentation links for 6.0.0 java #793: [java] Parser error with private method in nested classes in interfaces #814: [java] UnsupportedClassVersionError is failure instead of a warning #831: [java] StackOverflow in JavaTypeDefinitionSimple.toString java-bestpractices #783: [java] GuardLogStatement regression #800: [java] ForLoopCanBeForeach NPE when looping on this object java-codestyle #817: [java] UnnecessaryModifierRule crashes on valid code java-design #785: [java] NPE in DataClass rule #812: [java] Exception applying rule DataClass #827: [java] GodClass crashes with java.lang.NullPointerException java-performance #841: [java] InsufficientStringBufferDeclaration NumberFormatException java-typeresolution #866: [java] rulesets/java/typeresolution.xml lists non-existent rules API Changes The constant net.sourceforge.pmd.PMD.VERSION has been deprecated and will be removed with PMD 7.0.0. Please use net.sourceforge.pmd.PMDVersion.VERSION instead. External Contributions #796: [apex] AvoidDirectAccessTriggerMap incorrectly detects array access in classes - Robert Sösemann #799: [apex] Method chaining breaks ApexCRUDViolation - Robert Sösemann Home ⋅ Documentation ⋅ Bugs ⋅ About ⋅ News ⋅ Support ⋅ Downloads ⋅ Plugins Copyright © 2025 PMD. All Rights Reserved. Credits: Landing Page Theme, based on free to use, open source Bootstrap theme created by Start Bootstrap.