Skip to content

Releases: eknoes/toothspin

v0.5.1: chore(release): 0.5.1

Choose a tag to compare

@github-actions github-actions released this 25 Oct 19:14
Immutable release. Only release title and notes can be modified.

0.5.1 (2026-10-25)

Fixes

  • server: No skips when Bluetooth audio comes in bursts

Documentation

  • Diagram for both variants
  • New screenshots with covers and taps
  • Shorter comparison
  • Rickrolling
  • Site and README intro for both variants
  • Covers, speaker groups and Standalone throughout
  • Which Bluetooth adapters work

Image: ghcr.io/eknoes/toothspin:0.5.1 (standalone mode: ghcr.io/eknoes/toothspin-standalone:0.5.1). SBOMs (SPDX, CycloneDX) of the default image are attached; both images in the registry carry SBOM and provenance attestations.

v0.5.0: chore(release): 0.5.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 16:46
Immutable release. Only release title and notes can be modified.

0.5.0 (2026-10-25)

Features

  • Ask for an update when Music Assistant speaks another Sendspin version
  • server: Speaker groups that play as one speaker
  • Covers from the phones

Fixes

  • source: Log the codec actually streamed
  • server: Recognise older speakers again with aiosendspin 10
  • server: Start again until mDNS works
  • server: Play again on speakers that come back
  • Connect phones' audio again after a restart
  • covers: Start obexd so it keeps running
  • selinux: Drop the rule for covers again

Image and dependencies

  • deps-dev: Bump ruff from 0.16.10 to 0.17.1
  • Aiosendspin 10.2.0, as Music Assistant 2.10.7 ships
  • Aiosendspin 10.2.1, as Music Assistant 2.10.8 ships

Documentation

  • Music Assistant 2.10.7 or newer
  • Runs in a couple of homes by now
  • List the hardware ToothSpin runs on
  • ToothSpin or ToothSpin Standalone, side by side

Image: ghcr.io/eknoes/toothspin:0.5.0 (standalone mode: ghcr.io/eknoes/toothspin-standalone:0.5.0). SBOMs (SPDX, CycloneDX) of the default image are attached; both images in the registry carry SBOM and provenance attestations.

v0.4.0: chore(release): 0.4.0

Choose a tag to compare

@github-actions github-actions released this 20 Oct 20:59
Immutable release. Only release title and notes can be modified.

0.4.0 (2026-10-20)

Features

  • web: Suggest putting ToothSpin on the home screen once a phone is paired
  • web: Link help and issue reports at the bottom

Fixes

  • server: Play on the chosen speakers again after a long pause
  • server: No silence for ToothSpin's own server

Documentation

  • faq: List all questions on top; home screen and long pause for standalone

Image: ghcr.io/eknoes/toothspin:0.4.0 (standalone mode: ghcr.io/eknoes/toothspin-standalone:0.4.0). SBOMs (SPDX, CycloneDX) of the default image are attached; both images in the registry carry SBOM and provenance attestations.

v0.3.0: chore(release): 0.3.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 16:19
Immutable release. Only release title and notes can be modified.

0.3.0 (2026-10-18)

Features

  • Standalone mode with ToothSpin's own Sendspin server
  • app: ToothSpin Standalone, a Home Assistant App for standalone mode
  • web: Say which ToothSpin it is in the title
  • server: Optional speaker buffer for standalone mode
  • server: Show what the phone plays on speakers with a display
  • Sum up dropouts per speaker and per phone after each session

Fixes

  • setup: Standalone mode's setup hints are about its own server
  • server: Keep starting the Sendspin server until the network is up
  • server: Say why standalone mode can't start next to Music Assistant
  • server: One log line per older speaker instead of several warnings
  • web: Log successful requests only at log level debug

Image and dependencies

  • A server image flavour for standalone mode
  • Publish standalone mode as its own image, toothspin-standalone

Documentation

  • Drop the "Demo data" notes under the screenshots
  • An "Install on Home Assistant" button at the top of the website
  • install: Links to each way to install at the top
  • Describe standalone mode
  • pages: Standalone mode in the installation guide and FAQ
  • Standalone mode as a small alternative to Music Assistant

Image: ghcr.io/eknoes/toothspin:0.3.0 (standalone mode: ghcr.io/eknoes/toothspin-standalone:0.3.0). SBOMs (SPDX, CycloneDX) of the default image are attached; both images in the registry carry SBOM and provenance attestations.

v0.2.1: chore(release): 0.2.1

Choose a tag to compare

@github-actions github-actions released this 17 Oct 07:19
Immutable release. Only release title and notes can be modified.

0.2.1 (2026-10-17)

Fixes

  • app: Let Home Assistant's init stop ToothSpin cleanly

Documentation

  • app: A changelog for Home Assistant's update dialog

