Skip to content

ytdl-material v1.0.8

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Jul 19:57

🚀 ytdl-material 1.0.8

This patch release focuses on fixing YouTube downloads that failed with HTTP 403 errors, hardware-accelerated video processing, a Downloads page crash, and a large round of dependency and security maintenance.

✨ Features

  • Added hardware-accelerated transcoding (Settings → Downloader, or ytdl_transcoding) for ffmpeg video processing, supporting AMD AMF, Nvidia NVENC, Intel Quicksync, and VAAPI. Both encoding and decoding run on the GPU where the hardware allows it, which is a large speedup for 4K and AV1 sources. Startup flight tests check encoding and decoding separately, and anything unsupported falls back a step at a time so a GPU that cannot decode a given codec still encodes on hardware. #330
  • Advanced download options moved into the Download button menu instead of a permanently visible panel, and the separate "allow advanced download" setting has been removed. Access is still controlled by the advanced_download user permission, which can be revoked per role. #330

🛠️ Fixes

  • Fixed YouTube downloads failing with unable to download video data: HTTP Error 403: Forbidden. yt-dlp was always pinned to the node JavaScript runtime, which is not installed in the image, so it could not solve YouTube's JS challenge. The runtime is now auto-detected, with a new optional ytdl_js_runtimes setting for pinning one deliberately. #340
  • Global custom args containing -f are no longer silently overridden by the app's default format selection. #340
  • The full yt-dlp argument list is now logged at debug level, with credentials and cookie paths redacted. Previously only the argument count was logged, which made download problems very hard to diagnose. #340
  • Opening the Downloads page could exhaust the Node heap, restart the process, and return repeated 502 errors on instances with a large download history. The history payload is now bounded and the page no longer overlaps polling requests. #339
  • Fixed media library filtering and sorting silently breaking after switching page length to Auto. #311
  • Removed the extractor client fallback setting added in 1.0.7. It applied a fixed yt-dlp client list (--extractor-args youtube:player_client=tv,web) that no longer works and had begun causing the HTTP 403 download errors it was meant to prevent. yt-dlp now selects its own clients. If you still need to pin one, set it in Settings → Downloader → Global custom args, for example --extractor-args,,youtube:player_client=default. Instances with the setting enabled will have it removed automatically on startup and a note written to the log. See Fixing 403 errors for guidance. #341

🔒 Security / Dependencies

  • Resolved all 11 open Dependabot alerts across the frontend and backend lockfiles, and updated tar and @hono/node-server to releases patching advisories disclosed after those alerts. #338
  • Patched the brace-expansion ReDoS advisory (CVE-2026-13149). #335
  • Bumped undici to patch security advisories. #305
  • Pinned TypeScript to a range supported by the Angular toolchain. #313 #314
  • Refreshed frontend and backend dependencies, including Angular, Scalar API Reference, MongoDB, Redis, express-rate-limit, feed, immutable, fast-uri, ESLint, typescript-eslint, Node type definitions, and the cache and setup-node GitHub Actions. #289 #294 #295 #296 #297 #298 #299 #300 #302 #303 #304 #306 #307 #312 #315 #316 #317 #321 #326 #329 #331 #332 #333 #336 #337

Full Changelog: v1.0.7...v1.0.8

Contributors