Skip to content

v0.7.9

Choose a tag to compare

@github-actions github-actions released this 25 Oct 00:47
· 34 commits to main since this release
3305ccf

What's Changed

  • feat: read entry points declared by Poetry, setup.cfg and setup.py by @watany-dev in #1066
  • fix: make server apps in nested Dockerfiles entry roots by @watany-dev in #1068
  • feat: read module names that loader APIs take as strings (#493) by @watany-dev in #1075
  • feat: treat Django installed-app conventions as entries (#399) by @watany-dev in #1077
  • fix: make every file under Airflow dags directories a DAG entry by @watany-dev in #1071
  • feat: report per-project precision next to the pooled one in oss-metrics by @watany-dev in #1070
  • feat: read Airflow 3 local DAG bundles as DAG folders by @watany-dev in #1074
  • fix: root datamodel-codegen custom formatters as dev entries (#1063) by @watany-dev in #1072
  • fix: lower CHK001 for wheel orphans of a member a metapackage root distributes (#1060) by @watany-dev in #1073
  • fix: skip setup.py-only nested projects like a nested [project] (#1078) by @watany-dev in #1079
  • fix: read Sphinx extensions of star-imported conf modules and conf.py beside a root document by @watany-dev in #1076
  • fix: keep sourced Poetry group dependencies out of the CHK005 move (#1041) by @watany-dev in #1082
  • Fail the oss-metrics release gate on a medium or large slowdown by @watany-dev in #1081
  • fix: namespace portions, path sources outside the root, and over-deep ASTs (#1022, #1042, #1045) by @watany-dev in #1083
  • fix: index sys.path hint lookups and bench the #1080 regression by @watany-dev in #1084
  • fix: rewrite IPython escapes only on lines that start a statement (#994) by @watany-dev in #1085
  • fix: count only the public modules tests reach as --production CHK006 evidence (#950) by @watany-dev in #1095
  • test: measure CHK001 on an app-mode corpus and floor its precision by @watany-dev in #1093
  • ci: fail the oss-metrics gate on cumulative drift against the last release by @watany-dev in #1097
  • test: add Dagster/Prefect/Scrapy user projects to the OSS corpus by @watany-dev in #1099
  • fix: give Sphinx extensions the sys.path of their conf.py (#1086) by @watany-dev in #1096
  • fix: cut per-file scan costs added since v0.7.7 (#1087) by @watany-dev in #1098
  • perf: lighter uv.lock scan and FxHash name sets in the parse walk (#760, #1047, #1087) by @watany-dev in #1100
  • perf: cut reconcile clones, CHK009 pairing and include-chain blowup (#1092, #1048, #1046) by @watany-dev in #1101
  • ci: lint Python helpers with ruff and shell scripts with shellcheck by @watany-dev in #1102
  • test: reference models for entry roots, workspace CHK002, stdlib windows and --fix convergence (#1109) by @watany-dev in #1122
  • fix: normalize dependency ignore patterns and drop ignored CHK005 sites before weighing (#1106, #1107) by @watany-dev in #1115
  • test: reference-model / monotonicity PBTs for CHK006/007, gaps, python_range and the cache (#1103) by @watany-dev in #1116
  • ci: close the gaps in what cargo-mutants checks (#1117, #1118, #1119, #1120, #1123) by @watany-dev in #1124
  • test: add PBT for wheel, depth, reporters, plugins, maps, init and --fix containment (#1105) by @watany-dev in #1110
  • fix: add the five new prop tests to TEST_TARGETS by @watany-dev in #1194
  • docs: state --init prerequisites and exit-2 cases in README (#1162) by @watany-dev in #1177
  • docs: regenerate the README sample report from the binary (#1161) by @watany-dev in #1193
  • docs: describe which console scripts make a project an app (#1155) by @watany-dev in #1178
  • docs: explain which findings make chokkin exit 1 by @watany-dev in #1176
  • test(pbt): extractor roundtrips, cross-format equivalence and metamorphic properties (#1104) by @watany-dev in #1111
  • fix: print the cause behind fatal errors and reject a doubled BOM (#1160) by @watany-dev in #1188
  • fix(parser): count names in match case patterns as references (#1141) by @watany-dev in #1174
  • ci: reuse main's bench baseline and trim build jobs on PRs by @watany-dev in #1212
  • fix: count augmented assignment targets as reads (#1142) by @watany-dev in #1179
  • fix(action): stop args from repeating flags the action adds (#1147) by @watany-dev in #1180
  • fix: hint the top-level form when a standalone config uses [tool.chokkin] by @watany-dev in #1190
  • fix: mark --fix/--baseline companions in --help and align columns by @watany-dev in #1185
  • fix(parser): count m.X in string annotations and attributes of import_module results (#1144) by @watany-dev in #1181
  • ci: benchmark the base on the PR's runner again by @watany-dev in #1214
  • fix: split requirements files on every Python line boundary (#1154) by @watany-dev in #1191
  • ci: do not create the cross-compiled wheel jobs on PRs that skip them by @watany-dev in #1215
  • fix(sources): skip non-UTF-8 source paths with a warning instead of exiting 2 by @watany-dev in #1195
  • fix(cache): key stat-only fingerprints on inode and ctime too by @watany-dev in #1192
  • fix(config): separate file and key in validation errors and qualify pyproject keys by @watany-dev in #1196
  • fix: count literal getattr/hasattr/setattr/delattr on a module as a reference (#1143) by @watany-dev in #1173
  • fix: read backslash in config path globs as a separator on every OS by @watany-dev in #1197
  • fix: split -e path names on both / and \ regardless of host OS (#1171) by @watany-dev in #1198
  • fix(cli): reject --probe combined with issue-only flags by @watany-dev in #1202
  • fix(resolver/venv): pick site-packages by pyvenv.cfg version, not read_dir order by @watany-dev in #1201
  • fix: match fixed manifest names against the directory listing (#1163) by @watany-dev in #1200
  • fix: normalize ./ and \ in config entry paths and ./ in path globs by @watany-dev in #1203
  • fix(sources): read .gitignore braces literally, as git does by @watany-dev in #1199
  • fix: add Python 3.15 to the bundled stdlib table by @watany-dev in #1206
  • fix(cli): reject unknown rule codes in --include/--exclude by @watany-dev in #1189
  • fix: resolve modules whose extension is uppercase, like helper.PY by @watany-dev in #1207
  • fix: count every bundled minor as stdlib when no lower bound is known by @watany-dev in #1205
  • fix: normalize distribution names in --explain selectors by @watany-dev in #1204
  • chore(deps): bump the cargo-minor-and-patch group with 3 updates by @dependabot[bot] in #1216
  • chore(deps): bump the actions-minor-and-patch group with 3 updates by @dependabot[bot] in #1217
  • chore: add formal-spec-extraction skill for Claude Code, Cursor and Codex by @watany-dev in #1213
  • fix(sources): read root entry scripts in src and flat layouts by @watany-dev in #1210
  • fix(resolver): map opencv, msgpack, psycopg2 and Pillow variants to their import by @watany-dev in #1183
  • fix: resolve absolute and cwd-relative --trace paths against the project root by @watany-dev in #1187
  • fix: keep the UTF-8 BOM when --fix edits a manifest by @watany-dev in #1184
  • fix: keep examples member entries out of skipped-entry gaps by @watany-dev in #1175
  • fix: read CJK PEP 263 sources and UTF-16/32 requirements files by @watany-dev in #1211
  • fix(cli): let an explicit --confidence win over --strict (#1134) by @watany-dev in #1182
  • fix(entry): lower unused findings when an app has no entry root by @watany-dev in #1209
  • fix(cli): exit on the findings --fix leaves and after --update-baseline by @watany-dev in #1186
  • fix: stop deeply nested { from aborting chokkin with a stack overflow by @watany-dev in #1208
  • test(formal): bring the deps / exit-status / reachability models back in line with the code (#1108) by @watany-dev in #1121
  • fix: move a CHK005 entry in the manifest that governs it by @watany-dev in #1219
  • perf: take the serial work added since v0.7.7 off the calling thread (#1087) by @watany-dev in #1224
  • refactor(sources): replace the reference walker oracle with fixture tests by @watany-dev in #1221
  • refactor: drop the uv.lock strip_artifacts parse path by @watany-dev in #1222
  • docs: drop finished plans and per-release reports, move test-only extract_ignores into internals by @watany-dev in #1218
  • chore: release v0.7.9 by @watany-dev in #1225

Full Changelog: v0.7.8...v0.7.9