github Vateron-Media/XC_VM 2.5.0
v2.5.0

pre-release4 hours ago

🚀 XC_VM v2.5.0

A major modernization release. The administration and reseller panels have been
rebuilt on Bootstrap 5 with JSON-driven tables, modal/tabbed forms, a new
dashboard and navigation — alongside continued streaming, module and update
system improvements.

✨ Highlights

  • Complete Bootstrap 5 admin UI migration — new shell, layout, navigation,
    dashboard, tables, forms and modals.
  • JSON-driven management tables replacing the legacy positional-column
    rendering, with client-side rendering, filters, live refresh and bulk actions.
  • New dashboard with statistics cards, live stats and a world map of active
    connections
    .
  • Global quick search in the admin header, with results rendered as cards.
  • Reseller panel migrated to the same Bootstrap 5 UI.
  • Redesigned admin & reseller login as a sci-fi HUD interface.
  • Per-user UI customization persisted in users.ui_prefs.

🎨 Admin UI (Bootstrap 5)

  • New per-page opt-in admin shell and a Bootstrap 5 v10.11.1 asset kit; assets
    split into old/new and later flattened, dropping the legacy tree.
  • Shared per-page topbar (JSON-driven), reorganized sidebar into a cleaner
    information architecture, and a Content split into Streaming / VOD /
    Distribution tabs.
  • Management tables migrated to clean-JSON endpoints: Live Streams, VOD/Movies,
    TV Series & Episodes, Users/Resellers, MAG & Enigma2 devices, Radio Stations,
    Servers & Proxy Servers, Lines & Live Connections, EPG, Backups, Packages/
    Groups/Codes/Providers, Blocked IPs/ISPs/ASNs/User-Agents/HMACs/RTMP IPs,
    Created Channels, Tickets, Transcoding Profiles, On-Demand Scanner, VOD Theft,
    Stream Rank, Encoding Queue, and the log tables (Panel Errors, Login, Client,
    Credit, Reseller, Activity, Stream Errors, Restream, MAG Events, System).
  • Edit forms rebuilt as Bootstrap 5 modals / tabbed layouts: live streams,
    movies, series, episodes, radios, MAG & Enigma2 devices, lines, users
    (resellers), packages/groups/codes/providers, HMAC, EPG, bouquets, proxy,
    servers, transcode profiles, fingerprint, and the *_mass bulk-edit forms.
  • Live table auto-refresh (soft-live: only changed rows re-render, paused on an
    open dropdown), modal delete confirmations, in-table player previews, and
    select2 owner/bouquet/package pickers.
  • Replaced native alert() dialogs with a shared xcToast notification.
  • Fixed navigation labels and expanded i18n coverage.

📊 Dashboard

  • Rebuilt on Bootstrap 5 with statistics cards and page-prefixed i18n.
  • Added a connections world map (jsvectormap) and redesigned server cards
    with sparklines.
  • Live statistics with polling reduced from 1s to 5s.
  • Live per-user interface customizer persisted to users.ui_prefs.
  • Added a dedicated Home dashboard nav item.

🔧 Modules & Updates

  • Added module provider contracts for topbar, tables, permissions and quick
    tools; moved those concerns out of core into dedicated providers.
  • Added per-repository update channels (Stable/Beta) for the panel, binaries
    and the xc_fanout daemon.
  • Improved GeoIP release synchronization: GitHubReleases is now a generic
    release client, with GeoLite2/GeoIP2-ISP sync owned by the domain layer and
    the ISP database updated through the same path as GeoLite2.

🎬 Streaming & Fanout

  • Added a panel setting to configure the xc_fanout source backend
    (auto / ffmpeg / native).
  • Added xc_fanout version tracking (sidecar file) and integrity probing.
  • Kept HLS MEDIA-SEQUENCE monotonic across off-air ↔ live transitions.
  • Reworked the admin stream entry points (live/vod/timeshift/thumb) for
    readability and testability, and fixed a segment retry-budget precedence bug
    and a stats division-by-zero.

🛠 Fixes

  • Fixed cron:vod aborting on degenerate ffprobe output under PHP 8.
  • Fixed load-balancer installation on Ubuntu 24.04 / Debian 13 (missing curl)
    and made binary release resolution resilient to GitHub API rate limits.
  • Surfaced server install status and allowed deleting offline servers.
  • Wired the Panel Errors page actions to the topbar.
  • Fixed assorted admin-UI issues: episodes topbar, DataTable header alignment,
    row-action dropdown clipping, responsive child-row alignment, form UX.
  • Fixed various PHP 8 compatibility and null-safety issues.

🧰 Tools & Testing

  • Added a synthetic test pattern to the stream generator — test streams
    without an input file (stopwatch/clock overlay, hardened for long runs).
  • Merged the stream checker and grapher into a single stream_check.py.
  • Added a Playwright end-to-end smoke harness and suite for the migrated
    Bootstrap 5 admin.

📚 Documentation & Maintenance

  • Rewrote the contributor guide; documented module provider contracts and the
    controller/REST wiring.
  • Updated FFmpeg documentation and ADRs.
  • Removed obsolete DTS/AC3 testing helpers.
  • Updated dependencies, including PHPStan.

Don't miss a new XC_VM release

NewReleases is sending notifications on new releases.