[pmd-devel] [ANNOUNCE] PMD 6.29.0 Released
A source code analyzer
Brought to you by:
adangel,
juansotuyo
|
From: Andreas D. <and...@pm...> - 2020-10-24 09:19:45
|
* Downloads: https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.29.0 * Documentation: https://pmd.github.io/pmd-6.29.0/ 24-October-2020 - 6.29.0 The PMD team is pleased to announce PMD 6.29.0. This is a minor release. Table Of Contents * New and noteworthy <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#new-and-noteworthy> o Updated Apex Support <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#updated-apex-support> o New Rules <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#new-rules> o Renamed Rules <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#renamed-rules> o Deprecated Rules <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#deprecated-rules> * Fixed Issues <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#fixed-issues> * External Contributions <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#external-contributions> * Stats <https://sourceforge.net/p/pmd/news/2020/10/pmd-6290-released/#stats> New and noteworthy Updated Apex Support * The Apex language support has been bumped to version 50 (Winter '21). All new language features are now properly parsed and processed. Especially the Safe Navigation Operator <https://releasenotes.docs.salesforce.com/en-us/winter21/release-notes/rn_apex_SafeNavigationOperator.htm> is now supported. See also Salesforce Winter '21 Release Notes <https://releasenotes.docs.salesforce.com/en-us/winter21/release-notes/rn_apex.htm> New Rules * The new Apex rule |OperationWithLimitsInLoop| <https://pmd.github.io/pmd-6.29.0/pmd_rules_apex_performance.html#operationwithlimitsinloop> (|apex-performance|) finds operations in loops that may hit governor limits such as DML operations, SOQL queries and more. The rule replaces the three rules "AvoidDmlStatementsInLoops", "AvoidSoqlInLoops", and "AvoidSoslInLoops". Renamed Rules * The Java rule |DoNotCallSystemExit| <https://pmd.github.io/pmd-6.29.0/pmd_rules_java_errorprone.html#donotcallsystemexit> has been renamed to |DoNotTerminateVM| <https://pmd.github.io/pmd-6.29.0/pmd_rules_java_errorprone.html#donotterminatevm>, since it checks for all the following calls: |System.exit(int)|, |Runtime.exit(int)|, |Runtime.halt(int)|. All these calls terminate the Java VM, which is bad, if the VM runs an application server which many independent applications. Deprecated Rules * The Apex rules |AvoidDmlStatementsInLoops| <https://pmd.github.io/pmd-6.29.0/pmd_rules_apex_performance.html#avoiddmlstatementsinloops>, |AvoidSoqlInLoops| <https://pmd.github.io/pmd-6.29.0/pmd_rules_apex_performance.html#avoidsoqlinloops> and |AvoidSoslInLoops| <https://pmd.github.io/pmd-6.29.0/pmd_rules_apex_performance.html#avoidsoslinloops> (|apex-performance|) are deprecated in favour of the new rule |OperationWithLimitsInLoop| <https://pmd.github.io/pmd-6.29.0/pmd_rules_apex_performance.html#operationwithlimitsinloop>. The deprecated rules will be removed with PMD 7.0.0. Fixed Issues * apex o #2839 <https://github.com/pmd/pmd/issues/2839>: [apex] Apex classes with safe navigation operator from Winter 21 (50.0) are skipped * apex-performance o #1713 <https://github.com/pmd/pmd/issues/1713>: [apex] Mark Database DML statements in For Loop * core o #2831 <https://github.com/pmd/pmd/pull/2831>: [core] Fix XMLRenderer newlines when running under IBM Java * java-errorprone o #2157 <https://github.com/pmd/pmd/issues/2157>: [java] Improve DoNotCallSystemExit: permit call in main(), flag System.halt o #2764 <https://github.com/pmd/pmd/issues/2764>: [java] CloseResourceRule does not recognize multiple assignment done to resource * miscellaneous o #2823 <https://github.com/pmd/pmd/issues/2823>: [doc] Renamed/Moved rules are missing in documentation * vf (Salesforce VisualForce) o #2765 <https://github.com/pmd/pmd/issues/2765>: [vf] Attributes with dot cause a VfParseException External Contributions * #2803 <https://github.com/pmd/pmd/pull/2803>: [java] Improve DoNotCallSystemExit (Fixes #2157) - Vitaly Polonetsky <https://github.com/mvitaly> * #2809 <https://github.com/pmd/pmd/pull/2809>: [java] Move test config from file to test class - Stefan Birkner <https://github.com/stefanbirkner> * #2810 <https://github.com/pmd/pmd/pull/2810>: [core] Move method "renderTempFile" to XMLRendererTest - Stefan Birkner <https://github.com/stefanbirkner> * #2811 <https://github.com/pmd/pmd/pull/2811>: [java] CloseResource - Fix #2764: False-negative when re-assigning variable - Andi Pabst <https://github.com/andipabst> * #2813 <https://github.com/pmd/pmd/pull/2813>: [core] Use JUnit's TemporaryFolder rule - Stefan Birkner <https://github.com/stefanbirkner> * #2816 <https://github.com/pmd/pmd/pull/2816>: [apex] Detect 'Database' method invocations inside loops - Jeff Bartolotta <https://github.com/jbartolotta-sfdc> * #2829 <https://github.com/pmd/pmd/pull/2829>: [doc] Small correction in pmd_report_formats.md - Gustavo Krieger <https://github.com/gustavopcassol> * #2834 <https://github.com/pmd/pmd/pull/2834>: [vf] Allow attributes with dot in Visualforce - rmohan20 <https://github.com/rmohan20> * #2842 <https://github.com/pmd/pmd/pull/2842>: [core] Bump antlr4 from 4.7 to 4.7.2 - Adrien Lecharpentier <https://github.com/alecharp> * #2865 <https://github.com/pmd/pmd/pull/2865>: [java] (doc) Update ExcessiveImports example code for clarity - Gustavo Krieger <https://github.com/gustavopcassol> * #2866 <https://github.com/pmd/pmd/pull/2866>: [java] (doc) Fix example for CouplingBetweenObjects - Gustavo Krieger <https://github.com/gustavopcassol> Stats * 50 commits * 23 closed tickets & PRs * Days since last release: 27 |