github sunnypatell/sunnify-spotify-downloader v2.0.3

latest releases: v2.3.0, v2.2.1, v2.2.0...
4 months ago

what's changed

fixed

  • cover art now embeds reliably by fetching synchronously in the meta tag writer thread (nested QThread signal delivery was silently failing, reported in #32)
  • stop button no longer calls terminate(), uses fully cooperative cancellation via cancel event with button disabled during wind-down (inspired by #32)
  • Windows exe now shows version info, copyright, and description in Properties > Details (was previously blank)
  • release workflow cask updater now handles sha256 :no_check placeholders correctly

added

  • yt-dlp download resilience: 5 retries, 15s socket timeout, 4 concurrent fragment downloads (inspired by #30)
  • Windows executable metadata via VSVersionInfo (FileVersion, ProductVersion, CompanyName, LegalCopyright, FileDescription)
  • 10 new tests covering perf options, synchronous cover fetch, cover failure handling, and cooperative cancellation

changed

  • WritingMetaTagsThread fetches cover art synchronously with requests.get() instead of spawning a nested DownloadCover QThread
  • removed unused DownloadCover class (dead code after the synchronous fetch fix)

details

the cover art bug was caused by WritingMetaTagsThread.run() spawning a nested DownloadCover QThread. once run() returned, the worker thread's event loop died and the albumCover signal was never delivered, so cover art silently never embedded. the fix replaces the nested thread with a synchronous requests.get() call, which is the correct approach since we're already in a worker thread.

the stop button previously fell back to terminate() after a 3-second wait, which can crash the QThread. now the button disables during wind-down and the thread finishes naturally via the cancel event.

the Windows executable previously had no version metadata in Properties > Details. now uses PyInstaller's VSVersionInfo to embed FileVersion, ProductVersion, CompanyName, LegalCopyright, and FileDescription directly into the exe.


install via homebrew (macos)

brew tap sunnypatell/sunnify https://github.com/sunnypatell/sunnify-spotify-downloader
brew install --cask sunnify
sudo xattr -cr /Applications/Sunnify.app

full changelog: v2.0.2...v2.0.3

Don't miss a new sunnify-spotify-downloader release

NewReleases is sending notifications on new releases.