v0.3.0
Changelog
Each entry records what one release did. Entries are not edited afterwards, so where a
later release removes something an earlier one added, both lines stand — read the file
downwards, not as a description of the current tree.
Generated by git-cliff from the commit log; cliff.toml holds the
grouping rules.
[0.3.0] - 2026-08-21
🐛 Bug Fixes
- Make the adopted CI gates green — pytest floor, and real coverage
- Sync version to 0.2.2, add bumpversion files entry, add drift test
- Green the hooks, and move the drift test to where it belongs
- Doctest the folder under test, not a same-named installed package
- Bound every child process, and close three quality findings
- Give deptry a local gate, correct the README's CI claim, pin the rhiza refs
- Close the four quality findings from #57-#60
- Let the declared version lead the newest tag during a release
💼 Other
- Add check_test_layout opt-out to pyproject.toml
- Give typecheck, docs-coverage and security local entry points
- Own this repo's CI outright, and break the cycle with jebel-quant/rhiza
- Drop python-dotenv, and parse the legacy .rhiza/.env with the stdlib
- Drop the rhiza_codeql and rhiza_scorecard stubs
🚜 Refactor
- Extract the bumpversion assertions the check modules share
- Split test_doctests into a walk, a tally and a report
- Move the bash-fence exclusion rules into _fences
📚 Documentation
- Replace the stale README pin with a placeholder, and guard it
- Describe the rhiza-task integration, not the retired make layer
- Make the public surface documented by example, not just described
- Record the two design questions as settled, not open
- Correct the self-applied-checks paragraph left stale by #52
⚙️ Miscellaneous Tasks
- Adopt the rhiza v1.4.2 workflow stubs and make their gates green
- SHA-pin the actions in ci.yml, and adopt the template's dependabot config
- Self-apply the tag-dependent checks, and fail if they skip