PMD is a code analyzer that can help find common programming problems such as unused variables, empty catch blocks, unnecessary object creation, and more. Initially supporting only Java code, it now supports JavaScript, Salesforce.com Apex and Visualforce, PLSQL, Apache Velocity, XML and XSL.
PMD 6.44.0 is officially released. The update content is as follows:
Java 18 support
This release of PMD brings support for Java 18. There are no new standard language features. Note: Support for Java 16 preview language features has been removed.
Better XML XPath support
The new rule class DomXPathRule
is intended to replace XPathRule
the use of XML rules. This rule executes XPath queries in a different way, which means that expressions are interpreted in PMD the same way they are in all other XPath development tools.
This rule is XPathRule
more because it now handles XML namespaces, comments, and processing directives.
New XPath function
The new XPath functions pmd:startLine
, pmd:endLine
, pmd:startColumn
and pmd:endColumn
are now available in XPath rules in all languages. They replace node attributes @BeginLine
, @EndLine
etc. These properties will be deprecated in a future release.
New programmatic API
This release introduces a new programmatic API to replace inflexible PMD
classes . Programmatic execution of PMD should now be done with PMDConfiguration
and PmdAnalysis
. PMD
The class still supports methods related to CLI execution: runPmd
and main
.
……
For more details, please check: https://github.com/pmd/pmd/releases/tag/pmd_releases%2F6.44.0