github pmd/pmd pmd_releases/7.16.0-SNAPSHOT
PMD 7.16.0-SNAPSHOT (22-July-2025) test

pre-releaseone month ago

25-July-2025 - 7.16.0-SNAPSHOT

The PMD team is pleased to announce PMD 7.16.0-SNAPSHOT.

This is a minor release.

Table Of Contents

  • ๐Ÿš€ New and noteworthy
    • ๐Ÿš€ New: Java 25 Support
    • New: CPD support for CSS
    • โœจ New Rules
  • ๐Ÿ› Fixed Issues
  • ๐Ÿšจ API Changes
    • Experimental APIs that are now considered stable
  • โœจ Merged pull requests
  • ๐Ÿ“ฆ Dependency updates
  • ๐Ÿ“ˆ Stats

๐Ÿš€ New and noteworthy

๐Ÿš€ New: Java 25 Support

This release of PMD brings support for Java 25.

There are the following new standard language features:

And one preview language feature:

In order to analyze a project with PMD that uses these preview language features,
you'll need to enable it via the environment variable PMD_JAVA_OPTS and select the new language
version 25-preview:

export PMD_JAVA_OPTS=--enable-preview
pmd check --use-version java-25-preview ...

Note: Support for Java 23 preview language features have been removed. The version "23-preview"
is no longer available.

New: CPD support for CSS

CPD now supports CSS (Cascading Style Sheets), a language for describing the rendering of structured
documents (such as HTML) on screen, on paper etc.
It is shipped with the new module pmd-css.

โœจ New Rules

  • Two new rules have been added to Java's Error Prone category: ReplaceJavaUtilCalendar
    and ReplaceJavaUtilDate. These rules help to migrate away from old Java APIs around
    java.util.Calendar and java.util.Date. It is recommended to use the modern java.time API instead, which
    is available since Java 8.

๐Ÿ› Fixed Issues

  • core
    • #4328: [ci] Improve Github Actions Workflows
    • #5597: [core] POM Incompatibility with Maven 4
  • java
    • #5344: [java] IllegalArgumentException: Invalid type reference for method or ctor type annotation: 16
    • #5478: [java] Support Java 25
  • java-codestyle
    • #5892: [java] ShortVariable false positive for java 22 unnamed variable _
  • java-design
    • #5858: [java] FinalFieldCouldBeStatic false positive for array initializers
  • java-errorprone
    • #2862: [java] New Rules: Avoid java.util.Date and Calendar classes

๐Ÿšจ API Changes

Experimental APIs that are now considered stable

โœจ Merged pull requests

๐Ÿ“ฆ Dependency updates

๐Ÿ“ˆ Stats

Don't miss a new pmd release

NewReleases is sending notifications on new releases.