Skip to content

Releases: just5ky/SpotSonic

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 26 Jul 02:21

Changelog

  • 5a13635: feat: concurrent track matching, search cache, quiet mode (@just5ky)
  • 835207b: refactor: simplify levenshtein function and remove unused code (@just5ky)

v0.2.0

Choose a tag to compare

@just5ky just5ky released this 21 Jun 07:36

What's Changed

🔒 Security

  • crypto/rand for auth salt — replaced math/rand (not a CSPRNG) in Subsonic token generation
  • HTTP response size capio.LimitReader at 10 MiB prevents OOM from malicious servers
  • HTTP status check — 4xx/5xx responses now fail fast before JSON decode
  • State file permissions — tightened from 06440600 (no longer world-readable)
  • SPOTSONIC_PASSWORD env var — password no longer required on the command line (avoids ps aux exposure)

🔁 Reliability

  • Retry with exponential backoff — transient network errors and HTTP 5xx retry up to 3× (1 s, 2 s); 4xx and API errors fail immediately
  • Temp file cleanup.tmp state file removed on failed os.Rename
  • Report write errors surfaced — CSV write/flush failures in unmatched report are now logged instead of silently dropped
  • State-save failure — logged at ERROR level instead of warning

✅ Correctness

  • Fuzzy matcher rune-awaresimilarity() now uses rune lengths (not byte lengths); fixes inflated scores for non-ASCII track names (CJK, Arabic, etc.)
  • Case-insensitive CSV headers — column matching now tolerates track uri / TRACK URI etc.

📄 Docs

  • Added AUDIT_REPORT.md (full security audit findings)

v0.1

Choose a tag to compare

@just5ky just5ky released this 07 May 04:46