VibeServer 5.6.0 for macOS — signed and notarised. Also on apt for Debian/Ubuntu (arm64 and amd64).
Web client
- Safari silence repaired. Safari 27 can freeze the audio output clock while the context still says "running". The web client now watches the clock itself, kicks the context, and rebuilds it if the kick does not take. No stall verdicts on a hidden tab.
- Scope view replaces the composite eye: three boxes, pilot, stereo and RDS, each on its own scale and coloured by its own health. The deviation reading uses a 50 ms window and a percentile, so clicks no longer spike it and it holds on weak signals.
- Runaway pages cannot loop. A "your turn" reload is capped at three in two minutes and never fires on a hidden tab. One such page produced 35,000 requests in two hours.
- Experimental: a media-pipeline playout for Safari (Spatialise Stereo on AirPods) behind a switch in the audio menu. Off by default.
- Two more dial-chat replies: "Yes, I'm using it, but you can tune" and "Yes, please hold on".
Server
- Session storm guard. An address opening more than 30 sessions a minute is refused for four minutes instead of restarting the audio chain for everyone else.
- SDRplay keepalive. With release-on-idle, an RSP left unclaimed for an hour went dormant until a reboot. The server now re-acquires it for 15 s every 10 minutes while released, and logs when the radio does not answer.
- Opus stereo at 96 kb/s for FM stereo and DAB; mono streams unchanged at 64.
- Less CPU per listener. The channel decimator is split 4 then 2 and the audio low-pass runs in two stages: about a quarter less on a Pi 5 per WFM listener.
- A data race in the band tables that could crash the front door on a handover is fixed.