Skip to content

Release docs gate: changelog required, release notes derived from it#15

Merged
jamesagarside merged 1 commit into
mainfrom
feat/release-docs-gate
Jul 6, 2026
Merged

Release docs gate: changelog required, release notes derived from it#15
jamesagarside merged 1 commit into
mainfrom
feat/release-docs-gate

Conversation

@jamesagarside

Copy link
Copy Markdown
Owner

Summary

Follow-up to v0.6.0 shipping with only auto-generated notes: the release process now enforces doc updates instead of relying on memory.

  • Gate: the Release workflow fails before publishing anything unless obj.version matches the tag and CHANGELOG.md has a ## <tag> entry
  • Release notes come from the changelog: the tag's section becomes the release body (install instructions appended, auto-generated commit notes kept below)
  • CHANGELOG.md added, backfilled for v0.5.0 and v0.6.0
  • README documents the rule and links the changelog

Testing

  • YAML validated; gate + awk extraction logic exercised locally against the real CHANGELOG.md, including the missing-entry negative case
  • Tag input reaches shell only via quoted env vars (no injection surface)

https://claude.ai/code/session_018YxEAK2gUQySh3EUW9crDW

…rom it

A release can no longer ship with stale docs. The release workflow now
fails before publishing unless:
- obj.version in the Spoon matches the tag being released
- CHANGELOG.md has an entry for the tag

The release body is built from that changelog entry (plus the install
instructions and auto-generated notes), so writing the changelog IS
writing the release notes. CHANGELOG.md added and backfilled for v0.5.0
and v0.6.0; README links it and documents the rule.

Claude-Session: https://claude.ai/code/session_018YxEAK2gUQySh3EUW9crDW
@jamesagarside jamesagarside merged commit b18ed73 into main Jul 6, 2026
1 check passed
@jamesagarside jamesagarside deleted the feat/release-docs-gate branch July 6, 2026 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant