Skip to content

Releases: LukasJef/UniversalDownloader

v1.0.1 - Unified desktop app

Choose a tag to compare

@LukasJef LukasJef released this 01 Sep 07:50
8eee7f4

Changelog

All notable changes to this project are documented in this file.

The format follows Keep a Changelog,
and this project uses Semantic Versioning.

[1.0.1]

Added

  • Video mode: option to embed all available audio tracks at once (e.g.
    original + every dub) instead of picking just one language. Shows up in
    the audio-language dropdown only when a video actually has more than one
    track.
  • Hidden diagnostic console at /console (not linked anywhere in the
    normal UI) showing raw, live stdout/stderr - including tracebacks that
    were previously invisible in the packaged --windowed .exe. Tray menu's
    "Open log" was renamed to "Open Console" and now opens this page.
  • Experimental Android app (android/) with share-sheet integration and
    an in-progress ffmpeg-kit integration for merging video+audio on device.
    Not part of this release's downloads yet.

Fixed

  • index.html failed to load when running from a built .exe
    ("index.html nebyl nalezen vedle ytdlp_local_server.py"). PyInstaller's
    --onefile mode doesn't bundle data files like index.html automatically,
    and unpacks bundled data into a temporary folder (sys._MEIPASS) at
    runtime rather than next to the script. Added a _resource_path() helper
    that resolves correctly in both source and frozen mode, and added
    --add-data to the PyInstaller build step in CI.
  • Downloads silently never started. A Flask route handler and a settings-
    saving helper function were both named save_settings, so the route
    definition (loaded later in the file) silently overwrote the helper in
    the module's global namespace. Every call to save settings - including
    the one download() makes right before starting a download - then hit
    TypeError: save_settings() takes 0 positional arguments but 1 was given
    and the request failed with a 500 before any download thread ever
    started. Renamed the route handler to save_settings_route.

Changed

  • Renamed the project to UniversalDownloader (UDL). Registry key,
    autostart entries, app data folder, tray tooltip, and the web UI title
    all now use the new name. (The main script stays ytdlp_app.py.)

[1.0.0]

Added

  • First release: local yt-dlp service + tray icon + on-demand desktop
    window, combined into a single app for Windows, macOS, and Linux.
  • Video, audio, subtitle, and thumbnail downloads, with playlist support.
  • Quality/dub-language selection, cookies (file or browser), rate limiting.
  • FFmpeg-powered container/format conversion and subtitle embedding.
  • Download queue and custom output filenames.
  • 5 languages (Czech, English, Polish, French, Japanese) with automatic
    system/browser detection and a persisted manual override.
  • Global hotkey (Win+Shift+D / Cmd+Shift+D), autostart at login,
    and a shared frontend (index.html) also used by the companion website at
    udl.moviora.win.

Full Changelog: v1.0.0...v1.0.1

v1.0.0 — Unified desktop app

Choose a tag to compare

@LukasJef LukasJef released this 30 Aug 10:33
3a6c5b4

First release of the unified app: local yt-dlp service + tray icon + on-demand
desktop window, all in one process, for Windows, macOS, and Linux.

Highlights

  • Video/audio/subtitle/thumbnail downloads with playlist support
  • Dubbing/audio-track and quality selection, cookies (file or browser), rate limiting
  • FFmpeg-powered format conversion and subtitle embedding
  • Download queue, custom filenames
  • 5 languages (cs/en/pl/fr/ja) with automatic system/browser detection
  • Same local service also powers udl.moviora.win — one shared UI for desktop and web

Download

Pick the build for your OS below, unzip, and run.
FFmpeg must be installed separately and available on your PATH.

  • 🪟 Windowsytdlp-app-windows.zip
  • 🍎 macOSytdlp-app-macos.zip
  • 🐧 Linuxytdlp-app-linux.zip (requires an X11 session for the global hotkey; Wayland not yet supported)

Known limitations

  • macOS build is produced by CI but hasn't been manually verified on real hardware yet — please report issues
  • Linux global hotkey (Ctrl+Shift+D) needs Xorg, not Wayland
  • Run with OS (autostart) writes to the registry (Windows), a LaunchAgent (macOS), or an XDG autostart entry (Linux)

Full Changelog: https://github.com/LukasJef/UniversalDownloader/commits/v1.0.0