Releases: Eigenwise/atomic-agents
Releases · Eigenwise/atomic-agents
v2.8.1
v2.8.0
What's New in v2.8.0
A feature release adding new Forge tools, a pluggable system-prompt base class, automatic context-window trimming, and a rewritten Claude plugin — plus the multi-agent deep-research example.
Core framework
Features
BaseSystemPromptGenerator— new abstract base class so you can build custom system-prompt generators;SystemPromptGeneratornow subclasses it (fully backwards compatible).- Automatic context trimming —
AtomicAgentgainsmax_context_tokensto auto-trim history and prevent context-window overruns.
Bug Fixes
- Prevent
Nonein MCP prompt text extraction from causing astr.joinTypeError (#252).
Atomic Forge — new tools
- arxiv_search — academic paper search via the public arXiv API
- datetime_tool — timezone-aware now / parse / convert / shift / diff
- hackernews_search — Hacker News search via the free Algolia API
- pdf_reader — PDF text + metadata extraction (local file or URL, page-range support)
- weather — current conditions and daily/hourly forecast via Open-Meteo (no key)
- wikipedia_search — Wikipedia search in any language edition (no key)
- fia_signals — crypto market intelligence (regime, signals, yields, gas, trending, wallet risk)
Tooling & examples
- Claude plugin v2 — rewritten as a skills-only pack with
create-atomic-*skills (agent, tool, schema, context-provider) and anatomic-explorersubagent for codebase mapping; fewer atomic-reviewer false positives. - deep-research example — rebuilt as a proper multi-agent research pipeline (planner, decider, extractor, reflector, writer, QA) with a restored chat loop.
- docs — clarified tool philosophy and the two patterns for using tools.
Full Changelog
v2.7.5
What's Changed
Dependency Updates
- Update
instructorfrom1.13.0to1.14.5(#225, #226) - Fix deprecated import paths (
instructor.client.*→instructor.core.client.*,instructor.multimodal→instructor.processing.multimodal) - Use instructor extras for provider SDKs (
instructor[anthropic],instructor[groq],instructor[google-genai]) instead of separate package installs
Documentation
- Updated installation docs (README, FAQ, cookbook) to recommend instructor extras for provider setup
- Removed unused provider dependencies from examples (basic-multimodal, quickstart)
No Breaking Changes
- The public API is unchanged — no user code changes needed
- OpenAI is included by default with instructor
- Other providers are available via extras:
pip install instructor[anthropic],pip install instructor[groq],pip install instructor[google-genai]
Full Changelog: v2.7.4...v2.7.5
v2.7.4
What's New
Bug Fixes
- Fix enum output strictness — Use Pydantic default strictness in AtomicAgent instead of strict mode, fixing issues with enum outputs (#218)
- Fix delete turn ID type annotation — Corrected type annotation for turn ID in delete operation (#212)
- Fix run stream empty response guard — Added guard against empty responses in streaming runs (#214)
Full Changelog
v2.7.3
What's Changed
Bug Fix
- fix: use
max_input_tokensfor context window size (#216)TokenCounter.get_max_tokens()was usinglitellm.get_max_tokens()which returns the output token limit (max_tokens), not the input context window (max_input_tokens)- Switched to
litellm.get_model_info()and readingmax_input_tokens, with fallback tomax_tokensif unavailable - Uses explicit
Nonecheck instead oforoperator to correctly handle falsy values like0 - This fixes utilization being overstated by up to 8x for models where output limits are much smaller than context windows
Closes #215
Full Changelog: v2.7.1...v2.7.3
v2.7.1
Bug Fixes
- fix(chat_history): Support nested multimodal content in
get_history()(#208, #141)ChatHistory.get_history()now correctly handles multimodal objects (Image, PDF, Audio) nested inside sub-schemas, not just at the top level- Replaced
json.dumps()with Pydantic-nativemodel_dump_json(exclude=...)to fixTypeErrorwhen schemas contain both multimodal fields and nested Pydantic models - Added recursive
_extract_multimodal_info()that walks the full object tree to find multimodal content at any depth - Handles lists, tuples, dicts, and deeply nested Pydantic models
- All-multimodal containers (list/dict) are fully excluded from the JSON output
New Examples
- nested-multimodal: End-to-end example demonstrating nested multimodal schemas with actual LLM calls
Full Changelog
v2.6.0
What's New
MCP Output Schema Support
This release adds support for typed output schemas from MCP (Model Context Protocol) tools. When an MCP server provides an outputSchema for a tool, atomic-agents now creates a properly typed Pydantic model instead of using a generic output schema.
Features
- Typed Output Schemas: Tools with MCP-provided
outputSchemanow generate typed Pydantic models with proper field definitions - Automatic Schema Detection: The system automatically detects when an MCP tool has an output schema and creates the appropriate typed model
- Backwards Compatible: Tools without
outputSchemacontinue to work exactly as before with the genericresultfield
Improvements
- Enhanced error handling for structured content parsing with clear error messages
- Added debug logging for JSON parse failures to aid troubleshooting
- Added type validation for
structuredContentresponses - Improved documentation for
is_output_schemaparameter explaining discriminated union usage
Bug Fixes
- Fixed silent failure when
structuredContenthas unexpected type (now raisesTypeError) - Fixed fallback to generic handling that would fail for typed schemas
- Added type check on content arrays before indexing to prevent errors on non-list types
Full Changelog
v2.5.0
What's New
Features
- Provider-agnostic token counting - New utilities for accurate token counting across different LLM providers (#197)
- Claude Code plugin - Official plugin for Atomic Agents development workflow (#199)
Documentation
- Comprehensive Memory Guide - New ~1200 line guide covering memory management, turns, multi-agent patterns, context providers, and troubleshooting. Includes 8 Mermaid diagrams. Addresses #58 (#200)
- Improved Context7 benchmark documentation
Fixes
- Token counting accuracy improvements with proper error handling
- Python version classifiers for PyPI badge
- Flake8 linting errors resolved
Full Changelog: v2.4.0...v2.5.0
v2.4.0
v2.3.0
What's Changed
- Fix #182: Add configurable assistant_role to support Gemini by @KennyVaneetvelde in #188
- Add FastAPI integration example by @KennyVaneetvelde in #189
- chore: upgrade instructor to 1.13.0 and openai to 2.x by @KennyVaneetvelde in #190
- chore: migrate from Poetry to uv workspace by @KennyVaneetvelde in #191
Full Changelog: v2.2.2...v2.3.0