-
-
Notifications
You must be signed in to change notification settings - Fork 284
chore(deps): update dependency pmd/pmd to v7.19.0 #6694
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
✅
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

This PR contains the following updates:
7.18.0->7.19.0Release Notes
pmd/pmd (pmd/pmd)
v7.19.0: PMD 7.19.0 (28-November-2025)Compare Source
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, see PMD Designer Changelog (7.19.0)
and PMD Designer Changelog (7.19.1).
🌟️ New and Changed Rules
New Rules
AvoidFutureAnnotationfinds usages of the@Futureannotation. It is a legacy way to execute asynchronous Apex code. New code should implement
the
Queueableinterface instead.EnumComparisonfinds usages ofequals()onenum constants or values. Enums should be compared directly with
==instead ofequals()whichhas some advantages (e.g. static type checking at compile time).
NcssCountreplaces 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.
NcssCountreplaces 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
ExcessiveClassLengthhas been deprecated. UseNcssCounttofind big classes or create a custom XPath based rule using
//ApexFile[UserClass][@​EndLine - @​BeginLine > 1000].NcssConstructorCount,NcssMethodCount, andNcssTypeCounthave been deprecated in favor or the new ruleNcssCount.ExcessiveMethodLengthhas been deprecated. UseNcssCountinstead or create a custom XPath based rule using
//(MethodDeclaration|ProgramUnit|TriggerTimingPointSection|TriggerUnit|TypeMethod)[@​EndLine - @​BeginLine > 100].ExcessiveObjectLengthhas been deprecated. UseNcssCountinstead or create a custom XPath based rule using
//(PackageBody|PackageSpecification|ProgramUnit|TriggerUnit|TypeSpecification)[@​EndLine - @​BeginLine > 1000].ExcessivePackageBodyLengthhas been deprecated. UseNcssCountinstead or create a custom XPath based rule using
//PackageBody[@​EndLine - @​BeginLine > 1000].ExcessivePackageSpecificationLengthhas been deprecated. UseNcssCountinstead or create a custom XPath based rule using
//PackageSpecification[@​EndLine - @​BeginLine > 1000].ExcessiveTypeLengthhas been deprecated. UseNcssCountinstead or create a custom XPath based rule using
//TypeSpecification[@​EndLine - @​BeginLine > 1000].NcssMethodCountandNcssObjectCounthave beendeprecated in favor of the new rule
NcssCount.🐛️ Fixed Issues
🚨️ API Changes
Deprecations
net.sourceforge.pmd.lang.symboltable: All classes in this package are deprecated.The symbol table and type resolution implementation for Java has been rewritten from scratch
for PMD 7.0.0. This package is the remains of the old symbol table API, that is only used by
PL/SQL. For PMD 8.0.0 all these classes will be removed from pmd-core.
ExcessiveClassLengthRuleNcssConstructorCountRuleNcssMethodCountRuleNcssTypeCountRuleASTStatement: This AST node is not used and doesn't appear in the tree.ApexVisitor#visit(ASTStatement, P)ExcessiveMethodLengthRuleExcessiveObjectLengthRuleExcessivePackageBodyLengthRuleExcessivePackageSpecificationLengthRuleExcessiveTypeLengthRuleNcssMethodCountRuleNcssObjectCountRule✨️ Merged pull requests
📦️ Dependency updates
📈️ Stats
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 becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.