feat(changelog): one source file per release, generated outputs
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
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Release notes source
|
||||
|
||||
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.
|
||||
|
||||
```markdown
|
||||
---
|
||||
version: 1.22.2
|
||||
date: 2026-09-06
|
||||
title: 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`.
|
||||
Reference in New Issue
Block a user