Skip to content

Update dependency pmd to v7.21.0#653

Open
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/pmd-7.x
Open

Update dependency pmd to v7.21.0#653
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/pmd-7.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 30, 2025

This PR contains the following updates:

Package Change Age Confidence
pmd (source) 7.18.07.21.0 age confidence

Release Notes

pmd/pmd (pmd)

v7.21.0: PMD 7.21.0 (30-January-2026)

30-January-2026 - 7.21.0

The PMD team is pleased to announce PMD 7.21.0.

This is a minor release.

Table Of Contents
🚀️ New and noteworthy
🚀️ New: Java 26 Support

This release of PMD brings support for Java 26.

There are no new standard language features.

There is one preview language feature:

In order to analyze a project with PMD that uses these preview language features,
you'll need to select the new language version 26-preview:

pmd check --use-version java-26-preview ...

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

Build Requirement is Java 21

From now on, Java 21 or newer is required to build PMD. PMD itself still remains compatible with Java 8,
so that it still can be used in a pure Java 8 environment. This allows us to use the latest
checkstyle version during the build.

CPD
🌟️ New and Changed Rules
New Rules
  • The new Java rule PublicMemberInNonPublicType detects public members (such as methods
    or fields) within non-public types. Non-public types should not declare public members, as their effective
    visibility is limited, and using the public modifier can create confusion.
  • The new Java rule UnsupportedJdkApiUsage flags the use of unsupported and non-portable
    JDK APIs, including sun.* packages, sun.misc.Unsafe, and jdk.internal.misc.Unsafe. These APIs are unstable,
    intended for internal use, and may change or be removed. The rule complements Java compiler warnings by
    highlighting such usage during code reviews and encouraging migration to official APIs like VarHandle and
    the Foreign Function & Memory API.
Changed Rules

The following rules have been changed to use a consistent implementation of enum based
rule properties:

  • The property checkAddressTypes of rule AvoidUsingHardCodedIP has changed:
    • Instead of IPv4 use ipv4
    • Instead of IPv6 use ipv6
    • Instead of IPv4 mapped IPv6 use ipv4MappedIpv6
    • The old values still work, but you'll see a deprecation warning.
  • The property nullCheckBranch of rule ConfusingTernary has changed:
    • Instead of Any use any
    • Instead of Then use then
    • Instead of Else use else
    • The old values still work, but you'll see a deprecation warning.
  • The property typeAnnotations of rule ModifierOrder has changed:
    • Instead of ontype use onType
    • Instead of ondecl use onDecl
    • The old values still work, but you'll see a deprecation warning.
  • The values of the properties of rule CommentRequired have changed:
    • Instead of Required use required
    • Instead of Ignored use ignored
    • Instead of Unwanted use unwanted
    • The old values still work, but you'll see a deprecation warning.
Deprecated Rules
🐛️ Fixed Issues
  • core
    • #​6184: [core] Consistent implementation of enum properties
  • apex
    • #​6417: [apex] Support CPD suppression with "CPD-OFF" & "CPD-ON"
  • apex-codestyle
    • #​6349: [apex] FieldDeclarationsShouldBeAtStart: False positive with properties
  • cli
    • #​6290: [cli] Improve Designer start script
  • java
    • #​5871: [java] Support Java 26
    • #​6364: [java] Parse error with yield lambda inside switch
  • java-design
    • #​6231: [java] New Rule: PublicMemberInNonPublicType
  • java-errorprone
    • #​3601: [java] InvalidLogMessageFormat: False positive when final parameter is Supplier<Throwable>
    • #​5882: [java] UnconditionalIfStatement: False negative when true/false is not literal but local variable
    • #​5923: [java] New Rule: Catch usages of sun.misc.Unsafe or jdk.internal.misc.Unsafe
  • java-performance
    • #​3857: [java] InsufficientStringBufferDeclaration: False negatives with String constants
