Packages
bb
0.28.1
0.30.1
0.30.0
0.29.0
0.28.1
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.0
0.22.3
0.22.2
0.22.1
0.22.0
0.21.0
0.20.3
0.20.2
0.20.1
0.20.0
0.19.0
0.18.0
0.17.1
0.17.0
0.16.0
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.0
0.13.2
0.13.1
0.13.0
0.12.0
0.11.0
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.1
0.2.0
Beam Bots - The framework for resilient robotics.
Current section
Files
Jump to
Current section
Files
CHANGELOG.md
<!--
SPDX-FileCopyrightText: 2025 James Harton
SPDX-License-Identifier: Apache-2.0
-->
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](Https://conventionalcommits.org) for commit guidelines.
<!-- changelog -->
## [v0.28.1](https://github.com/beam-bots/bb/compare/v0.28.0...v0.28.1) (2026-08-07)
### Bug Fixes:
* break the compile-time cycle that deadlocks the Elixir 1.19 compiler (#223) by James Harton
## [v0.28.0](https://github.com/beam-bots/bb/compare/v0.27.0...v0.28.0) (2026-08-05)
### Bug Fixes:
* vectorise `link_transforms/9` over a batch axis (#220) by James Harton
## [v0.27.0](https://github.com/beam-bots/bb/compare/v0.26.0...v0.27.0) (2026-08-04)
### Breaking Changes:
* implement multi-DoF (`:planar` and `:floating`) joints (#217)
## [0.26.0](https://github.com/beam-bots/bb/compare/v0.25.0...0.26.0) (2026-08-03)
### Bug Fixes:
* discard an already-delivered tick in `BB.Loop.cancel/1` (#214) by James Harton
* export `locals_without_parens` from `.formatter.exs` (#211) by James Harton
### Improvements:
* add `BB.Loop` for periodic component timing and health (#212) by James Harton
## [v0.25.0](https://github.com/beam-bots/bb/compare/v0.24.0...v0.25.0) (2026-08-02)
### Features:
* let an actuator declare the command payloads it accepts (#209) by James Harton
## [v0.24.0](https://github.com/beam-bots/bb/compare/v0.23.0...v0.24.0) (2026-08-01)
### Features:
* address actuators by name or by full path (#205) by James Harton
## [v0.23.0](https://github.com/beam-bots/bb/compare/v0.22.3...v0.23.0) (2026-08-01)
### Breaking Changes:
* unify actuator command delivery behind `handle_command/2` (#204) by James Harton
## [v0.22.3](https://github.com/beam-bots/bb/compare/v0.22.2...v0.22.3) (2026-07-30)
### Improvements:
* support runtime robot parameter defaults (#199) by James Harton
## [v0.22.2](https://github.com/beam-bots/bb/compare/v0.22.1...v0.22.2) (2026-07-24)
### Improvements:
* add semantic math inspection (#191) by James Harton
* add `test-third-party` CI workflow for external bb consumers (#163) by James Harton
## [v0.22.1](https://github.com/beam-bots/bb/compare/v0.22.0...v0.22.1) (2026-06-29)
### Bug Fixes:
* stop commands gracefully so cancellation isn't logged as a crash (#167) by James Harton
## [0.22.0](https://github.com/beam-bots/bb/compare/v0.21.0...0.22.0) (2026-06-26)
### Improvements:
* `defn` math core, FK, all-link transforms, and analytical Jacobians (#147) (#161) by James Harton
## [v0.21.0](https://github.com/beam-bots/bb/compare/v0.20.3...v0.21.0) (2026-06-25)
### Features:
* add shared BB.Error.Invalid.Bridge.* error modules (#145) (#159) by James Harton
## [v0.20.3](https://github.com/beam-bots/bb/compare/v0.20.2...v0.20.3) (2026-06-10)
### Improvements:
* generate a `robot_opts/0` helper for new robots (#142) by James Harton
## [v0.20.2](https://github.com/beam-bots/bb/compare/v0.20.1...v0.20.2) (2026-05-28)
### Bug Fixes:
* apply `options_schema` defaults at runtime, enforce component behaviour at compile time (#123) by James Harton
## [v0.20.1](https://github.com/beam-bots/bb/compare/v0.20.0...v0.20.1) (2026-05-27)
### Improvements:
* application-env robot config via `set_robot_param_default/4` (#122) by James Harton
## [v0.20.0](https://github.com/beam-bots/bb/compare/v0.19.0...v0.20.0) (2026-05-26)
### Features:
* estimator health transitions and command dispatch (Phase 2) by James Harton
* Covariance3/6 math types, estimator payloads, error types by James Harton
* BB.Estimator behaviour, DSL entity, and runtime wiring (Phase 1) by James Harton
## [v0.19.0](https://github.com/beam-bots/bb/compare/v0.18.0...v0.19.0) (2026-05-24)
### Features:
* add `BB.Message.Sensor.PowerState` for generic V/I/P readings (#114) by James Harton
## [v0.18.0](https://github.com/beam-bots/bb/compare/v0.17.1...v0.18.0) (2026-05-21)
### Features:
* model URDF `<transmission>` in the BB DSL (#110) by James Harton
* add `mix bb.from_urdf` URDF importer (#107) by James Harton
* bridge `BB.Safety.arm/1`/`disarm/1` to user-defined commands (#106) by James Harton
### Improvements:
* merge `mix bb.from_urdf` output into existing modules (#109) by James Harton
* add `nx_eigen` to the Nx backend choices in `bb.add_nx_backend` (#105) by James Harton
## [v0.17.1](https://github.com/beam-bots/bb/compare/v0.17.0...v0.17.1) (2026-05-18)
### Bug Fixes:
* stop publishing synthetic target `JointState` from `BB.Motion` (#104) by James Harton
## [v0.17.0](https://github.com/beam-bots/bb/compare/v0.16.0...v0.17.0) (2026-05-18)
### Features:
* prompt for Nx backend during `mix igniter.install bb` (#103) by James Harton
### Improvements:
* add `test-subprojects` CI workflow (#102) by James Harton
## [v0.16.0](https://github.com/beam-bots/bb/compare/v0.15.4...v0.16.0) (2026-05-17)
### Breaking Changes:
* migrate from `ex_cldr_units` to `localize` (#96) by James Harton
* force-disarm via topology supervisor instead of `auto_disarm_on_error` (#95) by James Harton
* store wall-clock time and originating node on `BB.Message` (#37) (#94) by James Harton
### Bug Fixes:
* cover tuple argument types in typespec and `:map` example (#93) by James Harton
### Improvements:
* identify the publishing robot in pubsub deliveries (#91) (#92) by James Harton
* coerce command goal values to declared argument types (#88) by James Harton
## [v0.15.4](https://github.com/beam-bots/bb/compare/v0.15.3...v0.15.4) (2026-05-16)
### Improvements:
* `BB.Igniter` helpers for writing into the topology section (#87) by James Harton
## [v0.15.3](https://github.com/beam-bots/bb/compare/v0.15.2...v0.15.3) (2026-05-13)
### Improvements:
* add `BB.Igniter` helpers for add-on installers (#86) by James Harton
## [v0.15.2](https://github.com/beam-bots/bb/compare/v0.15.1...v0.15.2) (2026-05-12)
### Bug Fixes:
* docs: update README example to match Igniter output (#73) by James Harton
* docs: align tutorial with Igniter-generated code (#73) by James Harton
* docs: use `limits` instead of `limit` in first robot tutorial (#74) by James Harton
* docs: clarify Igniter quick start instructions (#72) by James Harton
* `OpenLoopPositionEstimator` crash on `set_position/3` in kinematic simulation (#59) by James Harton
### Improvements:
* Trapezoidal motion profile and accurate position tracking in `BB.Sim.Actuator` (#85) by James Harton
## [v0.15.1](https://github.com/beam-bots/bb/compare/v0.15.0...v0.15.1) (2026-02-08)
### Bug Fixes:
* docs: correct `BB.Message.Sensor.IMU` references to `BB.Message.Sensor.Imu` by James Harton
## [v0.15.0](https://github.com/beam-bots/bb/compare/v0.14.0...v0.15.0) (2026-01-18)
### Features:
* add extensible state system with category-based command concurrency (#35) by James Harton
* add extensible state system with category-based command concurrency by James Harton
## [v0.14.0](https://github.com/beam-bots/bb/compare/v0.13.2...v0.14.0) (2026-01-17)
### Features:
* add `BB.Sensor.Mimic` for mechanically-linked joints (#34) by James Harton
## [v0.13.2](https://github.com/beam-bots/bb/compare/v0.13.1...v0.13.2) (2026-01-13)
### Bug Fixes:
* enforce name uniqueness for bridges in DSL verifier (#31) by James Harton
## [v0.13.1](https://github.com/beam-bots/bb/compare/v0.13.0...v0.13.1) (2026-01-09)
### Improvements:
* auto-add `OpenLoopPositionEstimator` in simulation mode (#30) by James Harton
## [v0.13.0](https://github.com/beam-bots/bb/compare/v0.12.0...v0.13.0) (2026-01-05)
### Features:
* add reactive controllers for threshold and pattern matching (#28) by James Harton
## [v0.12.0](https://github.com/beam-bots/bb/compare/v0.11.0...v0.12.0) (2026-01-04)
### Breaking Changes:
* convert commands from Task-based to GenServer-based execution (#27) by James Harton
* convert commands from Task-based to GenServer-based execution by James Harton
### Improvements:
* add command options support and tests by James Harton
* use structured errors in MoveTo command (#26) by James Harton
## [v0.11.0](https://github.com/beam-bots/bb/compare/v0.10.0...v0.11.0) (2025-12-30)
### Features:
* add collision detection system (#25) by James Harton
* add collision detection module by James Harton
### Bug Fixes:
* pass all solver options through `BB.Motion` by James Harton
### Improvements:
* address credo issues and refine collision detection by James Harton
## [v0.10.0](https://github.com/beam-bots/bb/compare/v0.9.0...v0.10.0) (2025-12-29)
### Features:
* add simulation mode for running robots without hardware (#21) by James Harton
* add Vec3 and Quaternion modules with Transform integration (#22) by James Harton
## [v0.9.0](https://github.com/beam-bots/bb/compare/v0.8.0...v0.9.0) (2025-12-26)
### Features:
* add diagnostic and performance telemetry by James Harton
* add structured error handling with `splode` by James Harton
### Improvements:
* add `@type t` to `BB.Error.Invalid.JointConfig` by James Harton
* make `BB.Safety.disarm/2` timeout configurable by James Harton
## [v0.8.0](https://github.com/beam-bots/bb/compare/v0.7.0...v0.8.0) (2025-12-24)
### Features:
* add param() references and wrapper GenServer pattern (#19) by James Harton
* parameters: allow setting params via `start_link` options by James Harton
* dsl: add `param()` references for topology fields by James Harton
* dsl: add `param()` references in actuator/sensor/controller options by James Harton
### Improvements:
* fix arm/disarm actions by James Harton
## [v0.7.0](https://github.com/beam-bots/bb/compare/v0.6.0...v0.7.0) (2025-12-20)
### Features:
* safety: add hardware error reporting with auto-disarm (#16) by James Harton
## [v0.6.0](https://github.com/beam-bots/bb/compare/v0.5.0...v0.6.0) (2025-12-20)
### Features:
* add GenServer behaviours with options_schema callbacks (#15) by James Harton
## [v0.5.0](https://github.com/beam-bots/bb/compare/v0.4.0...v0.5.0) (2025-12-18)
### Features:
* add motion integration for IK solving and actuator commands (#14) by James Harton
### Bug Fixes:
* move argument type docs to entity docs field by James Harton
### Improvements:
* make alpha channel of color optional by James Harton
* motion: add joint state publishing and flexible target formats by James Harton
## [v0.4.0](https://github.com/beam-bots/bb/compare/v0.3.0...v0.4.0) (2025-12-13)
### Features:
* add BB.Safety system for centralised arm/disarm control (#10) by James Harton
* add BB.Safety system for centralised arm/disarm control by James Harton
### Improvements:
* concurrent disarm callbacks and :disarming state by James Harton
* refactor terminate callback and add safety docs to CLAUDE.md by James Harton
## [v0.3.0](https://github.com/beam-bots/bb/compare/v0.2.1...v0.3.0) (2025-12-13)
### Features:
* add standard actuator command interface (#9) by James Harton
* add `BB.Message.Actuator.EndMotion` (#8) by James Harton
* add `BB.Sensor.OpenLoopPositionEstimator` (#7) by James Harton
## [v0.2.1](https://github.com/beam-bots/bb/compare/v0.2.0...v0.2.1) (2025-12-09)
## [v0.2.0](https://github.com/beam-bots/bb/compare/v0.1.0...v0.2.0) (2025-12-06)
### Breaking Changes:
* rename project from Kinetix to Beam Bots by James Harton
* change axis DSL from translational to rotational units by James Harton
* move `name` option from `robot` to `settings` section by James Harton
* restructure DSL with top-level sections by James Harton
* refactor command execution to task-based model by James Harton
* add robot_sensors and controllers DSL sections by James Harton
### Features:
* add parameter system for runtime-adjustable configuration by James Harton
* add Igniter install tasks for project scaffolding by James Harton
* add URDF export mix task (#8) by James Harton
* add robot state machine for command control by James Harton
* add process communication functions and registry partitioning by James Harton
* add hierarchical pubsub system for robot component messages by James Harton
* add optimised robot representation with forward kinematics by James Harton
* add topology-based supervision tree for fault isolation by James Harton
* add actuator entity and sensors to joints by James Harton
* add sensor DSL entity for defining robot sensors by James Harton
* add foundational message system for robot component communication (#5) by James Harton
* Add basic robot definition DSL (#4) by James Harton
## [v0.1.0](https://github.com/beam-bots/bb/compare/v0.1.0...v0.1.0) (2025-11-27)