## dimensionalOS/dimos — v0.0.14b1…v0.0.14

_344+ commits._

### Features
- **[Backport release/0.0.14] feat(teleop): add PICO WebXR body tracking (#4178)** (9f4742c)
- **[Backport release/0.0.14] test: skip voice tests without ffmpeg, add ffmpeg to install docs (#4110)** (19706c3)
- **feat(manip): draw the ranked grasp proposals in viser (#3876)** (2edbd6f)
- **feat(manip): let the voxel map define the planner's world (#3875)** (b2b5516)
- **GraspGenX provider for grasping** — Added GraspGenX as a grasp generation provider for the xArm grasping stack. The pick-and-place module now retries with alternate grasp candidates if the best-scoring pose is unreachable, with a configurable attempt limit (default 5). (07aec43)
- **feat(manip): restore reset, and expose cancel as a skill (#3872)** (b973944)
- **feat(web): relay --cert/--key for real TLS on one port (#3952)** (de8a3a9)
- **feat(web): cockpit robot picker (#3951)** (d4aa8c4)
- **feat: mid360 rust driver (#3852)** (8756af2)
- **Relay URL now accepts HTTP address** — The `--relay-url` flag now takes a relay's HTTP URL (e.g., `http://localhost:7780`) instead of a WebTransport URL. The client automatically discovers the WebTransport endpoint by querying the relay's `/api/info` endpoint. This simplifies configuration and makes the relay easier to connect to from external tools. (d67c133)
- **Redesigned cockpit interface layout** — The cockpit's visual design has been overhauled with updated styling, new font dependencies (Inter and JetBrains Mono), improved panel layouts, and a restructured tab system. The UI now features dark mode metadata, refined spacing and colors throughout panels and the status bar, and a new page-based view system where full-page tabs appear in the header. (194f665)
- **Enable unbounded planar base motion** — Added support for unbounded planar-base motion in manipulation planning by introducing joint-space specifications that handle periodic (continuous rotation) joints separately from bounded joints. The system now properly validates robot models with acceleration limits and applies them consistently across all planning backends. (d2fabc5)
- **feat(agent evals): promote agents/environments to be configurable, support multi-step agent evals (#3774)** (cfc8552)
- **feat(web): dtop stats page in the cockpit (#3907)** (0861d85)
- **feat(manipulation): add client-only Arm SDK for dimos shell (#3944)** (1258683)
- **feat(porcelain): add Spec discovery and RPC shell completion (#4009)** (aacd002)
- **feat(manipulation): add planar-base robot planning (#3784)** (e408d83)
- **feat(web): cockpit channel table behind a header tab (#3906)** (04a1f5a)
- **feat: add isolated Python module runtime (#3478)** (bade12a)
- **feat(web): chat panel push-to-talk mic (#3905)** (5fbbff4)
- **feat(spot): spot-replay blueprint - play a recording back into Rerun (#3433)** (367804f)
- **feat(web): agent chat panel (#3901)** (530d41f)
- **feat(web): acknowledged shared tx publishing (#3727)** (3d65f28)
- **feat(cli): add experimental Rust --record (#3924)** (8b880d7)
- **feat: allow fine grain voxels without publishing (#3687)** (424bf76)
- **Add tests component to codecov (#3644)** (0e17563)
- **feat(r1pro): add Zenoh-native integration (#3933)** (f34e656)
- **feat(memory): add experimental native SQLite and MCAP recorder (#3615)** (0748960)
- **feat(damiao): support native macOS CAN transport (#3465)** (2b5e816)
- **feat(cli): interactive TUI for dimos data ls (#3895)** (bb10e2e)
- **feat(manipulation): add Dual OpenYAM teleoperation (#3463)** (8a0938c)
- **feat: g1 quest teleop on shared dual-arm IK (#3436)** (e85dce6)
- **feat(cli): uploader column in dimos data ls for org datasets (#3881)** (a28d6b2)
- **feat(web): channel authoring API and web codec registry (#3570)** (5ba9e23)
- **feat(web): pickle-safe dynamic relay bridge classes (#3569)** (0433867)
- **feat(web): subs snapshots on a relay-opened carrier stream (#3568)** (1fa7cab)
- **feat(cli): dimos data — cloud uploads (#3548)** (552e18b)
- **feat(agents): opt-in capture of raw LLM request/response bodies (#3843)** (25a3121)
- **feat(web): protocol v5, robot hello on an @control stream (#3567)** (ebc7bc4)
- **feat: add headless xarm room simulation (#3760)** (ff08c4d)
- **feat(realsense): native rust camera module (#3746)** (7a83fe5)
- **Migrate docker to new repository (#3724)** (14002d9)
- **feat(perception): add configurable OSR scan backends (#3713)** (644729b)
- **feat: generic nix native-module builder for cachix (#3151)** (fc85c9a)

### Fixes
- **[Backport release/0.0.14] fix(cli): dimos starts without the control extra (#4239)** (0885b14)
- **[Backport release/0.0.14] fix(memory): project camera image into 3D in mem rerun (DIM-1608) (#4228)** (26f9c10)
- **[Backport release/0.0.14] fix(g1): give the teleop arm model the acceleration limit the planner… (#4174)** (0de687a)
- **[Backport release/0.0.14] fix mypy fails on mac (#4197)** (9ab593d)
- **[Backport release/0.0.14] fix stale video (#4219)** (1ab7e34)
- **[Backport release/0.0.14] Fix broken tests (#4121)** (9bdda11)
- **[Backport release/0.0.14] fix: preserve callable objects in parsed blueprint configuration (#4169)** (6c45d96)
- **[Backport release/0.0.14] fix(camera): select V4L2 for Linux device paths (#4196)** (30ef49a)
- **[Backport release/0.0.14] fix(hardware): transport adapters follow the active pub/sub backend (#4109)** (7585d51)
- **[Backport release/0.0.14] fix: reject empty robot IPs for multi-Go2 blueprints (#4173)** (5a86190)
- **[Backport release/0.0.14] fix(zenoh): wait for a session's links only once (#4166)** (ce7af83)
- **[Backport release/0.0.14] fix(evals): keep the live smoke test out of CI (#4149)** (3a8e186)
- **[Backport release/0.0.14] fix(g1): route planner and teleop velocities to the sim connection (#4175)** (b183038)
- **[Backport release/0.0.14] fix(teleop): keyboard teleop publishes only while a key is held (#4123)** (f8b7e63)
- **[Backport release/0.0.14] fix(tests): ignore .env under pytest except the LLM API keys (#4120)** (d6ba1df)
- **[Backport release/0.0.14] fix(porcelain): load OpenCV before PyAV so cv2 windows work from the … (#4180)** (bcee085)
- **[Backport release/0.0.14] fix(camera): report a nominal pinhole when the webcam has no intrinsics (#4177)** (5d31a73)
- **[Backport release/0.0.14] fix(shm): new subscribers skip the frame left in a reused segment (#4122)** (f8da4ad)
- **fix(tests): isolate native config checks and wait for coordinator startup (#4092)** (9314c76)
- **Fix Mac tests using mock (#3977)** (7f02f10)
- **Fix root in nix config breaking caching (#3976)** (17e63d6)
- **fix(teleop): repair hosted xArm startup (#4085)** (9e30629)
- **fix(spot): anchor camera pixels to their capture-time pose in rerun (#4071)** (cf1603e)
- **fix(cli): avoid loading G1 controller dependencies at startup (#4072)** (c9d75b7)
- **Add development shell to dim_slam** — Added a development shell environment that automatically detects the system hardware and loads the appropriate cuVSLAM SDK, enabling the cargo-clippy pre-commit hook to work correctly. Updated the build configuration to use a git+file reference instead of a local path for better reproducibility. (b968716)
- **Connect wrist camera to arm frame** — Fixed the xArm perception setup by adding the wrist-mounted RealSense camera's position relative to the arm's link7 frame. The camera transform is now published alongside the robot's coordinate frame updates, ensuring camera data properly resolves into the world frame instead of being silently unusable. (3e2ac3d)
- **fix: humancli was broken (#4015)** (f09c078)
- **fix(manip): judge gripper arrival by the open band, not the stillness threshold (#3870)** (bb7ae73)
- **fix(xarm): stop commanding the arm on every launch (#3869)** (8a57c08)
- **Fix cyclonedds docker install (#3981)** (1875e3e)
- **fix(manipulation): restore behavior regressed by single-model refactor (#4013)** (46ecaae)
- **fix: vectorize LineSegments3D encoding and decoding (#3956)** (1f64a7f)
- **fix(perception): resolve selected detector imports before startup (#4008)** (bd56ad8)
- **fix(control): clear completed JTT state and remove idle holding (#3969)** (722fb93)
- **fix(manipulation): detect Viser execution completion and consume plans (#3982)** (4345030)
- **bump zenoh to 1.10.1; use zenoh upstream: Fix multicast scouting mac (#3963)** (1f569c3)
- **fix(realsense): move validator to 0.21, matching every other crate (#3868)** (179e2d4)
- **Fix minimum uv version for cooldown opt-outs (#3941)** (b1d60fe)
- **fix(collection): session DBs follow RECORDINGS_DIR (#3546)** (e233af8)
- **fix(cloud): stamp content_encoding only when compression ran (#3882)** (b651099)
- **fix: restore Python 3.10 Self compatibility (#3932)** (f651c84)
- **fix(dtop): report memory on macOS (#3054)** (bec1584)
- **fix(cli): refresh expired presigned part URLs during long uploads (#3913)** (af81da0)
- **Fix ros-dev install (#3888)** (dccf4fa)
- **fix(cli): dimos data ls shows upload times in local time with tz label (#3897)** (8b7a41b)
- **fix(cli): dimos data quota shows the daily limit too (#3893)** (ee29510)
- **fix remote name (#3665)** (c9ec61f)
- **fix(ci): prune the uv cache before saving it (#3883)** (49f1f21)
- **fix: morphology per surface cluster (#3741)** (959bde4)
- **fix(native): honor LCM_DEFAULT_URL in the rust LCM transport (#3740)** (75375cd)
- **fix(perception): capture transform before inference (#3756)** (7ae2bbe)
- **fix(perception): configure detector confidence (#3755)** (cb30336)
- **fix(perception): promote first object sighting (#3754)** (275852b)
- **fix(test): point the openarm planning-group e2e at the real blueprint (#3752)** (5b1f601)
- **fix(manip): restore perception obstacle wiring (#3753)** (a488d01)
- **fix(go2): record camera calibration (#3748)** (6ef65e1)

### Backend
- **[Backport release/0.0.14] feat: replay blueprint - dimos --replay-db <memory.db> run replay (#4233)** (a0927a5)
- **[Backport release/0.0.14] Build native modules for Mac (#4221)** (4e32e0d)
- **[Backport release/0.0.14] Remove unity sim (#4167)** (69b01ba)
- **[Backport release/0.0.14] mark a test as self_hosted (#4192)** (39beead)
- **[Backport release/0.0.14] docs(teleop): correct broker key and identity guidance (#4188)** (509f4ad)
- **[Backport release/0.0.14] feat(manipulation): execute planar-base plans on a feedback base controller (#4164)** (7f13323)
- **[Backport release/0.0.14] build: fetch LFS test data before the suites run (#4181)** (7b7335b)
- **[Backport release/0.0.14] run manipulation planning e2e on self-hosted linux and mac (#4193)** (8d79d1c)
- **[Backport release/0.0.14] feat(cockpit): map click-to-goal, path overlay and cancel button (#4189)** (522837b)
- **[Backport release/0.0.14] test: run the manipulation module tests against the asset-manager xAr… (#4118)** (d8853f4)
- **Streamline CI and optimize imports** — Updated CI configuration to test only Python 3.10–3.12 and removed free-threading builds, while deferring heavy langchain imports to runtime to speed up module loading and test collection. Also added Python 3.10 compatibility shims for `tomllib` and `hashlib.file_digest`, and isolated environment variables to prevent CI settings from leaking into subprocess runtimes. (c135db9)
- **teleop: default broker is api.dimensional.org; keys come from the console (#4063)** (c0db040)
- **Add Habitat simulation navigation** — Integrated Habitat simulator with navigation capabilities, adding four new blueprint configurations (teleop, raycaster, nav, voxel) that layer simulation, mapping, and autonomous navigation features. Includes server connection, frame handling, and visualization setup for 3D navigation in simulated environments. (176730b)
- **realsense: tell the linker where nix actually put librealsense2 (#4054)** (8b8b57e)
- **Revert "disable mac (#4038)" (#4058)** (52bb6b3)
- **Cache nix-built binaries directly (#3749)** (a1e295d)
- **hide annoying log messages (#4017)** (5d91e62)
- **disable mac (#4038)** (9ee4e11)
- **switch e2e tests to zenoh (#4018)** (d4fb9ba)
- **make mcp_timeout to be client owned (#3948)** (d2d87b7)
- **Ivan/docs low level module plumbing (#3564)** (7c7187d)
- **relay_bridge: await the pump task instead of sleeping 50 ms (#3877)** (7a055e1)
- **Feat/pim/m20 kronknav (#3776)** (f83b712)
- **Yimo/feat/graphviz rpc (#3693)** (5420ad1)
- **generic lidar relocalization and tuning system (#3890)** (adcac48)
- **alfred-mls-nav on the single DimSlam module (#3634)** (7672b38)
- **dimSLAM: enhanced cuVSLAM (#3632)** (9748dfd)
- **web sdk tutorial (#3648)** (14703d2)
- **wider experimental approval pool (#3759)** (e90cf15)

### Tests
- **test: auto-rerun the two shm creation-window races (#3912)** (12f243e)

### Docs
- **docs: theme polish —  header and copy-button fixes (#3927)** (46586b7)
- **docs: add release mode to suggested command (#3899)** (dc2b780)
- **docs: cloud data uploads (#3865)** (69b2a93)

### Chore
- **chore: bump version to 0.0.14 (#4098)** (0762f4c)
- **chore(codeowners): add @TomCC7 to /dimos/manipulation/ (#4089)** (f7575da)
- **refactor(xarm): one grasping stack, hardware by default (#3873)** (7cb6a66)
- **Renamed Quest to WebXR** — Updated all references throughout the codebase from 'Quest' to 'WebXR' to better reflect the technology stack used for VR teleoperation. This includes renaming directories, updating documentation, and changing references in configuration files and code comments across robot control, imitation learning, and teleoperation modules. (ffdffb8)
- **Added downloads to gitignore** — Updated the repository to ignore files in the downloads/ directory, preventing local download artifacts from being committed to version control. (16fb242)
- **Manipulation extra becomes complete workflow** — The manipulation extra now bundles control, planning, perception (EdgeTAM), agents, web, and MuJoCo into one cohesive package. The Go2 quadruped teleop blueprint was reorganized into its own module for better code organization, and installation docs were updated to reflect the simplified dependency structure. (6334484)
- **chore(codeowners): drop perception ownership from Ivan (#4051)** (11f4958)
- **chore(deps): bump dimensional/ros-dev from `2423172` to `812b2ef` in /docker/ros-dev-pin in the docker group across 1 directory (#3968)** (cda52f2)
- **refactor(cli): shared local_time/tz_label helpers (#3925)** (359e44e)
- **refactor: simplify manipulation to one robot model (#3919)** (5ff1b72)
- **chore: exclude cargo.lock from diffs (#3911)** (17675df)
- **chore(deps): bump dimensional/ros-dev from `4636018` to `818cf40` in /docker/ros-dev-pin in the docker group across 1 directory (#3860)** (57042cb)
- **chore(deps): bump the cargo group across 1 directory with 6 updates (#3735)** (de2b0fc)
- **chore(deps): bump the actions group across 1 directory with 7 updates (#3636)** (4c47eda)
- **refactor(control): stream joint targets through trajectory task (#3610)** (3ed113f)
- **refactor(manip): place robot models with a base pose, not axis offsets (#3733)** (df1bf6f)
- **refactor(manipulation): compose canonical pick and place (#3715)** (3b905d9)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/dimensionalOS/dimos?utm_source=github-action)._