AIO Relay Status
Single source page for release posture, current updates, known gaps, and roadmap checkpoints.
Active Release Policy (2026-09-11): Only the
current fully verified release (v2.1.5) is offered for download. Prior interim builds are retired from the download
distribution to ensure all operators work with the latest certified broadcast pipeline, featuring unified audio routing and multi-axis overlay stretching. The complete release evolution is chronicled below in Updates Since 1.0.0.
Current Package Baseline
v2.1.5
UI Version Marker
v2.1.5
Latest Runtime Update
2026-09-09
v2.1.5: multi-axis overlay stretching engine (width / height / corner scale)
v2.1.5: +1 cumulative text advance stepper (row-by-row live advance)
v2.1.5: decoupled dual focus windows (zero cross-talk)
v2.1.5: 14-word sliding CC preview broadcast parity
v2.1.5: interactive in-app production guides
Download policy: latest release only
Updated to v8!
Updated: dnd-kit drag/drop refactor
Improved: lock-state hardening
Auth worker live
NSIS + MSI build path working
Shutdown sequencing hardened
Write-route auth order corrected
Local shutdown remains available under auth lock
Boot settings hydration hardened
Master Switch contract normalized
Reload/Flush confirm + verification modals
Backend runtime modularized
Frontend orchestration modularized
v2.0: NMS → MediaMTX
v2.0: FLV.js removed, HLS-only
v2.0: Webhook-based event handling
v2.0: CI downloads both binaries
Runtime consistency hardening
Managed Ingest (Encoder / Playlist / AIO Studio)
AIO Studio Audio (Noise Gate / Auto Duck / Lo-Fi)
Measured app IN/OUT + NIC Net telemetry
Installer relaunch auth skip for activated systems
Lane-instance platform reassignment
Profile-scoped write protection
Hybrid tee failure truth improved
Desktop compile check passing
Ops runbook hardened
Updates Since 1.0.0
| Date | Area | Update |
|---|---|---|
| 2026-09-09 | v2.1.5 Multi-Axis Overlay Engine & Studio Production Guides | Released v2.1.5. Added multi-axis overlay stretching engine (symmetrical horizontal width stretch, vertical height stretch, and corner proportional scale for both text lower-thirds and file media overlays) with 30 FPS hardware acceleration. Integrated +1 cumulative text advance stepper with dual forward/backward arrow controls and relocated circular refresh clear icon. Decoupled dual focus windows (fileFocusWinRef and textFocusWinRef) for simultaneous on-air manipulation with independent focus outlines and zero interaction lockout. Closed Caption preview truncated to 14-word sliding window matching FCC/broadcast burn-in standards. Added persistent overlays across panel navigation (Stream Data view) and interactive in-app production guide modals for Studio, Ingest, Audio, and Master Switch panels. |
| 2026-09-05 | v2.1.4 Source Switching & Session-Scoped Mute/CYA | Released v2.1.4. Unified the audio/video runtime command control socket into a consolidated azmq channel for instantaneous zero-restart MUTE ALL and CYA stage switching. Restored immediate live audio engagement on source transitions and established session-scoped default states (always boots unmuted with curtain up). Active distribution policy established to provide only the latest certified release. |
| 2026-09-04 | v2.1.3 Zero-Restart Mute/CYA | Superseded by v2.1.4. Integrated zero-restart runtime MUTE ALL and CYA commands into the persistent /live/program pipeline. |
| 2026-09-04 | v2.1.2 Program-Bus Source Optimization | Released v2.1.2. Optimized program bus software encoding pipeline using proven libx264 baseline for instantaneous source transitions from placeholder to live broadcast feeds. Added end-to-end regression validation suite for live switching. |
| 2026-09-04 | v2.1.1 Stage-Correct Audio Chain & CYA 2nd Channel | Released v2.1.1. Repaired the full 3-stage audio meter chain: Studio VUs (Stage 1) → Master Switch Wavemeter on the live /live/program bus (Stage 2) → per-destination egress audio (Stage 3), with no cross-wired telemetry. MUTE ALL now actually mutes the outgoing program-bus audio at Stage 2 and survives profile saves. CYA became a true backend 2nd channel: an animated curtain replaces the on-air feed with clean dead-air while the live Studio feed stays untouched, plus a two-purpose UNMUTE ALL that passes the live source's audio under the curtain for return announcements. Preview Monitor and the CYA button now flash red critical alerts in unison when the curtain is down. |
| 2026-08-23 | v2.1.0 Video CYA, System Telemetry & Audio Repairs | Released v2.1.0. Added support for looping video CYA holding media (.mp4, .webm, .mov) with first-frame video thumbnail preview in Settings. Added single inline system telemetry row (CPU, GPU, RAM, VRAM, and APP) with subtle distinct colors. Integrated local 2.5G vs ISP 1G capacity planning with automated capture from the built-in OpenSpeedTest engine. Repaired Master Switch wavemeter voice energy detection while preserving flatline silence baseline. Fixed packaged backend root path resolution for portable license persistence. Updated feedback links directly to aiorelay.us. |
| 2026-08-18 | v2.0.0 Audio Sub-Panels & UI Parity Refactor | Refactored AIO Studio Audio processing section into dedicated 2-slider sub-panels for Echo, Noise, Gate, Duck, and Lo-Fi filters to preserve fixed drawer height. Renamed L3 position option "Center" to "Bot C", added Panel Shape (Rectangle vs Pill) and 50% opacity background color controls. Added "Playback Volume" tooltip and video overlay volume control with mic auto-ducking. Renamed APP to AIO in Bandwidth section. Hardened duckingDepth state declaration and verified 100% production build & lock manifest. |
| 2026-08-04 | v2.0 STABLE RELEASE — PRODUCTION BUILD | Finalized v2.0 Production Release. Hardened FFmpeg 8.0.1 hot-switch stability with MediaMTX overridePublisher: yes seamless source/placeholder switching. Expanded AIO Studio FILE overlays with support for still images (PNG/JPG/WebP) and video scrubbing controls, auto-hiding interactive player bar, and canvas resize handles. Corrected INGEST status indicators to monitor active video feeds instead of placeholder idle states. Locked all codebase files and manifests under Lockdown v2.0. |
| 2026-07-21 | v2.0.0 Multi-Screen & Ingest Safeguards | Added secondary Screen Share (SS2) and 3-Way Grid compositing (Camera on left half, SS1 on top-right, SS2 on bottom-right) inside the AIO Studio canvas. Integrated local video file playback injection (FILE button) with active WebAudio sub-mixing. Hardened startup security with a global egress safeguard that prevents any destination from auto-streaming on boot/profile load unless a broadcast is active. Added UI relocation rule (SOP) to ensure layout stability. |
| 2026-07-19 | v2.0.0 Standby CYA Loop | Added branded CYA standby loop: when live sources drop, Program Bus automatically loops the user's active CYA banner graphic with silent audio at 1080p 30fps to maintain 100% continuous broadcast ingest uptime on YouTube and destination streams. |
| 2026-07-19 | v2.0.0 Audio Loss & Studio Recovery | Hardened audio loss monitoring with a 3.0-second continuous dead-air threshold (< -40 dB) before flagging AUDIO LOSS, eliminating false-positive flashes during speech pauses. Updated AIO Studio screen share cancellation to fall back smoothly to camera/mic mode without WebRTC teardown or ICE reconnect delays. |
| 2026-07-19 | v2.0.0 Licensing & Activation Integrity | Hardened licensing runtime: setup installer binaries remain 100% clean (zero hardcoded keys), while user activations are preserved across upgrades from local data folders. Added local validation fallback for formatted keys if remote auth calls experience network glitches. Disabled auto-shutdown process kills on service errors. |
| 2026-05-12 | v2.0 Migration | Completed migration from Node Media Server to MediaMTX (transport/router). NMS fully removed: no legacy runtime, no patches, no dependency. FLV.js deleted; HLS.js remains as the only browser playback path. Webhook-based event handling replaces in-process NMS listeners. MediaMTX serves native LL-HLS for monitoring and exposes a REST API for stream lifecycle management. The watchdog and capture-source disconnect now poll the MediaMTX API instead of HLS mtime or NMS session state. CI workflows download MediaMTX binary at build time. This is an evolutionary, future-proof foundation. |
| 2026-03-16 | Modal + Installer Flow | Hardened shared modal positioning/scroll behavior, AIO Studio ingest handoff from external ingest, and installer auth-page gating so already-activated Windows machines can reinstall without being forced through a redundant license-key prompt. |
| 2026-03-16 | Measured Throughput | Corrected appliance bandwidth telemetry so app IN/OUT uses live ingest/progress-derived throughput instead of nominal configured bitrate math, while Net continues to show total physical NIC DOWN/UP traffic. |
| 2026-03-16 | Bandwidth Telemetry | Expanded bandwidth reporting so appliance throughput and physical uplink throughput can be compared against link capacity/headroom without redesigning the existing monitor surface. |
| 2026-03-16 | AIO Studio Audio | Added integrated audio processing for AIO Studio: Noise Gate, Auto-Ducking, Mic Gain controls, and Lo-Fi walkie-talkie mode, plus mic-confidence preview and mute controls. |
| 2026-03-16 | AIO Studio Ingest | Added startup source modes including AIO Studio (camera, mic, and display capture mixes) and Playlist looping, routed into the local ingest path with operator preset selection. |
| 2026-03-16 | Lane Model + Drawer Identity | Refactored platform columns to true lane instances so empty columns can be reassigned to another real platform type without cosmetic-only rename behavior; duplicate platform columns now persist as distinct lanes. |
| 2026-03-13 | Runtime Consistency | Hardened ingest session ownership, process/timer cleanup, profile-scoped write paths, serialized status polling, and tee/dedicated status truth so late events and stale telemetry no longer drift UI state away from backend runtime truth. |
| 2026-03-11 | Refactor + Runtime Architecture | Completed backend composition split from the former server.js monolith into focused runtime and route modules; frontend orchestration was similarly decomposed into shared helpers, hooks, and extracted control components for the v1.2.0 line. |
| 2026-03-10 | Release Refresh | Verified deterministic gate sequence for the current validation baseline: prebuild, lock verification, Windows bundle rebuild, installer manifest refresh, and final lock verification all passed. |
| 2026-03-10 | Auth + State Integrity | Hardened write-route auth middleware ordering, preserved loopback shutdown when auth is locked, restored boot-time server settings hydration, normalized the masterSwitch contract, and removed the dead backend lock API shim that no longer controlled runtime state. |
| 2026-03-10 | Recovery Controls UX | Updated Reload Ingest and Flush Cache to use explicit confirmation and completion/error verification modals; /api/flush now returns cleanup details (removedCount, skippedActiveKey). |
| 2026-03-10 | Shutdown + Auth Runtime | Hardened power-down flow so backend shutdown uses graceful teardown and desktop shutdown waits for backend stop with fallback cleanup, reducing orphan backend process risk during hard System Shutdown. |
| 2026-03-07 | Ingest Preview Optimization | Updated monitor behavior to HLS-first with FLV fallback, on-demand preview controls, and ingest-state/error visibility improvements for lower background bandwidth and better operator diagnostics. |
| 2026-03-07 | Security Hardening | Completed dependency hardening pass (6/7 vulnerabilities fixed), migrated to Vite 7.3.1, and documented remaining pkg advisory/mitigation track for v1.2. |
| 2026-03-06 | Code Integrity Audit | Verified post-drive-recovery repository integrity (locked file hash checks, syntax/config validation, and build-path readiness confirmation). |
| 2026-03-01 | Website + Auth Admin | Hardened website status/admin-auth surfaces: sanitization updates, safer saved-credential reset flow, and protocol doc cleanup for packaging/deploy consistency. |
| 2026-02-28 | Drawer DnD Refactor | Refactored drawer drag-and-drop stack to dnd-kit and removed legacy sortable/layered behavior to improve lock-state reliability and ordering persistence transparency in the v1.2.0 line. |
| 2026-02-28 | I/O Control Parity | Updated app I/O click now follows tray-equivalent Show/Hide UI state handling while press-and-hold still opens the Live Ops dashboard; close-ui contract updated to validate behavior path instead of hard-coded JSX binding. |
| 2026-02-28 | Ops Runbook | Completed deterministic release gate sequence and pre-build lock protocol standardization for the current release workflow. |
| 2026-02-28 | Dashboard Access | Updated ops dashboard access path: press-and-hold the app I/O button to open the Live Ops dashboard in a separate browser window (manual fallback: /docs/ops.html). |
| 2026-02-27 | User Tab + Branding | Improved station user-tab layout, brand upload filename handling, and backend URL resolution so brand preview/overlay remains consistent after modal transitions. |
| 2026-02-27 | Lock State Hardening | Improved settings persistence with lock-parity safeguards, dedicated lock-save path, and revision conflict protection to prevent stale saves from silently re-locking columns. |
| 2026-02-27 | FFmpeg Runtime | Updated to v8 (`ffmpeg`/`ffprobe` 8.0.1) with protocol/filter verification and smoke coverage documented in handoff artifacts. |
| 2026-02-23 | Appliance Window Policy | Hardened Desktop startup width policy to a fixed physical design envelope (1440px target with fit fallback) for more consistent first-launch presentation. |
| 2026-02-23 | Network Runtime | node-media-server host-bind behavior patched and made durable via patch-package so LAN mode intent is honored (localhost vs 0.0.0.0). |
| 2026-02-23 | Runtime Hardening | Drag/lock parity hardening restored via unlock-triggered recovery resync; prevented UI-unlocked but non-draggable column/card state. |
| 2026-02-22 | Branding + Drawer | Brand overlay workflow stabilized (upload/select/remove/persistence) and rendered behind columns; cards remain visually solid. |
| 2026-02-22 | Tray + Recovery UX | Tray Reset Relay/Shutdown Relay confirms moved to in-app modals; Recover I/O now restores a safer drawer-closed recovery state. |
| 2026-02-21 | API Parity | Start/stop route naming aligned to UI controls: /api/startall and /api/stopall; docs synchronized. |
| 2026-02-21 | Auth Hardening | Activation/license flow moved to fail-closed startup defaults with server-side write-route auth gating. |
| 2026-02-21 | Profile Behavior | Profile switching logic corrected to block only on active destination playout, not ingest-only live state. |
| 2026-02-21 | Modularization | Tauri runtime split into focused modules: backend supervisor, window policy, tray controller, and lifecycle handlers. |
| 2026-02-21 | Desktop Runtime | Tray menu cleanup (4 actions), window policy centralization, backend spawn dedupe, and safer reset/kill handling in `main.rs`. |
| 2026-02-18 | Website + Distribution | `/download` page aligned with password-gated distribution and direct installer/checklist links in the `downloads/` file folder. |
| 2026-02-17 | Ops + Docs | Reality check, v2 planning, and process docs expanded to capture shipping status and open hardening gaps. |
| 2026-02-16 | Auth + Build | Key lifecycle endpoints and installer outputs stabilized for `.exe` and `.msi` production flow. |
Accomplishments + Failures
Transparent technical record of key milestones, architectural refactors, runtime failures, and permanent resolutions across releases (reverse chronological order).
| Date | Type | Detail |
|---|---|---|
| 2026-09-09 | Accomplishment (v2.1.5) | Shipped Multi-Axis Overlay Stretching Engine with 30 FPS hardware acceleration: symmetrical horizontal width stretch (right grip), vertical height stretch (bottom grip), and corner proportional scaling for lower-third text and file overlays. |
| 2026-09-09 | Accomplishment (v2.1.5) | Integrated +1 cumulative text advance stepper with dual forward/backward arrow controls and relocated circular refresh clear icon for row-by-row live broadcast stepping. |
| 2026-09-09 | Accomplishment (v2.1.5) | Decoupled dual focus windows (fileFocusWinRef and textFocusWinRef) for simultaneous on-air manipulation with independent color outlines (Blue for File, Orange for Text) and zero mouse interaction lockout. |
| 2026-09-09 | Accomplishment (v2.1.5) | Live Closed Caption preview truncated to 14-word sliding window matching FCC/broadcast burn-in standards. Added persistent overlays across panel navigation and interactive in-app production guide modals for Studio, Ingest, Audio, and Master Switch panels. |
| 2026-09-09 | Failure (Resolved) | Simultaneous on-air manipulation of text overlays and file media overlays suffered from mouse event crossover and focus lockout where selecting one overlay prevented dragging or scaling the other. |
| 2026-09-09 | Resolution | Decoupled overlay refs into dedicated independent focus containers (fileFocusWinRef, textFocusWinRef) with isolated event listeners and distinct color focus outlines. |
| 2026-09-09 | Failure (Resolved) | Closed caption preview accumulated unbounded multi-line text buffers that overflowed the monitor canvas during long broadcast sessions. |
| 2026-09-09 | Resolution | Implemented a 14-word sliding window FIFO buffer for the CC preview, maintaining strict parity with FCC broadcast burn-in standards. |
| 2026-09-05 | Accomplishment (v2.1.4) | Unified audio and video runtime commands into a single consolidated azmq channel, servicing both volume and overlay enable commands with zero graph initialization aborts. |
| 2026-09-05 | Accomplishment (v2.1.4) | Enforced session-scoped MUTE ALL and CYA curtain states: application strictly boots unmuted with curtain up on launch, eliminating stale muted state restores. |
| 2026-09-05 | Accomplishment (v2.1.4) | Established active-release distribution policy on the download portal and website to distribute only the latest certified release and fully retire prior iterations. |
| 2026-09-05 | Failure (Resolved) | Every MUTE/CYA-enabled source switch crashed graph initialization with Could not bind ZMQ socket: Address in use (code 0xABAFB008), stranding the program bus on dead-air placeholder. |
| 2026-09-05 | Resolution | Discovered that audio azmq and overlay zmq filters both hard-bound tcp://*:5555. Collapsed into a single azmq socket servicing both commands and codified AGENTS.md rule. |
| 2026-09-04 | Accomplishment (v2.1.3) | Integrated zero-restart runtime MUTE ALL and CYA commands into the persistent /live/program pipeline with NVENC strict keyframe enforcement. |
| 2026-09-04 | Failure (Resolved) | Adding a secondary zmq overlay filter alongside azmq audio filter caused port 5555 bind collisions during live hot-switches. |
| 2026-09-04 | Resolution | Superseded by v2.1.4 single-socket architecture. |
| 2026-09-04 | Accomplishment (v2.1.2) | Optimized program bus software encoding pipeline using proven libx264 baseline for instantaneous source transitions from placeholder to live feeds with regression validation suite. |
| 2026-09-04 | Accomplishment (v2.1.2) | Enforced strict Closed GOPs (-flags +cgop, -sc_threshold 0, -keyint_min) across distribution runtimes. |
| 2026-09-04 | Failure (Resolved) | YouTube Live ingest stuck indefinitely on "Preparing Stream" during initial connection. |
| 2026-09-04 | Resolution | Restored Closed GOP and fixed IDR intervals; dynamic scene-cut insertion banned in egress pipelines. |
| 2026-09-04 | Accomplishment (v2.1.1) | Repaired 3-Stage Audio Meter Chain: Studio VUs (Stage 1) → Master Switch Wavemeter on /live/program bus (Stage 2) → Per-destination egress audio (Stage 3). |
| 2026-09-04 | Accomplishment (v2.1.1) | CYA backend 2nd channel architecture: animated curtain replaces on-air feed with clean dead-air while live Studio feed continues uninterrupted. Preview Monitor and CYA button flash red critical alerts in unison. |
| 2026-09-04 | Failure (Resolved) | Master Switch wavemeter flatlined during local Studio use because Stage 2 was improperly reading Stage 3 telemetry, and lavfi.astats parser dropped multi-line buffer chunks. |
| 2026-09-04 | Resolution | Hardcoded MasterSwitch to Stage 2 audioHealth and split incoming probe buffer chunks by newline before parsing. |
| 2026-08-23 | Accomplishment (v2.1.0) | Added video CYA holding media (.mp4, .webm, .mov) with first-frame thumbnail preview in Settings; added system telemetry row (CPU, GPU, RAM, VRAM, APP) with OpenSpeedTest capacity planning. |
| 2026-08-23 | Accomplishment (v2.1.0) | Preserved portable license state across application upgrades by loading existing user state from local user data folders. |
| 2026-08-23 | Failure (Resolved) | Bundled FFmpeg binary rejected -rw_timeout, -reconnect, -reconnect_streamed, and -reconnect_delay_max CLI flags with Option not found, causing immediate source process termination. |
| 2026-08-23 | Resolution | Removed invalid CLI flags; verified hot-switch overlap logic in program-bus.js handles RTSP drop resilience without binary flags. |
| 2026-08-23 | Failure (Resolved) | Adding -re flag to live RTSP network inputs caused artificial delay loops, buffer underruns, and frame drops to egress destinations. |
| 2026-08-23 | Resolution | Banned -re on live network inputs; restricted -re strictly to static offline file inputs. |
| 2026-08-18 | Accomplishment (v2.0.0) | Refactored Studio Audio processing section into dedicated 2-slider sub-panels for Echo, Noise, Gate, Duck, and Lo-Fi filters to preserve fixed drawer height. Added L3 Panel Shape and 50% opacity background controls. |
| 2026-08-04 | Accomplishment (v2.0 STABLE) | Lockdown manifest regenerated (369 files verified) for STABLE RELEASE v2.0 - PRODUCTION BUILD. Prebuild checks (ESLint, preflight, Vite build, test suite) all passing with zero errors. |
| 2026-08-04 | Failure (Resolved) | Browser stream.getTracks() returned audio and video tracks in non-deterministic order, causing MediaMTX RTSP track-index inversion (Track 0 Audio, Track 1 Video) and FFmpeg decode crashes. |
| 2026-08-04 | Resolution | Codified strict deterministic track addition: Video track added first (Track 0), Audio track added second (Track 1). |
| 2026-08-04 | Failure (Resolved) | Browser-native confirm() and alert() calls in Tauri shell were suppressed or silently returned false, causing destination stop and power-down buttons to appear frozen. |
| 2026-08-04 | Resolution | Replaced all browser dialogs with custom in-app React modal system (<Modal>, .system-modal-overlay). |
| 2026-07-21 | Accomplishment (v2.0.0) | Added secondary Screen Share (SS2) and 3-Way Grid compositing in AIO Studio canvas; local video file playback injection (FILE button) with active WebAudio sub-mixing. Added global egress safeguard against boot auto-streaming. |
| 2026-07-19 | Accomplishment (v2.0.0) | Added branded CYA standby loop: Program Bus automatically loops active CYA banner graphic with silent audio at 1080p 30fps when live sources drop. |
| 2026-07-19 | Accomplishment (v2.0.0) | Hardened audio loss monitoring with 3.0-second continuous dead-air threshold (< -40 dB) before flagging AUDIO LOSS, eliminating false-positive flashes during speech pauses. |
| 2026-07-19 | Accomplishment (v2.0.0) | Hardened licensing runtime: setup installer binaries remain 100% clean (zero hardcoded keys), preserving user activations across upgrades from local data folders. |
| 2026-05-12 | Accomplishment (v2.0) | Node Media Server fully replaced by MediaMTX (RTMP ingest, LL-HLS serving, REST API). Binary managed via spawn/kill lifecycle with temporary YAML config generation. |
| 2026-05-12 | Accomplishment (v2.0) | Five NMS event handlers replaced by two webhook endpoints (/api/webhook/publish-start, /api/webhook/publish-end). Capture-source disconnect migrated to DELETE /v3/paths/delete/{key} via MediaMTX API. |
| 2026-05-12 | Accomplishment (v2.0) | Monitor runtime fully removed (backend/monitor-runtime.js deleted). Watchdog migrated from HLS mtime polling to MediaMTX API health checks. FLV.js vendor file and all FLV playback stripped; HLS-only monitoring via HLS.js. |
| 2026-05-12 | Accomplishment (v2.0) | node-media-server removed from package.json, patch-package eliminated, NMS patch file deleted. CI workflows updated to download MediaMTX and LiveForze binaries at build time. |
| 2026-03-16 | Accomplishment | AIO Studio ingest shipped on Windows for Encoder, Playlist, and AIO Studio modes, including webcam/mic and display mixes, noise gate, auto-ducking, walkie-talkie mode, and mic-confidence preflight path. |
| 2026-03-16 | Accomplishment | Platform columns now use a lane-instance model, allowing duplicate real platform lanes and true empty-column platform reassignment instead of cosmetic rename overrides. |
| 2026-03-16 | Accomplishment | Bandwidth telemetry now separates measured appliance IN/OUT from total physical-NIC Net DOWN/UP, with the 8x estimate-conversion error documented and removed from the live path. |
| 2026-03-16 | Accomplishment | Installer auth flow was corrected so persistent activation state can skip the redundant license-entry page on reinstall, rather than forcing already-licensed systems through a repeat key prompt. |
| 2026-03-13 | Accomplishment | Runtime consistency hardening closed stale-session teardown, orphan timer/process cleanup, profile-write crossover, and polling truth drift discovered during second-pass runtime audit. |
| 2026-03-11 | Accomplishment | Backend and frontend runtime orchestration were modularized without changing the locked dashboard layout, reducing monolith risk ahead of the v1.2.0 release line. |
| 2026-03-10 | Accomplishment | Shutdown/auth failure path stabilized with graceful backend teardown and supervisor-backed stop confirmation in desktop power-down flow. |
| 2026-03-10 | Accomplishment | Operator visibility improved for recovery actions: Reload/Flush now require confirmation and return explicit success/failure feedback. |
| 2026-03-10 | Accomplishment | Auth-protected mutation routes were reordered correctly, local shutdown under auth lock was preserved, and startup settings hydration was fixed to prevent stale browser cache from overwriting the active profile. |
| 2026-03-10 | Accomplishment | The legacy backend /api/settings/locks shim was retired; runtime lock ownership remains in the UI and lock fields continue to be stripped from persisted settings. |
| 2026-03-07 | Accomplishment | Security hardening cycle completed (6/7 npm issues fixed) with risk acceptance documentation for the remaining pkg advisory. |
| 2026-03-07 | Accomplishment | Ingest preview stability and bandwidth behavior improved with HLS-first + FLV fallback and explicit monitor status/error signaling. |
| 2026-03-06 | Accomplishment | Post-drive-recovery integrity audit passed: repository structure, lock hashes, and build contracts validated before release continuation. |
| 2026-02-28 | Accomplishment | I/O parity finalized: click performs tray-equivalent show/hide UI behavior; press/hold opens Live Ops dashboard window. |
| 2026-02-28 | Failure (Resolved) | Sortable/layer-based drawer interactions repeatedly regressed under lock-heavy scenarios (blocked drag, snapback, directional reorder faults, lane distortion). |
| 2026-02-28 | Resolution | DnD layer refactored to dnd-kit; sortable fallback path is not recommended for this drawer surface. |
| 2026-02-27 | Accomplishment | FFmpeg runtime upgraded to 8.0.1 with protocol/filter verification and runtime smoke validation. |
| 2026-02-27 | Accomplishment | Settings/lock save path hardened to prevent stale modal saves from silently re-locking columns. |
Bandwidth Badge Legend
| Badge | Meaning |
|---|---|
| Status: OK / POOR / WEAK / UNSTABLE | Overall quality state derived from recent throughput + jitter scoring while live. |
| Status: CONGESTION / BLOCKED / FAILURE | Upload-path degradation tiers; these indicate increasing egress risk and should be investigated immediately. |
| Reason: STREAM ERROR / NO INGEST / AUDIO LOSS | Current top-level fault hint shown beside the monitor to speed operator diagnosis. |
| Reason: DEST FAIL / HIGH UTILIZATION / HIGH JITTER | Destination-specific failures or network stress indicators that may explain quality drops. |
Throughput values are NIC-based best-effort estimates. Link capacity reflects adapter link speed, not a guaranteed ISP speed test.
Known Gaps / Active Hardening
Operational
- CLOSED: v2.1.5 released 2026-09-09 — multi-axis overlay engine (width/height/corner scaling), +1 cumulative text advance stepper, decoupled dual focus windows, 14-word sliding-window CC broadcast preview, interactive in-app production guides, all lockdown files verified, installer published.
- CLOSED: v2.1.4 released 2026-09-05 — crash-fix verified (single
azmqsocket), 91/91 tests passing, lint clean, 418 lockdown files verified, installer SHA256 published. - CLOSED: download page offers latest release only (v2.1.5); prior v2.1.0–v2.1.4 installers fully retired from the web surface (active release policy updated 2026-09-11).
- Artifact manifest/checksum publication should be formalized for external release traceability.
- Stripe checkout still needs a full end-to-end smoke test against the current website/deploy package.
Security / Access
- Publisher identity/signing reputation workflow is in progress for improved SmartScreen trust posture.
- Administrative tooling is restricted to authorized operators.
Quality / UX
- Transparency: the prior DPI scaling anomaly was traced to a corrupted profile on a single test machine.
- Appliance sizing policy is improved and hardened across single- and multi-monitor setups.
- FFmpeg-first AIO Studio audio muting still rebuilds the managed capture worker; native no-restart audio gating remains future architecture work.
- MediaMTX temp YAML config is cleaned on shutdown; potential orphan config file if process is killed ungracefully.
- Retired prior builds (v2.1.0–v2.1.4) are no longer downloadable by design — the full release history for each is preserved in the release history documentation so the evolution remains transparent.
Roadmap + Timeline (v2.0+)
Immediate (0-7 days)
- Monitor active v2.1.5 production deployments and ecosystem telemetry.
- Maintain MediaMTX push-webhook exclusivity and zero-idle encoding architecture.
- Run a full Stripe checkout smoke test against the current website package and hosted flow.
- Complete feedback intake and triage pass for merge-back to
main. - Maintain deterministic gate sequence (
update-locks→verify→prebuild→build→verify).
Near-Term (1-3 weeks)
- Publisher signing/reputation hardening for better SmartScreen trust posture.
- SRT/RIST egress options on the MediaMTX foundation.
- Continue lock-state and drag persistence regression coverage on the
dnd-kitpath.
Deferred / Parked
- Internal
tbar-*nomenclature refactor remains parked by operator direction. - Control-surface integration model (Stream Deck first, extensible mapping later).
- Policy-based output auto-recovery orchestration.
- Multi-ingest routing via MediaMTX path-based remapping.
- Recording, clipping, and local archiving controls.
Source Docs Used
docs/AIORelay_Release_History_v2.0-2.1.md(v2.1.0 → v2.1.5 release history, 2026-09)- Internal release handoff records (v2.0 line: liveforge-v2.0 branch, 2026-05-12)
docs/HANDOFF_REFACTOR_v1.2_FINAL_2026-03-11.md- Internal runtime consistency audit + hardening notes (2026-03-13)
docs/BANDWIDTH_TELEMETRY_POSTMORTEM_2026-03-16.md- Internal drag/drop refactor postmortem notes
- Internal release state and readiness logs
CODE_INTEGRITY_REVIEW_2026-03-06.mdHANDOFF_SECURITY_HARDENING_2026-03-07.mdRELEASE_STATUS_v1.1.1.mddocs/SECURITY_AUDIT_2026-03-07.mddocs/INGEST_PREVIEW_OPTIMIZATION_2026-03-07.mddocs/HLS_FLV_PREFERENCE_REVERSAL_2026-03-07.md- Internal shutdown/auth runtime stabilization notes (2026-03-10)
- v2.0 branch: liveforge-v2.0 (2026-05-12) — MediaMTX migration
This page is intentionally static for now so it can later be mirrored into Notion, AppFlowy, or any third system without coupling.