What's Changed
1.64.0 (2026-04-08)
Features
- add dateadded element to NFO output (#444) (7ae6487)
- add formatDateAdded method to NfoGenerator (#444) (ea7eefd)
- channels: add optional initialSettings param to upsertChannel for new rows (01b7b0d)
- subscriptions: add constants and concurrency limiter for import module (595e577)
- subscriptions: add import job runner with concurrency, cancellation, belt-and-suspenders dedup (04964f4)
- subscriptions: add og:image thumbnail enricher with concurrency cap (4481172)
- subscriptions: add one-time cookies yt-dlp fetcher with temp file isolation (a12f552)
- subscriptions: add ReviewTable, MobileCard, BulkActionsBar, RowSettingsPopover/Sheet (cb8f267)
- subscriptions: add settings chips to mobile import cards (d1a7e5d)
- subscriptions: add subfolder, quality, and rating chips to import table rows (502c013)
- subscriptions: add subscription import API routes (b61df39)
- subscriptions: add SubscriptionImportModule singleton with preview and import orchestration (99aedd8)
- subscriptions: add Takeout CSV parser with quoted field and BOM support (9be7221)
- subscriptions: add types, useActiveImport hook, ActiveImportBanner, import page skeleton, and route (a72048b)
- subscriptions: add useImportFlow state machine, SourcePicker, ChannelThumbnail, DisclaimerBanner (2929439)
- subscriptions: add yt-dlp error classifier for friendly user messages (4b21d27)
- subscriptions: fetch subfolders and config in import page (2b0a08b)
- subscriptions: migrate jobs.output to MEDIUMTEXT for import results (47763c2)
- subscriptions: replace subfolder text field with SubfolderAutocomplete in mobile sheet (1465453)
- subscriptions: replace subfolder text field with SubfolderAutocomplete in popover (8769597)
- subscriptions: sort imported channels alphabetically in preview (a57b6be)
- subscriptions: thread subfolder and config props through review table (c7c4e46)
- subscriptions: wire subscription import routes and module init (34a4452)
Bug Fixes
- add backend tests to pre-commit hook and fix cronJobs test mock (a92325f)
- make orphan directory scan resilient to per-subfolder errors (be17371)
- proactively clean up orphan empty channel directories (#443) (ddd7c4a)
- channels: pass initialSettings through getChannelInfo to upsertChannel (713bf88)
- downloads: filter out Import Subscriptions jobs from download history (b641bb1)
- subscriptions: address code review findings for import banner and settings (2878fd5)
- subscriptions: address multiple import settings and display issues (9764046)
- subscriptions: default imported channels to global default subfolder (7abdb24)
- subscriptions: fix settings mapping, job persistence, and code review findings (ab3680b)
- subscriptions: resolve integration issues from manual testing (91ee35e)
Styles
- subscriptions: move import statement to top of file (bd9c64d)
Documentation
- add subscription import documentation to usage guide, troubleshooting, and CLAUDE.md (06c3354)
- update CHANGELOG for v1.63.0 [skip ci] (b087e43)
Docker Image
docker pull dialmaster/youtarr:v1.64.0Or use latest:
docker pull dialmaster/youtarr:latestFull Changelog
Full Changelog: vv1.63.0...v1.64.0