3.5.2 (2026-06-19) {#352-2026-06-19}
内部改进 {#internal-improvements}
devices::inverse3: 通过固件 FSM 状态通知进行跟踪 控制模式 (cc2daa9)events:新增 device-protocol-deprecated 事件,在 warn_if_deprecated 中根据条件触发 (ec704f6),关闭 #234events:新增事件触发宏 (9ad8531),关闭 #185inverse_ux:为缩放弹窗事件新增 button_b 手势菜单触发器 (5fc7ab5)modules::inverse-ux:通知与安全协议 v2(FW >= 7.7.0)(3929372),关闭 #234 #255 #254协议:以 0x 前缀字节的形式记录固件代码 (49a4001)序列化:新增实验性开关,从预览中分离出来 (58426f3),关闭 #234序列化: 为 rate/dispatch/* 新增 rate_dispatch 阶段 (2289e34),关闭 #241序列化:将 glaze 升级至 v5.7.2 (20c8705),关闭 #260序列化:将 glaze 升级至 v6.5.1 (b5885af),关闭 #260序列化:将 glaze 升级至 v7.3.3 (545376d),关闭 #260序列化:将阶段开关与 API 路径解耦 (af22d01),关闭 #259序列化:在 4.4.3 版本上预先分阶段实现了与 Glaze 5-7 的兼容性 (592fb5e),关闭 #260序列化: 将第一条消息的版本回执重命名为 config.version (c33cf82),关闭 #258序列化:为延后处理的安全报文格式重构添加 TODO(da06d7c),关闭 #237 #237服务:新增会话级安全配置,关闭时恢复基线 (e55362e)服务:新增 v3.1 安全配置的 HTTP 和 WS 快照 API (d973ff6)服务:实现工作区自动缩放 F1-F3 的服务器端部分 (a512ea7)服务:将安全配置的 SET/RESET 连接到固件串口 (9c1a40e)会话;HTTP;事件:连接时进行版本协商,在预览版之后分阶段启用 (229fbc6),关闭 #261 #258设置:将速率调节旋钮作为实验性功能分阶段提供 (76de901),关闭 #259错误修复 {#bug-fixes}
核心:为 GCC 13 -O3 将 settings apply-json 缓冲区零初始化 (efd0e00)设备:恢复对无回原点配置的固件 7.1+ 的检测 (6d43b38),关闭 #222engine:修复了因背压错误导致丢弃 tick 分发的问题 (690c588),关闭 #241inverse_ux:将 grip_hook 调试日志降级为 trace (cff1446)inverse_ux:将 grip_hook 的激活限制在活动控制会话上 (eb19c5d)modules::inverse-ux: 将旧版 (FW < 7.7.0) 通知规范化为 v2 (eb9b6ff),关闭 #234modules::navigation:修复了自动跟随时位于表面处的力闪烁问题 (152df00),关闭 #269协议:恢复已重构为 Family A 的 0xBB Family B 安全通道 (6b97234),关闭 #234序列化:将安全补丁迁移至 v3_1 并采用通用补丁覆盖层 (186fa52),关闭 #259序列化: 在快照中恢复原型握把的 extension_data (142ba92),关闭 #263sessions:防止在引擎单例为 null 时 try_get_device 报错 (d584dcc)速度阈值调整 - 扩大锥形范围 - 通过校准按钮激活 (ed366a0)性能优化 {#performance-improvements}
force_bench:移除帧率限制 (bb52166)force_bench:同步性能循环 + 指标 JSON (46686c1)force-bench:让输出更易读 (b8cfa89)