v3.5.2
3.5.2 is a patch release. The headline is a WebSocket streaming-rate improvement: synchronous clients now receive fresh device state at their full loop rate. It also folds in internal quality work and several device and navigation fixes.
Highlights
- Full-rate fresh state for synchronous WebSocket clients. The per-session reply throttle was removed, so every reply now carries freshly captured state instead of being capped near ~1 kHz (measured ~31 kHz, 100% fresh, on a Linux release machine). This reverses a fresh-state slowdown introduced in 3.5.1.
Internal improvements
- Firmware status codes are logged as 0x-prefixed hex for readability.
- Upgraded the glaze serialization library to v7.3.3 — wire output is byte-identical.
- Session-scoped safety configuration.
- Service-side workspace auto-scale (F1-F3).
Fixes
- Firmware 7.1+ devices that report no return-home configuration are detected again — they no longer fail the detection handshake.
- Back-pressure no longer wrongly drops device tick updates under load, which had caused intermittent gaps in device state.
- Auto-follow bubble navigation no longer flickers near the surface — the haptic output force stays steady and the auto-centering drift now tapers smoothly to zero at the bubble surface.
- The service no longer crashes when its configuration directory cannot be created (for example, a non-writable location); it logs a warning and continues.