Changelog

Archive

Every changelog entry since the project started, browsable by month. For the live feed, use /changelog — same data, reverse-chronological with the latest first.

How the archive works

Every PR merged to main flows through a three-tier sanitizer pipeline before landing in the public changelog:

  1. Tier 1 — raw archive: every PR captured verbatim (title, body, author, files). Internal-only.
  2. Tier 2 — sanitized: a nightly cron strips internal vocabulary (Sentinel, Vega, worktree paths) and rephrases for clarity. Still technical, public.
  3. Tier 3 — marketing: a second nightly cron drafts customer-facing entries. Skips entries flagged internal-only. This is what you see at /changelog.

Latency from merge to public changelog: 24-48 hours. The sanitizer is open about what gets stripped — see src/lib/changelog/sanitizer.ts.

Browse

Archive lookup by month is rendered in-line at /changelog. Scroll past today and entries are auto-grouped by month with sticky month headers. For deep historical lookup, every entry has a permalink at /changelog/YYYY-MM-DD-slug.

The header search bar (⌘K) indexes every changelog entry alongside the rest of the docs. Type a feature name, surface, or PR number; matches show up ranked by recency.

Per-entry deep links

Every changelog entry has a stable permalink + an OG image + RSS-discoverable feed entry. Share the URL freely; the page won't move or change content.