Skip to content

What's new panel ​

A sparkle icon in the dashboard header, next to the notifications bell, opens a short list of recent releases: version, date, and the bullet points from that release.

Where the content comes from ​

There is exactly one source of truth: the repository's root CHANGELOG.md, maintained automatically by release-please on every release. The control plane parses it once at startup (internal/changelog) and serves the most recent entries from GET /api/v1/changelog. Nothing is hand-curated a second time for this panel.

A control plane running from the official Docker image always has this file available. A bare binary install that hasn't shipped CHANGELOG.md next to the binary yet (see internal/changelog.ReadFile's default, ./CHANGELOG.md, overridable with APP_CHANGELOG_FILE) just shows an empty panel rather than failing.

Unread indicator ​

The badge counts how many releases are newer than the last one you opened the panel at. That "last seen version" is stored only in your browser (localStorage); opening the panel marks everything as read. It is a per-browser convenience, not account state, so a different browser or a cleared storage shows every entry as unread again.

CLI ​

levelrail-cli changelog [--limit N] prints the same entries from the terminal, as JSON with --json or human-readable otherwise.

Released under the Apache 2.0 License.