release: v0.1.3#48
Conversation
… hygiene Bumps version 0.1.2 → 0.1.3 and promotes the [Unreleased] section to [0.1.3] - 2026-04-28. Five PRs land in this release; full bullets in CHANGELOG.md. ### Added - ci(publish): auto-create GitHub release page on v* tag from CHANGELOG (#47, eae5e80) — first release that exercises this end-to-end. ### Fixed - chore(docker): bump uv pin from `==0.4.*` to `>=0.5,<1` (#44, 2679f07, closes #34) - docs(issue-template): refactor bug_report version placeholder to durable form (#45, 75a6384, closes #40) - docs(readme): refresh dogfood blockquote — count > 0, drop M3 reference (#46, eacbf60, closes #43) - fix(workflow): insert ### Changed in Keep-a-Changelog order on auto-CHANGELOG (#41, 4bb8584, closes #26) uv.lock refreshed to pick up the version bump (single source of truth in pyproject.toml; uv lock writes 0.1.3 into uv.lock automatically). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
cmeans
left a comment
There was a problem hiding this comment.
QA Round 1 — PASS
Release mechanic verification at head cc9143c. Documentation/packaging-only patch; SemVer patch fit (no public-API delta). Local + CI all green.
Diff scope (3 files, minimal)
| File | Change |
|---|---|
pyproject.toml |
version = "0.1.2" → "0.1.3" (single line) |
uv.lock |
package's own version = "0.1.2" → "0.1.3" (single line, no incidental dep churn) |
CHANGELOG.md |
## [0.1.3] - 2026-04-28 heading inserted after empty ## [Unreleased]; existing Added/Fixed bullets become attributed to v0.1.3; [Unreleased] link ref updated to v0.1.3...HEAD; new [0.1.3] ref added comparing v0.1.2...v0.1.3 |
Local verification
| Check | Result |
|---|---|
uv run pytest --cov |
71 passed, 100% coverage on src/, fail_under = 100 gate honored |
uv run ruff check / format --check |
clean |
uv run mypy src/ |
no issues |
uv build |
both pypi_winnow_downloads-0.1.3-py3-none-any.whl and pypi_winnow_downloads-0.1.3.tar.gz |
import pypi_winnow_downloads; __version__ post-install |
0.1.3 |
CI green at cc9143c (lint, typecheck, test 3.11/3.12/3.13, deploy-smoke).
v0.1.3 contents cross-check
PR body claims five PRs since v0.1.2; git log v0.1.2..pr-48 --oneline shows exactly those plus the release commit (#41 / #44 / #45 / #46 / #47 + release: v0.1.3). All five represented in the new [0.1.3] section:
### Added: PR #47 (auto-release-page workflow)### Fixed: closes #34 (PR #44, Dockerfile uv pin), closes #40 (PR #45, bug_report placeholder), closes #43 (PR #46, README dogfood), closes #26 (PR #41, KaC ordering)
First exercise of #47's auto-release-page workflow
This release will trigger the PR #47 workflow end-to-end on tag push. Pre-running the new awk extractor against the v0.1.3 CHANGELOG section produces a 13-line, non-empty body (the ### Added/### Fixed blocks in this release), terminating cleanly before ## [0.1.2] - 2026-04-27. Empty-Unreleased extraction returns 0 lines (irrelevant to the v0.1.3 tag — the gate is parameterized on ${GITHUB_REF_NAME#v}). Build-job gate would pass; release-job would create the GitHub release page from the 13 captured lines.
Zero findings. Ready for QA Signoff.
|
QA round 1 → Ready for QA Signoff. Release mechanic clean: minimal-pair pyproject.toml + uv.lock bump (no incidental dep churn), CHANGELOG This is the first release that will exercise PR #47's auto-release-page workflow end-to-end — pre-running the new Last checkbox (post-merge tag-push behavior) intentionally left unchecked — only verifiable on the actual Awaiting maintainer QA Approved. |
Summary
Cuts v0.1.3 — the first release that will exercise the new auto-release-page workflow end-to-end (PR #47, merged earlier today).
Bumps
versioninpyproject.toml0.1.2 → 0.1.3, refreshesuv.lock, promotes## [Unreleased]→## [0.1.3] - 2026-04-28, and updates link refs at the bottom ofCHANGELOG.md.What's in v0.1.3
Five PRs since v0.1.2 (2026-04-27):
fix(workflow):insert ### Changed in Keep-a-Changelog order on auto-CHANGELOG (closes #26)chore(docker):bump uv pin from==0.4.*to>=0.5,<1(closes #34)docs(issue-template):refactor bug_report version placeholder to durable form (closes #40)docs(readme):refresh dogfood blockquote — count > 0, drop M3 reference (closes #43)ci(publish):auto-create GitHub release page on v* tag from CHANGELOGNo runtime collector / badge code changes — all CI / docs / packaging hygiene plus the new release-page automation.
After merge
v0.1.3at the merge commit and push.publish.yml— should runbuild(with the new awk extractor / artifact upload), thenpublishto PyPI via OIDC, thenrelease(auto-create the GitHub release page from the v0.1.3 CHANGELOG section).## [0.1.3] - 2026-04-28verbatim, and that PyPI shipspypi-winnow-downloads==0.1.3.Test plan
uv run pytest --cov→ 71 passed, 100% coverage (verified pre-push)uv run ruff check src/ tests/anduv run ruff format --check src/ tests/→ clean (verified pre-push)uv run mypy src/pypi_winnow_downloads/→ no issues (verified pre-push)uv build→ producespypi_winnow_downloads-0.1.3-py3-none-any.whl+ sdist (verified pre-push)publish.yml; PyPI ship + auto-release-page both succeed🤖 Generated with Claude Code