what's changed
observability + internationalization release. no changes to the spotify metadata path, audio formats, tags, or the default matching policy.
added
- find songs whose youtube title is in a different alphabet than spotify. a new opt-in setting ("use closest result if no match", off by default) falls back to the closest youtube result by length when sunnify can't confidently match a track. this recovers greek, cyrillic, korean, etc. titles that the strict matcher could never line up against a latin spotify name. the wrong-audio safeguard stays on by default, and the settings note explains the tradeoff. thanks to Kyriazis for the suggestion over email.
- on-demand verbose logging: set
SUNNIFY_DEBUG=1for the full per-track + yt-dlp trail when you need it; the normal log stays lean.
fixed
- downloads that quietly produced no file now record exactly why. the real youtube/yt-dlp reason (bot-check, video unavailable, wrong format, etc.) used to be swallowed and shown as a generic "not found on YouTube"; it's now written to the log per attempt, so one pasted log pinpoints the cause.
changed
- the log scales with failures, not playlist size: a clean run stays quiet, and only failures surface with their reason at the default level. spotify rate-limit (429) and retry backoff are now logged too (were previously silent).
notes
- if you've hit "not found on YouTube" on tracks that clearly exist, please update, reproduce, and attach your
sunnify.log(Settings then "Open logs folder") to an issue. it now shows the exact cause.
verifying this release
sha256sum -c checksums.txt --ignore-missing
gh attestation verify Sunnify-Linux --repo sunnypatell/sunnify-spotify-downloaderinstall via homebrew (macos)
brew tap sunnypatell/sunnify https://github.com/sunnypatell/sunnify-spotify-downloader
brew install --cask sunnifyfull changelog: v2.0.11...v2.0.12
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-Linux
- build provenance: Sunnify-macOS.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.
⭐ if sunnify saved you time, star the repo - stars are how people find it.