github Sendspin/sendspin-cli 4.2.0

9 hours ago

✨ New Features

List Network Clients (#92)

Discover all Sendspin clients on your network:

sendspin --list-clients

# Example output:
Found 3 client(s):

  home-assistant-voice-091d81
    URL:  ws://192.168.1.218:8927/sendspin
    Host: 192.168.1.218:8927
  esp32-s3-box-3-5ab1b8
    URL:  ws://192.168.1.164:8927/sendspin
    Host: 192.168.1.164:8927
  Living Room
    URL:  cast://192.168.1.240:8009
    Host: 192.168.1.240:8009

Chromecast Support (#96)

Stream audio directly to Chromecast devices. Chromecast devices are now discovered alongside Sendspin clients and can be targeted using cast:// URLs.

sendspin serve --demo --client cast://192.168.1.240:8009

Stream Event Hooks (#95)

Run external commands when audio streams start or stop - perfect for automating amplifier control, lighting, or notifications.

# Turn amplifier on/off with stream
sendspin --hook-start "./turn_on_amp.sh" --hook-stop "./turn_off_amp.sh"

# Unmute audio on stream start
sendspin daemon --hook-start "amixer set Master unmute"

Hooks can also be configured in settings file using hook_start and hook_stop keys.

Environment variables passed to hooks:

  • SENDSPIN_EVENT - "start" or "stop"
  • SENDSPIN_SERVER_ID - Connected server identifier
  • SENDSPIN_SERVER_NAME - Connected server friendly name
  • SENDSPIN_SERVER_URL - Connected server URL (only if client initiated the connection)
  • SENDSPIN_CLIENT_ID - Client identifier
  • SENDSPIN_CLIENT_NAME - Client friendly name

🔧 Improvements

Systemd Installation Refactor (#93)

  • Uses settings-daemon.json exclusively (systemd unit now simply runs sendspin daemon)
  • Creates dedicated sendspin user for proper daemon operation
  • Handles both fresh installs and upgrades (including from previous install scripts)
  • Fixed audio device detection for daemon users (resolves #77)

🐛 Bug Fixes

Fixed Handshake Timeout (#84)

Resolved spurious "Handshake with server timed out" warnings when two servers connect simultaneously. Connection handling is now properly serialized with graceful handoff between servers.

Don't miss a new sendspin-cli release

NewReleases is sending notifications on new releases.