Skip to content

v1.8.3

Latest

Choose a tag to compare

@Angrido Angrido released this 28 Jun 10:04
5232942

Changelog

[1.8.3] - 2026-06-28

✨ New Features

  • Save YouTube playlist imports to your library — new Save YouTube Playlist Imports to Library setting (env PLAYLIST_TO_LIBRARY, default off). When on, a "Playlist creation from YouTube" import is written into your Lidarr music path (LIDARR_PATH) instead of only the download folder, and a path-based Lidarr scan (DownloadedAlbumsScan) is requested when it finishes — so the tracks show up in Jellyfin (after its scan) and Lidarr imports whatever it can match. Off keeps the previous download-folder-only behavior. (#79)

🧹 Improved

  • Retry without leaving the Downloads page — the Retry button now opens the search / paste-a-link overlay in place on the Downloads page instead of bouncing you to the home page, so you can retry one failed album after another without losing your spot. (#78)
  • Smarter Cookies "Test" — the verdict now mirrors yt-dlp's own login check (LOGIN_INFO and a SAPISID-family cookie). A rotated/invalidated session (account cookies present but LOGIN_INFO cleared — which yt-dlp writes back to the file after each run) gets its own clear message telling you to re-export from a private window, instead of generic advice.
  • Background download-client jobs are visible on the dashboard when the foreground is idle, and the skip-track button acts on the download you're actually looking at.
  • No more head-of-line blocking in the queue — a manual/scheduler album waiting for the foreground slot no longer holds back download-client albums (with free concurrency slots) queued behind it.
  • Lighter Lidarr-polled endpoints — the Newznab/SABnzbd handlers read the config once per request, the SABnzbd queue progress is a cheap status tally instead of a deep copy under the lock, and the retry-cooldown window comes from one shared helper across the scheduler, feed exclusion and grab refusal.

🐛 Bug Fixes

  • Manual / playlist / retry downloads no longer fail with "Requested format is not available" — every single-URL path (manual track download, the failed-track retry, and YouTube playlist import) now uses the same multi-client / multi-selector fallback as the automatic album download (trying web/ios/etc. and looser selectors) instead of one bestaudio attempt on the configured android client. Cookies, PO tokens and the format override apply to these paths too. (#80)
  • yt-dlp updater now offers the "Restart App" step after installing a new version — the button was being reset by its own handler, so the freshly-installed yt-dlp was never applied.
  • Cookies "Test" no longer reports real exports as logged out — it parses the file with yt-dlp's own cookie jar, which understands the #HttpOnly_ line prefix browsers and yt-dlp use for the (HttpOnly) LOGIN_INFO cookie.
  • The yt-dlp Format Override now actually delivers premium formats on the manual path (thanks @Gazz1e) — the manual download honored the override but stayed pinned to the android client, which never exposes formats like 141; web-family clients are now tried first when an override is set, and the override rides a slash-fallback (141/bestaudio/...) so a video without it still downloads.
  • Stopping a download no longer discards a manual album's finished tracks — the "drop everything" stop behavior now applies only to Lidarr download-client grabs; manual/scheduler downloads still import and log the tracks that completed, and a stop is reported consistently so a stopped grab can't be blocklisted as a failure.
  • Concurrent Album Downloads values outside 1–5 are clamped on load, so an out-of-range value can't blank the Settings dropdown and silently save back 1.
  • Download-client API-key check no longer 500s on a non-ASCII key (the timing-safe comparison now runs on bytes).
  • Settings UI polish — the "List formats" result wraps long text and scrolls (no more invisible clipping on mobile), format-ID chips use a calm style, the button is disabled while a lookup is in flight, Enter submits the URL field, and that diagnostic field no longer marks settings as unsaved.