Skip to content

v0.7.6

Choose a tag to compare

@github-actions github-actions released this 16 Oct 04:58
· 154 commits to main since this release
2e945e0

What's Changed

  • fix: record star-import references only in modules that bind the name (#803) by @watany-dev in #812
  • fix: report deferred imports of optional packages as info in CHK005 by @watany-dev in #813
  • feat: treat Sphinx themes, namespace extensions and pytest-* plugins as used by @watany-dev in #815
  • chore: add kick skill by @watany-dev in #816
  • fix: treat PEP 517 build backend modules as entry roots by @watany-dev in #817
  • fix: follow Sphinx extensions through conf.py's imported constants by @watany-dev in #818
  • fix: count build script imports as uses for CHK002 (#783) by @watany-dev in #820
  • fix: treat build environment pins in a build group as used for CHK002 (#819) by @watany-dev in #821
  • docs: add #803, #808 and #809 to the Unreleased changelog by @watany-dev in #823
  • fix(resolver): map Sphinx and MkDocs extensions named unlike their distribution (#822) by @watany-dev in #831
  • test: cover namespace packages shipped by path and workspace members by @watany-dev in #825
  • feat(metrics): split Downgraded into Recontexted and Demoted by @watany-dev in #824
  • refactor(resolver): merge the five stdlib lists into one annotated table by @watany-dev in #832
  • chore: make ponytail skill manual-invocation only by @watany-dev in #833
  • ci: run the formal models and TLC on PRs that touch their targets by @watany-dev in #854
  • ci: fail PRs on missed mutants and cover src/fix and src/graph by @watany-dev in #842
  • ci: gate determinism, schema and crashes on every PR and run OSS metrics on src changes by @watany-dev in #845
  • test: cover setup.cfg fix, fix containment, shell-script apps and --trace output by @watany-dev in #852
  • perf: share parsed ignore files across workspace walks and normalize declared names once by @watany-dev in #841
  • ci: test the shipped wheels and dist profile before release by @watany-dev in #847
  • ci: run the benchmark regression gate on pull requests by @watany-dev in #856
  • test: unit-test the OSS and bench gate scripts by @watany-dev in #849
  • ci: rustup instead of dtolnay/rust-toolchain, seconds-long TLC run, and an MSRV sdist test (#857, #853, #846) by @watany-dev in #859
  • feat(metrics): per-rule precision floors; chore(release): trim the sdist (#701, #858) by @watany-dev in #863
  • fix(trace): print an auto entry root's rule once (#850) by @watany-dev in #864
  • fix(manifest): setup.py subscript assignments we cannot follow; move the requirement-table idiom out (#827, #554) by @watany-dev in #870
  • fix(plugins): treat bare celery -A / flask --app modules as entry roots by @watany-dev in #867
  • fix(rules/symbols): entry-point re-exports are not CHK007; share the import binding rule (#743, #811) by @watany-dev in #874
  • feat(parser): read __all__ +=, .extend and .append into exports (#567) by @watany-dev in #878
  • fix: give plugin module references their string line and name the setting (#830) by @watany-dev in #883
  • fix(rules/symbols): attribute-path entry targets and re-exported host hooks are used (#872, #873) by @watany-dev in #885
  • fix(manifest): read === specifier lists like packaging (#572) by @watany-dev in #881
  • fix(parser): skip sources with a syntax error like undecodable ones by @watany-dev in #886
  • docs: add ADR 0005, the unknown input contract by @watany-dev in #887
  • fix(manifest): only space and tab separate PEP 508 tokens (#879) by @watany-dev in #891
  • feat: route dropped pipeline signals to every reporter (#888 step 1) by @watany-dev in #897
  • feat: surface the remaining Step 1 input gaps (#892–#895) by @watany-dev in #901
  • feat: close the last Step 1 input gaps (#898–#900) by @watany-dev in #904
  • feat: give all, entry symbols and setup.py extras a Partial state (ADR 0005 step 2) by @watany-dev in #907
  • Lower findings for unread input in one gap stage; add the unread-notebook-cells gap by @watany-dev in #908
  • Install CI toolchains with rustup; read requires-python empty items as SpecifierSet does by @watany-dev in #918
  • perf: keep the tests the --production walk drops instead of walking again (#844) by @watany-dev in #921
  • feat: #888 step 4 — report and scope the remaining manifest and source gaps by @watany-dev in #920
  • feat: lower findings when imports, commands, Django settings, .gitignore or requires-python cannot be read (#888) by @watany-dev in #922
  • fix: read PEP 508 whitespace and requirements-file markers the way Python and pip do by @watany-dev in #930
  • fix: align CHK002 evidence and gap lowering on the usage set (#550) by @watany-dev in #943
  • test: property-based coverage for the v0.7 logic (#861) by @watany-dev in #959
  • refactor: derive the layout kind from the package root by @watany-dev in #949
  • feat: lower findings for skipped entries, assumed target version, unread Django settings and invalid requirement lines (#888) by @watany-dev in #941
  • fix: let a partial all hand on any name through import * (#951) by @watany-dev in #961
  • test: check CHK005, CHK009, CHK010, CHK001 and derived reachability against reference models by @watany-dev in #955
  • chore: release v0.7.6 by @watany-dev in #966

Full Changelog: v0.7.5...v0.7.6