# MCR Box Changelog

## Version 1.4.0 - December 20, 2025

This release introduces audio VU meters with LUFS support and a new tablet-optimized compact view.

### New Features

- **Audio VU Meters**: Real-time audio level metering with LUFS support in preview panels
- **Tablet Compact View**: New PVW/PGM workflow optimized for tablet and touch interfaces
- **4K Resolution Support**: Buffer sizes now support up to 4K resolution

### Improvements

- **Dynamic Resolution Changes**: Encoder now handles resolution changes dynamically without preview failures
- **Dedicated Audio Metering Thread**: Audio metering runs in dedicated thread for better performance
- **Smaller Package Size**: Ubuntu CUDA package reduced from 353 MB to 95 MB

### Bug Fixes

- **Preview After Resolution Change**: Fixed preview failure after dynamic resolution changes
- **Audio Meter Thread**: Use detach instead of blocking join for audio meter thread
- **Graphics Sidebar**: Restored fixed width to graphics sidebar in GraphicsPanel
- **Encoder Preview Tearing**: Fixed encoder preview tearing and UI source switch updates
- **CSS Scoping**: Fixed tablet CSS classes to avoid conflicts with GraphicsPanel

---

## Version 1.3.7 - December 16, 2025

This release focuses on stream continuity and reliability with defense-in-depth watchdog systems.

### New Features

- **Configurable Watchdog Timeouts**: All watchdog thresholds are now configurable with sensible defaults
- **Emergency Audio**: Automatic emergency audio insertion when stream issues are detected
- **Defense-in-Depth Watchdogs**: Multiple layers of watchdog protection for maximum stream continuity
- **Output Watchdog**: New global processor output watchdog monitors encoder health
- **Target Connection Status**: Track and display target connection status with edit functionality

### Stability & Reliability

- **Encoder Freeze Prevention**: Video appsrc now uses non-blocking mode to prevent encoder freeze
- **Enhanced Buffer Reset**: Watchdog forces buffer reset after 5 seconds of stuck output
- **Global Processor Recovery**: Fixed recovery after failed source switch operations
- **Encoder Reset State**: Prevented encoder from getting stuck in reset-pending state

### Bug Fixes

- **RTMP Dynamic Targets**: Dynamic RTMP targets now correctly use FLV muxing
- **Preview Reconnect Loop**: Fixed infinite reconnect loop in preview windows
- **MPEG-TS Byte-Stream**: Added caps filter for vtdec to handle MPEG-TS byte-stream format
- **Debug Logging**: Improved debug logging filter and source restart behavior

---

## Version 1.3.0 - December 12, 2025

This release includes significant stability improvements, new features, and enhanced failover reliability.

### New Features

- **SRT Encryption for Output Targets**: Added optional encryption for SRT outputs with passphrase and key length (AES-128/192/256) configuration in the UI
- **WebSocket Preview Auto-Reconnect**: Preview windows now automatically reconnect with a frame watchdog that detects stalled connections and recovers automatically
- **UI Error Recovery**: Added ErrorBoundary with auto-refresh for white screen issues, plus blank screen detection that auto-recovers
- **Unicast UDP/RTP Sources**: Support for unicast UDP/RTP sources with network interface selection
- **Source Stats Tooltip**: Source statistics now shown in hover tooltip for cleaner UI
- **In-App User Guide**: Comprehensive help documentation accessible via F1 key

### Stability & Reliability

- **Failover on Startup**: P1 (priority 1) sources in breach during startup now correctly trigger failover to backup sources
- **LIVE Mode Trigger**: Switching to LIVE mode immediately evaluates active source for failover
- **Production Phase from Config**: Saved production phase (LIVE/PRE-SHOW) now correctly applied when loading configurations
- **PTS Discontinuity Detection**: Source processor detects and rebuilds pipeline on PTS discontinuity (handles SRT reconnections)
- **Encoder Startup Race Condition**: Fixed race condition in encoder startup and PTS handling on source reconnect
- **SRT Listener Resilience**: SRT listener workers now rebuild pipeline on error and stay alive after recovery
- **Read/Write Locking**: Refactored orchestrator to use shared_mutex, preventing UI deadlocks during long operations

### Licensing & Authentication

- **License Cache Fix (macOS)**: Fixed license caching on macOS DMG installs - tokens now persist across restarts
- **Remember Me Feature**: Added "Remember Me" option for 30-day persistent sessions
- **Stable Machine ID**: Improved machine fingerprinting to prioritize built-in network interfaces, preventing license invalidation
- **Trial Timer Fix**: Trial timer now correctly stops when a valid license is applied
- **File Sources**: File sources no longer require Pro license

### Graphics Engine

- **Graphics Framerate Fix**: Resolved low framerate issues in both live and primed graphics rendering
- **Template Path Fix (macOS)**: OGraf templates now work correctly on read-only DMG bundles
- **Priming Assets Fix**: Fixed primed graphics assets not being created correctly
- **Refresh Button**: Added refresh button to reload assets/templates/presets without restart
- **Template Preview**: Fixed template preview cutoff in graphics panel

### UI Improvements

- **System Settings Tabs**: Reorganized system settings into tabbed interface
- **Processing Page Tabs**: Reorganized processing page with side menu navigation
- **Vector Icons**: Replaced all emojis with inline SVG icons for consistent rendering
- **EULA/Licenses Modal**: Show EULA and Third-Party Licenses in modal dialogs
- **macOS App Bundle**: Proper .app bundle with signed DMG, notarization, and dock icon

### Bug Fixes

- **Config Loading**: Fixed URL decoding bug on macOS config loading
- **Dynamic Targets**: Fixed targets not being cleared on session end
- **Worker Synchronization**: Replaced fixed delays with proper worker-ready synchronization
- **Platform-Aware Storage**: Use AppPaths for correct data locations across platforms
- **No-Signal Alerts**: Network source alerts now respect threshold configuration
- **Protocol License Check**: Fixed protocol extraction from URI before license check

### Platform Support

- **Ubuntu 24.04**: Primary production platform with full GPU support
- **macOS**: Full support with signed/notarized DMG installer
- **Amazon Linux 2023**: Support discontinued

---

## Version 1.2.0 - December 7, 2025

Major release with session-based configuration management and EULA system.

### New Features

- **Session-Based Config Management**: Clean server startup with config selector, multiple named configurations
- **EULA System**: First-launch license agreement with acceptance flow
- **License Tier Enforcement**: Full feature gating based on license tier (Free/Pro)
- **Structured Logging**: Timestamps, thread IDs, JSON/SYSLOG formats
- **HEVC/H.265 Encoding**: Full GPU support for HEVC encoding

### Bug Fixes

- **Config Security**: JWT secret moved to protected file
- **Cross-Platform Paths**: AppPaths class for macOS DMG, Linux XDG, Windows compatibility

---

## Version 1.0.0-beta - November 16, 2024

Initial public beta release.

### Features

- Frame-Accurate Switching with GStreamer-powered engine
- Multi-Protocol Support: SRT, RTMP, UDP/RTP, MPEG-TS
- Real-Time Monitoring with WebSocket-based previews
- Intelligent Normalization for framerate and resolution
- Configuration Persistence via Web UI
- Embedded Web UI (HTTPS port 8443)

### Platform Support

- macOS (Apple Silicon)
- Ubuntu (via manual build)

---

## Feedback

Please report issues and feature requests on GitHub:
https://github.com/yarontorbaty/mcrbox/issues

For support, visit: https://mcrbox.com/contact
