From e7bc141aa2596a1e200e791b2402d89ddbc60d13 Mon Sep 17 00:00:00 2001 From: Vojin Jovanovic Date: Sun, 30 Aug 2026 11:16:50 +0200 Subject: [PATCH 1/2] Stop the root changelog claiming the release maintains it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `CHANGELOG.md` opened by saying the `Unreleased` section of `docs/changelog.md` is what "release automation promotes into a numbered section here at release time", citing §FS-rhei-distribution.5. That section says the promotion happens inside `docs/changelog.md`, with the displaced release archived under `docs/changelog/`. Nothing has ever written to this file, and `prepare_changelog_release.py` does not open it. So the file documented a behaviour that never ran, and drifted exactly as far as that implies: no `0.2.0`, `0.3.0` or `0.3.1` section, and an `Unreleased` note still announcing project-qualified ticket ids as a forthcoming breaking change eight days after they shipped in 0.2.0. It ships inside the published crate, so it is the first changelog a reader meets. The header now says where the changelog is and that this file is not maintained by the release. The stale `Unreleased` note is gone. The `0.1.0` section stays. `docs/changelog/0.1.0.md` is a four-line summary, so this is the only place the initial release's feature list and its crates.io naming limitation are written down; deleting it to make the file uniform would lose them. --- CHANGELOG.md | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f777bd43..fbbfd671 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,13 @@ # Changelog -Released versions of Rhei. Changes that have not shipped in a release yet live -in the `Unreleased` section of [docs/changelog.md](docs/changelog.md), which -release automation promotes into a numbered section here at release time -(§FS-rhei-distribution.5). Read both to see everything on `main`. - -## Unreleased - -See [docs/changelog.md](docs/changelog.md#unreleased). It currently carries a -**breaking change**: ticket ids are project-qualified (`1` → `auth.1`), which -changes command output, result artifact filenames, ledgers, logs, snapshot -cache keys, and the `RHEI_TASK_ID` seen by callbacks, and requires a -single-file rhei to be named `.rhei.md`. The entry ends with an -"Upgrading a pre-qualification workspace" checklist — read it before upgrading -a workspace with in-flight runs. +Rhei's changelog is [docs/changelog.md](docs/changelog.md). It carries the +`Unreleased` section and the latest release inline; the release promotes one +into the other and archives the release it displaces under `docs/changelog/` +(§FS-rhei-distribution.5). + +Nothing below is maintained by the release. The `0.1.0` notes are kept here +because this is where they were written and the archive entry for that version +is a summary; every release after it is in `docs/changelog.md`. ## 0.1.0 - 2026-05-19 From de54a7cc8519bc345e61b6350489ef356991a6b5 Mon Sep 17 00:00:00 2001 From: Vojin Jovanovic Date: Sun, 30 Aug 2026 11:17:03 +0200 Subject: [PATCH 2/2] Record the root changelog fix in the changelog --- docs/changelog.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 949a0247..793decb9 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,6 +2,22 @@ ## Unreleased +- **The root `CHANGELOG.md` no longer claims the release maintains it.** It + opened by saying this file's `Unreleased` section is what "release automation + promotes into a numbered section here at release time", citing + §FS-rhei-distribution.5 — which describes a promotion *within* + `docs/changelog.md`, archiving the displaced release under `docs/changelog/`, + and says nothing about the root file. `prepare_changelog_release.py` never + opens it. Documenting a behaviour that never ran, it drifted the whole way: no + `0.2.0`, `0.3.0` or `0.3.1` section, and an `Unreleased` note still announcing + project-qualified ticket ids as a forthcoming breaking change eight days after + they shipped in 0.2.0 — a note that nearly sent 0.3.1 out as a minor bump. The + header now says where the changelog is and that this file is not maintained by + the release, and the stale note is gone. The `0.1.0` section stays: + `docs/changelog/0.1.0.md` is a four-line summary, so this is the only record of + the initial release's feature list and its crates.io naming limitation. + (PR #115) + ## 2. [0.3.1] - 2026-08-30 - **The release commit stages `xtask/Cargo.toml`.** `Auto bump` had failed on