[pmd-devel] [ANNOUNCE] PMD 6.26.0 Released
A source code analyzer
Brought to you by:
adangel,
juansotuyo
|
From: Andreas D. <and...@pm...> - 2020-07-25 12:44:27
|
* Downloads: https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.26.0 * Documentation: https://pmd.github.io/pmd-6.26.0/ 25-July-2020 - 6.26.0 The PMD team is pleased to announce PMD 6.26.0. This is a minor release. Table Of Contents * New and noteworthy <https://sourceforge.net/p/pmd/news/2020/07/pmd-6260-released/#new-and-noteworthy> o New Rules <https://sourceforge.net/p/pmd/news/2020/07/pmd-6260-released/#new-rules> o Modified rules <https://sourceforge.net/p/pmd/news/2020/07/pmd-6260-released/#modified-rules> * Fixed Issues <https://sourceforge.net/p/pmd/news/2020/07/pmd-6260-released/#fixed-issues> * API Changes <https://sourceforge.net/p/pmd/news/2020/07/pmd-6260-released/#api-changes> o Deprecated API <https://sourceforge.net/p/pmd/news/2020/07/pmd-6260-released/#deprecated-api> + For removal <https://sourceforge.net/p/pmd/news/2020/07/pmd-6260-released/#for-removal> * External Contributions <https://sourceforge.net/p/pmd/news/2020/07/pmd-6260-released/#external-contributions> * Stats <https://sourceforge.net/p/pmd/news/2020/07/pmd-6260-released/#stats> New and noteworthy New Rules * The new Java rule |UnusedAssignment| <https://pmd.github.io/pmd-6.26.0/pmd_rules_java_bestpractices.html#unusedassignment> (|java-bestpractices|) finds assignments to variables, that are never used and are useless. The new rule is supposed to entirely replace |DataflowAnomalyAnalysis| <https://pmd.github.io/pmd-6.26.0/pmd_rules_java_errorprone.html#dataflowanomalyanalysis>. Modified rules * The Java rule |ArrayIsStoredDirectly| <https://pmd.github.io/pmd-6.26.0/pmd_rules_java_bestpractices.html#arrayisstoreddirectly> (|java-bestpractices|) now ignores by default private methods and constructors. You can restore the old behavior by setting the new property |allowPrivate| to "false". Fixed Issues * apex o #2610 <https://github.com/pmd/pmd/pull/2610>: [apex] Support top-level enums in rules * apex-bestpractices o #2626 <https://github.com/pmd/pmd/issues/2626>: [apex] UnusedLocalVariable - false positive on case insensitivity allowed in Apex * apex-performance o #2598 <https://github.com/pmd/pmd/issues/2598>: [apex] AvoidSoqlInLoops false positive for SOQL with in For-Loop * apex-security o #2620 <https://github.com/pmd/pmd/issues/2620>: [visualforce] False positive on VfUnescapeEl with new Message Channel feature * core o #710 <https://github.com/pmd/pmd/issues/710>: [core] Review used dependencies o #2594 <https://github.com/pmd/pmd/issues/2594>: [core] Update exec-maven-plugin and align it in all project o #2615 <https://github.com/pmd/pmd/issues/2615>: [core] PMD/CPD produces invalid XML (insufficient escaping/wrong encoding) * java-bestpractices o #2543 <https://github.com/pmd/pmd/issues/2543>: [java] UseCollectionIsEmpty can not detect the case this.foo.size() o #2569 <https://github.com/pmd/pmd/issues/2569>: [java] LiteralsFirstInComparisons: False negative for methods returning Strings o #2622 <https://github.com/pmd/pmd/issues/2622>: [java] ArrayIsStoredDirectly false positive with private constructor/methods * java-codestyle o #2546 <https://github.com/pmd/pmd/issues/2546>: [java] DuplicateImports reported for the same import... and import static... * java-design o #2174 <https://github.com/pmd/pmd/issues/2174>: [java] LawOfDemeter: False positive with 'this' pointer o #2181 <https://github.com/pmd/pmd/issues/2181>: [java] LawOfDemeter: False positive with indexed array access o #2189 <https://github.com/pmd/pmd/issues/2189>: [java] LawOfDemeter: False positive when casting to derived class o #2580 <https://github.com/pmd/pmd/issues/2580>: [java] AvoidThrowingNullPointerException marks all NullPointerException objects as wrong, whether or not thrown o #2625 <https://github.com/pmd/pmd/issues/2625>: [java] NPathComplexity can't handle switch expressions * java-errorprone o #2578 <https://github.com/pmd/pmd/issues/2578>: [java] AvoidCallingFinalize detects some false positives o #2634 <https://github.com/pmd/pmd/issues/2634>: [java] NullPointerException in rule ProperCloneImplementation * java-performance o #1736 <https://github.com/pmd/pmd/issues/1736>: [java] UseStringBufferForStringAppends: False positive if only one concatenation o #2207 <https://github.com/pmd/pmd/issues/2207>: [java] AvoidInstantiatingObjectsInLoops: False positive - should not flag objects when assigned to lists/arrays API Changes Deprecated API For removal * |RuleChainVisitor| <https://docs.pmd-code.org/apidocs/pmd-core/6.26.0/net/sourceforge/pmd/lang/rule/RuleChainVisitor.html#> and all implementations in language modules * |AbstractRuleChainVisitor| <https://docs.pmd-code.org/apidocs/pmd-core/6.26.0/net/sourceforge/pmd/lang/rule/AbstractRuleChainVisitor.html#> * |Language#getRuleChainVisitorClass| <https://docs.pmd-code.org/apidocs/pmd-core/6.26.0/net/sourceforge/pmd/lang/Language.html#getRuleChainVisitorClass()> * BaseLanguageModule#<init> <https://docs.pmd-code.org/apidocs/pmd-core/6.26.0/net/sourceforge/pmd/lang/BaseLanguageModule.html#<init>(java.lang.String,java.lang.String,java.lang.String,java.lang.Class,java.lang.String...)> * |ImportWrapper| <https://docs.pmd-code.org/apidocs/pmd-core/6.26.0/net/sourceforge/pmd/lang/rule/ImportWrapper.html#> External Contributions * #2558 <https://github.com/pmd/pmd/pull/2558>: [java] Fix issue #1736 and issue #2207 - Young Chan <https://github.com/YYoungC> * #2560 <https://github.com/pmd/pmd/pull/2560>: [java] Fix false positives of LawOfDemeter: this and cast expressions - xioayuge <https://github.com/xioayuge> * #2590 <https://github.com/pmd/pmd/pull/2590>: Update libraries snyk is referring to as |unsafe| - Artem Krosheninnikov <https://github.com/KroArtem> * #2597 <https://github.com/pmd/pmd/pull/2597>: [dependencies] Fix issue #2594, update exec-maven-plugin everywhere - Artem Krosheninnikov <https://github.com/KroArtem> * #2621 <https://github.com/pmd/pmd/pull/2621>: [visualforce] add new safe resource for VfUnescapeEl - Peter Chittum <https://github.com/pchittum> * #2640 <https://github.com/pmd/pmd/pull/2640>: [java] NullPointerException in rule ProperCloneImplementation - Mykhailo Palahuta <https://github.com/Drofff> * #2641 <https://github.com/pmd/pmd/pull/2641>: [java] AvoidThrowingNullPointerException marks all NullPointerException… - Mykhailo Palahuta <https://github.com/Drofff> * #2643 <https://github.com/pmd/pmd/pull/2643>: [java] AvoidCallingFinalize detects some false positives (2578) - Mykhailo Palahuta <https://github.com/Drofff> * #2651 <https://github.com/pmd/pmd/pull/2651>: [java] False negative: LiteralsFirstInComparisons for methods... (2569) - Mykhailo Palahuta <https://github.com/Drofff> * #2652 <https://github.com/pmd/pmd/pull/2652>: [java] UseCollectionIsEmpty can not detect the case this.foo.size() - Mykhailo Palahuta <https://github.com/Drofff> Stats * 156 commits * 43 closed tickets & PRs * Days since last release: 28 |