What's Changed
Features
- feat(aliases): Allow and Block bouquets, plus your own custom groups and categories in aliases and bouquets (#1787)
- feat(proxy): Opt-in live normalization so players don't freeze when a stream fails over, with CPU, VAAPI or Intel Quick Sync encoding (requires M3U Proxy v0.4.37+) (#1652)
- feat(database): Opt-in PostgreSQL 18 upgrade for the embedded database, with rollback support (#1786)
- feat(playlists): Limit Auto-Add to Custom Playlist rules to specific channels or channel name patterns
- feat(playlists): Category Auto Sort keeps series categories in the provider's order, and Group Auto Sort now follows it on Xtream playlists
- feat(arrs): Choose which Sonarr or Radarr instance a request goes to from Discover, and set a default integration for automatic caching
- feat(plugins): Plugin settings fields can be shown conditionally (#1685)
- feat(sync): Series and categories the provider no longer lists are cleaned up on sync, and sync logs include added and removed categories
- feat(backups): The backup client now matches your Postgres version (#1701)
- feat(proxy): Optional isolated rate limits for proxy callbacks (#1652)
- feat(emby): Clearer managed-library controls for library publishing (#1642)
- feat(auth): Shared standard playlists can be picked when assigning Playlist Auths (#1765)
- feat(api): Xtream VOD endpoint returns your custom names and titles, and content requests include more metadata
Bug Fixes
- fix(security): SSO (OIDC) sign-in no longer links an account already linked to a different SSO identity
- fix(security): Asset uploads only accept raster images, SVG is rejected
- fix(security): Provider-supplied EPG text is escaped in guide tooltips
- fix(sync): Auto-enable follows groups the provider renames mid-sync (#1649)
- fix(sync): Sync runs finish after feed connection failures (#1769)
- fix(import): Live streams and movies that share a provider stream ID are kept separate (#1782)
- fix(sync): Xtream live/VOD numbering matches M3U and XMLTV, and CSV imports go to the right live or VOD list (#1772)
- fix(playlists): Auto-Add sync no longer removes channels you added by hand
- fix(backups): A failed scheduled backup is no longer reported as created (#1788)
- fix(channels): Values of "0" are no longer treated as empty, including a Custom Password of "0"
- fix(channels): Channel names match across non-ASCII case
- fix(epg): Find & Replace keeps empty and "0" replacement values (#1778)
- fix(channels): Parallel channel scrubber batches complete (#1777)
- fix(epg): EPG mapping, timezone and logo proxy fixes, and timezones for numeric timeshift timestamps
- fix(tmdb): Manual TMDB search for TV shows, overwrite-metadata keeping a known TMDB ID, and the Missing/Has TMDB filters
- fix(vod): VOD metadata sync no longer reports success on failure, plus STRM filename and cleanup fixes
- fix(vod): Unicode movie names from WebDAV and Add Progress duration clamping
- fix(dvr): Retention, retry and scheduling, any-channel rules and dvr:enrich --all
- fix(networks): Network pin overlap and schedule regeneration
- fix(integrations): Dispatcharr, Sonarr and Post Processing fixes, and Dispatcharr profiles for an alias of a Custom Playlist
- fix(emby): Managed-library path collisions and status (#1762)
- fix(admin): Scheduled backups, navigation settings, queue and SMTP settings
- fix(admin): Queue Monitor retries no longer report false success, and impossible cron expressions are rejected
- fix(docker): Nginx routing and Compose proxy health checks
- fix(aliases): Bouquet name uniqueness and merged-group checks in the Group API
- fix(admin): System Health CPU count respects a narrower cpuset (#1780)
- fix(copilot): Pending tool calls no longer show as successful (#1779)
- fix(plugins): Update reporting, with a warning when an updated plugin may still be running old code (#1763)
- fix(devices): TV device sign-in respects the advertised polling interval (#1764)
- fix(general): Playlist group, sort and copy-attributes tools, Copilot DVR search, guest filmography and the zh_CN translation
Maintenance
- chore(deps): Dependency updates for security advisories, including Livewire and symfony/mime
Upgrade notes
- Custom Playlists: groups without a custom tag now get new Xtream category IDs, fixing a clash with tagged groups (#1670). Players may forget per-category settings for those groups, like favourites or hidden categories.
- Providers that reuse stream IDs: live channels or movies that were missing because they shared an ID with the other type now appear on the next sync, disabled unless auto-enable is on (#1782).
Full Changelog: v0.13.6...v0.13.7