Release 1.3.1 (2026-04-26)¶
Bug fixes¶
- regenerate v1.3.0 release notes with correct content st-prepare-release rendered v1.2.2 content into releases/v1.3.0.md because git-cliff's --latest flag falls back to the previous tag's section when the target tag (develop-v1.3.0) doesn't exist yet at release-prep time. CHANGELOG.md is unaffected (no --latest used).
Manual regeneration with --unreleased instead of --latest produces the correct v1.3.0 section. Bug to be tracked in a follow-up issue; the fix in prepare_release.py is a one-flag change.
- use --unreleased instead of --latest for release notes (#298)
-
remove dead skip-filter from _find_yaml_files Coverage gate caught it: the explicit filter for vendored subtrees was unreachable because discovery only walks .github, docs/site/mkdocs.yml, and repo_root — none of which recurse into .worktrees / .venv / .venv-host / node_modules. The exclusion is structural, not policy. Filter and _YAML_SKIP_DIRS constant removed; the skip test renamed/clarified to pin the structural exclusion.
-
move Path import into TYPE_CHECKING block (TC003) After removing the dead skip-filter, Path is only used as a type annotation (with from future import annotations active). ruff TC003 flags this — moved into the TYPE_CHECKING block.
-
use reference-style links to satisfy markdownlint and lint CI surfaced two issues in the parent commit: a 101-char line in test_finalize_repo.py and 127-char lines in the docs files where I'd inlined the new GitHub blob URLs. Both fix together by switching the long URLs to markdown reference-style links ([text][ref] / [ref]: url) and wrapping the test return_value across two lines. No semantic change.
-
add S607 noqa for gh CLI invocation ruff S607 (partial executable path) flagged the gh invocation in _check_docs_workflow_status. The existing # noqa: S603 already suppresses subprocess shell-injection warnings; adding S607 to that list is the same pattern used elsewhere (test_pre_commit_gate, etc.) for bare-name CLI tools whose absolute path varies by host.
-
use shutil.which to get gh absolute path (S607) Same noqa-attribution pattern as PR #292's bash invocation: newer ruff flags the argument-list line, not the subprocess.run call line, so the # noqa: S607 doesn't suppress. Switching to shutil.which('gh') for the path resolves the warning entirely. Tests pass.
-
use 'git branch -D' for already-vetted merged branches (#307)
Documentation¶
- document patch/minor/major release workflow; add docs-publish sanity check (#303)
Features¶
- dispatch standard-tooling-released event after release tag (#301)
- add yamllint to canonical validation; pin rules in .yamllint (#302)
Styling¶
-
wrap git-cliff cmd tuple to satisfy line-length lint Single-line tuple was 101 chars after the --latest → --unreleased change in the previous commit; ruff E501 limit is 100. Wrapping the tuple is the cleanest fix and makes the cmd args easier to scan.
-
apply ruff format Format check fix-up after the previous commits — wrapping the new test return_value across two lines triggered a reformat.