v2.6.20

agno-agi/agnov2.6.20Jun 26, 2026by harshsinha03

AI Summary

Adds ClickHouse support for high-volume traces and integrates the Scavio search toolkit, while improving OpenAI citations and LiteLLM outputs.

Key Highlights

  • ClickHouseDB support for traces and OLAP scans
  • Scavio Search Toolkit integration
  • OpenAI citations in response objects
  • LiteLLM support for native structured outputs
  • Unified Google toolkit auth base class

New Features

  • ClickHouse traces
  • Scavio search
  • OpenAI citations
  • LiteLLM structured outputs
  • Google auth refactor
  • Reddit write scope enforcement

Full Release Notes

# Changelog

## New Features:

- **ClickhouseDB for Traces:** Added support for ClickHouse for high-volume trace ingest and OLAP scans. See docs.
- **Scavio Search Toolkit**: New search toolkit integration with Scavio.

## Improvements:

- **OpenAI**: Citations from web-search responses are now surfaced on `response.citations` for `OpenAIChat` and `OpenAILike` providers.
- **AgentOS**: Support `FastAPI >= 0.137` so `get_routes()` lists every route.
- **LiteLLM**: Support native structured outputs and JSON schema outputs (enable per provider with `supports_native_structured_outputs` or `supports_json_schema_outputs`).
- **Google Toolkits Auth Refactor**: Unified auth base class for Google toolkits.
- **AgentOS**: Updated to not limit `quick_prompts` to 3 per agent/team/workflow.

## Bug Fixes:

- **MCP**: Preserve `_meta` and `structuredContent` from MCP tool results on `ToolResult.metadata`.
- **Tool-Result Compression:** Fixed token miscount for tools with numeric enum params, so compression triggers at the right time.
- **Workflow**: Isolate `step_id` across concurrent runs while keeping it stable across pause/continue in HITL runs.
- **Tools**: `Toolkit` and `Searxng` no longer reuse a mutable default list across instances.
- **Traces**: Use canonical conditions key when scoping trace filters for scoped users.
- Reddit: Write actions are now scoped to the configured allowed subreddits.
- MoviePy: Generated outputs are written atomically to avoid partial files.
- **OpenAI**: Fixed `OpenAIResponses` to support Chat Completions–style `json_schema` output schemas.


## What's Changed
* cookbook: add remote agent as team member examples by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/8248
* fix: Fixes a data-loss bug by @abhi10691 in https://github.com/agno-agi/agno/pull/7659
* feat: refactor Google toolkits with unified auth base class by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/8267
* refactor: split agui/utils.py into focused modules by @Himanshu040604 in https://github.com/agno-agi/agno/pull/8364
* fix: preserve structuredContent from MCP CallToolResult by @weiguangli-io in https://github.com/agno-agi/agno/pull/7715
* [fix] Add support for citations in OpenAI chat responses by @MSNP1381 in https://github.com/agno-agi/agno/pull/5885
* feat: Add checkpointing demo for AgentOS by @anuragts in https://github.com/agno-agi/agno/pull/8549
* fix: render numeric enums as numeric literal unions in token type formatting by @Osamaali313 in https://github.com/agno-agi/agno/pull/8554
* fix: guard path-less routes in OS resync and regenerate step_id on workflow deep_copy by @ysolanky in https://github.com/agno-agi/agno/pull/8465
* fix: use canonical conditions key when scoping trace filters for scoped users by @sannya-singal in https://github.com/agno-agi/agno/pull/8564
* fix: Pass response_format to LiteLLM completion for structured outputs by @dee-walia20 in https://github.com/agno-agi/agno/pull/5881
* [test] make function cache path test cross-platform by @Fishbone23333 in https://github.com/agno-agi/agno/pull/8326
* [fix] Write MoviePy outputs atomically by @fengjikui in https://github.com/agno-agi/agno/pull/8537
* fix: scope reddit writes to allowed subreddits by @fengjikui in https://github.com/agno-agi/agno/pull/8539
* fix: quick prompt cap removal by @mishramonalisha76 in https://github.com/agno-agi/agno/pull/8577
* fix: replace mutable default argument in Toolkit.__init__ by @xlyoung in https://github.com/agno-agi/agno/pull/8253
* refactor: consolidate MCP ToolResult metadata into a single field by @harshsinha03 in https://github.com/agno-agi/agno/pull/8580
* fix: replace EOL claude-sonnet-4-0 with claude-sonnet-4-5 and harden flaky knowledge tests by @sannya-singal in https://github.com/agno-agi/agno/pull/8581
* [feat] Add Scavio search toolkit by @scavio-ai in https://github.com/agno-agi/agno/pull/8508
* feat: clickhouse db for traces by @kausmeows in https://github.com/agno-agi/agno/pull/7799
* chore: Release v2.6.20 by @harshsinha03 in https://github.com/agno-agi/agno/pull/8576

## New Contributors
* @weiguangli-io made their first contribution in https://github.com/agno-agi/agno/pull/7715
* @Osamaali313 made their first contribution in https://github.com/agno-agi/agno/pull/8554
* @dee-walia20 made their first contribution in https://github.com/agno-agi/agno/pull/5881
* @Fishbone23333 made their first contribution in https://github.com/agno-agi/agno/pull/8326
* @xlyoung made their first contribution in https://github.com/agno-agi/agno/pull/8253
* @scavio-ai made their first contribution in https://github.com/agno-agi/agno/pull/8508

**Full Changelog**: https://github.com/agno-agi/agno/compare/v2.6.19...v2.6.20