3.7 KiB
3.7 KiB
title | permalink | keywords |
---|---|---|
PMD Release Notes | pmd_release_notes.html | changelog, release notes |
{{ site.pmd.date }} - {{ site.pmd.version }}
The PMD team is pleased to announce PMD {{ site.pmd.version }}.
This is a {{ site.pmd.release_type }} release.
{% tocmaker is_release_notes_processor %}
New and noteworthy
New Rules
- The new Apex rule {% rule "apex/performance/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 {% rule "java/errorprone/DoNotCallSystemExit" %} has been renamed to
{% rule "java/errorprone/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 {% rule "apex/performance/AvoidDmlStatementsInLoops" %},
{% rule "apex/performance/AvoidSoqlInLoops" %} and {% rule "apex/performance/AvoidSoslInLoops" %}
(
apex-performance
) are deprecated in favour of the new rule {% rule "apex/performance/OperationWithLimitsInLoop" %}. The deprecated rules will be removed with PMD 7.0.0.
Fixed Issues
- apex-performance
- #1713: [apex] Mark Database DML statements in For Loop
- core
- #2831: [core] Fix XMLRenderer newlines when running under IBM Java
- java-errorprone
- miscellaneous
- #2823: [doc] Renamed/Moved rules are missing in documentation
- vf (Salesforce VisualForce)
- #2765: [vf] Attributes with dot cause a VfParseException
API Changes
External Contributions
- #2803: [java] Improve DoNotCallSystemExit (Fixes #2157) - Vitaly Polonetsky
- #2809: [java] Move test config from file to test class - Stefan Birkner
- #2810: [core] Move method "renderTempFile" to XMLRendererTest - Stefan Birkner
- #2811: [java] CloseResource - Fix #2764: False-negative when re-assigning variable - Andi Pabst
- #2813: [core] Use JUnit's TemporaryFolder rule - Stefan Birkner
- #2816: [apex] Detect 'Database' method invocations inside loops - Jeff Bartolotta
- #2829: [doc] Small correction in pmd_report_formats.md - Gustavo Krieger
- #2834: [vf] Allow attributes with dot in Visualforce - rmohan20
- #2842: [core] Bump antlr4 from 4.7 to 4.7.2 - Adrien Lecharpentier
{% endtocmaker %}