Skip to content

Add changelog-driven release notes - #36

Open
austin-smith wants to merge 1 commit into
mainfrom
changelog-release-notes
Open

Add changelog-driven release notes#36
austin-smith wants to merge 1 commit into
mainfrom
changelog-release-notes

Conversation

@austin-smith

Copy link
Copy Markdown
Owner

Summary

  • add CHANGELOG.md in Keep a Changelog 1.1.0 format, backfilled for v0.1.0 and v0.1.1 from their published release notes, with all merged work since v0.1.1 curated under [Unreleased] with PR references
  • add scripts/changelog.ts, a strict parser and release:changelog check|extract CLI validating structure: title heading, [Unreleased] first, dated X.Y.Z headings, the six standard categories, newest-to-oldest ordering, non-empty sections, and link references
  • gate releases on the changelog: bun run release refuses to tag, and the workflow's validate job refuses to build, a version without a dated changelog section
  • publish the GitHub release body from the version's changelog section via --notes-file, replacing --generate-notes
  • validate the repository changelog in the test suite on every push, and document the conventions in docs/releasing.md and AGENTS.md

Why

Release notes were auto-generated from PR titles. Curating them in-repo gives users a readable history, keeps notes accurate through the released-user lens, and guarantees the GitHub release body always matches the curated notes for exactly the tagged version.

Validation

  • bun run typecheck
  • bun test — 1024 passed, including 17 new changelog parser tests, a create-release gate test, and workflow assertions
  • release:changelog check/extract verified for 0.1.1; check 0.1.2 correctly refuses while entries remain in [Unreleased]

adopt keep a changelog for release notes. entries accumulate under
[unreleased] with pr references, the release command and workflow refuse
to tag or publish a version without a dated changelog section, and the
github release body is extracted from that section instead of generated
from pr titles.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 525342b88b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

dist/SHA256SUMS dist/spotuify.rb \
--draft \
--generate-notes \
--notes-file dist/release-notes.md \

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Update notes when reusing an existing draft

When a draft already exists for the tag—for example, one prepared manually or left by an earlier publication path—--notes-file is used only by gh release create; the existing-draft branch merely uploads assets and then publishes the old body. The resulting release can therefore retain generated or manual notes instead of the current changelog section. gh release edit --help explicitly supports --notes-file, so update the existing draft's notes before publishing it.

AGENTS.md reference: AGENTS.md:L56-L59

Useful? React with 👍 / 👎.

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