Edit me

????? - 6.6.0-SNAPSHOT

The PMD team is pleased to announce PMD 6.6.0.

This is a minor release.

Table Of Contents

New and noteworthy

New Rules

  • The new Java rule LocalVariableNamingConventions (java-codestlye) detects local variable names that don’t comply to a given convention. It defaults to standrd Java convention of using camelCase, but can be configured. Special cases can be configured for final variables and catched exceptions’ names.

  • The new Java rule FormalParameterNamingConventions (java-codestlye) detects formal parameter names that don’t comply to a given convention. It defaults to standrd Java convention of using camelCase, but can be configured. Special cases can be configured for final parameters and lambda parameters (considering wether they are explicitly typed or not)

Fixed Issues

  • doc
    • #1215: [doc] TOC links don’t work?
  • java-codestyle
    • #1211: [java] CommentDefaultAccessModifier false positive with nested interfaces (regression from 6.4.0)
    • #1216: [java] UnnecessaryFullyQualifiedName false positive for the same name method
  • java-design
    • #1217: [java] CyclomaticComplexityRule counts ?-operator twice
  • plsql
    • #980: [plsql] ParseException for CREATE TABLE
    • #981: [plsql] ParseException when parsing VIEW
    • #1047: [plsql] ParseException when parsing EXECUTE IMMEDIATE
  • ui
    • #1233: [ui] XPath autocomplete arrows on first and last items

API Changes

  • The findDescendantsOfType methods in net.sourceforge.pmd.lang.ast.AbstractNode no longer search for exact type matches, but will match subclasses too. That means, it’s now possible to look for abstract node types such as AbstractJavaTypeNode and not only for it’s concrete subtypes.

External Contributions