Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/pmdPublic

PMD 7.19.0 (28-November-2025)

Latest

Choose a tag to compare

@pmd-actions-helperpmd-actions-helper released this 28 Nov 11:36
· 25 commits to main since this release
pmd_releases/7.19.0
This tag was signed with the committer’sverified signature.
adangel Andreas Dangel
GPG key ID:93450DF2DF9A3FA3
Verified
Learn about vigilant mode.
2373452
This commit was signed with the committer’sverified signature.
adangel Andreas Dangel
GPG key ID:93450DF2DF9A3FA3
Verified
Learn about vigilant mode.

28-November-2025 - 7.19.0

The PMD team is pleased to announce PMD 7.19.0.

This is a minor release.

Table Of Contents

🚀️ New and noteworthy

Updated PMD Designer

This PMD release ships a new version of the pmd-designer.
For the changes, seePMD Designer Changelog (7.19.0)
andPMD Designer Changelog (7.19.1).

🌟️ New and Changed Rules

New Rules

  • The new Apex ruleAvoidFutureAnnotation finds usages of the@Future
    annotation. It is a legacy way to execute asynchronous Apex code. New code should implement
    theQueueable interface instead.
  • The new Java ruleEnumComparison finds usages ofequals() on
    enum constants or values. Enums should be compared directly with== instead ofequals() which
    has some advantages (e.g. static type checking at compile time).
  • The new Apex ruleNcssCount replaces the four rules "ExcessiveClassLength",
    "NcssConstructorCount", "NcssMethodCount", and "NcssTypeCount". The new rule uses the metrics framework
    to achieve the same. It has two properties, to define the report level for method and class sizes separately.
    Constructors and methods are considered the same.
    The rule has been added to the quickstart ruleset.
    Note: The new metric is implemented more correct than in the old rules. E.g. it considers now also
    switch statements and correctly counts if-statements only once and ignores method calls that are
    part of an expression and not a statement on their own. This leads to different numbers. Keep in mind,
    that NCSS counts statements and not lines of code. Statements that are split on multiple lines are
    still counted as one.
  • The new PL/SQL ruleNcssCount replaces the rules "ExcessiveMethodLength",
    "ExcessiveObjectLength", "ExcessivePackageBodyLength", "ExcessivePackageSpecificationLength",
    "ExcessiveTypeLength", "NcssMethodCount" and "NcssObjectCount". The new rule uses the metrics framework
    to achieve the same. It has two properties, to define the report level for method and object sizes separately.
    Note: the new metric is implemented more correct than in the old rules, so that the actual numbers of
    the NCSS metric from the old rules might be different from the new rule "NcssCount". Statements that are
    split on multiple lines are still counted as one.

Deprecated Rules

🐛️ Fixed Issues

  • core
    • #4767: [core] Deprecate old symboltable API
  • apex-bestpractices
    • #6203: [apex] New Rule: Avoid Future Annotation
  • apex-design
    • #2128: [apex] Merge NCSS count rules for Apex
  • java
    • #5689: [java] Members of record should be in scope in record header
    • #6256: [java] java.lang.IllegalArgumentException: Invalid target type of type annotation for method or ctor type annotation: 19
  • java-bestpractices
    • #5820: [java] GuardLogStatement recognizes that a string is a compile-time constant expression only if at first position
    • #6188: [java] UnitTestShouldIncludeAssert false positive when TestNG @Test.expectedException present
    • #6193: [java] New Rule: Always compare enum values with ==
  • java-codestyle
    • #6053: [java] ModifierOrder false-positives with type annotations and type parameters (typeAnnotations = anywhere)
  • java-errorprone
    • #4742: [java] EmptyFinalizer should not trigger if finalize method is final and class is not
    • #6072: [java] OverrideBothEqualsAndHashCodeOnComparable should not be required for record classes
    • #6092: [java] AssignmentInOperand false positive in 7.17.0 for case blocks in switch statements
    • #6096: [java] OverrideBothEqualsAndHashCodeOnComparable on class with lombok.EqualsAndHashCode annotation
    • #6199: [java] AssignmentInOperand: description of property allowIncrementDecrement is unclear
    • #6273: [java] TestClassWithoutTestCases documentation does not mention test prefixes
  • java-performance
    • #4577: [java] UseArraysAsList with condition in loop
    • #5071: [java] UseArraysAsList should not warn when elements are skipped in array
  • plsql-design
    • #4326: [plsql] Merge NCSS count rules for PL/SQL
  • maintenance
    • #5701: [core] net.sourceforge.pmd.cpd.SourceManager has public methods

