Verified findings from a multi-dimension code audit, plus the two install-flow bugs: - Fix Opus encoder use-after-free on a codec/rate change while streaming (guard swap vs encode). - Fix "both" single-file recording dropping audio + drifting (drain both directions in lockstep). - Fix broken clip counter, UPnP teardown on exit, auto-update-restart foreground grant, and a malformed-Opus-format packet orphaning a playout session forever. - Post-install relaunch now respects start-minimised; uninstall is path-aware so it won't clear a different copy's run-at-startup. - Perf/hygiene: cache AppConfig off UI hot paths, fold per-peer EQ+gain into one pass, deterministic disposal (tray menu, timers, COM shortcut, Process handles, process meter), ring-buffer overflow guard, receiver session-lock fix, remote-control allow-list moved onto the UI thread. - Remove dead code (two IsAsioBackend, SessionPlayout.Reset, IsSameEndpoint, RemSoundUpdater IDisposable); several stale-doc fixes. Deferred (not in this release): drift-estimator tweak, peer-discovery pruning, uninstall retry-loop, encryption nonce. Wire format unchanged (interops v3.3-v5.1). Version -> 5.2. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.3 KiB
RemSound v5.2
A stability and polish release. No new features — this one is bug fixes and internal tidy-ups from a deep code review, so it should just feel a bit more solid.
Fixes you might notice
- Changing the codec or send rate while streaming could, in rare cases, crash RemSound with no warning. Fixed.
- Recording "both sent and received" into a single file could lose small amounts of audio and drift out of sync over a long session. It now stays sample-accurate for the whole recording.
- After installing, RemSound now honours your "start minimised" setting on the first relaunch (and still comes to the front when you're not starting minimised).
- Uninstalling one copy no longer switches off a different copy's "run at startup".
- Starting a split "received only" recording with no peers connected now tells you clearly, instead of quietly making an empty folder.
- The clipping indicator in the diagnostics works again.
Under the hood
- The automatic-update restart now brings the window to the front, the same way the installer does.
- The router port opened by UPnP is properly removed when you close RemSound.
- Lighter on memory and disk — fewer background file reads while you work, and tidier release of resources when the window closes or switches profiles.
Compatibility
Nothing about the over-the-network format changed, so v5.2 talks to v3.3 through v5.1 with no trouble — you don't have to update both ends at once. (Everyone still needs v3.3 or newer, where end-to-end encryption came in.)
Install
- Download
RemSound-v5.2.zipfrom this release. - Close RemSound.
- Extract the zip over your existing RemSound folder, overwriting program files when prompted. The zip is program files only — it won't touch your settings, profiles, logs or recordings.
- Run
RemSound.exe.
Upgrading
From v3.6 or newer: Help → Check for updates installs v5.2 with the in-app updater — and if it can't finish, it puts your old version back exactly as it was.
From v1.9–v3.5: Check for updates works, but uses your current version's older updater for this one hop. If auto-update has been failing on your machine, install by hand using the steps above.
v1.8 and earlier: the auto-updater in those versions can't install updates — install by hand using the steps above.