Align the changelog with the house format and cut 0.3.0 - #42
Merged
Conversation
sehkone
force-pushed
the
sehkone/issue-41
branch
from
August 8, 2026 07:35
e0d46e4 to
47a1b8a
Compare
The file had drifted from the format bootroot and agentcoop use, in three ways. The header replaced the Keep a Changelog and Semantic Versioning blurb with a note explaining a local convention. Entries were grouped by the area a consumer triages -- manual, api-reference, shared, scripts -- rather than by change type. Link references pointed at tree/ rather than compare/. The area grouping also duplicated: nine bullets under 0.2.0 appeared verbatim under both manual and api-reference, because a change to both templates had to be written twice. Grouping by change type instead removes that, which is most of why this rewrite is shorter than what it replaces. Buckets follow what the entries describe rather than which release they landed in, so the dropped chapter content, the unruled PDF tables, and the assets that never reached the published site are Fixed rather than Changed. 0.2.0's published release notes are unaffected; they were extracted at tag time and live on the release page. Also promotes Unreleased to 0.3.0, and brings SURFACE_PATHS in check-release-surface.sh back in step with the installer: fetch-theme.sh gained brand-print.svg and brand-symbol.svg, so a later release changing only those would have compared byte-identical and been rejected with nothing to release. Closes #41
sehkone
force-pushed
the
sehkone/issue-41
branch
from
August 8, 2026 07:43
47a1b8a to
41849f8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #41. Last step before tagging
0.3.0; does not create the tag.The format had drifted
CHANGELOG.mdno longer matched whatbootrootandagentcoopuse. Three deviations, all introduced when the area-scoped convention was adopted:### Added/Changed/Fixed/Removed### manual/api-reference/shared/scriptscompare/<prev>...<ver>tree/<ver>The header is now byte-identical to
bootroot's.0.1.0's section already used### Added, so only0.2.0and0.3.0needed re-bucketing.The area grouping duplicated itself. Nine bullets under
0.2.0appeared verbatim under bothmanualandapi-reference, because a change affecting both templates had to be written twice. Collapsing that is most of why this is 93 insertions against 148 deletions while losing no information.Buckets follow what each entry describes, not which release it landed in — the dropped chapter content, the unruled PDF tables, and the assets that never reached the published site are Fixed, not Changed.
0.2.0's published release notes are unaffected: they were extracted at tag time and live on the release page.Also in here
## Unreleasedto## [0.3.0] - 2026-08-08— consumed, not left behind as an empty section, which is what agentcoop's release commits do (-## [Unreleased]/+## [0.9.0] - 2026-07-22). This is the prerequisite for tagging —release.ymlgreps^## \[$VERSION\], so a tag against a bareUnreleasedmakesRelease for version 0.3.0the entire release body, and that is what the Slack subscription posts.SURFACE_PATHSincheck-release-surface.shback in step with the installer.fetch-theme.shgainedbrand-print.svgandbrand-symbol.svg; the guard still listed onlybrand.svg, so a later release changing just those two would have compared byte-identical and been rejected with "nothing for consumers to fetch". It fails closed rather than open, so it was not urgent — but it is wrong, and it is two lines.That list has to be kept in step with the installer by hand. Worth a follow-up to derive one from the other, or to assert the correspondence in
installer-test.sh.Verification
bootroot's: identical.Added,Changed,Fixed,Removed. Repeated across releases is fine — the root config setsMD024: siblings_only.release.yml's extraction against the new heading: resolves## [0.3.0], stops at## [0.2.0], yields 7 entries underAddedandChanged.git diff 0.2.0 HEADoverSURFACE_PATHS): the surface differs, so the tag will pass. Runningcheck-release-surface.sh 0.3.0locally reports "No predecessor tag" and skips — it resolves the predecessor by locating the new tag in the existing tag list, which only works once the tag exists. CI runs it after the tag is pushed.markdownlint-cli2andshellcheckclean. One line exceeds 80 columns — the SemVer link in the inherited house header; MD013 does not flag it because the overrun is an unbreakable URL.Adjust the date in the heading if the tag lands on a different day.