Table of Contents
28-December-2025 - 7.20.0-SNAPSHOT
The PMD team is pleased to announce PMD 7.20.0-SNAPSHOT.
This is a minor release.
🚀️ New and noteworthy
🌟️ Changed Rules
- The Java rule
OnlyOneReturnhas a new propertyignoredMethodNames. This property by default is set tocompareToandequals, thus this rule now by default allows multiple return statements for these methods. To restore the old behavior, simply set this property to an empty value.
🐛️ Fixed Issues
- core
- #6330: [core] “Unable to create ValueRepresentation” when using @LiteralText (XPath)
- java
- java-bestpractices
- #4282: [java] GuardLogStatement: False positive when guard is not a direct parent
- #6028: [java] UnusedPrivateMethod: False positive with raw type for generic method
- #6257: [java] UnusedLocalVariable: False positive with instanceof pattern guard
- #6291: [java] EnumComparison: False positive for any object when object.equals(null)
- #6328: [java] UnusedLocalVariable: False positive for pattern variable in for-each without braces
- java-codestyle
- #4257: [java] OnlyOneReturn: False positive with equals method
- #5043: [java] LambdaCanBeMethodReference: False positive on overloaded methods
- #6237: [java] UnnecessaryCast: ContextedRuntimeException when parsing switch expression with lambdas
- #6279: [java] EmptyMethodInAbstractClassShouldBeAbstract: False positive for final empty methods
- #6284: [java] UnnecessaryConstructor: False positive for JavaDoc-bearing constructor
- java-errorprone
- java-performance
- maintenance
- #6230: [core] Single module snapshot build fails