
Loading...



ready snapshot debug log (0c59c26)paired_with.auto behind preview_mode gate (1f7f0e1), closes #230preview_mode global flag for pre-release fields (422e822), closes #230quaternion ctor + core assign op (677ed6f)misc/deprecated as advanced setting (b3528d7)set_extension_data to the wireless verse_grip (011d5a0)force_attached override on Minverse calibration (e24bf84), closes #224attached always [secure] for Minverse and on first POST (cafb574)paired_with routes return computed attached state (a751208)defaults / arm_front (a333da8), closes #240defaults / arm_front presets (698008b), closes #252 #253defaults / arm_front presets (a0a2b29), closes #240ZoneScoped on session device calls (7404990)
🔖 Release 7.6.0
read_system_power_sensor function to match the Hw implementation (dae3505)







Our largest release since the API rewrite a year ago. 3.5.0 introduces a unified 3D math layer, full Minverse support, a typed event stream, a complete settings API, and a cleaner HTTP surface — alongside a year of bug fixes and quality-of-life improvements.
basis, mount, preset, transform, filters, handedness, torque_scaling, gravity_compensation, home_return.{ok, error, data} envelope (?format=json), and wildcard session selectors.POST /ports/{port}/reset.basis, preset, mount, force_gate, damping per device, plus profile and basis per session, now all live in configure — aligned with the output config map so what you send round-trips with what you read back.defaults, arm_front, arm_front_centered, led_front, led_front_centered) or send an explicit transform; manual mount changes automatically flip the preset to custom.position, vector, angles, torques replace the generic values array.set_angular_torques replaces set_angular_torque (singular deprecated).config, state, and status objects; new output fields include current_cursor_force, current_cursor_position, current_angular_torques, current_angular_position, control_domain, control_mode, transform, transform_velocity, richer config.*, and status.safety (hidden by default).position, rotation, scale) on mount, workspace transform, and navigation shape.GET / — service version.GET/POST/DELETE /settings and /settings/* — full key-value settings API.GET /sessions/{session} and GET/POST/DELETE /sessions/{session}/profile.GET /devices?session=<selector> — convert device coordinates into a given session's application space./inverse3/0/... for the first Inverse3; /inverse__ITALIC_italic-1__/... for all Inverse-family devices).command_data JSON shapes as WebSocket; code written against one transport works against the other.?format=json on any route; /settings* and GET /home_return default to {ok, error, data}. Use ?format=plain for the raw shape.* (any sequence) and ? (single char) in profile names.%2A, %3A, etc. are decoded before routing.communication/events/port.configure.force_gate.gain over WebSocket or HTTP with a persistent default.position = 0, rotation = identity, scale = 1) are omitted from output by default, cutting payload size and restoring compatibility with the 4 KB message limit of older Unity packages. Two advanced settings (serialization/explicit_fields, serialization/force_complete_transforms) reinstate every field for consumers that need it.communication/bind_all_interfaces setting.inverse* matches all Inverse-family devices).configure map alongside force_gate.A year of bug fixes; the most impactful are below.
~/Library/Application Support/ instead of the wrong path.probe_position no longer silently overwrite pending basis / preset / profile changes.0 in some outgoing payloads.--log-level is now respected when combined with --dev (previously silently reset to debug).Still functional, but will be removed in a future major version. Responses include a deprecation_warning field where applicable.
| Deprecated | Replacement |
|---|---|
| POST /force_scale | POST /settings/devices/inverse*/filters/force_scale/gain |
| POST /gravity_compensation | POST /{device}/{id}/config/gravity_compensation |
| POST /torque_scaling | POST /{device}/{id}/config/torque_scaling |
| POST /device_handedness | POST /{device}/{id}/config/handedness |
| POST /serial_enable | POST /settings/communication/serial/enabled |
| POST /experimental/features/grip_dropped_simulation_stopper | Settings API |
| POST /experimental/features/screensaver_enable | Settings API |
| WebSocket command_data.values | position, vector, angles, torques |
| WebSocket set_angular_torque | set_angular_torques |
| WebSocket probe_cursor_position | probe_position |
| WebSocket set_coordinate_origin | configure.preset |
| WebSocket session-level set_basis | configure.basis |
No hard breaking changes against 3.4.19. Two soft notes for existing integrations:
deprecation_warning field in the response — clients that strictly validate response schemas should allow the extra field.values field in WebSocket command_data is deprecated but still parsed; prefer the named fields.cpp-glz/) alongside the existing nlohmann/json variant.configure.preset, named command fields, print_state() helpers).


🔖 Release 7.5.1

🔖 Release 7.5.0



mount.scale (a030b23)



