Skip to content

build(deps-dev): Bump complexipy from 6.2.0 to 7.0.0 - #98

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/complexipy-7.0.0
Open

build(deps-dev): Bump complexipy from 6.2.0 to 7.0.0#98
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/complexipy-7.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 18, 2026

Copy link
Copy Markdown
Contributor

Bumps complexipy from 6.2.0 to 7.0.0.

Release notes

Sourced from complexipy's releases.

7.0.0

Major release: the refactoring suggestions are now a clippy-style lint system with measured reductions, diff comparison gains a --staged mode and a [tool.complexipy.diff] TOML section, and the deprecated output flags and TOML keys are removed. Check the migration guide before upgrading.

Features

  • --suggest-refactors is now a clippy-style lint system: stable rule IDs (C001–C005, C007, C011), category and applicability metadata, path:line:col anchors with caret spans, verbatim suggestion rendering, and a documentation link per rule. (#209)
  • Refactor-plan findings are included in JSON, SARIF, and GitLab exports when --suggest-refactors is passed; the SARIF rule catalog is built dynamically from the plans encountered. (#209)
  • compute_diff, has_regressions, DiffEntry, and DiffStatus are now part of the public Python API, so CI tools can consume diff results as objects instead of parsing terminal output. (#210)
  • collect_removable_ignored_locations() and RemovableIgnore are exported from the Python API. Every run now reports ignore comments that are no longer necessary (path:line function=X complexity=N <comment>) when the suppressed function is back under the allowed limit. (#213)
  • --staged flag for git-index comparison — answers "what complexity am I about to commit?" instead of only what changed in the working tree; --staged alone defaults the baseline to HEAD and enforces, while --diff <ref> --staged enforces against the ref. (#218)
  • [tool.complexipy.diff] TOML section so the comparison policy lives in the repository config: branch = "main" makes a plain complexipy . run behave like --diff main (enforcement included), staged = true enables staged comparison by default, and branch = "" opts out. CLI flags take precedence over the section. (#219)
  • Refactor reductions are now measured instead of estimated: for every machine-applicable suggestion (C002, C007) the replacement is spliced into the source, re-parsed, and re-scored, so estimated_reduction and estimated_complexity_after report the literal delta of applying the suggestion — and ranking, overlap resolution, and the noise filter all operate on measured values. The new reduction_is_measured flag separates measured plans from help-only formula estimates, which the CLI renders with a ~ qualifier (Estimated reduction: ~-2) while measured plans render plain (Reduction: -2). Guard suggestions are now faithful splices for loops with statements before or after the if-chain and for multi-line loop headers; measurement failures fall back to the formula estimate — never a panic, never a fabricated number. (#225)

Fixed

  • Snapshot updates now merge with the existing snapshot instead of replacing it: only the files analyzed in a run are touched, so partial runs (e.g. pre-commit hooks analyzing only staged files) no longer erase the baseline for unanalyzed files. (#215)
  • The docs footer now renders its links as styled links instead of raw markdown text, on both the English and Spanish landing pages. (#216)

Changed

  • Refactor-plan reduction estimates are now honest: the reduction math was rewritten and validated against measured before/after complexity, C004 no longer suggests splitting match statements, C006 was deleted because its gate could never fire, and C011 now fires on trywithtry chains. Overlapping plans are deduped against every overlap and capped at 5, reporting dropped ones as "... and N more suggestions". (#209)
  • Condition extraction in the refactor rules now tracks bracket depth, string literals, and walrus := instead of a naive rfind(':'). (#209)
  • file_complexity() now returns cwd-relative paths (matching git diff --name-only), and nested invocations resolve git paths via a git ls-files basename lookup — without this, diffing per-file results silently marked every function as NEW. (#210)
  • Community standards files were added: CODE_OF_CONDUCT.md, CONTRIBUTING.md, SECURITY.md, issue templates, and a pull request template. (#201)

Removed

  • RefactorPlan.steps — replaced by the concrete suggestion / help fields on the plan. (#209)
  • CodeSnippet from the public API; CodeSuggestion is exported in its place. (#209)
  • --output-json / -j, --output-csv / -c, --output-gitlab, and --output-sarif / -sr — use --output-format instead. (#221)
  • --ratchet / -R--diff enforces the threshold by default. (#221)
  • TOML keys output-json, output-csv, output-gitlab, output-sarif, flat staged, flat ratchet, and the undocumented details = "low" alias. (#221)

PRs

... (truncated)

Changelog

Sourced from complexipy's changelog.

[7.0.0] - 2026-08-10

!!! note "Migration"

The deprecated `--output-json`, `--output-csv`, `--output-gitlab`,
`--output-sarif`, and `--ratchet` flags and their TOML keys were
removed; use `--output-format` and `--diff` instead. See the
[migration guide](https://rohaquinlop.github.io/complexipy/migration/)
for each removed flag and key with its replacement.

Added

  • --suggest-refactors is now a clippy-style lint system: stable rule IDs (C001–C005, C007, C011), category and applicability metadata, path:line:col anchors with caret spans, verbatim suggestion rendering, and a documentation link per rule. (#209)
  • Refactor-plan findings are included in JSON, SARIF, and GitLab exports when --suggest-refactors is passed; the SARIF rule catalog is built dynamically from the plans encountered. (#209)
  • compute_diff, has_regressions, DiffEntry, and DiffStatus are now part of the public Python API, so CI tools can consume diff results as objects instead of parsing terminal output; DiffStatus provides named constants such as DiffStatus.REGRESSED. (#210)
  • collect_removable_ignored_locations() and RemovableIgnore are exported from the Python API. Every run now reports ignore comments that are no longer necessary (path:line function=X complexity=N <comment>) when the suppressed function is back under the allowed limit — the exit code is unaffected, the report is suppressed under --quiet, and it works under --plain. (#213)
  • --staged flag for git-index comparison — answers "what complexity am I about to commit?" instead of only what changed in the working tree; --staged alone defaults the baseline to HEAD and enforces, while --diff <ref> --staged enforces against the ref. (#218)
  • [tool.complexipy.diff] TOML section so the comparison policy lives in the repository config: branch = "main" makes a plain complexipy . run behave like --diff main (enforcement included), staged = true enables staged comparison by default, and branch = "" opts out. CLI flags take precedence over the section. (#219)
  • Refactor reductions are now measured instead of estimated: for every machine-applicable suggestion (C002, C007) the replacement is spliced into the source, re-parsed, and re-scored, so estimated_reduction and estimated_complexity_after report the literal delta of applying the suggestion — and ranking, overlap resolution, and the noise filter all operate on measured values. The new reduction_is_measured flag on RefactorPlan separates measured plans from help-only formula estimates, which the CLI renders with a ~ qualifier (Estimated reduction: ~-2) while measured plans render plain (Reduction: -2). Guard suggestions are now faithful splices for loops with statements before or after the if-chain and for multi-line loop headers; measurement failures fall back to the formula estimate — never

... (truncated)

Commits
  • d51d0ec docs(changelog): add 7.0.0 migration callout
  • 4c76e51 chore: bump version 7.0.0
  • 8b50862 docs(changelog): finalize 7.0.0 release notes
  • 899296d docs(changelog): add measured reductions entry
  • 6ac88e0 Merge pull request #225 from rohaquinlop/issue-203-measure-refactor-reductions
  • f06d38c feat(rules): measure refactor reductions
  • 410ca20 docs(agents): update project structure tree
  • 36b1e55 Merge pull request #223 from rohaquinlop/issue-222-add-changelog-page
  • 801afb5 chore(skills): keep changelog in sync on release
  • c9f544d docs(changelog): add per-release changelog page
  • Additional commits viewable in compare view

Dependabot compatibility score

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 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 [complexipy](https://github.com/rohaquinlop/complexipy) from 6.2.0 to 7.0.0.
- [Release notes](https://github.com/rohaquinlop/complexipy/releases)
- [Changelog](https://github.com/rohaquinlop/complexipy/blob/main/CHANGELOG.md)
- [Commits](rohaquinlop/complexipy@6.2.0...7.0.0)

---
updated-dependencies:
- dependency-name: complexipy
  dependency-version: 7.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants