v0.125.0
Noteworthy
- On-device installs no longer leak the speaker's own hostname into
BMX/TLS URLs (#546).soundtouch-serviceused to default its own
Server URL to the machine's hostname when none was set. On an on-device
install that machine is the speaker, so the "hostname" is its internal
variant codename (e.g.spotty,mojo) — never resolvable, not even by
the speaker itself, breaking TuneIn/BMX playback with aCURL ErrorCode 6. A new--deployment-mode/DEPLOYMENT_MODEsetting
(on-device/private-network/public-network) makes the fallback
deliberate instead of guessed: on-device now defaults tolocalhost,
and the on-device installer sets this automatically — no manual Settings
step needed on a fresh or freshly-updated install. Existing installs
that already have a Server URL saved still need a one-time manual fix
(Settings tab, then re-run Migrate); this only prevents the bad default
from being written going forward. - Reach on-device AfterTouch from the LAN without an SSH tunnel (#196).
Some SoundTouch chassis only relay a fixed set of Bose's own ports to
the main Linux SoC from outside the device — AfterTouch's:8000was
never on that list, so LAN clients silently couldn't reach it, and the
only documented workaround was an SSH tunnel. The installer now
auto-detects affected speakers and redirects a spare Bose port
(:17008, the now-dead software-update listener) to AfterTouch, so
http://<speaker-ip>:17008just works. Configurable via
AFTERTOUCH_LAN_PORTinaftertouch.confif you'd rather disable it or
pick a different port. See the new
Model Support Matrix
for which chassis need this. aftertouch.confnow configures the on-device daemon generally, not
just the LAN port. Every line in it is exported into the daemon's own
environment, so any env varsoundtouch-servicereads (MGMT_USERNAME,
MGMT_PASSWORD, etc.) can be set there and picked up on
/etc/init.d/aftertouch restart— no more editing the init script by
hand for on-device configuration.- New
soundtouch-cli setup sync/setup revertcommands — the same
operations as the Admin UI's Devices → Sync Data and Migrate → Revert to
Defaults buttons, now scriptable.setup migratealso gained
--marge-url/--stats-url/--sw-update-url/--bmx-urloverrides, for
pointing a speaker's individual URLs anywhere (including back to the
genuine Bose cloud) via a single telnet call. - Fixed a real-hardware dial storm in "Revert to Defaults." Reverting
a migration made up to 17 separate SSH connections to the speaker in
rapid succession, which could overwhelm it. SSH connections are now
reused across the whole revert operation. - Fixed on-device upgrades/downgrades not actually replacing the running
service. Three stacked init-script bugs meant a new binary could land
on disk correctly while the old process kept running (and answering
requests) indefinitely afterward. Re-running the installer now reliably
restarts into the new binary.
Smaller changes
- Fixed
VERSION=X curl ... | shsilently failing to pin an install
version — the env var never reached the right process in a pipe;
install docs andinstall.shnow set it correctly (curl ... | VERSION=X sh). - Fixed two broken links to the Model Support Matrix in the docs.
What's Changed
- feat(on-device): LAN access without SSH tunnel, install/restart fixes, setup sync/revert by @gesellix in #619
- docs: fix two broken links to the model support matrix by @gesellix in #623
- fix(on-device): stop leaking the speaker's own hostname into BMX/TLS URLs by @gesellix in #624
Full Changelog: v0.124.0...v0.125.0
📦 Downloads / installation: https://gesellix.github.io/Bose-SoundTouch/docs/downloads/