Download Latest Version PMD 7.16.0 (25-July-2025) source code.tar.gz (11.8 MB)
Email in envelope

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

Home / pmd_releases_7.15.0
Name Modified Size InfoDownloads / Week
Parent folder
pmd-7.15.0-cyclonedx.json 2025-06-27 314.0 kB
pmd-7.15.0-cyclonedx.xml 2025-06-27 289.8 kB
pmd-dist-7.15.0-bin.zip 2025-06-27 71.3 MB
pmd-dist-7.15.0-bin.zip.asc 2025-06-27 833 Bytes
pmd-dist-7.15.0-doc.zip 2025-06-27 9.6 MB
pmd-dist-7.15.0-doc.zip.asc 2025-06-27 833 Bytes
pmd-dist-7.15.0-src.zip 2025-06-27 14.7 MB
pmd-dist-7.15.0-src.zip.asc 2025-06-27 833 Bytes
PMD 7.15.0 (27-June-2025) source code.tar.gz 2025-06-27 11.8 MB
PMD 7.15.0 (27-June-2025) source code.zip 2025-06-27 14.8 MB
README.md 2025-06-27 8.1 kB
Totals: 11 Items   122.7 MB 0

27-June-2025 - 7.15.0

The PMD team is pleased to announce PMD 7.15.0.

This is a minor release.

Table Of Contents

🚀 New and noteworthy

✨ New Rules

  • The new Apex rule AvoidBooleanMethodParameters finds methods that take a boolean parameter. This can make method calls difficult to understand and maintain as the method is clearly doing two things.

🐛 Fixed Issues

  • apex-design
  • #5427: [apex] New Rule: Avoid Boolean Method Parameters
  • apex-security
  • #5788: [apex] ApexCRUDViolation unable to detect insecure SOQL if it is a direct input argument
  • doc
  • #5790: [doc] Website rule reference pages are returning 404
  • java-bestpractices
  • #5785: [java] UnusedPrivateField doesn't play well with UnnecessaryWarningSuppression
  • #5793: [java] NonExhaustiveSwitch fails on exhaustive switch with sealed class
  • java-codestyle
  • #1639: [java] UnnecessaryImport false positive for multiline @link Javadoc
  • #2304: [java] UnnecessaryImport false positive for on-demand imports in JavaDoc
  • #5832: [java] UnnecessaryImport false positive for multiline @see Javadoc
  • java-design
  • #5804: [java] UselessOverridingMethod doesn't play well with UnnecessarySuppressWarning

🚨 API Changes

Rule Test Schema

The rule test schema has been extended to support verifying suppressed violations. See Testing your rules for more information.

Also note, the schema rule-tests.xsd is now only in the module "pmd-test-schema". It has been removed from the old location from module "pmd-test".

💵 Financial Contributions

Many thanks to our sponsors:

✨ Merged pull requests

  • #5738: chore: Remove unused private methods in test classes - Pankraz76 (@Pankraz76)
  • #5745: [ci] New "Publish Release" workflow - Andreas Dangel (@adangel)
  • #5791: [doc] Add a simple check whether generate rule doc pages exist - Andreas Dangel (@adangel)
  • #5797: [doc] Update sponsors - Andreas Dangel (@adangel)
  • #5800: Fix [#5793]: [java] NonExhaustiveSwitch should ignore "case null" - Andreas Dangel (@adangel)
  • #5803: chore: Remove unnecessary suppress warnings - Andreas Dangel (@adangel)
  • #5805: Fix [#5804]: [java] UselessOverridingMethod needs to ignore SuppressWarnings - Andreas Dangel (@adangel)
  • #5806: [test] Verify suppressed violations in rule tests - Andreas Dangel (@adangel)
  • #5814: Fix [#5788]: [apex] ApexCRUDViolation - consider deeper nested Soql - Andreas Dangel (@adangel)
  • #5815: Fix [#5785]: [java] UnusedPrivateField should ignore SuppressWarnings - Andreas Dangel (@adangel)
  • #5818: Fix [#2304]: [java] UnnecessaryImport FP for on-demand imports in JavaDoc - Lukas Gräf (@lukasgraef)
  • #5821: [apex] New Rule: Avoid boolean method parameters - Mitch Spano (@mitchspano)
  • #5823: [doc] Fix javadoc plugin configuration - Andreas Dangel (@adangel)
  • #5833: Fix [#1639] [#5832]: Use filtered comment text for UnnecessaryImport - Andreas Dangel (@adangel)
  • #5851: chore: [java] ReplaceHashtableWithMap: Fix name of test - UncleOwen (@UncleOwen)

📦 Dependency updates

  • #5775: Bump PMD from 7.13.0 to 7.14.0
  • #5778: Bump the all-gems group across 2 directories with 3 updates
  • #5779: Bump org.codehaus.mojo:exec-maven-plugin from 3.5.0 to 3.5.1
  • #5780: Bump org.apache.maven.plugins:maven-clean-plugin from 3.4.1 to 3.5.0
  • #5781: Bump com.google.protobuf:protobuf-java from 4.31.0 to 4.31.1
  • #5782: Bump org.apache.groovy:groovy from 4.0.26 to 4.0.27
  • #5783: Bump com.puppycrawl.tools:checkstyle from 10.24.0 to 10.25.0
  • #5784: Bump org.junit:junit-bom from 5.12.2 to 5.13.0
  • #5807: Bump maven from 3.9.8 to 3.9.10
  • #5809: Bump org.codehaus.mojo:build-helper-maven-plugin from 3.6.0 to 3.6.1
  • #5810: Bump org.junit:junit-bom from 5.13.0 to 5.13.1
  • #5811: Bump junit5.platform.version from 1.13.0 to 1.13.1
  • #5812: Bump org.checkerframework:checker-qual from 3.49.3 to 3.49.4
  • #5813: Bump the all-gems group across 2 directories with 1 update
  • #5828: Bump scalameta.version from 4.13.6 to 4.13.7
  • #5829: Bump liquid from 5.8.6 to 5.8.7 in /.ci/files in the all-gems group across 1 directory
  • #5838: Bump marocchino/sticky-pull-request-comment from 2.9.2 to 2.9.3 in the all-actions group
  • #5839: Bump log4j.version from 2.24.3 to 2.25.0
  • #5840: Bump com.puppycrawl.tools:checkstyle from 10.25.0 to 10.25.1
  • #5841: Bump net.bytebuddy:byte-buddy-agent from 1.17.5 to 1.17.6
  • #5842: Bump net.bytebuddy:byte-buddy from 1.17.5 to 1.17.6
  • #5843: Bump org.sonatype.central:central-publishing-maven-plugin from 0.7.0 to 0.8.0
  • #5844: Bump ostruct from 0.6.1 to 0.6.2 in /.ci/files in the all-gems group across 1 directory
  • #5853: Bump build-tools from 30 to 32

📈 Stats

  • 91 commits
  • 24 closed tickets & PRs
  • Days since last release: 27
Source: README.md, updated 2025-06-27