Download Latest Version PMD 7.0.0-rc3 (30-May-2023).zip (18.8 MB)
Email in envelope

Get an email when there's a new version of pmd

Home / pmd_releases_6.28.0
Name Modified Size InfoDownloads / Week
Parent folder
pmd-src-6.28.0.zip 2020-09-26 14.3 MB
pmd-bin-6.28.0.zip 2020-09-26 44.1 MB
pmd-doc-6.28.0.zip 2020-09-26 4.6 MB
PMD 6.28.0 (26-September-2020).tar.gz 2020-09-26 11.8 MB
PMD 6.28.0 (26-September-2020).zip 2020-09-26 14.4 MB
README.md 2020-09-26 7.4 kB
Totals: 6 Items   89.3 MB 0

26-September-2020 - 6.28.0

The PMD team is pleased to announce PMD 6.28.0.

This is a minor release.

Table Of Contents

New and noteworthy

CPD's AnyTokenizer has been improved

The AnyTokenizer is used for languages, that don't have an own lexer/grammar based tokenizer. AnyTokenizer now handles string literals and end-of-line comments. Fortran, Perl and Ruby have been updated to use AnyTokenizer instead of their old custom tokenizer based on AbstractTokenizer. See #2758 for details.

AbstractTokenizer and the custom tokenizers of Fortran, Perl and Ruby are deprecated now.

Fixed Issues

  • cpd

    • #2758: [cpd] Improve AnyTokenizer
    • #2760: [cpd] AnyTokenizer doesn't count columns correctly
  • apex-security

    • #2774: [apex] ApexSharingViolations does not correlate sharing settings with class that contains data access
  • java

    • #2738: [java] Custom rule with @ExhaustiveEnumSwitch throws NPE
    • #2755: [java] [6.27.0] Exception applying rule CloseResource on file ... java.lang.NullPointerException
    • #2756: [java] TypeTestUtil fails with NPE for anonymous class
    • #2767: [java] IndexOutOfBoundsException when parsing an initializer BlockStatement
    • #2783: [java] Error while parsing with lambda of custom interface
  • java-bestpractices
    • #2759: [java] False positive in UnusedAssignment
  • java-design
    • #2708: [java] False positive FinalFieldCouldBeStatic when using lombok Builder.Default

API Changes

Deprecated API

For removal

External Contributions

  • #2735: [ci] Add github actions for a fast view of pr succeed/not - XenoAmess
  • #2747: [java] Don't trigger FinalFieldCouldBeStatic when field is annotated with lombok @Builder.Default - Ollie Abbey
  • #2773: [java] issue-2738: Adding null check to avoid npe when switch case is default - Nimit Patel
  • #2789: Add badge for reproducible build - Dan Rollo
  • #2791: [apex] Analyze inner classes for sharing violations - Jeff Bartolotta

Stats

  • 58 commits
  • 24 closed tickets & PRs
  • Days since last release: 25
Source: README.md, updated 2020-09-26