[pmd-devel] [ANNOUNCE] PMD 6.0.1 Released
A source code analyzer
Brought to you by:
adangel,
juansotuyo
|
From: Andreas D. <and...@ad...> - 2018-01-21 16:16:07
|
The PMD team is pleased to announce PMD 6.0.1. This is a bug fixing release. Download: https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.0.1 <https://github.com/pmd/pmd/blob/pmd_releases/6.0.1/docs/pages/release_notes.md#table-of-contents>Table Of Contents * Additional information about the new introduced rule categories <https://github.com/pmd/pmd/blob/pmd_releases/6.0.1/docs/pages/release_notes.md#additional-information-about-the-new-introduced-rule-categories> * Fixed Issues <https://github.com/pmd/pmd/blob/pmd_releases/6.0.1/docs/pages/release_notes.md#fixed-issues> * API Changes <https://github.com/pmd/pmd/blob/pmd_releases/6.0.1/docs/pages/release_notes.md#api-changes> * External Contributions <https://github.com/pmd/pmd/blob/pmd_releases/6.0.1/docs/pages/release_notes.md#external-contributions> <https://github.com/pmd/pmd/blob/pmd_releases/6.0.1/docs/pages/release_notes.md#additional-information-about-the-new-introduced-rule-categories>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: 1. *Best Practices*: These are rules which enforce generally accepted best practices. 2. *Code Style*: These rules enforce a specific coding style. 3. *Design*: Rules that help you discover design issues. 4. *Documentation*: These rules are related to code documentation. 5. *Error Prone*: Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors. 6. *Multithreading*: These are rules that flag issues when dealing with multiple threads of execution. 7. *Performance*: Rules that flag suboptimal code. 8. *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 <https://github.com/pmd/pmd/pull/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. <https://github.com/pmd/pmd/blob/pmd_releases/6.0.1/docs/pages/release_notes.md#fixed-issues>Fixed Issues * all o #842 <https://github.com/pmd/pmd/issues/842>: [core] Use correct java bootclasspath for compiling * apex-errorprone o #792 <https://github.com/pmd/pmd/issues/792>: [apex] AvoidDirectAccessTriggerMap incorrectly detects array access in classes * apex-security o #788 <https://github.com/pmd/pmd/issues/788>: [apex] Method chaining breaks ApexCRUDViolation * doc o #782 <https://github.com/pmd/pmd/issues/782>: [doc] Wrong information in the Release Notes about the Security ruleset o #794 <https://github.com/pmd/pmd/issues/794>: [doc] Broken documentation links for 6.0.0 * java o #793 <https://github.com/pmd/pmd/issues/793>: [java] Parser error with private method in nested classes in interfaces o #814 <https://github.com/pmd/pmd/issues/814>: [java] UnsupportedClassVersionError is failure instead of a warning o #831 <https://github.com/pmd/pmd/issues/831>: [java] StackOverflow in JavaTypeDefinitionSimple.toString * java-bestpractices o #783 <https://github.com/pmd/pmd/issues/783>: [java] GuardLogStatement regression o #800 <https://github.com/pmd/pmd/issues/800>: [java] ForLoopCanBeForeach NPE when looping on |this| object * java-codestyle o #817 <https://github.com/pmd/pmd/issues/817>: [java] UnnecessaryModifierRule crashes on valid code * java-design o #785 <https://github.com/pmd/pmd/issues/785>: [java] NPE in DataClass rule o #812 <https://github.com/pmd/pmd/issues/812>: [java] Exception applying rule DataClass o #827 <https://github.com/pmd/pmd/issues/827>: [java] GodClass crashes with java.lang.NullPointerException * java-performance o #841 <https://github.com/pmd/pmd/issues/841>: [java] InsufficientStringBufferDeclaration NumberFormatException * java-typeresolution o #866 <https://github.com/pmd/pmd/issues/866>: [java] rulesets/java/typeresolution.xml lists non-existent rules <https://github.com/pmd/pmd/blob/pmd_releases/6.0.1/docs/pages/release_notes.md#api-changes>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. <https://github.com/pmd/pmd/blob/pmd_releases/6.0.1/docs/pages/release_notes.md#external-contributions>External Contributions * #796 <https://github.com/pmd/pmd/pull/796>: [apex] AvoidDirectAccessTriggerMap incorrectly detects array access in classes - Robert Sösemann <https://github.com/up2go-rsoesemann> * #799 <https://github.com/pmd/pmd/pull/799>: [apex] Method chaining breaks ApexCRUDViolation - Robert Sösemann <https://github.com/up2go-rsoesemann> |