github chrisuthe/SendspinDroid v2.0.0-Beta8

pre-release6 hours ago

What's Changed

  • Omit artwork role in low memory mode by @chrisuthe in #100
  • Minimize ImageLoader caches in low memory mode by @chrisuthe in #102
  • Cap audio chunk queue capacity in low memory mode by @chrisuthe in #103
  • Auto-detect low memory devices for default setting by @chrisuthe in #104
  • Constrain audio to 16-bit PCM in low memory mode by @chrisuthe in #101
  • Fix stream format guard to allow pipeline reconfiguration on format change by @chrisuthe in #106
  • fix: prevent audioDecoder TOCTOU race in onAudioChunk by @chrisuthe in #107
  • fix: always dispatch stream/start to clear stale audio on skip by @chrisuthe in #108
  • feat: auto-start on boot for background-only operation by @chrisuthe in #109
  • fix: run audio write loop at URGENT_AUDIO priority (#116) by @chrisuthe in #118
  • fix: resilient reconnection (zombie WiFi / server restart / idle connections) by @chrisuthe in #119
  • diag: instrument command path + close enterIdle streamGeneration gap (#114) by @chrisuthe in #120
  • fix: send WebSocket pings on OkHttp engine (#105) by @chrisuthe in #121
  • fix: AAAA-only hostname / IPv6 connection support (#115) by @chrisuthe in #122
  • fix: simplify codec preference to one user-chosen setting (#26) by @chrisuthe in #123
  • fix: auto-reselect connection mode on network-type change (hotfix for drive-time blackout) by @chrisuthe in #124
  • feat(logging): on-device logging redesign with AppLog facade + logcat bridge by @chrisuthe in #125
  • feat: idle stall watchdog + LOCAL->PROXY fallback (#126, #127) by @chrisuthe in #133
  • feat: surface Reconnecting state on MediaSession (#132) by @chrisuthe in #134
  • fix: make PlaybackService.lastNetworkId @volatile by @chrisuthe in #135
  • feat: handle same-network link-property changes (#130) by @chrisuthe in #136
  • refactor: align onClosed and onFailure reconnect gates (#129) by @chrisuthe in #137
  • feat: expose connection-health telemetry + [disconnect] logs (#128) by @chrisuthe in #138
  • docs: align CLAUDE.md with shipped architecture by @chrisuthe in #139
  • refactor: harden SyncAudioPlayer concurrency (drain-pattern, latch, fast-path) by @chrisuthe in #140
  • fix: close watchdog race and stale authToken across mode changes by @chrisuthe in #141
  • refactor: move decoder ownership to a single-thread executor by @chrisuthe in #142
  • chore: prune vestigial SendSpinServer code path by @chrisuthe in #143
  • refactor: split SendSpinClient scope into timer + work (M-4) by @chrisuthe in #145
  • fix: wizard crash when two servers share a friendly name by @chrisuthe in #146
  • feat: auto-measure static_delay_ms for multi-room sync (H-2 + L-3) by @chrisuthe in #144
  • revert: PR #142 (decode executor) — FLAC playback regression by @chrisuthe in #148
  • fix: resolve MA player id server-authoritatively (groups/players sheet) by @chrisuthe in #149
  • docs: SendSpin + MA metadata and artwork flow reference by @chrisuthe in #150
  • feat(ma): fast track-change metadata via queue_updated by @chrisuthe in #151
  • fix(artwork): prefer URL over binary + per-track invalidation by @chrisuthe in #152
  • fix: tick latency estimator during WAITING_FOR_START to unblock playback by @chrisuthe in #153
  • feat: audio integration harness, stuck-state watchdog, JsonNull parse fix by @chrisuthe in #154
  • fix: bound reconnect retries + default unknown errors to unrecoverable (L-5) by @chrisuthe in #155
  • fix: codec-safe decoder redesign (H-4 + M-8, second attempt) by @chrisuthe in #156
  • fix: throttle DAC-aware alignment-wait log spam by @chrisuthe in #157

Full Changelog: v2.0.0-Beta7...v2.0.0-Beta8

Don't miss a new SendspinDroid release

NewReleases is sending notifications on new releases.