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