what's changed
download queues, and running more than one Sunnify at a time is now safe.
added
- queue links while a download runs (closes #118). paste another link and press Enter during a download and it waits its turn. several links pasted at once queue together, duplicates and non-Spotify links are refused, and Stop clears the queue. the link box shows how many are waiting. there's nothing to switch on: it stays out of the way until you use it.
fixed
- Enter no longer stops a download. it shared the Download button's handler, so pressing it mid-run cancelled the run. it now queues, and only the button stops.
- two windows, or the app and a terminal, can't download the same playlist at once. only the command line took a lock, so the app could download every track of a playlist twice in parallel. both now share one lock.
- different playlists can download side by side in separate terminals. a second terminal used to be refused even for a different playlist; now only the folder being written is locked.
- two runs started at the same instant can't both take the lock. the old lock let both through almost every time. a lock left by a crashed run is still cleared automatically.
for scripts and agents
the command line stays non-interactive, so a queue there is a loop, shown for bash and PowerShell in the CLI guide. download --json now always ends with run_summary once run_started is out, as the guide promised, even when a run fails. the run lock is .sunnify.lock inside each playlist folder, and folder_locked keeps its code and exit code 3.
not changed, on purpose
there's no cap on downloads across separate runs. the queue removes the app's reason to open several windows, and running several terminals at once stays your call; each one makes its own requests to YouTube, which is what its bot check watches. if something looks off, the troubleshooting section covers the questions that come up most.
requested by @AnsahMohammad, thank you.
verifying this release: every asset is covered by SLSA build L3 provenance - gh attestation verify <asset> --repo sunnypatell/sunnify-spotify-downloader, or check checksums.txt with sha256sum -c.
install via homebrew (macos):
brew tap sunnypatell/sunnify https://github.com/sunnypatell/sunnify-spotify-downloader
brew install --cask sunnypatell/sunnify/sunnifyfull changelog: v2.5.1...v2.6.0
⭐ if sunnify saved you time, star the repo - stars are how people find it.
attestations from this build
direct links to each attestation generated by the workflow run that produced these binaries (sigstore-signed, public-good rekor log entry, SLSA build L3 via the release-build.yml reusable workflow):
- build provenance: Sunnify-Windows.exe
- build provenance: Sunnify-Windows-CLI.exe
- build provenance: Sunnify-Linux
- build provenance: Sunnify-macOS.zip
- build provenance: Sunnify-macOS-Intel.zip
- sbom attestation for the binaries
- build provenance for the source tarball
the *.sigstore.json assets attached above are the same attestations as offline-verifiable bundles. these get auto-refreshed on every release re-build, so the links above always correspond to the binaries currently attached to this release.