{
  "name": "Lumi Core",
  "version": "0.3.0",
  "channel": "stable",
  "released_at": "2026-07-24",
  "compatible_from": "0.1.9",
  "migration_kind": "minor",
  "replaces_versions": [
    "1.2.0"
  ],
  "migration_notes": "Adds private OBS stream testing, crash-safe exact-service restoration, corrected overlay media boundaries, and repeatable Companion update checks. Existing settings, databases, pairing records, stream credentials, overlays, uploads, models, secrets, plugin data, and local-only plugins are preserved. Stream-test fragments are ephemeral and removed at session end.",
  "rollback_safe": true,
  "requirements": [
    "Node.js 18 or newer",
    "FFmpeg for the optional private Stream Testing receiver"
  ],
  "versions": [
    {
      "version": "0.2.0",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "version_correction",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Corrected the mistakenly published 1.2.0 version and repaired core/plugin update boundaries."
    },
    {
      "version": "0.2.1",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Update-page behavior and wording fixes only; preserved local data is not replaced."
    },
    {
      "version": "0.2.2",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds stage-specific plugin update preflight/error reporting and an optional secured read-only production diagnostics endpoint; preserved local data is not replaced."
    },
    {
      "version": "0.2.3",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Fixes shared browser form endpoint resolution for timed confirmations and repository updates; preserved local data is not replaced."
    },
    {
      "version": "0.2.4",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Uses the administrator's current Lumi origin in production diagnostics examples; preserved local data is not replaced."
    },
    {
      "version": "0.2.5",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Recognizes forwarded HTTPS from local/private reverse proxies for secured diagnostics; preserved local data is not replaced."
    },
    {
      "version": "0.2.6",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Updates plugin code without renaming a running plugin's preserved data directory, avoiding Windows and network-share locks; preserved local data is not replaced."
    },
    {
      "version": "0.2.7",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds the live streamlined Lumi AI feedback queue and searchable finalized-feedback history; existing feedback and plugin data are preserved."
    },
    {
      "version": "0.2.8",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Fixes Lumi AI feedback review actions and failure reporting; existing feedback, corrections, models, settings, and plugin data are preserved."
    },
    {
      "version": "0.2.9",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Fixes shared browser form endpoint shadowing and Lumi AI feedback 404 responses; existing feedback, settings, models, corrections, and plugin data are preserved."
    },
    {
      "version": "0.2.10",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Fixes local Windows startup and automatic dependency repair under Node.js 24; all existing data remains preserved."
    },
    {
      "version": "0.2.11",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds structured logging columns, redaction, retention, and the enhanced administrator log viewer; existing log rows and all other local data remain preserved."
    },
    {
      "version": "0.2.12",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Fixes OBS overlay transparency and preview-to-output layout parity; existing overlay data, tokens, scenes, sources, and all other local data remain preserved."
    },
    {
      "version": "0.2.13",
      "channel": "stable",
      "released_at": "2026-07-18",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds OBS-style website document CSS injection with secure scoped render tickets; existing overlay sources, URLs, CSS, tokens, and all other local data remain preserved."
    },
    {
      "version": "0.2.14",
      "channel": "stable",
      "released_at": "2026-07-19",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds the native multi-platform Lumi chat overlay source; existing overlay records, tokens, scenes, sources, settings, databases, plugin data, models, uploads, feedback, and secrets remain preserved."
    },
    {
      "version": "0.2.15",
      "channel": "stable",
      "released_at": "2026-07-19",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Improves native chat delivery, filtering and artwork, live unsaved overlay editing, and alert transparency; existing overlay records, tokens, scenes, sources, settings, databases, plugin data, models, uploads, feedback, and secrets remain preserved."
    },
    {
      "version": "0.2.16",
      "channel": "stable",
      "released_at": "2026-07-19",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Improves native chat preview focus, avatars, alignment, compact sizing, animations, and Discord emoji/GIF media; existing overlay records, tokens, scenes, sources, settings, databases, plugin data, models, uploads, feedback, and secrets remain preserved."
    },
    {
      "version": "0.2.17",
      "channel": "stable",
      "released_at": "2026-07-19",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds responsive standalone OBS chat docks backed by existing native chat settings and revocable credentials; existing overlay records, tokens, scenes, sources, settings, databases, plugin data, models, uploads, feedback, and secrets remain preserved."
    },
    {
      "version": "0.2.18",
      "channel": "stable",
      "released_at": "2026-07-19",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds centralized command policies, conditional replies, platform clip and raid actions, and OBS replay saving; existing commands, usage totals, overlays, tokens, scenes, sources, settings, databases, plugin data, models, uploads, feedback, and secrets remain preserved."
    },
    {
      "version": "0.2.19",
      "channel": "stable",
      "released_at": "2026-07-19",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Improves command-policy administration with a protected inherited default group, conditional effective-value summaries, fuzzy searching and filters, clearer command origins, and atomic multi-command saves; existing commands, policies, groups, usage totals, overlays, tokens, scenes, sources, settings, databases, plugin data, models, uploads, feedback, and secrets remain preserved."
    },
    {
      "version": "0.2.20",
      "channel": "stable",
      "released_at": "2026-07-19",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds comma-separated aliases for conditional command reply rules; existing commands, policies, groups, usage totals, overlays, tokens, scenes, sources, settings, databases, plugin data, models, uploads, feedback, and secrets remain preserved."
    },
    {
      "version": "0.2.21",
      "channel": "stable",
      "released_at": "2026-07-19",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds cached BetterTTV global, channel, and shared emote rendering to Twitch messages in Lumi chat overlays and standalone OBS chat docks; existing commands, policies, groups, overlays, chat settings, tokens, scenes, sources, databases, plugin data, models, uploads, feedback, and secrets remain preserved."
    },
    {
      "version": "0.2.22",
      "channel": "stable",
      "released_at": "2026-07-19",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds event-driven overlay sound and temporary visual alerts for Twitch follows, raids, subscriptions, gifted subscriptions, and Discord member joins; existing overlays, sources, tokens, settings, databases, plugin data, models, uploads, feedback, and secrets remain preserved."
    },
    {
      "version": "0.2.23",
      "channel": "stable",
      "released_at": "2026-07-20",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds an admin content-delivery library with verified uploads, revocable read-only delivery, storage controls, and a shared plugin API, plus the OBS media CSP fix; existing data remains preserved and content files are additive under data/content-library."
    },
    {
      "version": "0.2.24",
      "channel": "stable",
      "released_at": "2026-07-20",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Repairs resource locking, deletion, downloads, responsive cards, embedded media previews, empty/filter states, and live storage-limit reflection; existing content files, metadata, settings, and all other preserved data remain unchanged."
    },
    {
      "version": "0.2.25",
      "channel": "stable",
      "released_at": "2026-07-22",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds the shared DesignMotionHQ UX foundation, repaired overlay and resource-library workflows, and verified snapshot-backed switching between main and exact experimental branches. Existing content, settings, tokens, overlays, databases, uploads, models, feedback, secrets, plugin data, and local-only plugins are preserved."
    },
    {
      "version": "0.2.26",
      "channel": "stable",
      "released_at": "2026-07-24",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Adds the stable Lumi Companion, server-hosted transcription, Song Overlay, shared paired-device authentication, and synchronized core-plus-bundled-plugin updates. Existing settings, databases, pairing records, tokens, overlays, uploads, models, secrets, plugin data, and local-only plugins are preserved."
    },
    {
      "version": "0.2.27",
      "channel": "stable",
      "released_at": "2026-07-24",
      "compatible_from": "0.1.9",
      "migration_kind": "patch",
      "replaces_versions": [
        "1.2.0"
      ],
      "rollback_safe": true,
      "migration_notes": "Completes exact-release bundled-plugin synchronization after legacy core-only updates while preserving local data."
    }
  ]
}
