Skip to content

v1.8.2

Choose a tag to compare

@Angrido Angrido released this 09 Jun 16:50
· 20 commits to main since this release
8bbe8c0

Changelog

[1.8.2] - 2026-06-09

✨ New Features

  • yt-dlp Format Override — force a specific yt-dlp format selector (e.g. 141 = 256 kbps AAC with a YouTube Premium account) via Settings → yt-dlp Format Override, the ytdlp_format config key, or the YTDLP_FORMAT env var. The built-in selectors stay as a fallback when the requested format isn't available for a video. (integrates and extends @Gazz1e's supportformat141 fork)
  • "List formats" tester — next to the override field: paste a YouTube video URL/ID and see that video's available audio format IDs (codec, bitrate, audio-only vs audio+video, size); click an ID to drop it into the override.
  • Concurrent album downloads in Download Client mode — new Concurrent Album Downloads setting (1–5, default 1; env DOWNLOAD_CLIENT_CONCURRENT_ALBUMS). Each job tracks its own per-track state and the SABnzbd queue still reports per-album progress.

🧹 Improved

  • Automatic library refresh — when Lidarr RSS-syncs or searches the Newznab indexer (which happens right after a new artist or album is added), a background missing-albums sync is triggered (debounced, and only when Lidarr is configured), so newly-added albums show up in the app and the indexer feed without waiting for the periodic sync loop.

🐛 Bug Fixes

  • Robust, case-insensitive Forbidden Words — built-in and custom words are now merged, normalized (trimmed + lower-cased) and de-duplicated through a single helper; previously only the custom words were normalized, so a built-in/API/env word with stray casing or whitespace filtered nothing. Also fixed a possible crash on a null value. The default list is consolidated and aligned with the Settings UI (added "reaction").
  • "List formats" no longer errors — no more "Requested format is not available" or "No audio formats found": it now mirrors yt-dlp -F (yt-dlp's default clients first, full processing with ignore_no_formats_error, falling back to specific clients). music.youtube.com URLs are passed through unchanged.
  • Security (SSRF) — the format-listing endpoint now validates input against the YouTube allowlist (_validate_youtube_url) before handing it to yt-dlp, so it can't be used to probe internal services.