Skip to content

release: v0.1.2 — recategorize three v0.1.1 CHANGELOG entries (#28)#42

Merged
cmeans-claude-dev[bot] merged 1 commit into
mainfrom
release/v0.1.2
Apr 27, 2026
Merged

release: v0.1.2 — recategorize three v0.1.1 CHANGELOG entries (#28)#42
cmeans-claude-dev[bot] merged 1 commit into
mainfrom
release/v0.1.2

Conversation

@cmeans-claude-dev

Copy link
Copy Markdown
Contributor

Summary

Documentation-only patch release. Closes #28.

v0.1.1 shipped with three CHANGELOG entries miscategorized under ### Fixed when they belong under ### Added by Keep-a-Changelog category:

The orphaning was introduced at PR #25, which added new ### Added and ### Changed blocks at the top of the then-active ## [Unreleased] without repositioning entries from earlier PRs (#15, #22). PR #27 then inserted a ### Fixed block between ### Changed and the orphans, leaving them visually attributed to the wrong subsection. v0.1.1 shipped with that layout.

Three mechanical edits

What this does NOT do

The v0.1.1 git tag, the v0.1.1 GitHub release page, and the v0.1.1 CHANGELOG.md as it exists at the v0.1.1 tag are immutable historical artifacts and remain miscategorized. This PR corrects the in-tree CHANGELOG.md going forward; the corrected categorization ships with v0.1.2.

If you want the v0.1.1 GitHub release page notes also fixed, that's a separate manual edit on the release page after this lands — happy to do it as a follow-up.

What this is NOT

The auto-CHANGELOG workflow's underlying ordering bug for ### Changed insertion is a different issue (#26) handled in PR #41, currently Ready for QA. The orphaning fixed by this PR was a one-time manual mistake at PR #25 time, not an automation bug, so no workflow change is required.

Verification

  • uv run pytest --cov — 71/71 passed, 100% coverage gate green
  • uv run ruff check src/ tests/ — clean
  • uv run ruff format --check src/ tests/ — clean
  • uv run mypy src/pypi_winnow_downloads/ — clean
  • uv.lock matches pyproject.tomlpypi-winnow-downloads v0.1.1 → v0.1.2
  • CHANGELOG link refs verified by hand
  • No code, dependency, or runtime behavior changes (confirmed by git diff --stat: 3 files, +23/-17, all in CHANGELOG.md + pyproject.toml + uv.lock)

After this merges

git tag v0.1.2 <merge-sha>
git push origin v0.1.2

Then verify the release at https://pypi.org/project/pypi-winnow-downloads/0.1.2/ — the trusted-publisher OIDC path is the same as v0.1.0 / v0.1.1.

🤖 Generated with Claude Code

Documentation-only patch release. v0.1.1 shipped with three CHANGELOG
entries miscategorized under `### Fixed` instead of `### Added`:

- `deploy/README.md` Tailscale Funnel section (originally added in PR #22)
- README `## Acknowledgments` and `## License` sections (PR #15)
- README `## Install` pointer to pypinfo's GCP setup (PR #15)

The orphaning was introduced when PR #25 added new `### Added` and
`### Changed` blocks at the top of the then-active `## [Unreleased]`
section without repositioning the entries from earlier PRs. PR #27
later inserted a `### Fixed` block between `### Changed` and the
orphans, which is the layout that shipped in v0.1.1.

Three mechanical edits:

- `pyproject.toml`: version 0.1.1 → 0.1.2
- `CHANGELOG.md`: insert `## [0.1.2] - 2026-04-27` with one `### Fixed`
  bullet describing the recategorization; move three orphan bullets
  from `## [0.1.1]` `### Fixed` to `## [0.1.1]` `### Added`; update
  link refs (Unreleased compares from v0.1.2, new [0.1.2] compares
  v0.1.1...v0.1.2)
- `uv.lock`: refreshed by `uv lock` so locked version (0.1.2) matches
  pyproject.toml

No code, dependency, or runtime behavior changes. Closes #28.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@cmeans-claude-dev cmeans-claude-dev Bot added the Ready for QA Dev work complete — QA can begin review label Apr 27, 2026
@github-actions github-actions Bot added the Awaiting CI Dev complete, waiting for CI/Codecov to pass before QA label Apr 27, 2026
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions github-actions Bot removed the Awaiting CI Dev complete, waiting for CI/Codecov to pass before QA label Apr 27, 2026

@cmeans cmeans left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@cmeans cmeans added the QA Active QA is actively reviewing; Dev should not push changes label Apr 27, 2026
@github-actions github-actions Bot removed the Ready for QA Dev work complete — QA can begin review label Apr 27, 2026

@cmeans cmeans left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QA round 1 — PASS

Documentation-only patch release. Verified end-to-end at head e43c365.

Release-mechanic verification

Item Result
pyproject.toml version bump 0.1.1 → 0.1.2
uv.lock minimal pair only pypi-winnow-downloads version line changed; no incidental dep churn
## [Unreleased] empty post-insertion of ## [0.1.2] - 2026-04-27 confirmed
## [0.1.2] ### Fixed recategorization bullet references PR #25 / #27 history; closes #28
Three orphans relocated to ## [0.1.1] ### Added Tailscale Funnel, Acknowledgments + License, Install pointer — confirmed at file body
Four legitimate ## [0.1.1] ### Fixed bullets retained Coverage 100% (#37), stale_threshold_days (#33), _write_health (#32), shields.io (#16) — confirmed
Link refs [Unreleased] compares from v0.1.2; new [0.1.2] compares v0.1.1...v0.1.2; existing entries unchanged
Date matches today 2026-04-27
Single commit since v0.1.1 tag no missing CHANGELOG entries; ## [Unreleased] correctly empty
Issue #28 scope fully delivered (issue suggested moving orphans under ### Added; PR does so under v0.1.1's ### Added since v0.1.1 already shipped, with the recat itself filed as a v0.1.2 ### Fixed entry)

Functional verification (worktree at head sha)

  • uv run pytest --cov → 71 passed, 100.00% total coverage (fail_under = 100 gate satisfied)
  • uv run ruff check src/ tests/ → clean
  • uv run ruff format --check src/ tests/ → clean
  • uv run mypy src/pypi_winnow_downloads/ → clean
  • python -c "import pypi_winnow_downloads; print(pypi_winnow_downloads.__version__)"0.1.2 (resolves via importlib.metadata post-install)
  • CI all green at e43c365: lint, typecheck, test 3.11 / 3.12 / 3.13, deploy-smoke

SemVer fit

Patch release appropriate — the change is documentation-only inside CHANGELOG.md plus the version bump in pyproject.toml and uv.lock. No public-API delta, no dependency change, no runtime behavior change. The PR's "What this does NOT do" section honestly captures that the v0.1.1 git tag, GitHub release page, and tagged-CHANGELOG remain immutably miscategorized; this release fixes the in-tree forward record only. The follow-up offer to manually edit the v0.1.1 GitHub release page notes after merge is the right approach.

Findings

None.

Informational (not blocking)

  • .github/ISSUE_TEMPLATE/bug_report.yml:14 placeholder still reads "0.1.0 or abc1234" — same lag I noted on PR #39 round 1, operator's call to refresh whenever convenient. Not in this PR's scope.

Verdict

Ready for maintainer QA Approved.

@cmeans

cmeans commented Apr 27, 2026

Copy link
Copy Markdown
Owner

Switching label: QA ActiveReady for QA Signoff. Round 1 PASS, zero findings, CI fully green at e43c365. Awaiting maintainer QA Approved.

@cmeans cmeans added Ready for QA Signoff QA passed — ready for maintainer final review and merge QA Approved Manual QA testing completed and passed and removed QA Active QA is actively reviewing; Dev should not push changes Ready for QA Signoff QA passed — ready for maintainer final review and merge labels Apr 27, 2026
@cmeans-claude-dev cmeans-claude-dev Bot merged commit f7ff312 into main Apr 27, 2026
36 checks passed
@cmeans-claude-dev cmeans-claude-dev Bot deleted the release/v0.1.2 branch April 27, 2026 22:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment