Changelog¶
All notable changes to Flux Agents will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
Added¶
- Documentation website with Material for MkDocs
- Comprehensive API reference
- Example documentation pages (Hello World, Weather, Search, E-Commerce, Customer Support)
Changed¶
- Version bump to 0.2.0
[0.2.0] - 2025-01-01¶
Added¶
- OpenAI provider (
OpenAIModel) -- works with OpenAI, OpenRouter, DeepSeek, Groq, and any OpenAI-compatible API - Anthropic provider (
AnthropicModel) -- Claude model support via the Anthropic SDK - Tool registry (
ToolRegistry) -- centralized tool management - Built-in tools --
ShellTool,FileReadTool,FileWriteTool - Console and file tracing --
ConsoleTracerfor stderr,FileTracerfor JSON lines - Cache middleware (
CacheMiddleware) -- TTL-based response caching by message hash - Rate limit middleware (
RateLimitMiddleware) -- token bucket rate limiter - Retry middleware (
RetryMiddleware) -- exponential backoff retries onProviderError/ToolError - Profanity guardrail (
ProfanityGuardrail) -- configurable word list blocking - PII guardrail (
PIIGuardrail) -- detects emails, phone numbers, and SSNs in input - Vector memory (
VectorMemory) -- simple hash-based in-memory vector store with cosine similarity - Conversation memory (
ConversationMemory) -- wraps aSessionfor substring-based search - SQLite session (
SQLiteSession) -- persistent conversation storage with WAL mode - 9 example scripts -- from basic chat to custom model providers
- Test suite -- 60+ tests covering agents, tools, handoffs, guardrails, middleware, and sessions
Changed¶
- Improved model registry with prefix matching
- Better streaming support with typed event classes (
TextDeltaEvent,ToolCallEvent,MessageCompleteEvent,UsageEvent,ErrorEvent,AgentUpdatedEvent) Agentis now a frozen dataclass withclone()for immutable modificationsAgent.instructionscan be a callable receivingRunContextfor dynamic prompts
Fixed¶
- Model inheritance on handoff -- child agents now inherit the parent model when none is set
[0.1.0] - 2024-12-01¶
Added¶
- Initial release
- Provider-agnostic architecture -- swap LLM providers without changing application code
- Agent abstraction -- immutable dataclass with name, instructions, model, tools, handoffs, guardrails
- Runner execution engine --
Runner.run()(async),Runner.run_sync(),Runner.run_streamed() - Tool system --
@tooldecorator auto-generates JSON schemas from type hints; supports sync and async functions - Ollama provider (
OllamaModel) -- local LLM inference via Ollama - Model registry (
ModelRegistry) -- register and resolve models by name - Session protocol and
InMemorySession-- conversation persistence interface - Memory protocol and
ConversationMemory-- search over conversation history - Middleware protocol and
LoggingMiddleware-- request/response interception - Event bus (
EventBus) -- decoupled observability withon(),on_all(),emit() - Streaming support --
StreamResultwith async iteration overStreamEventtypes - Guardrail system --
InputGuardrailandOutputGuardrailbase classes withGuardrailResult - Handoff system --
Handoffdataclass and agent tuple for multi-agent routing viatransfer_to_{name}tools - CLI entry points --
fluxandflux-agentscommands - Global configuration --
FluxConfigwithget_config()/set_config() - Basic documentation -- getting started guide, API reference, architecture overview, troubleshooting