Files
openchamber/changelog
Bohdan Triapitsyn 3d2bcf7ed6 chore(changelog): retire CHANGELOG.md as a dependency
The update dialog (server and desktop) now reads changelog/index.json and
renders title, intro and groups; the release workflow builds the GitHub
Release body and name from changelog/<version>.md; oc-dev, the issue-intake
agent, AGENTS.md and the changelog skill no longer point at the file.

CHANGELOG.md stays as a legacy copy for installs up to 1.22.1, which fetch
it for update notes. The generator refreshes it while it exists and never
recreates it, so deleting it after 2026-09-19 retires it for good.

Generated outputs hold released versions only, so editing unreleased.md
never makes them stale: agents write that file and nothing else, and
oc-dev create-release does the generation.

Claude-Session: https://claude.ai/code/session_01VqV56Hez25hTxXH4ipJfzH
2026-09-05 17:02:28 +03:00
..

Release notes source

One file per release, plus unreleased.md for what has not shipped. At release time oc-dev create-release turns unreleased.md into <version>.md with today's date and renders packages/vscode/CHANGELOG.md (extension, shown by the Marketplace as is) and index.json (website and the app's update dialog) from the released files. Edit the files here; the generated ones are overwritten and hold released versions only, so editing unreleased.md never leaves them stale.

---
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 validates every source file and fails when a generated file is behind the released sources; CI runs it. It writes nothing.

CHANGELOG.md at the repo root is legacy: app versions up to 1.22.1 fetch it from main for their update notes. It is refreshed while it exists and never recreated; delete it after 2026-09-19 and it is gone for good.

How to write the title and the bullets lives in .agents/skills/changelog-authoring/SKILL.md.