Finalise the CHANGELOG for v1.0.0 #109

Merged
claude-bot merged 1 commit from release/v1.0.0 into main 2026-09-01 19:59:06 +00:00
Contributor

Last step before tagging (#10).

What changed

Everything under [Unreleased] belongs to the first release, so it is folded into ## [1.0.0] - 2026-09-01, leaving a fresh empty [Unreleased].

Consolidated while doing so. The two blocks carried nine subsection headings for six categoriesAdded twice, Changed three times, Fixed twice — because each session appended a new heading at the top instead of merging into the existing one. Now one heading per category in Keep a Changelog order (Added, Changed, Fixed, Security, Infrastructure, Deferred).

All 30 entries preserved, verified by counting bullets before and after rather than by eye:

entries before: 30   after: 30   OK

Corrected the closing paragraph, which still read "Remaining v1 validation … tracked as open v1.0.0 issues (final end-to-end/year-rollover QA…)". #8 has passed and #7 moved to v1.1.0, so that would have shipped in the release notes as a false statement about the project's own status.

The extraction actually works

release.yml pulls release notes out of this file with awk, and that path has never run on a real version — the #4 dry run used v0.0.1-rc1, which has no matching section, so it exercised the fallback (Release v0.0.1-rc1) rather than the extraction.

Rather than assume, I pulled the run: script straight out of the YAML and executed it verbatim against the new file:

Extracting notes for 1.0.0
-> release-notes.md: 226 lines, 30 entries, starting at "### Added"

Worth noting one false alarm: running that awk by hand first returned 0 lines, which looked like a broken workflow. It was my own shell consuming a backslash before awk saw it — the warning escape sequence '\[' treated as plain '[' gave it away. Extracting the script from the YAML removed my shell from the equation.

The only oddity in the output is the trailing [Unreleased]: / [1.0.0]: link-reference lines, which sit at the end of the file and so land inside the captured section. Harmless, and standard for the format.

After this merges

git tag v1.0.0 && git push origin v1.0.0 — then confirm the release job publishes :1.0.0, :1.0 and :latest, creates the Forgejo release with these notes, and smoke-test the published image. :latest and {{major}}.{{minor}} will be exercised for the first time here (see #3).

🤖 Generated with Claude Code

Last step before tagging (#10). ## What changed Everything under `[Unreleased]` belongs to the first release, so it is folded into `## [1.0.0] - 2026-09-01`, leaving a fresh empty `[Unreleased]`. **Consolidated while doing so.** The two blocks carried **nine subsection headings for six categories** — `Added` twice, `Changed` three times, `Fixed` twice — because each session appended a new heading at the top instead of merging into the existing one. Now one heading per category in Keep a Changelog order (Added, Changed, Fixed, Security, Infrastructure, Deferred). **All 30 entries preserved**, verified by counting bullets before and after rather than by eye: ``` entries before: 30 after: 30 OK ``` **Corrected the closing paragraph**, which still read *"Remaining v1 validation … tracked as open `v1.0.0` issues (final end-to-end/year-rollover QA…)"*. #8 has passed and #7 moved to v1.1.0, so that would have shipped in the release notes as a false statement about the project's own status. ## The extraction actually works `release.yml` pulls release notes out of this file with `awk`, and **that path has never run on a real version** — the #4 dry run used `v0.0.1-rc1`, which has no matching section, so it exercised the *fallback* (`Release v0.0.1-rc1`) rather than the extraction. Rather than assume, I pulled the `run:` script straight out of the YAML and executed it verbatim against the new file: ``` Extracting notes for 1.0.0 -> release-notes.md: 226 lines, 30 entries, starting at "### Added" ``` Worth noting one false alarm: running that `awk` by hand first returned **0 lines**, which looked like a broken workflow. It was my own shell consuming a backslash before `awk` saw it — the warning `escape sequence '\[' treated as plain '['` gave it away. Extracting the script from the YAML removed my shell from the equation. The only oddity in the output is the trailing `[Unreleased]:` / `[1.0.0]:` link-reference lines, which sit at the end of the file and so land inside the captured section. Harmless, and standard for the format. ## After this merges `git tag v1.0.0 && git push origin v1.0.0` — then confirm the release job publishes `:1.0.0`, `:1.0` and `:latest`, creates the Forgejo release with these notes, and smoke-test the published image. `:latest` and `{{major}}.{{minor}}` will be exercised for the first time here (see #3). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Finalise the CHANGELOG for v1.0.0
All checks were successful
CI / Alembic migration check (pull_request) Successful in 34s
CI / Pre-commit hooks (pull_request) Successful in 1m36s
CI / Frontend lint, test & build (pull_request) Successful in 1m7s
CI / Python lint & type-check (pull_request) Successful in 2m12s
CI / Python tests (pull_request) Successful in 4m10s
CI / Docker build, health smoke & E2E (pull_request) Successful in 3m28s
3e5f13d65d
Everything under [Unreleased] belongs to the first release, so it is folded
into the [1.0.0] section and dated 2026-09-01.

Consolidated while doing so: the two blocks between them carried nine
subsection headings for six categories -- Added twice, Changed three times,
Fixed twice -- because each session appended a fresh heading at the top
rather than merging into the existing one. Now one heading per category in
Keep a Changelog order. All 30 entries preserved; verified by counting
bullets before and after.

Corrected the closing paragraph, which still claimed end-to-end and
year-rollover QA were open v1.0.0 issues. #8 has passed and #7 moved to
v1.1.0.

Checked the release-note extraction against this file by pulling the awk out
of release.yml and running it verbatim: 226 lines, all 30 entries, starting
at the first subsection. That path has never executed on a real version --
the #4 dry run used a pre-release tag with no matching section, so it
exercised the fallback rather than the extraction.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
claude-bot deleted branch release/v1.0.0 2026-09-01 19:59:06 +00:00
Sign in to join this conversation.
No description provided.