* fix: video and audio deserialization for db dump
* fix: resolve proivder feature for redirect mode
* fix: enable seek feature for ffprobe on large vod and series elements
* fix: keep seekable ffprobe probes bounded
* Sorce ordinal by category and channel index
* Parsing UserApiRequest from request body or query
* CSS stylings
* media tools refactoring
* xtream info parsing now number/string fields
* fix: Scheduler preserve forced_targets across config reloads.
hot reload could cause loosing scheduler task targets.
warn logs for:
- process_source: warns when all inputs are disabled for given targets
- process_sources: warns when no sources were processed at all
* Fix: Logger initialization
* Fix: TCP USER TIMEOUT for linux. If a client disrupts the connection, the tcp layer will hold it approx for 5-15 minutes. With this setting we can close in 30 seconds under linux
* Fix HLS session handling and disable retry for adaptive segment requests
* Resolve / probe vod task uses last modified date
* Resolve expiration date in input form
* fixed m3u parsing
* fixed wasm opt for frontend build
* Fixed issues with probe and resolve tasks
* hls and catchup session fixes
* fixed problem with grace and shared stream
- added fix for missing episode title
* No template file not found error message
* Setup wizard improvmenets
* path improvements
* staged input fix
* path improvements
* Provider dns resolved ips now writing to a file instead of source.yml
* Playlist update hard kill after 1h
* matadata update tmdb fix
* Web UI fixes
* GeoIp update schedule
* batch:// prefix for aliases
New Features
Background probing for Live streams with configurable interval; new input options to trigger probing and toggle background resolution.
Configuration Changes
metadata_update reorganized into grouped sections: log, resolve, probe, ffprobe, tmdb.
FFprobe controls moved under ffprobe.* and now require explicit time/size units; new live ffprobe settings.
Added metadata_update.tmdb.cooldown (default 7d) and grouped TMDB settings.
Bug Fixes
TMDB no-match cooldown to prevent endless requeues.
Documentation
README and UI help updated to reflect grouped metadata_update fields and explanations.
Fixed m3u playlist with provider_config persistence as text file
Added probe_delay input option (default 2s); stream probing renamed “Stream Probing” and now covers live, VOD and series as a low‑priority background task.
- Add Makefile to simplify installing required tools
- Add CONTRIBUTING.md welcome new contributors
- Add fmt, lint, test tasks to makefile and update CONTRIBUTING.md
- Add CI workflow
- Log with local date
**Description:**
This PR introduces a major overhaul of how streams are analyzed and connections are managed. It integrates `ffprobe` for deep stream analysis, adds a background task queue for metadata resolution to prevent UI blocking, introduces a connection priority system, and adds support for Live TV probing.
### 🚀 Key Features
* **FFprobe Integration & Live TV Probing**:
* Automatically probes streams (VOD/Series **and now Live TV**) to determine resolution, codecs (HEVC/AV1), dynamic range (HDR/DV), bit depth, and audio channels.
* **Safe Probing**: Probing strictly respects the provider's `max_connections` limit.
* Docker images now include static `ffmpeg/ffprobe` binaries.
* **Smart Connection Management (Priority System)**:
* Introduced a priority system for connections to manage provider limits intelligently.
* **Preemption**: Users with higher priority can preempt (kick) lower priority connections when provider slots are full.
* **Background Queue**: Metadata resolution and stream analysis run as background tasks (Priority 0). They only run when connection slots are idle and yield immediately if a real user needs to stream.
* **Enhanced Metadata Resolution**:
* **Fallback Logic**: If a provider is missing the TMDB ID or Release Date, the system resolves them via the TMDB API.
* **Smart Title Cleaning**: Implemented a centralized cleaner to strip common IPTV prefixes before attempting metadata matches or generating filenames, significantly improving match rates.
* **Improved Output**:
* **Quality Tags**: Filenames in STRM files now include detailed tags (e.g., `Movie - [4K HEVC HDR].strm`).
* **Flat Grouping**: `flat: true` now correctly groups multi-version movies into single folders based on TMDB ID.
* **Global Series Date**: Ensures consistent series folder naming even if episodes have different years.
* Fixed series sort issues
* Playlist explorer copy to clipboard functons implemented
* Epg time fix
* grace period hold stream option added.
* Fixed group and mapper normalization
* Image cache validity for browsers set to 4 hours. Responding now last modified and cache header.
* New Features
Added for_each DSL construct for iterating over playlist item fields, with split() function support.
Added "genre" as a queryable and editable playlist item field.
Bug Fixes
Improved short EPG request handling with automatic default limits.
Fixed EPG timestamp formatting to use UTC consistently.
fixed some logs, added input name
epg short response hos now no errors field
added missing fields for reverse_proxy and library config in ui
fixed button styling