🚨️ API Changes
Deprecations
✨️ Merged pull requests
📦️ Dependency updates
  • #​6367: Bump PMD from 7.19.0 to 7.20.0
  • #​6369: chore(deps): bump ruby/setup-ruby from 1.275.0 to 1.277.0
  • #​6370: chore(deps): bump org.apache.groovy:groovy from 5.0.2 to 5.0.3
  • #​6371: chore(deps-dev): bump net.bytebuddy:byte-buddy from 1.18.2 to 1.18.3
  • #​6372: chore(deps): bump org.codehaus.mojo:exec-maven-plugin from 3.6.2 to 3.6.3
  • #​6375: chore: Bump maven from 3.9.11 to 3.9.12
  • #​6378: chore(deps): bump ruby/setup-ruby from 1.277.0 to 1.279.0
  • #​6379: chore(deps): bump scalameta.version from 4.14.2 to 4.14.4
  • #​6380: chore(deps): bump junit.version from 6.0.1 to 6.0.2
  • #​6381: chore(deps): bump org.jsoup:jsoup from 1.21.2 to 1.22.1
  • #​6382: chore(deps): bump org.checkerframework:checker-qual from 3.52.1 to 3.53.0
  • #​6383: chore(deps): bump com.puppycrawl.tools:checkstyle from 12.3.0 to 13.0.0
  • #​6385: chore(deps): bump uri from 1.0.3 to 1.0.4 in /docs
  • #​6399: chore(deps): bump ruby/setup-ruby from 1.279.0 to 1.282.0
  • #​6400: chore(deps): bump com.github.siom79.japicmp:japicmp-maven-plugin from 0.25.1 to 0.25.4
  • #​6401: chore(deps): bump org.sonatype.central:central-publishing-maven-plugin from 0.9.0 to 0.10.0
  • #​6403: chore(deps): bump com.google.protobuf:protobuf-java from 4.33.2 to 4.33.4
  • #​6410: chore(deps): bump ruby/setup-ruby from 1.282.0 to 1.285.0
  • #​6411: chore(deps): bump actions/cache from 5.0.1 to 5.0.2
  • #​6412: chore(deps): bump scalameta.version from 4.14.4 to 4.14.5
  • #​6413: chore(deps-dev): bump net.bytebuddy:byte-buddy from 1.18.3 to 1.18.4
  • #​6414: chore(deps-dev): bump org.codehaus.mojo:versions-maven-plugin from 2.20.1 to 2.21.0
  • #​6415: chore(deps-dev): bump net.bytebuddy:byte-buddy-agent from 1.18.3 to 1.18.4
  • #​6419: chore(deps-dev): bump lodash from 4.17.21 to 4.17.23
  • #​6421: chore(deps): bump actions/setup-java from 5.1.0 to 5.2.0
  • #​6422: chore(deps): bump actions/checkout from 6.0.1 to 6.0.2
  • #​6423: chore(deps): bump scalameta.version from 4.14.5 to 4.14.6
  • #​6424: chore(deps-dev): bump org.assertj:assertj-core from 3.27.6 to 3.27.7
  • #​6425: chore(deps): bump org.apache.groovy:groovy from 5.0.3 to 5.0.4
📈️ Stats
  • 146 commits
  • 30 closed tickets & PRs
  • Days since last release: 30

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/pmd-7.x branch 3 times, most recently from 24025ab to 5a23d83 Compare December 7, 2025 16:48
@renovate renovate bot force-pushed the renovate/pmd-7.x branch from 5a23d83 to 329252a Compare January 4, 2026 20:14
@renovate renovate bot changed the title Update dependency pmd to v7.19.0 Update dependency pmd to v7.20.0 Jan 4, 2026
@renovate renovate bot force-pushed the renovate/pmd-7.x branch from 329252a to 08935b5 Compare February 1, 2026 10:50
@renovate renovate bot changed the title Update dependency pmd to v7.20.0 Update dependency pmd to v7.21.0 Feb 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants