v2.4.1
agno-agi/agnov2.4.1Jan 21, 2026by kausmeows
AI Summary
Introduced the N1N.ai provider, first-class Excel ingestion support, and private GitHub/Sharepoint support for Knowledge, along with fixes for Team task delegation and async generator tools.
Key Highlights
- Added n1n.ai as an OpenAI-compatible provider
- Added first-class Excel (.xlsx/.xls) ingestion
- Added support for private GitHub and Sharepoint repos
- Fixed Python closure bug in Team delegation
New Features
- N1N Model Provider
- Excel Ingestion
- GitHub/Sharepoint Support
Full Release Notes
# Changelog ## New Features: - **N1N Model Provider:** Added [n1n.ai](http://n1n.ai/) as an OpenAI-compatible provider. - **Knowledge:** Added first-class Excel ingestion `(.xlsx/.xls)` by routing spreadsheets through the existing CSV reader, parsing workbooks per sheet into separate documents with sheet metadata. - **Github/Sharepoint support:** Added functionality in SDK and on API to support files in private github and sharepoint repos to be added to Knowledge. ## Improvements: - **Streaming metrics:** Add `collect_metrics_on_completion` flag to only collect metrics from the final chunk. - **Interfaces:** Prevent errors on interfaces from ending up to the user facing message. ## Bug Fixes: - **CustomEvent**: Add `tool_call_id` to trace events back to their originating tool calls. - **Knowledge metadata:** Fixed to properly propogate metdata filters while using knowledge - **Cerebras Model Provider:** Fixed a 422 validation error when using Cerebras models with structured outputs (JSON schema format). - **Team task delegation:** Fixed a Python closure bug in `Team.adelegate_task_to_members()` where loop variables were not properly captured in async function definitions, causing all concurrent member agent runs to use the **last** member's values instead of their respective values. - **Async generator tools:** Handle async generator iteration exceptions gracefully by capturing the error on the tool call instead of re-raising, so the agent can continue and the model can decide how to proceed. ## What's Changed * fix: knowledge metadata propogation by @kausmeows in https://github.com/agno-agi/agno/pull/6078 * fix: handle empty str password at knowledge level by @kausmeows in https://github.com/agno-agi/agno/pull/6081 * fix: add additionalProperties: false to Cerebras JSON schemas by @deksprime in https://github.com/agno-agi/agno/pull/6014 * fix: Python Closure Bug in team.py function `adelegate_task_to_members` by @d8rt8v in https://github.com/agno-agi/agno/pull/6067 * ci: Run Claude Code automatically on PRs by @Mustafa-Esoofally in https://github.com/agno-agi/agno/pull/6088 * fix: draft config retrieval and nested team member loading in components by @kausmeows in https://github.com/agno-agi/agno/pull/6083 * fix: interfaces error handling by @VirusDumb in https://github.com/agno-agi/agno/pull/6011 * fix: handle async generator exceptions gracefully like sync generators by @uzaxirr in https://github.com/agno-agi/agno/pull/6108 * feat: add n1n provider by @n1n-api in https://github.com/agno-agi/agno/pull/6056 * fix: Perplexity streaming token metrics accumulation by @celobusana in https://github.com/agno-agi/agno/pull/6058 * feat: add tool_call_id into CustomEvent that yielded from tools in agent by @RayneSun in https://github.com/agno-agi/agno/pull/6098 * chore: update ag infra templates by @ysolanky in https://github.com/agno-agi/agno/pull/6079 * chore: improve CLAUDE.md documentation by @ysolanky in https://github.com/agno-agi/agno/pull/6103 * chore: updated windows dev_setup script by @VirusDumb in https://github.com/agno-agi/agno/pull/6024 * feat: Knowledge remote support by @willemcdejongh in https://github.com/agno-agi/agno/pull/6106 * [feat] Support Excel files in Knowledge by @liqiongyu in https://github.com/agno-agi/agno/pull/5862 * chore: Release 2.4.1 by @kausmeows in https://github.com/agno-agi/agno/pull/6109 ## New Contributors * @deksprime made their first contribution in https://github.com/agno-agi/agno/pull/6014 * @n1n-api made their first contribution in https://github.com/agno-agi/agno/pull/6056 * @RayneSun made their first contribution in https://github.com/agno-agi/agno/pull/6098 **Full Changelog**: https://github.com/agno-agi/agno/compare/v2.4.0...v2.4.1