Summary
Automate changelog finalization when cutting a tagged app release so ## Unreleased is rolled forward automatically.
Problem
Release creation currently reads CHANGELOG.md for ## [version], but nothing updates ## Unreleased during release cutting. This causes stale unreleased content and manual cleanup.
Scope
- Add script to finalize changelog for a tagged version:
- if
## [<version>] already exists: no-op
- move current
## Unreleased body into ## [<version>] - <date>
- recreate empty
## Unreleased section template
- Wire release workflow to run this automation on tag releases for
ryacub/rayniyomi
- Commit/push changelog update back to
main using repo token after successful release creation
Acceptance Criteria
- Cutting tag
vX.Y.Z.N updates CHANGELOG.md on main:
- adds
## [X.Y.Z.N] - YYYY-MM-DD from previous Unreleased
- resets
## Unreleased to empty template
- Existing release body extraction still works
- Workflow is idempotent on rerun
Risk
T2 (workflow + release docs mutation)
Rollback
Revert workflow/script changes; releases continue without auto-finalizing changelog.
Summary
Automate changelog finalization when cutting a tagged app release so
## Unreleasedis rolled forward automatically.Problem
Release creation currently reads
CHANGELOG.mdfor## [version], but nothing updates## Unreleasedduring release cutting. This causes stale unreleased content and manual cleanup.Scope
## [<version>]already exists: no-op## Unreleasedbody into## [<version>] - <date>## Unreleasedsection templateryacub/rayniyomimainusing repo token after successful release creationAcceptance Criteria
vX.Y.Z.NupdatesCHANGELOG.mdonmain:## [X.Y.Z.N] - YYYY-MM-DDfrom previousUnreleased## Unreleasedto empty templateRisk
T2 (workflow + release docs mutation)
Rollback
Revert workflow/script changes; releases continue without auto-finalizing changelog.