Repository navigation
v0.3.5
- Add unified polling for measured speeds on L20Lite, L20, L30 and O30, and voltages on O30, using the existing native polling and Session send path.
- Correct explicit O30 V25 torque-limit and motion-time freshness to 100 ms and 300 ms. Apply these bounds to projected snapshots and health. Mounted V36 remains unchanged.
- Add
refresh_device_info()for an identity read that preserves queued commands, polling and the current generation on success. Timeout/protocol failures leave readiness unchanged; identity mismatch or transport loss faults admission and invalidates the readable cache. Existingget_device_info()andverify_identity()retain their earlier lifecycle behavior. - Add
get_cached_snapshot()for zero-I/O reads in all lifecycle states. Initial supported vectors are shaped and invalid. Generation loss retains raw evidence with invalid metadata, clears joint projections and omits identity. Physical connection loss or a changed shared Session generation cannot revalidate old evidence. Successful open/recovery replaces the cache; failed initialization cannot publish a partial baseline. Existingget_snapshot()still requires Ready. - Keep hand and transport patch versions independent within the supported minor line. Source, prebuilt, installed-consumer and release checks retain the explicit transport 0.3.4 minimum.
The paired transport remains v0.3.4 (0e190032d65ed0b315337b45b3779cf4f650ed68). Rebuild the SDK and downstream consumers with matching headers and static libraries. Existing C++ signatures and native defaults remain available; no new binary compatibility guarantee is made.
Validation covers native builds, FakeTransport lifecycle/concurrency regressions, source/prebuilt/installed consumers, sanitizers, static analysis and the twelve-target package matrix. No new physical-device acceptance is claimed. The new polling channels, identity refresh, recovery/cache transitions and deployed adapter/driver/firmware combinations require separate hardware validation. Existing hardware records retain their original scope. O20, Python bindings, hand/arm integration and complete Python runtime equivalence are outside this patch.
Hand source: a20ac60eced4ad6f59e59cf779c970ecb870371f. Transport source: 0e190032d65ed0b315337b45b3779cf4f650ed68.
The release contains eight native Ubuntu 20.04/22.04/24.04/26.04 x86_64/ARM64 Release packages and four Windows x64/ARM64 Debug/Release packages. Select the matching platform and runtime. Vendor drivers are not bundled. See release-manifest.json and SHA256SUMS.txt for build identities and checksums.
Exact-source validation: CI, A+ quality gate, and twelve-package release validation.