31 October 2019
The PMD team is pleased to announce PMD 6.19.0.
This is a minor release.
This PMD release ships a new version of the pmd-designer. For the changes, see PMD Designer Changelog.
The Java rules
java-errorprone) now both support Log4j2. Note that the
rule “InvalidSlf4jMessageFormat” has been renamed to “InvalidLogMessageFormat” to reflect the fact, that it now
supports more than slf4j.
The Java rule
java-design) ignores now also Builders, that are
not assigned to a local variable, but just directly used within a method call chain. The method, that creates
the builder needs to end with “Builder”, e.g.
initBuilder() works. This change
fixes a couple of false positives.
The Java rule
java-errorprone) doesn’t check for
UR anomalies (undefined and then referenced) anymore. These checks were all false-positives, since actual
UR occurrences would lead to compile errors.
The java rule
java-multithreading) has been changed
to not report usages of
java.lang.Runnable anymore. Just using
Runnable does not automatically create
a new thread. While the check for
Runnable has been removed, the rule now additionally checks for
ExecutorService. Both create new threads, which are not managed by a J2EE
InvalidSlf4jMessageFormathas been renamed to
InvalidLogMessageFormatsince it supports now both slf4j and log4j2 message formats.
-norulesetcompatibilityshows a boolean default value
net.sourceforge.pmd.dcdand its subpackages. See
RuleSet#getExcludePatterns. Use the new method
RuleSet#getIncludePatterns. Use the new method
RuleBuilder#RuleBuilder. Use the new constructor with the correct ResourceLoader instead.
RuleFactory#RuleFactory. Use the new constructor with the correct ResourceLoader instead.