feat(release): an rc's notes list what's new since the rc before, then the earlier release candidates #92

Merged
HumanBean merged 1 commit from HumanBean/LongshotLauncher:feat/rc-notes into main 2026-11-15 17:40:33 +00:00
Owner

A release candidate's page lists only what changed since the rc before, so someone coming from the last stable, or trying the launcher for the first time, can't see everything the version brings. With two lists, players on the previous rc see what's new for them, and the second list shows the rest.

What changed

release.py notes for an rc after the first (e.g. rc.3) writes:

  1. ## v1.0.0-rc.3 (<date>), new since rc.2: git-cliff over rc.2..rc.3, as before (only the heading's suffix is new).
  2. ## Earlier release candidates: rc.1, rc.2 (since <stable>): what those brought since the last stable, in one list. This is git-cliff over <stable>..rc.2 with --ignore-tags for rc tags, so it doesn't split into one section per rc. With no stable yet (the launcher now), it covers the whole history and skips the commits after rc.2 (--skip-commit).

A first rc, a stable (still everything since the previous stable) and nightlies keep a single list.

  • scripts/release.py: earlier_rcs, git_cliff, and notes' second list.
  • tests/test_release.py: two tests, one for the two lists and one for the no-stable case.
  • docs/releases.md, Release notes: the two lists.
  • .claude/skills/release/SKILL.md: for an rc after the first, the What's new summarizes the first list.

The same change goes to Longshot (release.py and docs/releases.md are shared): MagicBeanDev/Longshot#745.

Testing

  • python -I scripts/release.py notes v1.0.0-rc.6 with the pinned git-cliff: ## v1.0.0-rc.6 (2026-11-15), new since rc.5 with rc.6's 12 lines, then ## Earlier release candidates: rc.1, rc.2, rc.3, rc.4, rc.5 with 47 lines from #1 to #77 and none of rc.6's.
  • python -I tests/test_release.py: 31 tests OK.

🤖 Generated with Claude Code

A release candidate's page lists only what changed since the rc before, so someone coming from the last stable, or trying the launcher for the first time, can't see everything the version brings. With two lists, players on the previous rc see what's new for them, and the second list shows the rest. ## What changed `release.py notes` for an rc after the first (e.g. rc.3) writes: 1. `## v1.0.0-rc.3 (<date>), new since rc.2`: git-cliff over rc.2..rc.3, as before (only the heading's suffix is new). 2. `## Earlier release candidates: rc.1, rc.2 (since <stable>)`: what those brought since the last stable, in one list. This is git-cliff over `<stable>..rc.2` with `--ignore-tags` for rc tags, so it doesn't split into one section per rc. With no stable yet (the launcher now), it covers the whole history and skips the commits after rc.2 (`--skip-commit`). A first rc, a stable (still everything since the previous stable) and nightlies keep a single list. - `scripts/release.py`: `earlier_rcs`, `git_cliff`, and `notes`' second list. - `tests/test_release.py`: two tests, one for the two lists and one for the no-stable case. - `docs/releases.md`, *Release notes*: the two lists. - `.claude/skills/release/SKILL.md`: for an rc after the first, the What's new summarizes the first list. The same change goes to Longshot (`release.py` and docs/releases.md are shared): MagicBeanDev/Longshot#745. ## Testing - `python -I scripts/release.py notes v1.0.0-rc.6` with the pinned git-cliff: `## v1.0.0-rc.6 (2026-11-15), new since rc.5` with rc.6's 12 lines, then `## Earlier release candidates: rc.1, rc.2, rc.3, rc.4, rc.5` with 47 lines from #1 to #77 and none of rc.6's. - `python -I tests/test_release.py`: 31 tests OK. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(release): an rc's notes list what's new since the rc before, then the earlier release candidates
All checks were successful
CI / Compile and test (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 13s
2197f99c95
Co-Authored-By: Claude Opus 5.5 <[email protected]>
HumanBean deleted branch feat/rc-notes 2026-11-15 17:40:33 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/LongshotLauncher!92
No description provided.