ytdl-material 1.0.3
This release overhauls subscription refresh reliability, adds several bulk-action controls, and fixes media library sorting.
✨ Features
- Retry all failed downloads at once from the Downloads page. #151
- Redownload all videos for a subscription channel or playlist. #162
- Duplicate removal now lets you pick whether to remove the oldest or newest copy. #176
- New setting to skip member/join-only videos during subscription discovery. #178
- Delete orphan DB records for files no longer on disk (Settings → Downloader). #179
🛠️ Fixes
📡 Subscriptions
- Discovery now streams yt-dlp output incrementally instead of buffering it all in memory. #141
- Date-filtered subscriptions use full metadata instead of
--flat-playlist, so they pull the right items. #158 - Global and per-subscription custom args now apply correctly during discovery. #155 #156
- Private, removed, and join-only videos are skipped before jobs are queued, and archived so they're not retried. #184 #185 #189
- Backup path now matches the configured download folder name and character replacement rules. #166
- Large channel URLs are now chunked the same way playlists are. #140 #142
⬇️ Downloads
- Queued downloads can now be rate-limited with a minimum sleep between starts. #149
- Polling is limited to the active panel, so large queues no longer cause unnecessary load. #180
- Subscription refreshes are capped to prevent unbounded fanout after a crash. #144
🎬 Media library
- Upload date sorting now works correctly and shows on file cards. #159 #161
- Concurrent refresh events no longer cause a stuck loading state. #145
🔒 Security / dependencies