v2.5.11
agno-agi/agnov2.5.11Mar 26, 2026by kausmeows
AI Summary
Adds Google Slides/Slides tools, Google Auth, cross-model tool call compatibility, and Perplexity search support.
Key Highlights
- Google Slides toolkit
- Google Auth toolkit
- Cross-model tool call compatibility
- PerplexitySearch toolkit
New Features
- Google Slides tools
- Google Auth
- Cross-model tool calls
- Perplexity
Full Release Notes
# Changelog
## New Features:
- **Google Sides Toolkit**: Added new slides toolkits for creating / editing and working with Google slides
- **Google Auth Toolkit:** Added `GoogleAuth` toolkit and shared auth decorator for Google toolkits.
- **Models:** Added cross-model tool call compatibility to facilitate interchanging model pattern.
- **Chunking:** Added custom prompt support to `AgenticChunking`
- **Perplexity:** Added a `PerplexitySearch` toolkit.
## Improvements:
- **Migration:** Added migration for approvals table `run_status` column valid for `≥v2.5.6`
- **LanceDb:** Updated to deduplicate search results in `search()` in order to avoid hybrid search returning the same document from both vector and FTS branches.
- **Seltz Toolkit:** Updates for Seltz SDK integration from `0.1.x` to `0.2.0`.
## Bug Fixes:
- **Team:** Fixed async toolkit tools not appearing in team system message tool names.
- **LanceDB:** Fixed duplicate results when using hybrid search.
- **Claude:**
- Added support for Anthropic's top-level `output_config` request parameter for Claude wrappers, so users can pass values like `output_config={"effort": "high"}` together with adaptive thinking.
- Preserve `$defs` in Claude tool schema formatting
- Extract `file_ids` and container info in streaming path for Claude skills
- **Tool Calling:** Fixed parsing of tool calls to use assign instead of append function name in streaming `parse_tool_calls`.
- **LiteLLM:** Updated to prevent empty strings from overwriting tool names in LiteLLM streaming
- **AWS Bedrock:** Fixed to ****fail fast for unsupported `AWS_BEDROCK_API_KEY` auth in Claude.
- **Azure OpenAI:** Fixed to override **deepcopy** to preserve client references.
- **Openrouter:** Fixed to skip empty reasoning block for non-reasoning models.
- **Caching Responses:** Updated to handle non-serializable types in cache key generation.
## What's Changed
* fix: include async toolkit functions in team system message tool names by @kausmeows in https://github.com/agno-agi/agno/pull/7042
* feat: cross-model tool call compatibility for interchange model pattern by @ysolanky in https://github.com/agno-agi/agno/pull/6971
* feat: add Claude output_config passthrough by @SalimELMARDI in https://github.com/agno-agi/agno/pull/7067
* chore: update exa tools description by @theishangoswami in https://github.com/agno-agi/agno/pull/7099
* fix: assign instead of append function name in streaming parse_tool_calls by @metaphorics in https://github.com/agno-agi/agno/pull/6989
* feat: add custom prompt support to AgenticChunking by @sannya-singal in https://github.com/agno-agi/agno/pull/7085
* fix: prevent empty strings from overwriting tool names in LiteLLM streaming by @kausmeows in https://github.com/agno-agi/agno/pull/7132
* fix: preserve $defs in Claude tool schema formatting by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/6085
* [fix] fail fast for unsupported AWS_BEDROCK_API_KEY auth in Claude by @pandego in https://github.com/agno-agi/agno/pull/6855
* [fix] Extract file_ids and container info in streaming path for Claude skills by @adiberk in https://github.com/agno-agi/agno/pull/7109
* fix: Azure OpenAI async client auth by @lmgarret in https://github.com/agno-agi/agno/pull/6955
* fix(openrouter): skip empty reasoning block for non-reasoning models by @pratikm778 in https://github.com/agno-agi/agno/pull/6946
* feat(tools): add PerplexitySearch toolkit by @kesku in https://github.com/agno-agi/agno/pull/6951
* feat: Add GoogleSlidesTools toolkit (Closes #6829) by @anshul-jain-devx108 in https://github.com/agno-agi/agno/pull/6830
* fix: gh ci workflow by @kausmeows in https://github.com/agno-agi/agno/pull/7152
* fix: handle non-serializable types in cache key generation by @ysolanky in https://github.com/agno-agi/agno/pull/7155
* fix: remove litellm from ci due to incident by @kausmeows in https://github.com/agno-agi/agno/pull/7154
* feat: rewrite GoogleDriveTools with smart export and async support by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/6995
* feat: add GoogleAuth toolkit and shared auth decorator for Google toolkits by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/7098
* chore: add migration for approvals table run_status column by @kausmeows in https://github.com/agno-agi/agno/pull/7158
* fix: lancedb deduplicate search results by @harsh21234i in https://github.com/agno-agi/agno/pull/7061
* feat: update seltz integration to SDK 0.2.0 by @WilliamEspegren in https://github.com/agno-agi/agno/pull/6891
* fix: resolve grpcio version conflict breaking CI tests by @ysolanky in https://github.com/agno-agi/agno/pull/7184
* chore: release 2.5.11 by @ysolanky in https://github.com/agno-agi/agno/pull/7071
## New Contributors
* @theishangoswami made their first contribution in https://github.com/agno-agi/agno/pull/7099
* @metaphorics made their first contribution in https://github.com/agno-agi/agno/pull/6989
* @pandego made their first contribution in https://github.com/agno-agi/agno/pull/6855
* @lmgarret made their first contribution in https://github.com/agno-agi/agno/pull/6955
* @pratikm778 made their first contribution in https://github.com/agno-agi/agno/pull/6946
* @kesku made their first contribution in https://github.com/agno-agi/agno/pull/6951
* @anshul-jain-devx108 made their first contribution in https://github.com/agno-agi/agno/pull/6830
* @harsh21234i made their first contribution in https://github.com/agno-agi/agno/pull/7061
**Full Changelog**: https://github.com/agno-agi/agno/compare/v2.5.10...v2.5.11