3.5.2 (2026-06-19)
Internal Improvements
devices::inverse3: track control_mode via firmware FSM state notification (cc2daa9)events: add device-protocol-deprecated event, emitted gated in warn_if_deprecated (ec704f6), closes #234events: add event emit macros (9ad8531), closes #185inverse_ux: add button_b gesture-menu trigger to the scale-popup event (5fc7ab5)modules::inverse-ux: notification & safety protocol v2 (FW >= 7.7.0) (3929372), closes #234 #255 #254protocol: log firmware codes as 0x-prefixed bytes (49a4001)serialization: add experimental gate, split from preview (58426f3), closes #234serialization: add rate_dispatch stage for rate/dispatch/* (2289e34), closes #241serialization: bump glaze to v5.7.2 (20c8705), closes #260serialization: bump glaze to v6.5.1 (b5885af), closes #260serialization: bump glaze to v7.3.3 (545376d), closes #260serialization: decouple stage gates from API paths (af22d01), closes #259serialization: pre-stage glaze 5-7 compat on 4.4.3 (592fb5e), closes #260serialization: rename first-message version receipt to config.version (c33cf82), closes #258serialization: TODO for the deferred safety wire reshape (da06d7c), closes #237 #237service: add session-scoped safety config with baseline restore on close (e55362e)service: add v3.1 safety config HTTP and WS snapshot API (d973ff6)service: implement workspace auto-scale F1-F3 service side (a512ea7)service: wire safety config SET/RESET to firmware serial (9c1a40e)sessions;http;events: connect-time version negotiation, staged behind preview (229fbc6), closes #261 #258settings: stage rate tuning knobs as experimental (76de901), closes #259Bug Fixes
core: zero-init settings apply-json buffer for GCC 13 -O3 (efd0e00)devices: restore detection of fw 7.1+ without return-home config (6d43b38), closes #222engine: stop back-pressure from wrongly dropping tick dispatches (690c588), closes #241inverse_ux: downgrade grip_hook debug logs to trace (cff1446)inverse_ux: gate grip_hook activation on active control session (eb19c5d)modules::inverse-ux: normalize legacy (FW < 7.7.0) notifications to v2 (eb9b6ff), closes #234modules::navigation: stop auto-follow force flicker at surface (152df00), closes #269protocol: restore 0xBB Family B safety channels reshaped to Family A (6b97234), closes #234serialization: move safety patch to v3_1 and adopt the generic patch overlay (186fa52), closes #259serialization: restore prototype grip extension_data in snapshot (142ba92), closes #263sessions: guard try_get_device against a null engine singleton (d584dcc)velocity threshold - wider cone - calibration button to activate (ed366a0)Performance Improvements
force_bench: Remove framerate throttle (bb52166)force_bench: synchronous perf loop + metrics JSON (46686c1)force-bench: make output more readable (b8cfa89)