Tags: agno-agi/agno
Tags
chore: Release 2.4.1 (#6109) # 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.
chore: Release 2.4.0 (#6066) # Changelog ## New Features: - **Knowledge Protocol:** Introduced `KnowledgeProtocol` The main Knowledge implementation now satisfies this interface. Any other implementation may be used with Agent/Team. Note - Only the main Agno Knowledge implementation of this protocol currently supports AgentOS Knowledge management. - **Agent Builder:** Users can now persist and manage Agent, Team, and Workflow configurations directly in the database. New AgentOS endpoints enable programmatic creation, retrieval, and updates of component definitions. - **New Events:** Added new events for Model, compression and memory. - `ModelRequestStarted` and `ModelRequestCompleted` - `CompressionStarted` and `CompressionCompleted` - Update `MemoryUpdateCompleted` to contain the memory content. - **Gemini file inputs:** Add direct GCS and external URL support for Gemini file inputs - **TavilyTools:** Add `api_base_url` parameter support to TavilyTools for custom hosted usecases. ## Improvements: - **Default DB on `AgentOS`:** Add `db` to the `AgentOS` class. If populated, it propagates to all agents, teams and workflows without db. It is also used as tracing db. - Deprecated `enable_user_memories` : Introduced `update_memory_on_run` for the same behavior. - **Knowledge config endpoint**: Improved checking for available readers without needing instantiation of the reader classes. Reduced unnecessary warnings and improved response times. - **Unify dates format on OS API layer:** Unify the format of all dates we send via the OS API. Everything is now a UTC datetime - **AgentOS Trailing Slash Handling:** Add a `TrailingSlashMiddleware` that strips trailing slashes from request paths, all endpoints returns identical responses without 307 redirects. - **Pass instructions as is without XML tags:** - **Agent & Team**: Instructions are now added directly to the system message without `<instructions>` tags by default - Added `add_instruction_tags=True` option to restore the previous behavior for users who prefer structured prompts ## Bug Fixes: - **LanceDB:** Fixed a bug for duplicate embeddings during async insert and upsert operations. - **Qdrant Async Search:** Fixed async search methods which were preventing event loop blocking during concurrent async operations. - **CSV Reader:** CSVReader and FieldLabeledCSVReader ignored `encoding` parameter for BytesIO inputs - always used hardcoded `"utf-8"` instead of `self.encoding or "utf-8"`. - **PDF Reader:** Fixed bug where empty string passwords (`""`) were incorrectly treated as `None` due to Python's falsy evaluation - **Openrouter with Gemini:** Adds support for preserving Gemini's `reasoning_details` field when using OpenRouter, fixing multi-turn conversation issues. - **MongoDB Async Search:** Fixed `async_search()` to use `async_get_embedding()` instead of blocking `get_embedding()` calls, preventing event loop blocking during concurrent async operations. - **Gemini vertex ai file upload:** Fixed a bug where on trying to upload files to Gemini via Vertex AI, the API returned a 400 error. - **Skills System Prompt:** Fixed an issue where agents attempted to call skill names directly as functions, resulting in "Function not found" errors. ## Breaking changes: - **Remove all deprecated fields:** - `session_state, dependencies, user_id` etc in tool functions and hooks where `RunContext` has replaced it - `stream_intermediate_steps` → `stream_events` - `yield_run_response` → `yield_run_output` - `delegate_task_to_all_members` removed from Team class - **Add WebSearchTools:** Replacing DDG websearch tool with a Generic web search tool which will be the default on for any websearch related cookbooks & docs. - **Knowledge add_content() renamed to insert():** The `add_content()` method and its variants have been renamed to `insert()` `insert_many` Old method names are still supported, but all examples and docs will soon only reference the new methods. - AgentOS `tracing_db` : `tracing_db` has been deprecated in favor of `db` param on the AgentOS
chore: v2.3.25 (#5986) # Changelog ## New Features: - **LearningMachine:** A unified learning system that enables agents to learn from every interaction. It coordinates multiple **learning types**, each with its own storage backend and retrieval pattern. - **Code Chunker**: A new chunker that leverages ASTs to split code into contextually relevant segments ## Improvements: - **BrowserbaseTools:** Fixed `get_page_content()` tool failing on large pages by parsing HTML to extract only visible text content (strips scripts, styles, comments) - **Models:** Skip retries for non-retryable errors from LLM providers (auth failures, context limits) ## Bug Fixes: - **GoogleBigQueryTools:** Fixed SQL statement parsing/cleanup when queries include comments. - **DocumentChunking:** Fixed to properly respect `chunk_size` Parameter
chore: v2.3.24 (#5949) # Changelog ## Improvements: - **MongoDB connection handshake now includes Agno version metadata.** This enables better connection identification and log analysis for users hosting MongoDB clusters with multiple applications. - **Crawl4aiTools**: Add the `proxy_config` parameter, allowing further configuration of the Toolkit. - **Forbid tools to operate out of base directory**: Update `PythonTools` and `MLXTranscribeTools` to automatically disallow operating outside of the contextual base directory. Add the `restrict_to_base_dir` to opt out of this feature and allow operations outside of the base directory. - **MarkdownChunker:** Now support `split_on_headings` parameter to finely control how chunks are separated. - **Knowledge ContentsDB requirement:** Improved warning and log messages when contentsDB is not used with `Knowledge` . Improved filter handling for agentic search. ## Bug Fixes: - **Team session names**: Fix an issue when using `get_session_name` directly from Team instances. - **HITL consecutive user input**: Fix an issue on certain HITL flows when getting user input in multiple consecutive rounds. - **AgentOS Knowledge router:** Fix an issue where AsyncDB was not correctly routed to for content update operations --------- Co-authored-by: Willem Carel de Jongh <[email protected]>
chore: Release 2.3.23 (#5934) # Changelog ## Improvements: - **Async Tool Support**: Toolkit now supports async tool functions, which are automatically selected when the agent runs in an async context. ## Bug Fixes: - **`header_provider`** : Fix for check on `MCPTools`. - **Team Run Cancellation**: Fixed issue on async team runs where cancellation was not handled correctly.
chore: v2.3.22 (#5914) # Changelog ## New features - **Agent Skills**: Introducing the `Skills` class, enabling you to extend your Agents’ capabilities by providing specific skills, as defined by Anthropic’s [Agent Skill specification](https://agentskills.io/home). See the [docs](https://docs.agno.com/basics/skills). - **Dynamic headers for MCP**: You can now pass a `header_provider` function to your MCPTools instances to generate dynamic headers when calling MCP tools. This is useful for headers that need to change based on context e.g. authorization tokens or user ids. See the [docs](https://docs.agno.com/basics/tools/mcp/dynamic-headers). ## Improvements: - **Reasoning models**: enable native reasoning for the following reasoning models: - OpenAI GPT-5.1 and 5.2 models - New Gemini 3, 3.5 and deepthink model - New DeepSeek r1 and reasoner models. - **JWT Middleware Audience**: Allow setting of the expected `audience` for checking - **MCP transport default**: The `MCPTools` class now defaults to `StreamableHttp` as transport when connecting to external MCP servers. - **Postgres DB**: Updates to the database session pooling logic and handling of illegal characters in any strings to store.0 - **A2A Remote Agents**: Added support for `a2a` protocol when using remote agents. The also means Google ADK agents can be used with AgentOS as remote running agents. This feature is still in beta. See the [docs](https://docs.agno.com/agent-os/remote-execution/overview). ## Bug Fixes: - **Chunking:** Fixed paragraph and newline splitting in chunking strategies. - **Early Termination in Workflows:** Propagate `stop` flag from primitive inner steps to workflow - **Context compression for OpenAIResponses**: Update our `CompressionManager` to work properly with any model using the `OpenAIResponses` API. --------- Co-authored-by: Dirk Brand <[email protected]>
chore: v2.3.21 (#5840) # Changelog ## New Features: - **Agent as Judge on AgentOS**: Our new [AgentAsJudge Evals](https://docs.agno.com/basics/evals/agent-as-judge/overview) are now completely supported on the AgentOS: you can configure and trigger new runs, and will see existing runs listed with the rest in the Evals page. ## Bug Fixes: - **RunInput parsing**: Fixed an issue persisting RunInput objects when providing it as a list of Message objects. - **Mistral Embedder**: Fixed an issue setting timeout values for the MistralEmbedder class.
chore: v2.3.20 (#5822) # Changelog ## Improvements - Run Cancellation: Add async methods to our Run Cancellation setup, and allow users to set a custom one using `set_cancellation_manager()`. - `reasoning_content` for LiteLLM model wrapper: Extract reasoning content from the models which support it via lite llm ## Bug Fixes: - **Agent Run Retries**: Fixed an issue duplicating responses when running asynchronously with `retries` set to more than 1. - **Complex Memories on AgentOS**: Improve handling for nested memory content on the OS API. This also fixes an issue with some memories resulting from the v1 → v2 database migration. - **Session sorting on AgentOS**: Fixed an issue sorting sessions migrated from v1 to v2, that can have empty `updated_at` values. - **Memory Dates**: Fixed an issue handling some date formats when initializing User Memories. --------- Co-authored-by: Kaustubh <[email protected]>
PreviousNext