Ants Projects Hub
← Snatch

Changelog

Snatch

Every release, newest first — 2 in total.

v1.0.1

Fixed

  • Videos play again (SNAT-0014) Most YouTube videos refused to play. The copy of yt-dlp inside Snatch was five months old and YouTube had changed how it serves video since. Updating it fixed every video we tested — 1 in 5 played before, 5 in 5 now.

    Worth knowing: this is pinned to yt-dlp's nightly channel rather than its stable releases. The current stable release does not fix the problem. YouTube changes faster than the stable channel ships, so a stable pin would mean a player that doesn't play.

  • Video plays inside the app again on Linux (SNAT-0018) On a Wayland desktop the video opened in its own separate window instead of playing inside Snatch. mpv is now told to use XWayland, where embedding works. Windows was never affected.

  • Fullscreen — double-click the video, use the Fullscreen button, or press Escape to come back. There was previously no way to do this.

  • In-app player on Windows (SNAT-0013, partial) Windows builds now carry mpv, so the video player works without installing anything. Previously the Play button quietly opened a browser.

Changed

  • The window title shows the version, e.g. "Snatch v1.0.1".

v1.0.0

First public release. Snatch is a desktop app for downloading videos with yt-dlp, and this is the first version published as a ready-to-run download rather than something you clone and run from source.

Added

  • Self-contained Windows build (snatch.exe) (SNAT-0001) One file with Python, yt-dlp and ffmpeg inside it. Nothing to install.
  • Self-contained Linux build (Snatch-x86_64.AppImage) (SNAT-0003) Download, mark it executable, run it.
  • Self-contained macOS build (Snatch-<arch>.dmg) (SNAT-0004) A normal Mac app. It is not signed by Apple, so the first launch needs a right-click and Open — the README explains this.
  • Per-platform build scripts in scripts/, called by both the local gate and GitHub Actions, so a local pass and a CI pass cannot drift apart.
  • Local CI gate (scripts/local-ci.sh) that executes the real workflow through act instead of imitating it, and states plainly which jobs it could not run.
  • Seven-theme picker: Dark, Nord, Monokai, YouTube, Dracula, Gruvbox and Solarized.

Fixed

  • YouTube works without installing anything else (SNAT-0010) Snatch now includes the small JavaScript engine yt-dlp needs to unscramble YouTube downloads. Previously it told you to go and install Node.js, which rather defeated the point of a one-file download.
  • The Play button no longer pretends to play (SNAT-0012) On Windows there is no in-app player unless you install mpv, and Snatch was quietly opening the video in a browser instead. The button now says "Open in Browser" when that is what it will do, and the advice on how to get in-app playback is written for the system you are actually on — it used to say "sudo apt install mpv" on Windows and Mac.
  • The window title now shows the version It said just "Snatch"; it now reads "Snatch v1.0.0".
  • Search returns in seconds, not most of a minute (SNAT-0011) Searching looked like it did nothing. It was working — it just fetched full details for every result before showing any of them. A 20-result search went from about 40 seconds to a little over 3. The Resolution column in search results is blank as a result; everything else is unchanged.

Changed

  • Renamed from YT-DLP GUI to Snatch (SNAT-0002) Package, entry point, main class, window title, desktop entry, built artefact and the GitHub repository. The old repository address still redirects.
  • User data now goes to the right place on each platform. Windows keeps data next to the .exe so the app stays portable. macOS uses ~/Library/Application Support/Snatch, because writing inside a .app bundle breaks on upgrade. Linux uses the XDG data directory, because an AppImage's executable lives in a temporary directory that is deleted on exit.
  • One pinned source for bundled ffmpeg and ffprobe across all three platforms, so there is a single version to bump.