Release notes now live in changelog/<version>.md (front matter with
version and date, then ## App and ## VS Code sections grouped into
New, Improvements, Fixes, Misc) plus changelog/unreleased.md for what
has not shipped. `bun run changelog:build` renders CHANGELOG.md,
packages/vscode/CHANGELOG.md, and changelog/index.json from them;
`changelog:check` fails when the outputs are behind and runs in CI and
in release:prepare. `oc-dev create-release` promotes unreleased.md to
the versioned file dated today and rebuilds.
The existing history was split mechanically: every bullet kept, sorted
into groups by keyword, five hand-typed headers with one-digit days
normalised to YYYY-MM-DD (the update dialog matched none of them). The
generated files keep today's release headers, which the update dialog,
the release workflow, and the website match by regex.
Claude-Session: https://claude.ai/code/session_01VqV56Hez25hTxXH4ipJfzH
One file per release, plus unreleased.md for what has not shipped. bun run changelog:build renders CHANGELOG.md (app), packages/vscode/CHANGELOG.md (extension, shown by the Marketplace as is), and index.json (for the website). Edit the files here; the generated ones are overwritten.
---version:1.22.2date:2026-09-06title:optional one-line headline---
Optional intro paragraph shown above the groups.
## App
### New
- Something the user could not do before.
### Improvements
- Something they could do works better now.
### Fixes
- Something was broken; name the symptom.
### Misc
- Bundled tool versions, packaging, platform support, retirements.
## VS Code
### Fixes
- Only what the extension actually mounts. Written separately, on purpose.
Groups may appear in any order in a source file; the generator emits them as New, Improvements, Fixes, Misc and drops empty ones. A release without a ## VS Code section is absent from the extension changelog. unreleased.md has no front matter.
bun run changelog:check fails when the generated files are behind their sources; CI runs it. oc-dev create-release promotes unreleased.md to <version>.md with today's date and rebuilds.
How to write a bullet lives in .agents/skills/changelog-authoring/SKILL.md.