Releases
v0.2.0
Compare
Sorry, something went wrong.
No results found
What's Changed
π Security
crypto/rand for auth salt β replaced math/rand (not a CSPRNG) in Subsonic token generation
HTTP response size cap β io.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 0644 β 0600 (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-aware β similarity() 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)
You canβt perform that action at this time.