PMD 6.17.0 released PMD Source Code Analyzer Home Documentation Bugs About News Downloads Support Plugins PMD 6.17.0 released 28 July 2019 28-July-2019 - 6.17.0 The PMD team is pleased to announce PMD 6.17.0. This is a minor release. Table Of Contents New and noteworthy Updated PMD Designer Lua support Modified Rules Fixed Issues External Contributions New and noteworthy Updated PMD Designer This PMD release ships a new version of the pmd-designer. For the changes, see PMD Designer Changelog. It contains a new feature to edit test cases directly within the designer. Any feedback is highly appreciated. Lua support Thanks to the contribution from Maikel Steneker, and built on top of the ongoing efforts to fully support Antlr-based languages, PMD now has CPD support for Lua. Being based on a proper Antlr grammar, CPD can: ignore comments honor comment-based suppressions Modified Rules The Java rule CloseResource (java-errorprone) ignores now by default java.io.ByteArrayInputStream and java.io.CharArrayWriter. Such streams/writers do not need to be closed. The Java rule MissingStaticMethodInNonInstantiatableClass (java-errorprone) has now the new property annotations. When one of the private constructors is annotated with one of the annotations, then the class is not considered non-instantiatable anymore and no violation will be reported. By default, Spring’s @Autowired and Java EE’s @Inject annotations are recognized. Fixed Issues core #1913: [core] “-help” CLI option ends with status code != 0 doc #1896: [doc] Error in changelog 6.16.0 due to not properly closed rule tag #1898: [doc] Incorrect code example for DoubleBraceInitialization in documentation on website #1906: [doc] Broken link for adding own CPD languages #1909: [doc] Sample usage example refers to deprecated ruleset “basic.xml” instead of “quickstart.xml” java #1910: [java] ATFD calculation problem java-errorprone #1749: [java] DD False Positive in DataflowAnomalyAnalysis #1832: [java] False positives for MissingStaticMethodInNonInstantiatableClass when DI is used #1921: [java] CloseResource false positive with ByteArrayInputStream java-multithreading #1903: [java] UnsynchronizedStaticFormatter doesn’t allow block-level synchronization when using allowMethodLevelSynchronization=true plsql #1902: [pslql] ParseException when parsing (+) xml #1666: [xml] wrong cdata rule description and examples External Contributions #1869: [xml] fix #1666 wrong cdata rule description and examples - Artem #1892: [lua] [cpd] Added CPD support for Lua - Maikel Steneker #1905: [java] DataflowAnomalyAnalysis Rule in right order - YoonhoChoi96 #1908: [doc] Update ruleset filename from deprecated basic.xml to quickstart.xml - crunsk #1916: [java] Exclude Autowired and Inject for MissingStaticMethodInNonInstantiatableClass - AnthonyKot #1917: [core] Add ‘no error’ return option, and assign it to the cli when the help command is invoked - Renato Oliveira Home ⋅ Documentation ⋅ Bugs ⋅ About ⋅ News ⋅ Support ⋅ Downloads ⋅ Plugins Copyright © 2025 PMD. All Rights Reserved. Credits: Landing Page Theme, based on free to use, open source Bootstrap theme created by Start Bootstrap.