CHANGELOG
View Source2.0.0 - 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