what's changed
fixed
- the headless CLI now prints on Windows (closes #92). a Windows
.exeis linked for exactly one subsystem -WINDOWED(no console when the GUI is double-clicked) orCONSOLE(the shell waits and output reaches the terminal), never both - so the all-in-one binary that opens the GUI printed nothing and exited 0 when run assunnify <cmd>in a terminal. attaching to the parent console can't fix it (the shell doesn't wait for a windowed process) and--hide-consoleis unreliable on Windows 11 / Windows Terminal, so every Windows release now also shipsSunnify-Windows-CLI.exe, a console build from the same spec and the same code - pyinstaller's own two-binary answer, thepython.exe/pythonw.exemodel. the one-line installer puts it on your PATH assunnify, and typingsunnifystill opens the GUI. the double-click GUI download is byte-for-byte unchanged, and macOS/Linux have no subsystem split so they were never affected. - CLI output no longer crashes on a legacy Windows code page. the
✓/»/→glyphsdoctorand download progress print raisedUnicodeEncodeErroron a cp1252 console or a redirected pipe; stdout/stderr are now forced to utf-8 (PEP 528), so a glyph degrades to?at worst and a run never aborts.
nothing changed for macOS or Linux, and the GUI is untouched on every platform - this is a Windows-CLI-only release.
verifying this release: every asset, including the new Sunnify-Windows-CLI.exe, 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 sunnifyfull changelog: v2.3.0...v2.4.0
thanks @de666 for flagging #92.
⭐ 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.