From 10c55bc0200881b2e693d3b97c3760d5a834c559 Mon Sep 17 00:00:00 2001 From: "cmeans-claude-dev[bot]" <3223881+cmeans-claude-dev[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 20:35:40 -0500 Subject: [PATCH] chore: release v0.5.0 Bumps pyproject.toml version from 0.4.2 to 0.5.0 and finalizes the CHANGELOG by converting [Unreleased] to [0.5.0] - 2026-04-22, with a fresh empty [Unreleased] above for future work. Minor bump is forced by the MIT -> Apache-2.0 license switch (PR #22) among other user-visible changes; see CHANGELOG.md [0.5.0] for the full entry (15 merged PRs since v0.4.2). Pre-release gate (all four satisfied): - scripts/smoke-test.sh: 19/19 pass (version correctly reports 0.5.0) - pytest tests/: 449 passed - ruff check src/ tests/: clean - Live --dry-run session signed off by maintainer on 2026-04-22: - Fresh-clone pip install -e . succeeds (PR #37 verified) - Browser launch, UA masking, subscription scrape, blocklist fetch, list-growth detection, state diff, feed JSON cache, scroll, clean exit all exercised successfully against both deslop and aislist - 0 feed matches reflects well-trained algorithm, not a regression - No POSSIBLE SELECTOR FAILURE warnings After merge, maintainer will tag v0.5.0 and push the tag; publish.yml auto-publishes to PyPI on tag push and github-release creates the release notes. Co-Authored-By: Claude Opus 4.7 (1M context) --- CHANGELOG.md | 2 ++ pyproject.toml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32f859e..141f494 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ Format follows [Keep a Changelog](https://keepachangelog.com/). Versions follow ## [Unreleased] +## [0.5.0] - 2026-04-22 + ### Added - **QA workflow and PR label state machine** (PR #19): `.github/workflows/qa-gate.yml`, `pr-labels.yml`, `pr-labels-ci.yml`, `sync-labels.yml`, and `.github/labels.yml` define a full state machine for PR review — `Awaiting CI` → `Ready for QA` → `QA Active` → `Ready for QA Signoff` / `QA Failed` → `QA Approved` — with a required `QA Gate` status check that gates merge until the maintainer applies `QA Approved`. Documented in `CLAUDE.md` § "PR & Label Workflow". Brings this repo in line with the `cmeans/mcp-*` conventions. diff --git a/pyproject.toml b/pyproject.toml index 17be6da..9b6d5ff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "yt-dont-recommend" -version = "0.4.2" +version = "0.5.0" requires-python = ">=3.10" description = "Bulk-train YouTube's recommendation algorithm via 'Don't recommend channel' — works on Fire TV, mobile, and smart TVs" readme = {file = "README.md", content-type = "text/markdown"}