Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Nov 6, 2025

Bumps pmd.metrics.version from 7.17.0-metrics to 7.18.0-metrics.
Updates edu.hm.hafner:pmd-core from 7.17.0-metrics to 7.18.0-metrics

Release notes

Sourced from edu.hm.hafner:pmd-core's releases.

PMD 7.18.0 (31-October-2025)

31-October-2025 - 7.18.0

The PMD team is pleased to announce PMD 7.18.0.

This is a minor release.

Table Of Contents

🚀️ New and noteworthy

Build Requirement is Java 17

From now on, Java 17 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.

🌟️ New and Changed Rules

New Rules

  • The new Java rule IdenticalConditionalBranches finds conditional statements that do the same thing when the condition is true and false. This is either incorrect or redundant.
  • The new Java rule LabeledStatement finds labeled statements in code. Labels make control flow difficult to understand and should be avoided. By default, the rule allows labeled loops (do, while, for). But it has a property to flag also those labeled loops.
  • The new Java rule UnusedLabel finds unused labels which are unnecessary and only make the code hard to read. This new rule will be part of the quickstart ruleset.

Changed Rules

  • ConfusingTernary has a new property nullCheckBranch to control, whether null-checks should be allowed (the default case) or should lead to a violation.
  • AvoidCatchingGenericException is now configurable with the new property typesThatShouldNotBeCaught.
    ⚠️ The rule has also been moved from category "Design" to category "Error Prone". If you are currently bulk-adding all the rules from the "Design" category into your custom ruleset, then you need to add the rule explicitly again (otherwise it won't be included anymore):

... (truncated)

Commits

Updates edu.hm.hafner:pmd-java from 7.17.0-metrics to 7.18.0-metrics

Release notes

Sourced from edu.hm.hafner:pmd-java's releases.

PMD 7.18.0 (31-October-2025)

31-October-2025 - 7.18.0

The PMD team is pleased to announce PMD 7.18.0.

This is a minor release.

Table Of Contents

🚀️ New and noteworthy

Build Requirement is Java 17

From now on, Java 17 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.

🌟️ New and Changed Rules

New Rules

  • The new Java rule IdenticalConditionalBranches finds conditional statements that do the same thing when the condition is true and false. This is either incorrect or redundant.
  • The new Java rule LabeledStatement finds labeled statements in code. Labels make control flow difficult to understand and should be avoided. By default, the rule allows labeled loops (do, while, for). But it has a property to flag also those labeled loops.
  • The new Java rule UnusedLabel finds unused labels which are unnecessary and only make the code hard to read. This new rule will be part of the quickstart ruleset.

Changed Rules

  • ConfusingTernary has a new property nullCheckBranch to control, whether null-checks should be allowed (the default case) or should lead to a violation.
  • AvoidCatchingGenericException is now configurable with the new property typesThatShouldNotBeCaught.
    ⚠️ The rule has also been moved from category "Design" to category "Error Prone". If you are currently bulk-adding all the rules from the "Design" category into your custom ruleset, then you need to add the rule explicitly again (otherwise it won't be included anymore):

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps `pmd.metrics.version` from 7.17.0-metrics to 7.18.0-metrics.

Updates `edu.hm.hafner:pmd-core` from 7.17.0-metrics to 7.18.0-metrics
- [Release notes](https://github.com/pmd/pmd/releases)
- [Changelog](https://github.com/pmd/pmd/blob/main/docs/render_release_notes.rb)
- [Commits](https://github.com/pmd/pmd/commits)

Updates `edu.hm.hafner:pmd-java` from 7.17.0-metrics to 7.18.0-metrics
- [Release notes](https://github.com/pmd/pmd/releases)
- [Changelog](https://github.com/pmd/pmd/blob/main/docs/render_release_notes.rb)
- [Commits](https://github.com/pmd/pmd/commits)

---
updated-dependencies:
- dependency-name: edu.hm.hafner:pmd-core
  dependency-version: 7.18.0-metrics
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: edu.hm.hafner:pmd-java
  dependency-version: 7.18.0-metrics
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Update of dependencies java Pull requests that update Maven Java dependencies labels Nov 6, 2025
@github-actions
Copy link

github-actions bot commented Nov 6, 2025

☀️   Quality Monitor

Tests

   JUnit   Unit Tests: 100% successful (86 passed, 2 skipped)
   ⛔   Architecture Tests: 100% successful (17 passed, 2 skipped)

Code Coverage

   〰️   Line Coverage: 91% (64 missed lines)
   ➰   Branch Coverage: 90% (21 missed branches)

Mutation Coverage

   PIT   Mutation Coverage: 80% (80 survived mutations)
   💪   Test Strength: 85% (59 survived mutations in tested code)

Style

   CheckStyle   CheckStyle: No warnings
   PMD   PMD: No warnings
   ☕   Java Compiler: No warnings

Bugs

   SpotBugs   SpotBugs: No bugs
   🐛   Error Prone: No bugs

API Problems

   🚫   Revapi: No warnings

Vulnerabilities

   🛡️   OWASP Dependency Check: No vulnerabilities

Software Metrics

   🌀   Cyclomatic Complexity: 377 (total)
   💭   Cognitive Complexity: 174 (total)
   ➿   N-Path Complexity: 341 (total)
   📏   Lines of Code: 4282 (total)
   📝   Non Commenting Source Statements: 1261 (total)
   🔗   Class Cohesion: 71.43% (maximum)
   ⚖️   Weight of Class: 100.00% (maximum)

🚦 Quality Gates

Overall Status: ✅ SUCCESS

✅ Passed Gates

  • ✅ Tests Success Rate: 100.00 >= 100.00
  • ✅ Line Coverage: 91.00 >= 80.00
  • ✅ Branch Coverage: 90.00 >= 80.00
  • ✅ Potential Bugs: 0.00 <= 0.00
  • ✅ Style Violations: 0.00 <= 0.00

Created by Quality Monitor v3.5.0 (#e4cc310). More details are shown in the GitHub Checks Result.

@uhafner uhafner merged commit 8302a99 into main Nov 6, 2025
18 checks passed
@uhafner uhafner deleted the dependabot/maven/pmd.metrics.version-7.18.0-metrics branch November 6, 2025 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Update of dependencies java Pull requests that update Maven Java dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants