All 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.
- Type-safe context validation with generic AgentContext
- New tool registration decorators (@tool, @tool_plain) with type validation
- Type validation for SwarmStream and Swarm public API
- Explicit agent switching via ToolResult.switch_to method
- BREAKING: Refactored Core API to be fully type-safe
- BREAKING: Reworked agent switching to be stateless and explicit
- BREAKING: Simplified Chat components with unified ChatContext
- Reorganized examples into basics and advanced categories
- Updated all documentation to reflect type-safe API changes
- Experimental SwarmTeam prototype module
- Generic message types in favor of type-safe alternatives
- Swarm team types and exceptions
- Yield agent completion event at iteration end
- Added missing common types (e.g. LLM and ContextVariables) to global namespace
- Resolved mypy type variance issues with generic types
- Chat components built on top of Swarm and SwarmTeam for building chat applications
- Type-safe structured outputs with Pydantic model support
- New events for managing agent flow (activate, begin, complete, response)
- TypeVar type checking trick to work around Pydantic bound generics
- New examples showcasing chat and team chat functionality
- BREAKING: Reworked core Swarm API to be fully stateless
- BREAKING: Removed session management in chat components
- Reorganized SwarmTeam to be stateless with streaming API support
- Simplified field names and event model naming for consistency
- Updated all examples to use new stateless API
- Improved type safety around response formats
- Simplified swarm team types generics
- Renamed get_result to get_return_value for ReturnableAsyncGenerator
- Obsolete MessageStore, ContextManager, EventHandler
- Redundant unwrap utils
- Ambiguous messages file
- Deprecated types and components
- ReturnableAsyncGenerator for unified event streaming API
- RAG strategy configuration type for better context optimization control
- Tool call result field for improved result handling
- Serialization support for agent instructions and LLM tools
- Refactored event streaming architecture with cleaner separation of concerns
- Embedded completion response into agent response model for better encapsulation
- Renamed event models to remove redundant "Swarm" prefix
- Removed SwarmStream in favor of ReturnableAsyncGenerator
- Updated event handler to use new streaming API
- Improved documentation with up-to-date examples for core components
- Deprecated SwarmStream module
- Redundant tool call event in favor of result-only events
- Async interface for MessageStore protocol and implementations
- Batch operations for message management (add_messages, remove_messages)
- Unified ContextManager interface with create_context, optimize_context, and find_context methods
- Renamed response types to better reflect streaming nature (AgentResponseChunk, CompletionResponseChunk)
- Updated event types to match new response chunk naming
- Improved context management to use MessageStore for data access
- Enhanced usage and cost tracking in REPL with proper accumulation
- Usage statistics accumulation in streaming responses
- New message management system with MessageStore, MessageIndex, and ContextManager
- Event system with ConsoleEventHandler and SwarmEventHandler
- SwarmStream wrapper for improved response handling and parsing
- Task context and plan ID support
- New REPL commands for optimization and search
- Refactored stream handler to use event-based system
- Enhanced message and context management
- Improved type system with stricter checks
- Updated examples to use new event system
- Context update and retry mechanism improvements
- Tool call pair filtering enhancements
- Response format and cleanup handling
- Variable initialization and error logging
- Legacy stream handler and summarizer
- Unused types and context keys
- Add py.typed file to support type checking with mypy
- Core agent system with LLM-agnostic design and 100+ model support
- Multi-agent orchestration with structured outputs
- Real-time streaming and context management
- Tool integration system with flexible agent switching
- Production-ready examples (REPL, Mobile App Team, Software Team)