🚨️ API Changes

Deprecations

✨️ Merged pull requests

📦️ Dependency updates

  • #6197: Bump PMD from 7.17.0 to 7.18.0
  • #6205: chore(deps): bump junit.version from 6.0.0 to 6.0.1
  • #6206: chore(deps): bump org.checkerframework:checker-qual from 3.51.1 to 3.52.0
  • #6207: chore(deps-dev): bump net.bytebuddy:byte-buddy-agent from 1.17.7 to 1.17.8
  • #6208: chore(deps): bump com.google.protobuf:protobuf-java from 4.32.1 to 4.33.0
  • #6209: chore(deps): bump com.puppycrawl.tools:checkstyle from 12.0.1 to 12.1.1
  • #6210: chore(deps): bump org.jacoco:jacoco-maven-plugin from 0.8.13 to 0.8.14
  • #6219: chore(deps-dev): bump net.bytebuddy:byte-buddy-agent from 1.17.8 to 1.18.0
  • #6220: chore(deps): bump org.apache.maven.plugins:maven-release-plugin from 3.1.1 to 3.2.0
  • #6221: chore(deps-dev): bump net.bytebuddy:byte-buddy from 1.17.8 to 1.18.0
  • #6222: chore(deps): bump com.puppycrawl.tools:checkstyle from 12.1.1 to 12.1.2
  • #6223: chore(deps): bump org.sonarsource.scanner.maven:sonar-maven-plugin from 5.2.0.4988 to 5.3.0.6276
  • #6240: chore(deps): bump ruby/setup-ruby from 1.267.0 to 1.268.0
  • #6241: chore(deps): bump actions/checkout from 5.0.0 to 5.0.1
  • #6242: chore(deps-dev): bump net.bytebuddy:byte-buddy-agent from 1.18.0 to 1.18.1
  • #6243: chore(deps): bump org.scala-lang:scala-library from 2.13.17 to 2.13.18
  • #6244: chore(deps-dev): bump net.bytebuddy:byte-buddy from 1.18.0 to 1.18.1
  • #6245: chore(deps): bump org.apache.maven.plugins:maven-jar-plugin from 3.4.2 to 3.5.0
  • #6246: chore(deps): bump org.scala-lang:scala-reflect from 2.13.17 to 2.13.18
  • #6247: chore(deps): bump com.google.protobuf:protobuf-java from 4.33.0 to 4.33.1
  • #6263: chore(deps): bump actions/checkout from 5.0.1 to 6.0.0
  • #6264: chore(deps): bump org.apache.commons:commons-lang3 from 3.19.0 to 3.20.0
  • #6265: chore(deps): bump actions/create-github-app-token from 2.1.4 to 2.2.0
  • #6266: chore(deps): bump scalameta.version from 4.14.1 to 4.14.2
  • #6267: chore(deps): bump org.codehaus.mojo:versions-maven-plugin from 2.19.1 to 2.20.1
  • #6281: Bump build-tools from 35 to 36
  • #6283: Bump PMD Designer from 7.10.0 to 7.19.1

📈️ Stats

  • 122 commits
  • 44 closed tickets & PRs
  • Days since last release: 28

Contributors

  • @judepereira
  • @zbynek
  • @adangel
  • @mrclmh
  • @UncleOwen
  • @mitchspano
  • @oowekyala
  • @lukasgraef
judepereira, zbynek, and 6 other contributors
Assets10
Loading

[8]ページ先頭

©2009-2025 Movatter.jp