2.4 KiB
2.4 KiB
title | permalink | keywords |
---|---|---|
PMD Release Notes | pmd_release_notes.html | changelog, release notes |
{{ site.pmd.date | date: "%d-%B-%Y" }} - {{ 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
🐛 Fixed Issues
- apex-performance
- #5139: [apex] OperationWithHighCostInLoop: false negative for triggers
- java
- #5167: [java] java.lang.IllegalArgumentException: <?> cannot be a wildcard bound
- java-bestpractices
- #3602: [java] GuardLogStatement: False positive when compile-time constant is created from external constants
- #4731: [java] GuardLogStatement: Documentation is unclear why getters are flagged
- #5145: [java] UnusedPrivateMethod: False positive with method calls inside lambda
- #5151: [java] GuardLogStatement: Should not need to guard parameterized log messages where the replacement arg is a constant from another class
- #5152: [java] GuardLogStatement: Should not need to guard parameterized log messages where the replacement arg is "this"
- #5153: [java] GuardLogStatement: Should not need to guard parameterized log messages where the replacement arg is an array element
- plsql-bestpractices
- #5132: [plsql] TomKytesDespair: XPathException for more complex exception handler
🚨 API Changes
- pmd-jsp
- {%jdoc jsp::lang.jsp.ast.JspParserImpl %} is deprecated now. It should have been package-private because this is an implementation class that should not be used directly.
- pmd-velocity
- {%jdoc velocity::lang.velocity.ast.VtlParserImpl %} is deprecated now. It should have been package-private because this is an implementation class that should not be used directly.
- pmd-visualforce
- {%jdoc visualforce::lang.visualforce.ast.VfParserImpl %} is deprecated now. It should have been package-private because this is an implementation class that should not be used directly.
✨ External Contributions
{% endtocmaker %}