Releases: chrisuthe/windowsSpin
WindowsSpin 1.14.0
What's Changed
- refactor: replace in-repo SDK source with Sendspin.SDK NuGet package … by @chrisuthe in #19
- remove diagnostic recording by @chrisuthe in #18
Full Changelog: v1.13.1...v1.14.0
Dev Build ed451db
This is an automated development build from commit ed451db.
Changes in this build:
Merge pull request #18 from chrisuthe/task/remove-diagnostic-recording
remove diagnostic recording
📦 Downloads:
WindowsSpin-...-Setup.exe- Requires .NET 10 Desktop RuntimeWindowsSpin-...-Setup-SelfContained.exe- Standalone (no .NET required)- Portable ZIPs also available
🔐 All executables are code-signed.
Dev Build cf81922
This is an automated development build from commit cf81922.
Changes in this build:
Merge pull request #19 from chrisuthe/task/replace-sdk-with-nuget
refactor: replace in-repo SDK source with Sendspin.SDK NuGet package …
📦 Downloads:
WindowsSpin-...-Setup.exe- Requires .NET 10 Desktop RuntimeWindowsSpin-...-Setup-SelfContained.exe- Standalone (no .NET required)- Portable ZIPs also available
🔐 All executables are code-signed.
Dev Build b4ad833
This is an automated development build from commit b4ad833.
Changes in this build:
chore: bump version to 1.14.0
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
📦 Downloads:
WindowsSpin-...-Setup.exe- Requires .NET 10 Desktop RuntimeWindowsSpin-...-Setup-SelfContained.exe- Standalone (no .NET required)- Portable ZIPs also available
🔐 All executables are code-signed.
WindowsSpin 1.13.1
What's Changed
- fix: prevent buffer overruns from destroying stream start position by @chrisuthe in #17
Full Changelog: v1.13.0...v1.13.1
WindowsSpin 1.11.0
Highlights
Single Instance Enforcement — Launching a second copy of Sendspin now activates the existing window instead of creating duplicate tray icons, audio pipelines, and discovery services. The second process signals the first via a named pipe and exits silently.
NativeAOT-Compatible SDK (v7.0.0) — The Sendspin.SDK NuGet package is now fully NativeAOT and trim-compatible. JSON serialization uses source-generated contexts, and the Fleck WebSocket server dependency has been replaced with built-in .NET APIs.
Pause/Resume Fix — Fixed a bug where pausing playback for N seconds caused an N-second delay on resume, due to the MonotonicTimer's forward-jump clamping consuming the pause gap.
New Features
- Single instance enforcement — Mutex + named pipe prevents duplicate instances; second launch brings existing window to front (#11)
- Hybrid audio clock API — Platform implementers can provide audio hardware clock timing for VM-immune sync (SDK 6.3.0)
- Timing source display — Stats for Nerds now shows which timing source is active
- Categorized diagnostic logging — All log messages include category prefixes (
[ClockSync],[Timing],[Playback],[SyncError],[Correction],[Buffer]) for easier filtering - Sync correction transition logging — Logs when correction mode changes with session counts, cumulative totals, and duration
Bug Fixes
- Fix pause/resume delay — Reset MonotonicTimer on pipeline start so pause duration doesn't cause playback delay on resume
- Fix touch scrolling — Enable touch input on settings page and welcome view ScrollViewers (#3, #12)
SDK Changes (v6.3.0 → v7.0.0)
- Breaking:
SendspinListener.ServerConnectedevent parameter changed fromFleck.IWebSocketConnectiontoWebSocketClientConnection - Replace Fleck WebSocket server with built-in .NET
TcpListener+WebSocket.CreateFromStream() - JSON source generation context for NativeAOT-compatible serialization
- AOT-compatible
OptionalJsonConverter IsAotCompatibleandIsTrimmableenabled in SDK csproj- Added xUnit test project with WebSocket server integration tests
Upgrade Notes
- The Fleck NuGet dependency has been removed — if you were using
IWebSocketConnectionfrom the SDK's server-initiated mode, update toWebSocketClientConnection - No changes needed for client-initiated (mDNS discovery) connections
- .NET 10 Preview 2+ SDK required for building
Dev Build aeb80de
This is an automated development build from commit aeb80de.
Changes in this build:
chore: bump version to 1.13.1
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
📦 Downloads:
WindowsSpin-...-Setup.exe- Requires .NET 10 Desktop RuntimeWindowsSpin-...-Setup-SelfContained.exe- Standalone (no .NET required)- Portable ZIPs also available
🔐 All executables are code-signed.
Dev Build 9fc079f
This is an automated development build from commit 9fc079f.
Changes in this build:
chore: bump SDK to 7.2.1 and trim release notes for NuGet
Bump Sendspin.SDK version to 7.2.1 with release notes for buffer
overrun fix and dynamic BufferCapacity. Trim historical release
notes (pre-v5.0.3) to stay under NuGet's 35000 char limit.
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
📦 Downloads:
WindowsSpin-...-Setup.exe- Requires .NET 10 Desktop RuntimeWindowsSpin-...-Setup-SelfContained.exe- Standalone (no .NET required)- Portable ZIPs also available
🔐 All executables are code-signed.
Dev Build 497c22a
This is an automated development build from commit 497c22a.
Changes in this build:
chore: bump version to 1.13.1
📦 Downloads:
WindowsSpin-...-Setup.exe- Requires .NET 10 Desktop RuntimeWindowsSpin-...-Setup-SelfContained.exe- Standalone (no .NET required)- Portable ZIPs also available
🔐 All executables are code-signed.
WindowsSpin 1.10.0
What's Changed
- Add per-player logging and fix connection loss detection by @scyto in #7
- Add MonotonicTimer for VM-resilient timing by @chrisuthe in #8
New Contributors
- @scyto made their first contribution in #7
- @chrisuthe made their first contribution in #8
Full Changelog: v1.8.0...v1.10.0
What's Changed
- Add per-player logging and fix connection loss detection by @scyto in #7
- Add MonotonicTimer for VM-resilient timing by @chrisuthe in #8
New Contributors
- @scyto made their first contribution in #7
- @chrisuthe made their first contribution in #8
Full Changelog: v1.8.0...v1.10.0