Image: ghcr.io/eknoes/toothspin:0.2.1. SBOMs (SPDX, CycloneDX) are attached; the image in the registry also carries SBOM and provenance attestations.

v0.2.0: chore(release): 0.2.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 05:53
Immutable release. Only release title and notes can be modified.

Features

  • capture: Log when a phone's audio comes late
  • bluez: Option to refuse pairing on the host's other adapters
  • Run as an unprivileged user, not root
  • app: Read the App's options from the Supervisor's API
  • Run with Docker's --user, without any capabilities

Fixes

  • web: Shorter setup texts and confirmations
  • web: Don't reconnect on a second tap of a slow Disconnect
  • web: Refuse POSTs other websites can send
  • bluez: Only let paired phones connect by themselves
  • web: Check every request field strictly
  • app: Let AppArmor allow only BlueZ on the host's D-Bus
  • Say how to hand over /data when it belongs to another user
  • Refuse a runtime folder that isn't ToothSpin's own

Documentation

  • app: Call the start volume option "Maximum start volume", explain it better
  • app: Shorter, clearer option descriptions, store page and docs
  • Shorter FAQ, install guide and README usage
  • faq: Why only AAC and SBC, no aptX or LDAC

Image: ghcr.io/eknoes/toothspin:0.2.0. SBOMs (SPDX, CycloneDX) are attached; the image in the registry also carries SBOM and provenance attestations.

v0.1.5: chore(release): 0.1.5

Choose a tag to compare

@github-actions github-actions released this 15 Oct 17:22
Immutable release. Only release title and notes can be modified.

Features

  • app: Run under its own AppArmor profile
  • app: Run without the host network
  • web: Show the running version and commit at the bottom, with a link

Fixes

  • bluez: Connect a freshly paired phone if its own connection broke down
  • bluez: Refuse headset and hands-free connections from phones
  • source: Keep the speakers through a pause on the phone
  • capture: Keep the signal through a pause, so Music Assistant doesn't stop
  • Reconnect the phones a restart dropped
  • source: Back off and warn when the server keeps dropping the connection
  • speakers: Let a speaker finish leaving a group before starting it again
  • speakers: Report it when Music Assistant doesn't group a speaker

Documentation

  • faq: How to put ToothSpin on a phone's home screen
  • faq: Speakers after a long pause, a known limitation
  • The App without host network, the web UI port in Network
  • faq: Speakers that won't group, usually a stale device in Music Assistant

Image: ghcr.io/eknoes/toothspin:0.1.5. SBOMs (SPDX, CycloneDX) are attached; the image in the registry also carries SBOM and provenance attestations.

v0.1.4: chore(release): 0.1.4

Choose a tag to compare

@github-actions github-actions released this 15 Oct 06:13
Immutable release. Only release title and notes can be modified.

Features

  • web: Show "Disconnecting…" until a phone is disconnected
  • ma: Check Music Assistant's version and ask for an update if too old
  • app: Take Bluetooth audio from Home Assistant's audio service, with consent

Fixes

  • web: Skip speaker clicks a newer one replaced, explain timeouts
  • web: Clicks no longer get lost on re-render; the setup box opens on click
  • ma: Answer Music Assistant 2.11's new steps when pairing
  • bluetooth: Offer phones only AAC and SBC

Documentation

  • Which Music Assistant versions work, and why
  • Home Assistant's audio service and the codecs offered

Image: ghcr.io/eknoes/toothspin:0.1.4. SBOMs (SPDX, CycloneDX) are attached; the image in the registry also carries SBOM and provenance attestations.

v0.1.3: chore(release): 0.1.3

Choose a tag to compare

@github-actions github-actions released this 14 Oct 22:04
Immutable release. Only release title and notes can be modified.

Features

  • setup: A light Finish setup card with links into Home Assistant
  • app: A sidebar icon closer to the logo (mdi:home-sound-in)

Image and dependencies

  • deps: Bump dbus-fast to 5.2.0
  • coreos: Use Butane spec 1.7.0

Documentation

  • Screenshots of the setup card and a demo GIF

Image: ghcr.io/eknoes/toothspin:0.1.3. SBOMs (SPDX, CycloneDX) are attached; the image in the registry also carries SBOM and provenance attestations.

v0.1.2: docs(faq): why Music Assistant shows no track metadata

Choose a tag to compare

@github-actions github-actions released this 14 Oct 21:18
Immutable release. Only release title and notes can be modified.

Fixes

  • web: Italics and plain lists in setup instructions

Documentation

  • pages: Installation guide and FAQ
  • Link the installation guide and FAQ from the App and notifications
  • faq: Why Music Assistant shows no track metadata

Image: ghcr.io/eknoes/toothspin:0.1.2. SBOMs (SPDX, CycloneDX) are attached; the image in the registry also carries SBOM and provenance attestations.