5.3.0
What's Changed
Added
--ratchetflag — CI fails only when complexity increases past the threshold; regressions blocked, improvements always pass (#159)--plainflag — machine-readable plain-text output for scripting/piping (#158, closes #121)--top Nflag — display the N most complex functions, globally sorted across all files (#157)--check-script/--script-strictflags — analyse module-level (script) complexity in addition to functions (#156)- Unified output destinations — consistent
--output-*routing across all report formats (#155) - GitLab Code Quality report —
--output-gitlabgenerates a GitLab-compatible JSON report (#153) - SARIF 2.1.0 output —
--output-sariffor IDE and GitHub Advanced Security integration (#141) - Git diff analysis —
--diff <ref>reports complexity changes relative to any git reference (#140) - Comprehension complexity — list/dict/set comprehensions and generator expressions now contribute to cognitive complexity scores (#139)
# complexipy: ignore— new canonical inline suppression comment;# noqa: complexipydeprecated (#146)- Glob patterns in
exclude— configexcludefield now accepts glob patterns (#142) - Spanish documentation (#147)
Fixed
--topresults now preserve global descending order across multi-file runs--top NrejectsN ≤ 0with a clear error--script-strictnow correctly requires--check-script- Ignore markers (
# complexipy: ignore) now work on multiline function definitions - JSON output includes a final newline (POSIX compliance) (#148)
- Snapshot-allowed functions now shown as
PASSEDin output - Snapshot watermark correctly drives exit code when active
New Contributors
- @jlariza made their first contribution in #147
- @tstejl made their first contribution in #148
- @sebastianbreguel made their first contribution in #156
Full Changelog: 5.2.0...5.3.0