Table of Contents

25-July-2025 - 7.16.0-SNAPSHOT

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

This is a minor release.

🚀 New and noteworthy

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
    • #5597: [core] POM Incompatibility with Maven 4
  • 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

✨ Merged pull requests

  • #5733: [css] Add new CPD language - Thomas Prouvot (@tprouvot)
  • #5859: Fix #5858: [java] Fix false positive in FinalFieldCouldBeStatic for array initializers - Zbynek Konecny (@zbynek)
  • #5876: chore: license header cleanup - Andreas Dangel (@adangel)
  • #5883: Fix #2862: [java] Add rules discouraging the use of java.util.Calendar and java.util.Date - UncleOwen (@UncleOwen)
  • #5895: Fix #5597: Move dogfood profile to separate settings.xml - Andreas Dangel (@adangel)
  • #5914: Fix #5892: [java] ShortVariable FP for java 22 Unnamed Variable - Lukas Gräf (@lukasgraef)

📦 Dependency updates

📈 Stats