CHANGELOG
View Sourcev2.2.0 (2026-03-29)
Features:
add partitioned multi-tenancy support (#218) by mikehostetler
rebuild multi-tenancy around partitioned pods by mikehostetler
reduce default log verbosity (#219) by dl-alexandre
add first-class orphan lifecycle and adoption (#213) by mikehostetler
add first-class orphan lifecycle and adoption (#212) by mikehostetler
add first-class orphan lifecycle and adoption by mikehostetler
Bug Fixes:
remove invalid doctest-style doc examples (#227) by mikehostetler
reject instance manager lifecycle opts in SpawnAgent (#222) by mikehostetler
reject instance manager lifecycle opts in SpawnAgent by mikehostetler
reduce default log verbosity (noisy logs) by dl-alexandre
align action logging with instance config (#217) by mikehostetler
observability: align action logging with instance config by mikehostetler
observability: align action telemetry with log args by mikehostetler
agentserver: always wrap parent-down reason as {:shutdown, } by mikehostetler
thread: handle missing thread in filter_by_kind (#211) by Julian Scheid
thread: handle missing thread in filter_by_kind by Julian Scheid
thread: tighten filter_by_kind guards by Julian Scheid
agentserver: always wrap parent-down reason as {:shutdown, } (#207) by Julian Scheid
pass details as keyword to execution_error (#206) by Julian Scheid
pass details as keyword to execution_error by Julian Scheid
preserve execution error details compatibly by Julian Scheid
agent: correct plugin_schedules typespec (#204) by CptnKirk
restore git_ops changelog marker placement by mikehostetler
Refactoring:
formalize pod extraction seams (#233) by mikehostetler
harden SpawnAgent directive validation by mikehostetler
agent: pass jido instance via strategy context by mikehostetler
harden runtime store ownership and stress adoption by mikehostetler
v2.1.0 (2026-03-14)
Features:
scheduler: durable in-house cron scheduler for Jido 2.1 (#181) by mikehostetler
scheduler: in-house cron engine with durable instance replay by mikehostetler
plugin: support static subscriptions and fix documentation (#198) by Iulian Costan
plugin: support static subscriptions and fix documentation by Iulian Costan
storage: add Redis storage adapter (#184) by austin macciola
storage: add Redis storage adapter by austin macciola
Bug Fixes:
ci: resolve lint guard and dialyzer issues by mikehostetler
finalize durable scheduler hardening and dialyzer cleanup by mikehostetler
scheduler: harden durable cron replay and callbacks by mikehostetler
scheduler: restore cron replay invariants by mikehostetler
misplaced end in example (#201) by Jan Pieper
sensor: resolve via refs for subscription signals (#200) by mikehostetler
storage: harden redis adapter and instance integration by austin macciola
Improve typespec precision (#196) by Philip Munksgaard
preserve plugin spec structs in agents (#188) by mikehostetler
normalize StopChild shutdown reasons by mikehostetler
align StopChild with SpawnAgent restart semantics by mikehostetler
util: use Code.ensure_compiled to resolve action validation orde⦠(#183) by caike
util: use Code.ensure_compiled to resolve action validation ordering by caike
error: make Jido.Error splode conversions reliable by Pascal Charbonneau
observe: harden sync and async tracer span semantics (#178) by mikehostetler
observe: harden tracer sync and async span semantics by mikehostetler
observe: prevent cross-process scoped callback re-execution by mikehostetler
Refactoring:
- scheduler: simplify runtime registration by mikehostetler
2.0.0 - 2026-02-22
Changed
- Promote
2.0.0-rc.5to stable2.0.0 - Require Elixir
~> 1.18 - Bump ecosystem deps to stable ranges:
jido_action ~> 2.0,jido_signal ~> 2.0
Fixed
- Restore compile-time
signal_routesbehavior while preserving callback compatibility (#170) - Prevent loopback
emitfrom redispatching to the current agent in AgentServer (#171)
Tooling
- Align Igniter setup/docs with the instance-scoped API
2.0.0-rc.5 - 2026-02-16
Added
- Observability V2: per-instance debug & telemetry configuration (#129)
- Always-on
emit_eventhelper for lifecycle observability (#141) - Event contracts and lifecycle observability docs (#140)
- Directive struct included in agent_server telemetry metadata (#134, #142)
RunInstructiondirective and pure FSM cmd (#139)- Prevent synchronous signal-call blocking in AgentServer (#150)
- Declarative schedules DSL for cron (#137)
Changed
- BREAKING: Unify persistence on
Jido.PersistandJido.Storage(#156) - Centralize defaults and validate observability config
- Harden InstanceManager registry and key semantics (#156)
- Share instruction tracking helpers in strategy layer (#166)
- Use shared templates in Igniter generator tasks (#165)
- Unify entry normalization across storage adapters (#164)
- Extract shared signal collector test helper (#167)
Fixed
- Normalize timeout diagnostics in
await_all/await_any(#168) - Cancel timed-out completion waiters in AgentServer (#162)
- Preserve file read errors during append (#163)
- Return normalized errors for corrupt entry logs (#161)
- Avoid atom creation from persisted journal kinds (#160)
- Restore agent metadata export for discovery (#159)
- Return routing error struct for unknown signals (#155)
- Normalize refinement errors for Zoi validation in plugins
- Make ETS
append_threadatomic and revision-safe (#150) - Send
jido.agent.stopwhen stopping child (#138) - Normalize id in both constructor paths to guarantee UUID7 (#132)
- Fix silent cron tick failure (#137)
- Normalize util and storage-facing error contracts (#153)
- Offload runtime dispatch from sensor process (#152)
Dependencies
- Bump
jido_actionandjido_signalto 2.0.0-rc.5
2.0.0-rc.4 - 2026-02-06
Added
- Memory plugin: implement
Jido.Memoryas default plugin under__memory__key (#125) - Identity plugin: add
Jido.Identityas default agent plugin (#126) - Plugin singleton flag in plugin config schema (#120)
- Plugin signal middleware improvements (#123)
Changed
- Update
signal_routesto accept context parameter (#121)
Fixed
- Wire
on_restore/2into generatedrestore/2callback (#122)
Tests & Chores
- Add memory plugin and default plugins persistence examples (#127)
- Organize example tests into subdirectories (#124)
- Add
Jido.Pluginto doctor ignore_modules for macro-generated defs - Remove AI cruft and build artifacts
Dependencies
- Bump
jido_actionandjido_signalto 2.0.0-rc.4
2.0.0-rc.3 - 2026-02-04
Added
cmd/3to support per-action timeout opts (#117)- Unified persistence layer for agent checkpoints and thread journals (#110)
- Telemetry infrastructure with span tracking and metrics (#109)
- Debug helpers and improved timeout errors (#111)
Changed
- BREAKING: Renamed
Jido.SkilltoJido.Plugin(#115)
Fixed
- Dialyzer/Credo: add :mix to PLT, remove unnecessary ignores (#118)
Dependencies
- Bump
jido_actionandjido_signalto 2.0.0-rc.3 - Bump
ex_docfrom 0.40.0 to 0.40.1 (#112)
2.0.0-rc.2 - 2025-01-30
Changed
- Zoi Schema Migration: Convert remaining structs to use Zoi schemas for consistent validation (#106)
- Macro Decomposition: Decompose large macros and improve code organization (#101)
- Sensor Simplification: Simplify
handle_event/2to directive-only format (#108)
Fixed
- Address code quality issues from codebase review (#107)
- Improve process lifecycle handling and test reliability (#100)
Dependencies
- Bump
jido_actionandjido_signalto 2.0.0-rc.2
2.0.0 (Architecture Preview Notes) - 2025-12-31
Added
- Instance-Scoped Supervisors: Jido now uses user-owned, instance-scoped supervisors instead of auto-started global singletons
- Jido Supervisor Module: New
Jidomodule acts as a Supervisor managing per-instance Registry, TaskSupervisor, and AgentSupervisor - Agent Lifecycle API: New functions
Jido.start_agent/3,Jido.stop_agent/2,Jido.whereis/2,Jido.list_agents/1 - Test Isolation: New
JidoTest.Casemodule for automatic test isolation with unique Jido instances - Per-Instance Scheduler: Scheduler can now be scoped to a Jido instance
- Multi-Agent Coordination: New
Jido.await/3andJido.await_child/4for coordinating agent completion - Discovery Delegates: Discovery functions accessible via main Jido module
Breaking Changes
- Explicit Supervision: Users must now add
{Jido, name: MyApp.Jido}to their supervision tree - Agent Start: Use
Jido.start_agent(instance, agent, opts)instead ofAgentServer.start/1 - Instance Option: Pass
jido: MyApp.Jidooption when starting agents directly
Changed
- Refactored from global singletons to instance-scoped architecture
- Agents now register in instance-specific Registry
- TaskSupervisor and AgentSupervisor are per-instance
- Updated all examples to use new 2.0 patterns
Migration from 1.x
See the Migration section in README.md for upgrade instructions.
Unreleased - 2025-08-29
Added
- Modular API Architecture: Refactored monolithic
Jido.exmodule into specialized modules:Jido.Agent.Lifecycle- Agent lifecycle management (start, stop, restart, clone operations)Jido.Agent.Interaction- Agent communication (signals, instructions, requests)Jido.Agent.Utilities- Helper functions (via/2, resolve_pid/1, generate_id/0, log_level/2)
- Comprehensive Test Helpers: New
JidoTest.Supportmodule with common test utilities:- Registry management helpers (
start_registry!/0) - Agent lifecycle helpers (
start_basic_agent!/1, automatic cleanup) - Signal and state assertion helpers
- Consistent test patterns across all modules
- Registry management helpers (
- Table-Driven Test Coverage: Implemented data-driven delegation tests for maintainable 100% API coverage
- Performance-Optimized Test Suite: Consolidated and streamlined tests with
@tag :slowfor optional performance tests
Breaking Changes
- None: All public API functions remain fully backward compatible through delegation in main
Jidomodule
Changed
- Improved Test Performance: ~40% reduction in test execution time through:
- Elimination of redundant test cases
- Reduced UUID generation from thousands to ~110 total
- Parameterized test scenarios instead of copy-paste patterns
- Common setup helpers reducing boilerplate
- Enhanced Test Maintainability:
- Centralized test helpers eliminate code duplication
- Table-driven tests make adding new API methods trivial
- Consistent patterns across all test files
- Better Resource Management: Automatic test cleanup prevents resource leaks and test isolation issues
Fixed
- Test Suite Optimization: Removed redundant tests while maintaining high coverage (68.4% overall, >80% for key modules)
- Code Quality: Addressed Credo warnings in test files (replaced
length/1withEnum.empty?/1)
Previous - 2025-08-25
Added
- Automatic Action Registration: Skills can now declare required actions in their configuration using the
actionsfield, which are automatically registered when the skill is mounted - Module Path Refactoring: Moved action modules from
Jido.Actions.*toJido.Tools.*namespace for better alignment withjido_actionlibrary - Default Skills: Agent server now uses default skills (
Jido.Skills.BasicandJido.Skills.StateManager) instead of hardcoded actions
Breaking Changes
- Action module paths: All action modules moved from
Jido.Actions.*toJido.Tools.*to align with thejido_actionlibrary - Runner system removed: The separate
Jido.Runner.SimpleandJido.Runner.Chainmodules have been deprecated. Agents now use built-in execution logic that processes one instruction at a time (equivalent to the former Simple Runner behavior)
Changed
- Skill configuration: Skills can now declare required actions using the
actionsfield for automatic registration - Agent options: Both
actions:andskills:options are supported, with skills providing the preferred declarative approach
Fixed
- Task update action now only updates provided fields instead of overwriting with nil values
- State manager update action now uses
:updateoperation instead of:setfor proper semantic behavior - Improved error handling for action registration failures
1.1.0-rc.1 - 2025-02-18
- Address open Credo Errors
- Add documentation
- Clean up README in prep for 1.1 release
1.1.0-rc - 2025-02-08
- Stateful Agents