Menu โ–พ โ–ด

PMD 7.16.0 (25-July-2025) released

25-July-2025 - 7.16.0

The PMD team is pleased to announce PMD 7.16.0.

This is a minor release.

Table Of Contents

๐Ÿš€ New and noteworthy

๐Ÿš€ New: Java 25 Support

This release of PMD brings support for Java 25.

There are the following new standard language features:
* JEP 511: Module Import Declarations
* JEP 512: Compact Source Files and Instance Main Methods
* JEP 513: Flexible Constructor Bodies

And one preview language feature:
* JEP 507: Primitive Types in Patterns, instanceof, and switch (Third Preview)

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

  • #5857: Bump PMD from 7.14.0 to 7.15.0
  • #5861: Bump scalameta.version from 4.13.7 to 4.13.8
  • #5862: Bump com.puppycrawl.tools:checkstyle from 10.25.1 to 10.26.1
  • #5863: Bump org.apache.maven.plugins:maven-pmd-plugin from 3.26.0 to 3.27.0
  • #5864: Bump kotlin.version from 1.9.24 to 2.2.0
  • #5865: Bump org.junit:junit-bom from 5.13.1 to 5.13.2
  • #5866: Bump org.jsoup:jsoup from 1.20.1 to 1.21.1
  • #5884: Bump org.junit:junit-bom from 5.13.2 to 5.13.3
  • #5885: Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.7 to 3.2.8
  • #5886: Bump org.checkerframework:checker-qual from 3.49.4 to 3.49.5
  • #5889: Bump org.apache.maven.plugins:maven-enforcer-plugin from 3.5.0 to 3.6.0
  • #5900: Bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0
  • #5901: Bump io.github.apex-dev-tools:apex-parser from 4.4.0 to 4.4.1
  • #5902: Bump log4j.version from 2.25.0 to 2.25.1
  • #5910: Bump maven from 3.9.10 to 3.9.11
  • #5921: Bump build-tools from 32 to 33
  • #5926: chore(deps): bump org.apache.maven.plugins:maven-enforcer-plugin from 3.6.0 to 3.6.1
  • #5927: chore(deps): bump ostruct from 0.6.2 to 0.6.3 in /.ci/files in the all-gems group across 1 directory
  • #5928: chore(deps): bump marocchino/sticky-pull-request-comment from 2.9.3 to 2.9.4 in the all-actions group
  • #5929: chore(deps): Update gems

๐Ÿ“ˆ Stats

  • 100 commits
  • 21 closed tickets & PRs
  • Days since last release: 27
Posted by Andreas Dangel 2025-07-25 Labels: pmd release

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.