// User-facing release notes. One entry per released version, newest first. The end-of-line // `sha` is the repo commit the release was cut from (our stand-in for an issue/ticket ref); // it's attached when the version is tagged. `chores` are internal and hidden from the public // Release Notes dialog by default. export interface ReleaseEntry { version: string; date: string; // ISO date (YYYY-MM-DD) sha?: string; // short commit the release was tagged from summary?: string; features?: string[]; fixes?: string[]; chores?: string[]; } export const RELEASE_NOTES: ReleaseEntry[] = [ { version: "0.1.0", date: "2026-06-15", // sha filled in when v0.1.0 is tagged at release time. summary: "First release: a self-hosted, multi-user reader for your own YouTube subscriptions — " + "fast local-first feed with rich filtering, in-app playback with resume, and channel management.", features: [ "Multi-user feed of your own YouTube subscriptions: invite-only Google sign-in, per-user watch/save/hide state, encrypted token storage.", "Ingest: subscription import, free RSS new-video detection, recent-first and full-history backfill, metadata enrichment (duration, views, category, Shorts & livestream classification), a shared daily API-quota guard, and a background scheduler.", "Automatic tagging: system tags for channel language and topic (your own tags are never overwritten).", "Reader UI: grid/list feed scoped to your subscriptions; faceted tag filters, content-type toggles (Normal / Shorts / Live), date range, search and sort; four colour schemes (dark/light) with adjustable text size.", "In-app player: a modal YouTube player that resumes where you left off, auto-marks watched near the end, and turns description timestamps and links into clickable seeks.", "Watch progress: a resume progress bar on video cards, Continue / Restart buttons, and an “In progress” feed filter — your position is saved server-side, so it follows you across devices.", "Channel manager: per-channel priority, hide, personal tags, sync badges, and per-channel full-history opt-in.", "Header status: your video count vs. the whole catalogue, sync progress, and (for admins) a pause control; onboarding wizard; notification centre; admin usage & quota stats.", "About dialog and this Release Notes view, with a heads-up banner when a new version ships.", ], fixes: [ "Backfill no longer skips the band of videos sitting on the 365-day boundary page.", "A channel whose full catalogue is already stored is no longer stuck showing “needs full history”.", ], chores: [ "Public-readiness repo hygiene: internal planning/infra details removed, build stamped with version/commit.", ], }, ]; export const CURRENT_VERSION = RELEASE_NOTES[0]?.version ?? "dev";