Skip to content

release-beta: CHANGELOG-before-tag rule is documented, not enforced #1282

Description

@sahrizvi

What happened

v0.11.0-beta.5 was tagged and published without a CHANGELOG.md entry. Every prior beta (beta.1, beta.3, beta.4) had shipped with its own dedicated section; beta.5 didn't, because the release-beta skill's pre-tag gate checklist never asked for one. Nothing caught it before the tag existed — the changelog is baked into the compiled binary at build time (packages/opencode/script/build.ts reads CHANGELOG.md into OPENCODE_CHANGELOG), so by the time anyone noticed, the fix could only apply to the next beta, not the one already built and published.

What #1281 fixes

Adds the missing beta.5 entry, and adds an explicit gate + Hard Rule to .claude/commands/release-beta.md telling whoever runs the release to check for a CHANGELOG.md entry before tagging.

What's still open

That's a documentation fix, not an enforced one — it relies on whoever (human or agent) runs the release actually reading and following that step. script/release-preflight.ts already automates several other pre-tag checks (tag collision, version sanity vs npm, prerelease ancestry, marker guard) that used to be the same kind of "remember to check this" gate. This should be one more: have release-preflight.ts parse CHANGELOG.md and fail the tag stage if there's no ## [X.Y.Z] (or X.Y.Z-beta.N) section for the version being tagged, the same way it already fails on a tag collision.

That would make this a hard, automatic stop instead of a step someone can skip under release pressure — which is exactly how beta.5 shipped without one.

Related: #1281

🤖 Generated with Claude Code

https://claude.ai/code/session_01H8gZMvZunXzx4LPSZzCafq

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions