Skip to content

v0.125.0

Choose a tag to compare

@gesellix gesellix released this 16 Aug 18:18
· 36 commits to main since this release

Noteworthy

  • On-device installs no longer leak the speaker's own hostname into
    BMX/TLS URLs (#546).
    soundtouch-service used 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 a CURL ErrorCode 6. A new --deployment-mode/DEPLOYMENT_MODE setting
    (on-device/private-network/public-network) makes the fallback
    deliberate instead of guessed: on-device now defaults to localhost,
    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 :8000 was
    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>:17008 just works. Configurable via
    AFTERTOUCH_LAN_PORT in aftertouch.conf if you'd rather disable it or
    pick a different port. See the new
    Model Support Matrix
    for which chassis need this.
  • aftertouch.conf now 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 var soundtouch-service reads (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 revert commands — the same
    operations as the Admin UI's Devices → Sync Data and Migrate → Revert to
    Defaults buttons, now scriptable. setup migrate also gained
    --marge-url/--stats-url/--sw-update-url/--bmx-url overrides, 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 ... | sh silently failing to pin an install
    version — the env var never reached the right process in a pipe;
    install docs and install.sh now 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/