VoxUI surfaces changelog data in two read-only places: the full Release Notes page (src/pages/ChangeLog.tsx) and a compact widget (src/components/ChangeLogWidget.tsx). Both consume GET /api/v1/changelog.
These surfaces are read-only viewers. There is no changelog authoring UI in VoxUI — entries are created on the VoxBridge side and stored in the changelogs collection.

Release Notes page

At /dashboard/changelog, the page fetches GET /api/v1/changelog and renders a timeline of releases. Each release card shows:
  • Header — version, title, release date, and a deployment-status badge (deployed / pending / rollback).
  • Summary and a components bar of components_updated (VoxCore, VoxBridge, VoxUI), each color-coded.
  • Entries — per change: an icon by type, title, type + impact badges, component badge, description, optional technical details, optional before/after metrics, and optional affected call IDs.
Entry types and their icons/variants:
TypeIconVariant
featureGitBranchprimary
bugfixBugdanger
performanceZapsuccess
securityAlertTriangleprimary
operationalSettingsneutral
Impact maps to a badge variant: critical → danger, high/medium → primary, low → success. The page shows skeletons while loading and an empty state when there are no releases.

Latest-release widget

ChangeLogWidget is a compact card (used on the dashboard) that fetches GET /api/v1/changelog?limit=1 and renders the most recent release: version, date, title, up to three component tags, and the top three entries sorted by impact (critical > high > medium > low). A “+N more changes” line appears when there are more than three entries. The widget renders nothing while loading or if there is no release.

Changelog (VoxBridge)

Where changelog entries are authored and stored.