github gbozo/no-sdr v2.11.3-rust
v2.11.3-rust — WFM AVX2 fix

pre-releaseone hour ago

Critical fix release for the Rust backend (serverrs). Wire protocol, REST API and config format are unchanged.

WFM audio regression (AVX2)

v2.11.2-rust shipped an AVX2 decimator whose complex horizontal reduction used hadd, which added real and imaginary lanes together. On AVX2 CPUs this corrupted the extracted sub-band: WFM sounded like noise with faint, unintelligible audio and broken stereo.

  • Fixed the reduction to fold the upper complex pair onto the lower one (proper real/imaginary sums).
  • Added an AVX2-vs-portable regression test covering 31/32/33/257-tap windows; it fails on the old reduction and passes on the fix.

Verified with the published 2.11.2 binary vs 2.11.3 on the same RTL2838/R820T and station:

Build Opus RMS Zero-crossing rate L/R correlation
2.11.2 (buggy) 0.21 0.150 -0.477
2.11.3 (fixed) 0.27 0.046 +0.722

Low ZCR and positive L/R correlation indicate normal speech/music and proper stereo; the high ZCR and negative correlation are the noise symptom.

Admin session expiry

Admin sessions are in memory, so a server restart invalidates the cookie while the open admin tab still looks logged in; saving then returned not authenticated. The admin UI now detects a 401 and returns to the login form with “Session expired. Please log in again.”

Tests

cargo test: 115/115 (the new AVX2 reduction test is included). Client typecheck and production build are clean.

Docker

ghcr.io/gbozo/no-sdr:2.11.3-rust — multi-arch (linux/amd64 + linux/arm64), -rust suffix only. This release also includes the Alpine librtlsdr/libusb link fix and the multi-arch digest-merge fix.

Don't miss a new no-sdr release

NewReleases is sending notifications on new releases.