Heads-up for testers: YouTube trailer downloads no longer use browser cookies by default. They now go through a Proof-of-Origin (PO) token provider that clears YouTube's "Sign in to confirm you're not a bot" wall automatically. Cookies / sign-in are now an Advanced option for age-restricted trailers only.
YouTube / NeX-Up
- New cookie-free download method (bgutil PO-token provider). Trailers download — on request and during sync — without exporting cookies. Docker images bundle the provider; on Windows install it in one click from the System page. The renamed YouTube Downloads card shows live Installed / Enabled / Working status with a one-click Test that mints a real token. The old ~30-strategy yt-dlp cascade (much of it player clients YouTube has disabled) was replaced with a lean, token-aware path.
- Alternate-trailer picker. When the default trailer is unavailable (region-blocked, removed, age-restricted…), choose from the top 3 YouTube alternatives — preview in-app and pick one; nothing downloads automatically. Failures now explain the real reason (e.g. "unavailable in your country") instead of a generic "try again".
- Trailer retention is now enforced, with removal dates shown on the Your Trailers page.
Backup & Restore (hardening)
- Restore no longer fails when a filler sequence is configured; genre maps now survive backup/restore; one bad row no longer discards the batch; full-system database restore is reliable; bundle previews play; two archive path-traversal holes closed.
Schedules / Sequences / Dashboard
- Schedule start/end times no longer drift on enable/disable or holiday pick; a disabled/expired schedule no longer shows as "Currently Showing"; exporting a sequence from the schedule editor now exports the correct sequence.
Upgrade-safe. Full details in CHANGELOG.md.
Tester notes
- After upgrading, open System and confirm the YouTube PO-Token Provider is active (Docker: automatic; Windows: click Install Provider). Then try a trailer download.
- If a specific trailer fails as "unavailable in your country", that's a YouTube region block on the source video — use the alternate-trailer picker to choose a different upload (or a VPN/different network).