sendspin v1.8.0
✨ Features
- Controller repeat/shuffle moved to controller state per spec#81, with full client-side consumption (#135)
- Format adaptation: emit
stream/request-formatso servers can renegotiate codec/sample-rate mid-stream (#132) - External source client API (#131)
- Persist
static_delay_msacross restarts (#133) - Honor
client/goodbye.reasonfor smarter server re-dial (#134)
🐛 Fixes
- Fix handshake failure against Music Assistant 2.9.0 — stop advertising the unimplemented
visualizerrole, whose staleclient/hellosupport object MA's stricter validation rejected (#136, #137) - Apply perceptual volume curve
(vol/100)^1.5(#128) - Validate
static_delay_msagainst the spec range 0–5000 (#129) - Fix a data race in the receiver's stream/decoder handoff (part of #135)
🧹 Internal
- gofmt
receiver.goto fix the Lint check (#138)
Full Changelog: v1.7.0...v1.8.0