Skip to content

Releases: Eigenwise/atomic-agents

v2.8.1

09 Jun 20:37

Choose a tag to compare

Patch release.

  • Rebrand to the eigenwise GitHub home (URLs, plugin manifests, package metadata)
  • MiniMax M3 set as the default MiniMax model (#257)

Full changelog: v2.8.0...v2.8.1

v2.8.0

29 May 07:07

Choose a tag to compare

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; SystemPromptGenerator now subclasses it (fully backwards compatible).
  • Automatic context trimmingAtomicAgent gains max_context_tokens to auto-trim history and prevent context-window overruns.

Bug Fixes

  • Prevent None in MCP prompt text extraction from causing a str.join TypeError (#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 an atomic-explorer subagent 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...v2.8.0

v2.7.5

31 Mar 12:44

Choose a tag to compare

What's Changed

Dependency Updates

  • Update instructor from 1.13.0 to 1.14.5 (#225, #226)
  • Fix deprecated import paths (instructor.client.*instructor.core.client.*, instructor.multimodalinstructor.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

23 Mar 17:55

Choose a tag to compare

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...v2.7.4

v2.7.3

17 Mar 17:05

Choose a tag to compare

What's Changed

Bug Fix

  • fix: use max_input_tokens for context window size (#216)
    • TokenCounter.get_max_tokens() was using litellm.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 reading max_input_tokens, with fallback to max_tokens if unavailable
    • Uses explicit None check instead of or operator to correctly handle falsy values like 0
    • 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

14 Feb 12:52

Choose a tag to compare

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-native model_dump_json(exclude=...) to fix TypeError when 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.7.0...v2.7.1

v2.6.0

03 Jan 17:52

Choose a tag to compare

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 outputSchema now 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 outputSchema continue to work exactly as before with the generic result field

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 structuredContent responses
  • Improved documentation for is_output_schema parameter explaining discriminated union usage

Bug Fixes

  • Fixed silent failure when structuredContent has unexpected type (now raises TypeError)
  • 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...v2.6.0

v2.5.0

23 Dec 13:59

Choose a tag to compare

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

12 Dec 16:11

Choose a tag to compare

What's Changed

  • Fix #194: Sync agent.messages after run() completes by @KennyVaneetvelde in #195

Full Changelog: v2.3.0...v2.4.0

v2.3.0

30 Nov 10:51
a43e1bd

Choose a tag to compare

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