Repository navigation
Releases: Sendspin/sendspin-python-cli
Releases · Sendspin/sendspin-python-cli
Release list
9.1.0
What’s Changed
🐛 Bugfixes
- #313 - Fix audio gaps in
servewith multiple workers (@maximmaxim345)
🚀 Features
- #312 - Add
--allow-unencryptedtosendspin servefor older players (@maximmaxim345)
⬆️ Dependencies
- #314 - Bump
aiosendspinto 10.2.2 to fix a memory leak inserve(@maximmaxim345)
9.0.0
What’s Changed
⚠ Breaking Changes
🐛 Bugfixes
- #308 - Kill a volume hook that hangs (@balloobbot)
- #309 - Stop Chromecast discovery when the connect times out (@balloobbot)
- #310 - Skip capture-side boost controls in ALSA volume detection (@balloobbot)
- #307 - Fix Sendspin Party with aiosendspin 10.2 (@balloobbot)
- #306 - Let aiosendspin arbitrate the daemon's server connections (@wildekek)
- #289 - fix(tui): clear now-playing metadata on a null metadata payload (@kiwipaulrob)
- #297 - fix(daemon): log repeated admission timeouts at debug, first at info (@kiwipaulrob)
- #295 - Fix logging error in CLI when ALSA card is string instead of int (@mill1000)
8.0.0
This release adds encryption and pairing, and needs Music Assistant 2.10 or newer.
After upgrading:
- Each player gets a new client ID, so Music Assistant sees it as a new player. You'll need to re-add it to groups and update any Home Assistant automations that used the old one.
- Unpaired access is on by default, so Music Assistant and other servers let the player play without a PIN. To require pairing before playing, start the player with
--unpaired-access false. --idis removed, so take it out of any service file or the player won't start. To run multiple players on one machine, give each one its own--settings-dirinstead.
What’s Changed
⚠ Breaking Changes
🐛 Bugfixes
- #286 - fix(audio): treat ValueError from format probing as unsupported (raw ALSA devices) (@kiwipaulrob)
- #285 - fix(settings): write settings file atomically via temp + rename (@kiwipaulrob)
- #283 - fix(utils): log fire-and-forget background task failures (@kiwipaulrob)
- #287 - fix(settings): create the identity key file with owner-only mode from the outset (@kiwipaulrob)
- #288 - fix(tui): idle the visualizer refresh once interpolation settles (@kiwipaulrob)
- #284 - fix(daemon): keep reconnecting after unexpected errors instead of exiting 0 (@kiwipaulrob)
- #282 - fix(serve): sample play_start_us from CLOCK_MONOTONIC_RAW (@kiwipaulrob)
- #279 - Fix ALSA hardware volume detection for CARD= and bare sysdefault devices (@OnFreund)
🚀 Features
- #293 - Add
--unpaired-accessoption, on by default (@maximmaxim345)
🧰 Maintenance
- #292 - Auto-label PRs and sort all labels into release notes (@maximmaxim345)
- #281 - docs: clarify daemon upgrade flow for dedicated sendspin service user (@kadykov)
7.6.0 (superseded by 8.0.0)
Not published to PyPI. These changes are part of 8.0.0:
What’s Changed
- #286 - fix(audio): treat ValueError from format probing as unsupported (raw ALSA devices) (@kiwipaulrob)
- #285 - fix(settings): write settings file atomically via temp + rename (@kiwipaulrob)
- #283 - fix(utils): log fire-and-forget background task failures (@kiwipaulrob)
- #287 - fix(settings): create the identity key file with owner-only mode from the outset (@kiwipaulrob)
- #288 - fix(tui): idle the visualizer refresh once interpolation settles (@kiwipaulrob)
- #284 - fix(daemon): keep reconnecting after unexpected errors instead of exiting 0 (@kiwipaulrob)
- #281 - docs: clarify daemon upgrade flow for dedicated sendspin service user (@kadykov)
- #282 - fix(serve): sample play_start_us from CLOCK_MONOTONIC_RAW (@kiwipaulrob)
- #277 - Bump aiosendspin to 9.1.1 and wire up pairing/encryption (@OnFreund)
- #279 - Fix ALSA hardware volume detection for CARD= and bare sysdefault devices (@OnFreund)
7.5.0
What’s Changed
- #255 - Reduce audible startup sync correction (@trisweb)
- #266 - Display album artwork in the TUI via
artwork@v1(@maximmaxim345) - #265 - Run pytest in CI (@maximmaxim345)
🐛 Bugfixes
- #264 - Visualizer follow-up fixes (@maximmaxim345)
7.4.0
What’s Changed
- #259 - Add
visualizer@v1with beats, peaks, pitch, and frequency (@maximmaxim345)
🚀 Features
- #254 - Support
color@v1role in the TUI for dynamic color themes based on the musics artwork (@maximmaxim345)
7.3.1
What’s Changed
- #250 - Fix server command listener lost after daemon reconnect (@copilot-swe-agent[bot])
- Fix sendspin serve crash on Python 3.12 (#252) @maximmaxim345
7.3.0
What’s Changed
🐛 Bugfixes
- #246 - Fix unwanted catch-up when joining mid-stream playback (@maximmaxim345)
- #245 - Fix wrong audio sync delta after server-driven delay change (@maximmaxim345)
- #244 - Remove role versions from
stream/clearandstream/endto match the Specification (@maximmaxim345)
🚀 Features
⬆️ Dependencies and CI
- #247 - Bump
aiosendspinto 5.2 (@maximmaxim345)
7.2.0
7.1.0
What’s Changed
- #238 - Fix audio underflow on stream start by buffering before playback (@tobsch)
- #235 - Add --interface option to bind to a specific network interface (@copilot-swe-agent[bot])
- #199 - Add multi-worker serve mode for Sendspin Party (@maximmaxim345)
🐛 Bugfixes
- #237 - Scope ALSA
get_state()to Playback channels on mixed Capture/Playback controls (@copilot-swe-agent[bot])