pmd/docs/pages/release_notes.md
2018-12-22 23:38:31 +01:00

3.3 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 Java rule {% rule "java/bestpractices/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 {% rule "java/bestpractices/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.

Modified Rules

  • The Java rule {% rule "java/codestyle/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.

Fixed Issues

  • apex
    • #1542: [apex] Include the documentation category
  • java-bestpractices
    • #658: [java] OneDeclarationPerLine: False positive for loops
    • #1518: [java] New rule: AvoidReassigningLoopVariable
    • #1519: [java] New rule: ForLoopVariableCount
  • java-codestyle
    • #1513: [java] LocalVariableCouldBeFinal: allow excluding the variable in a for-each loop
  • java-errorprone
    • #1035: [java] ReturnFromFinallyBlock: False positive on lambda expression in finally block
  • plsql
    • #1508: [plsql] Parse Exception when using SELECT COUNT(*)
    • #1509: [plsql] Parse Exception with OUTER/INNER Joins
    • #1511: [plsql] Parse Exception with IS NOT NULL

API Changes

External Contributions

{% endtocmaker %}