Q4 2025 Release Notes

October - December 2025


Highlights

This quarter focuses on mobile/tablet experience and reliability improvements with 141 commits. Key achievements:

  • Text-based events for system notifications without video
  • Health page overhaul - from minutes to seconds with server-side pagination
  • Major mobile and tablet UI overhaul with dedicated stylesheets
  • Network interface diagnostics overhaul with smart bad cable detection
  • ~2x faster page loads across key pages
  • Enhanced TetherBox health monitoring with comprehensive diagnostics
  • Live View player reliability improvements for iOS/Safari

User-Visible Changes

Text-Based Events ⭐

New event type for system notifications without video

Events can now be purely text-based, displaying system information directly in the event timeline without requiring camera footage. This enables proper tracking of:

  • Storage ejected/inserted events
  • TetherBox offline/online status changes
  • System alerts and notifications

Health Page Overhaul ⭐

Dramatically faster performance for large installations

The Health page has been completely rebuilt with server-side pagination. For integrators managing many sites: The page now loads in seconds instead of minutes. Each table (TetherBoxes, cameras, drives, etc.) loads independently, so you can start working immediately without waiting for everything to load.

  • Server-side pagination for all health tables
  • Each section loads independently
  • Instant filtering and sorting
  • No more browser freezes on large datasets

TetherBox Health Monitoring Enhancements ⭐

Comprehensive system health visibility improvements

For Facility Managers: - Clearer health status with actionable warnings - Proactive alerts for storage issues - MQTT heartbeat monitoring with staleness indicators - Full drive warnings with escalated status levels - "Unknown" status for TetherBoxes that have never connected

For Integrators: - CPU architecture visibility (x86-64-v4, v3, v2, ARMv8.2-A, ARMv8) - Network interface diagnostics (RX/TX errors, dropped packets) - Stress test results in readable format - Filesystem corruption detection with data loss risk alerts

New Diagnostic Features

  • Ejected Drives Detection: Critical alert when drives stop responding
  • IO Wait Monitoring: Warnings for disk performance issues
  • Slow Rotation Drive Warnings: Detection of sub-5400 RPM drives
  • LAN Interface Error Tracking: Cable status, link speed, carrier detection

Mobile & Tablet Experience ⭐

Major UI overhaul for mobile and tablet devices

Mobile-Optimised Layouts: - Dedicated layouts for live view, recordings, and user management - Touch-friendly controls throughout - Collapsible sidebar for more screen space - Bootstrap components optimised for touch interaction

Mobile Recordings View: - Dedicated mobile layout for recordings playback - Touch-friendly scrubbing and controls - Automatic layout switching when rotating device - Optimised controls for small screens

General Mobile Improvements: - Automatic mobile layout on phones and small tablets - Smooth handling when rotating device - Touch gestures throughout the platform - Better positioned help button on mobile - Improved bottom menu visibility

Live View Player Reliability ⭐

Improved stability on all platforms

Error Handling: - Specific error messages based on HTTP status: - 404: "Camera not found" - 401: "No permission for remote live view" - 406: "Live view outside scheduled hours" - 502/503: "TetherBox is not responding" - Graceful abort handling during navigation/refresh - First image load optimisation

Auto-Retry System (New): - Infinite retries in fullscreen mode - Exponential backoff (2s initial, 10s max) - Loading state during retry - Automatic recovery from temporary failures

iOS/Safari Improvements: - Native fullscreen prevention (WKWebView compatibility) - Autoplay in fullscreen mode - Pause recovery in fullscreen - Better object-fit styling

ANPR Whitelist/Blacklist Management

Inline plate management on camera pages

  • Whitelist and blacklist plates table directly on camera page
  • Add new plate form with group selection (whitelist/blacklist)
  • Expiry date support for temporary access
  • Last seen tracking
  • Server-side pagination

Camera Event Filtering

  • Always Ignore Events (New): Configure events to always ignore per camera
  • Complements existing "always notify" feature
  • Per-camera event type filtering

Network Interface Diagnostics Overhaul ⭐

Intelligent fault detection with significant reduction in false positive warnings

Major analysis of thousands of online units revealed that many reported network errors did not correspond to actual gaps in recorded footage. The system now intelligently detects real hardware and cable issues:

Smart Bad Cable Detection: - Detects bad Ethernet cables by correlating RX errors with TX collisions - Half-duplex detection (always indicates cable or switch port issue) - TX carrier errors flag link instability/flapping - Normalised thresholds based on camera count and uptime

Enhanced Display: - Default route indicator showing primary Internet interface - Gateway IP display for routed interfaces - Duplex status with warnings for half-duplex - Detailed tooltips: CRC errors, frame errors, hardware buffer issues - TX Collisions column (replaces TX Errors) with carrier error tracking

Diagnostic Data: - Carrier detection (cable unplugged = "no-carrier") - VPN interface handling improvements - MAC address and vendor display - Link speed, MTU, driver information - Dynamic vs static IP indication

Page Performance ⭐

~2x faster page loads across key pages

  • Events, TetherBoxes, Cameras and other key pages load around twice as fast
  • Drastically reduced database queries
  • Lazy-loaded filters with temporary placeholders while loading
  • Page sections load independently for faster time-to-interactive

API Changes

New Zone Endpoints

Two new endpoints for live view player integration:

  • GET /zones/:id/zone_config - Full zone configuration including streaming URLs, camera capabilities, and TetherBox settings. Used for initializing live view players.
  • GET /zones/:id/state - Current zone state including camera status, online state, and error messages. Used for polling state updates.

See the API documentation for full details.


Other Changes

Application Layout Updates

  • TetherBox config simplified for faster page loads
  • Download link expiry time now displayed
  • Browser back/forward navigation now works reliably with dynamically loaded pages

Subscription Dialog Modernisation

  • Unified confirmation dialog system replacing legacy modals
  • Cancellation confirmation dialog
  • Subscription update dialog with details
  • Better error handling and display

Real-Time Updates

  • More efficient real-time updates
  • Reduced unnecessary page refreshes
  • Smooth Row Deletion: Deleting resources (cameras, sites, devices, TetherBoxes) now smoothly removes the row from any table without refreshing the entire page or causing navigation errors
  • Three-Context Support: Deletion works correctly from index pages, show pages, and modal tabs (e.g., TetherBox cameras tab)
  • Graceful Handling: ActionCable updates for deleted resources no longer cause errors or unnecessary table refreshes

Internal Changes

Legacy ActionCable Cleanup

Removed legacy real-time update channels (sites, TetherBoxes, users, wireless). All functionality now handled by modern Stimulus controllers. For users: More reliable real-time updates with less browser memory usage.

Latency Tracking Improvements

  • More lenient stale threshold (10s → 30s) to reduce false warnings
  • More consistent latency display

Background Processing Improvements

  • Better handling of audit log sessions
  • Unified export cleanup (snapshots and event exports) with 7-day retention
  • Pending events automatically cleared after 3 minutes if stuck
  • Improved scheduled task reliability

Turbo Migration

  • Modernised delete confirmations throughout the platform
  • Consistent confirmation dialogs across all forms

Code Quality

  • Various bug fixes and code improvements
  • Better error logging throughout

Statistics

Metric Value
Commits 141
Lines added 23,660
Lines removed 11,895
Net change +11,765

Migration Notes

For Integrators

  1. Test mobile/tablet experience - major UI improvements
  2. Test live view on iOS - improved compatibility

For Facility Managers

  1. Review drive health alerts - new diagnostic features available
  2. Try mobile/tablet access - significantly improved experience
  3. Pending events auto-clear after 3 minutes if not processed