Files
openchamber/changelog
Bohdan Triapitsyn a1bc1368ae docs(changelog): title every release and require one
Every release file now carries a title: two to six plain words naming the
change a user would remember it for. The generator refuses a release without
one, promote carries the title from unreleased.md, and the unreleased
template opens with a title line. The changelog-authoring skill and the
format README describe how to write it.

Claude-Session: https://claude.ai/code/session_01VqV56Hez25hTxXH4ipJfzH
2026-09-05 16:45:29 +03:00
..

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.

---
version: 1.22.2
date: 2026-09-06
title: One-line headline, two to six words
---

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. Every release needs a title; unreleased.md carries only the title line in its front matter and gets version and date at release time.

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 the title and the bullets lives in .agents/skills/changelog-authoring/SKILL.md.