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
andjava.io.CharArrayWriter
. Such streams/writers do not need to be closed. -
The Java rule
MissingStaticMethodInNonInstantiatableClass
(java-errorprone
) has now
the new propertyannotations
.
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
- 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