27 January 2019
The PMD team is pleased to announce PMD 6.11.0.
This is a minor release.
//BooleanExpression[@Operator='&&']
.SELECT * FROM TABLE(expr)
).The new Java rule UnsynchronizedStaticFormatter
(java-multithreading
) detects
unsynchronized usages of static java.text.Format
instances. This rule is a more generic replacement of the
rule UnsynchronizedStaticDateFormatter
which focused just on DateFormat
.
The new Java rule ForLoopVariableCount
(java-bestpractices
) checks for
the number of control variables in a for-loop. Having a lot of control variables makes it harder to understand
what the loop does. The maximum allowed number of variables is by default 1 and can be configured by a
property.
The new Java rule AvoidReassigningLoopVariables
(java-bestpractices
) searches
for loop variables that are reassigned. Changing the loop variables additionally to the loop itself can lead to
hard-to-find bugs.
The new Java rule UseDiamondOperator
(java-codestyle
) looks for constructor
calls with explicit type parameters. Since Java 1.7, these type parameters are not necessary anymore, as they
can be inferred now.
LocalVariableCouldBeFinal
(java-codestyle
) has a new
property ignoreForEachDecl
, which is by default disabled. The new property allows for ignoring
non-final loop variables in a for-each statement.UnsynchronizedStaticDateFormatter
has been deprecated and
will be removed with PMD 7.0.0. The rule is replaced by the more general
UnsynchronizedStaticFormatter
.#1507: [plsql] Parse Exception when using ‘ | ’ operator in where clause |
StatisticalRule
and the related helper classes and base rule classes
are deprecated for removal in 7.0.0. This includes all of net.sourceforge.pmd.stat
and net.sourceforge.pmd.lang.rule.stat
,
and also AbstractStatisticalJavaRule
, AbstractStatisticalApexRule
and the like.
The methods Report#addMetric
and metricAdded
will also be removed.setProperty
is deprecated,
because MultiValuePropertyDescriptor
is deprecated as well