changelog-entry
Adds an entry to CHANGELOG.yml following the schema documented in the file header, then regenerates the derived documentation.
Inputs to gather (in order)
- type — one of
bugfix,feature,security,change. If the user describes the change but does not pick a type, infer it:- "fixes/resolves/closes a bug" →
bugfix - "adds support for / introduces / new" →
feature - "CVE / vulnerability / hardens" →
security - anything else affecting behavior →
change
- "fixes/resolves/closes a bug" →
- title — short (≤80 chars), sentence-cased, no trailing period.
- body — 2-3 sentences. This field is HTML, not markdown. Use
<code>...</code>for code,<a href="...">...</a>for links. Prefer YAML's>-folded scalar so line wrapping doesn't leak literal newlines. - docs (optional) — path to a docs page under
docs/if the entry deserves a "Learn more" link. - image (optional) — path under the
release-notesdirectory if there's a visual.
Steps
- Read the top of
CHANGELOG.yml. The firstitems:entry is the current/upcoming version. - If it has
date: (TBD), append the new entry to itsnotes:array. - If the top item is already dated (a shipped release), insert a NEW
- version: <next>block above it withdate: (TBD)and the single new note. Ask the user for the next version number — do not invent it. - Match existing indentation exactly (2 spaces). YAML is whitespace-sensitive.
- After saving, run
make docs-filesto regeneratedocs/release-notes.md,docs/release-notes.mdx, anddocs/variables.yml. (The PostToolUse hook in.claude/settings.jsonwill also try to do this; running it explicitly here makes the success/failure visible.) - Show the user the diff:
git diff CHANGELOG.yml docs/release-notes.md docs/release-notes.mdx docs/variables.yml.
Schema reference (from CHANGELOG.yml header)
items:
- version: 2.28.0
date: (TBD) # or YYYY-MM-DD
notes:
- type: bugfix # bugfix | feature | security | change
title: Short title
body: >-
Two or three sentences describing the change and why it
is noteworthy. This is HTML.
docs: optional/path
image: optional/path
Things to avoid
- Do not edit
docs/release-notes.md,docs/release-notes.mdx, ordocs/variables.ymldirectly — they are generated. - Do not include markdown syntax in
body; it is rendered as HTML. - Do not set
date:to a concrete date for upcoming versions;make prepare-releasedoes that automatically for GA versions.