Changelog
View SourceAll notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
No unreleased changes.
[1.0.0] - 2026-02-27
Added
- Initial implementation of Behavior Tree framework
- Core modules: Tree, Node, Tick, Blackboard, Status
- Agent for stateful execution
- Skill for AI integration
- Error handling with Splode
- Zoi-based struct definitions
- Coverage gate script (
mix coverage.check) with critical-path thresholds - Strategy, telemetry, tree, and node regression test suites
- Migration guide (
guides/migration.md) for production semantics
Changed
- Upgraded Jido stack to stable
2.0.0releases (jido,jido_action,jido_signal) - Raised minimum Elixir version to
~> 1.18 - Raised coverage summary threshold from 80% to 85%
- Updated agent telemetry namespace to
[:jido, :bt, :agent, :tick, ...] - Included guides and
LICENSE.mdin package artifacts - Tick sequence metadata now increments per tick in both agent and strategy execution paths
Fixed
Skill.run/3now propagates timeout/error results and returns{:error, reason}on tree failure- Auto mode skill execution now polls for terminal status and exits early when complete
Agentticking now uses context-aware traversal so blackboard writes persistSetBlackboardnow supportstick_with_context/2and correctly threads updated ticksAction.tick_with_context/2now returns error status tuples consistently withtick/2- BehaviorTree strategy status normalization now guarantees snapshot-compatible atom statuses
- Hex package build now succeeds without dependency overrides
Migration Notes
Skill.run/3behavior changed: tree:failureis now an error result ({:error, reason})- Telemetry consumers should listen on
[:jido, :bt, ...]namespaces - See
guides/migration.mdfor upgrade details