New Features
- Embedded m3u-proxy integration - Added m3u-proxy as an embedded application with full integration throughout the app
- Stream Profiles - Implement stream profile functionality with separate options for VOD and Series, including quick action to generate sane transcoding defaults
- Playlist Aliases - Add Playlist Alias feature with URL swapping and proxy options
- Auto-merge channels - Implement auto-merge channel handling with advanced configuration options and comprehensive documentation
- Public playlist view - Add playlist web view page with guest panel authentication
- VOD stream file sync - Add ability to sync VOD stream files with title as folder, including auto-sync on playlist sync
- Channel Health Check API - Implement channel health check API endpoints
- User management - Add user and user management options to admin panel
- Custom headers for playlists - Ability to add custom headers to playlists
- Post process enhancements - Add support for custom JSON body and headers in post process requests; option to send POST requests without body
- Category filters modal - Move category filters to modal select for easier selection
- Sorting improvements - Add sorting to additional columns for Channels and Series; sticky table header
- EPG improvements - Implement timeshift output in EPG viewer; improve EPG channel matching with UTF-8 safety and configurable thresholds
- Bulk operations - Add bulk enable/disable to Groups/Categories
- API enhancements - Add API endpoints for Channel updates; expose channel enable to channels API
- Custom playlist improvements - Add "All" tab to channel manager; implement view page for Custom Playlists
- WAN output toggle - Add WAN details output to header for quick reference
- FFmpeg 8.0 upgrade - Upgrade to FFmpeg 8.0 from Alpine edge with HTTP/2 support
- VOD output toggle - Add toggle to enable/disable VOD output for M3U playlists
- Proxy URL override - Add
PROXY_URL_OVERRIDE_INCLUDE_LOGOSoption; re-introduce proxy URL override for internal routing with TLD - Separate VOD syncing - Move VOD syncing into its own process to allow splitting live and VOD sections
- External service Caddy example - Add external service example with Caddy
- Quality indicators toggle - Add optional quality indicators removal toggle for EPG matching
#EXTGRPtag support - Add support for#EXTGRPtag in M3U parsing- Xtream API improvements - Allow separate Xtream API only routing; allow overriding Xtream API URL format for M3U playlists
- Playlist copy function - Add playlist copy function to copy channel attributes from one playlist to another with channel match column selection
- Custom login path - Add variables to allow custom login path and disable the login page redirect
- Failover improvements - Update failover logic to utilize stream check for failover URL resolution
Fixes
- Xtream API
category_idsarray format for player compatibility - Setting incorrect status on sync start
- Resolver URL check in Settings
- Category sort on series page
- Manual channel EPG mapping subsequent runs not working
- Failed jobs cleanup and additional pruning of notification tables
- Post process request response handling
- VOD EPG generation when not enabled
- Pre-processing with series
- Active connection check for non-Xtream API playlists
- Preprocessing selection save logic
- EPG display ordering rules
- EPG API date range for cache metadata calls
- Playlist copy function cross-type copy
- Playlist ID for merged playlists
- HLS transcoding forcing
- Base URL in console contexts
- Proxy failover logic with required fields
- Preview player HLS stats display
- Dynamic HTTPS detection for mixed HTTP/HTTPS access
- X-Forwarded-Proto preservation from upstream reverse proxy
- FFmpeg automatic segment deletion for reverse proxy compatibility
- Stream Profile relationships loading
- Default Stream Profile application for HLS behavior
- Webhook registration for embedded and external m3u-proxy modes
- Stale capacity check blocking HLS streams
- Stream ID type allowing string or int
- HLS segment storage for AIO
- HLS streaming reliability and performance
- EPG mapping and matching for similar channel names
- UTF-8 sanitization for PostgreSQL encoding errors
- Resource filtering by user ID
- Stream file sync with internal URL resolution
- Custom channel name for VOD sync
- Default profile creation migration
- Preview player in list view and missing extension
- Client status reporting on streams
- Logo proxy with some logos
- Health check command API token usage
- VOD sync type issues
- Post process firing twice
- Variable order issues
- Branch pulling for update command
- Missing columns on channels
- Playlist icons proxy in M3U
- In-app player with new proxy
- Timeshift with m3u-proxy
- Xtream API proxy integration
- Custom login route and redirect middleware order
- EPG file resolution for uploaded and local files
- TMDB keys in Xtream API output
- Seasons output for Xtream API
get_series_info - Login invalid error
- Source groups copy on duplicate
- Failover channel sorting by resolution and playlist priority
- Custom channels failover without URLs
- Dropdown menus on mobile screens
- Stream file sync messages
- EPG days value parsing
- Filename cleanup for StreamFile syncing
- CustomPlaylist groups UUID updates
- Default EPG length with env variable override
- VOD fallback profile handling
- EPG mapping re-run capability
- EPG cache completion logic for re-runs
- External proxy environment variables
- Format check for web player
Technical Improvements
- Filament v4 upgrade - Major upgrade to Filament v4 with all required migrations
- Laravel 12 upgrade - Update Laravel framework from 11 to 12
- Navigation overhaul - Re-organize navigation, update icons, and add navigation group ordering
- Policy-based access - Migrate to policy for access control with consistent user checks
- EPG optimization - Update EPG mapping efficiency and optimize mapping queries
- SimilaritySearchService - Remove redundant COUNT query before cursor iteration
- EPG caching service - Optimize caching service performance
- Bulk operations - Update bulk enable/disable for efficiency
- Import timeouts - Increase timeouts for slower devices
- Rate limiting - Add rate limiting to proxy endpoints
- Container startup - Add job status health check and restart on boot
- JIT and Opcache - Disable JIT warnings and enable Opcache for performance
- Redis/Websockets - Move to supervisor; allow internal Redis to be disabled
- Build process - Separate composer and node builds to different images
- Docker compose - Update and cleanup examples with proper configurations
- CA profile - Add CA profile for Community Add-ons support
- Proxy routing - Cleanup routing and remove double DB lookup
- Console logging - Update log output for all embedded services
- Transcoded streams - Update to use HLS URL format
- Floating player - Migrate app players to use same floating player everywhere
- Framework updates - Update core extensions and dependencies
- Dependency updates - Vite, Symfony/http-foundation, min-document bumps
New Contributors
- @Serph91P made their first contribution in #367
- @wschwa made their first contribution in #393
- @Grimothy made their first contribution in #425
- @bmwagner18 made their first contribution in #448
- @UnderwaterOverground made their first contribution in #472
- @Aldione made their first contribution in #502
Full Changelog: 0.7.11...0.8.18