github agno-agi/agno v3.0.11

4 hours ago

Changelog

New Features:

  • Knowledge Retrieval Pipeline: Knowledge.search() now runs a knowledge level retrieval pipeline that can widen the candidate pool before a reranker reorders it, so rerankers no longer need to be implemented per vector db.
  • MMR Reranker: Added MMRReranker (Maximal Marginal Relevance) as a retrieval strategy that balances relevance against diversity so near-duplicate chunks do not crowd out the result set.
  • Page Source Relocation: Added Knowledge.inspect_page_source / ainspect_page_source and guarded migrate_page_source / amigrate_page_source to move an indexed documentation source to a new hostname. Migration is a dry run by default.
  • Recency Reranker: Added RecencyReranker, which blends the search score with an exponential decay on a timestamp so newer revisions outrank superseded ones. Built on the knowledge level pipeline, focused on pgvector.
  • Typed Page Tool Results: Added PageCommandResult and PageFileSystem.run_command_result / arun_command_result with explicit error, completeness and truncation metadata. Knowledge.get_tools(page_results=True) returns ranked SearchResult objects, including as MCP structured output.
  • Y-API: Added YAPI as an OpenAI-compatible model provider.
  • Cancellation Stage: Added a machine-readable cancellation_stage (PENDING, EXECUTING, INTERRUPTED, or unknown) to RunOutput, TeamRunOutput, WorkflowRunOutput and the run API schemas, so clients no longer match on the cancellation message text.
  • OpenAIResponses: Added use_previous_response_id so store=True no longer forces automatic previous_response_id chaining.

Improvements:

  • MCP Tool Schemas: Every argument on the AgentOS MCP tools now carries a description in its inputSchema, and get_sessions bounds limit and page to a minimum of 1.
  • Reasoning Detection: DeepSeek thinking-mode model IDs are recognised as reasoning models when served through any OpenAILike provider such as DashScope.
  • Tools: Removed phantom Args entries from tool docstrings and corrected streaming docstring parameter names in two model classes.

Bug Fixes:

  • Tool Hooks: Sync hooks that return function_call(**arguments) now work in the async execution path. Previously the chain treated the unawaited coroutine as the tool result and the tool body never ran.
  • MCP Server Card: Bare mcp=True now installs the same routing layer as MCPConfig, so the Host check and mount prefix apply on both spellings. Dropped the unimplemented ETag / If-None-Match CORS headers.
  • MCP Tools: Tool discovery over a raw ClientSession now collects every tools/list page instead of only the first.
  • AG-UI: Support ag-ui-protocol 1.0, including list-valued tool result content on resume.
  • Workflows over WebSocket: Version-pinned submissions are no longer queued without their pin, session ownership is checked on the write path, and a missing session id mints a new session like HTTP.
  • JSONReader: Preserve scalar JSON roots.
  • CSVReader: Read text streams, not only byte streams.
  • CSVReader & FieldLabeledCSVReader: Validate page_size before reading, so zero or negative values raise ValueError instead of silently returning no documents.
  • Structured Output Parsing: Ignore unmatched closing braces in prose when extracting JSON objects from model output.
  • GoogleDriveTools: Read text inside grouped shapes and honour line breaks when extracting .pptx text.
  • UTF-8 Files: read_yaml_file / write_yaml_file, AntigravityTools and AirflowTools now read and write files as UTF-8 regardless of locale.
  • DuckDbTools: Escape CSV delimiters.
  • TavilyTools: Forward extract options.
  • Cookbooks & Docs: Replaced dead links in knowledge sources and fixed a duplicated word in the V3 migration guide. Added Inspeximus memory and Confident AI observability examples.

Deprecations:

  • Vector DB Reranker: The reranker parameter on vector databases is deprecated in favour of the reranker on Knowledge, which applies to every vector db and supports async.

What's Changed

New Contributors

Full Changelog: v3.0.10...v3.0.11

Don't miss a new agno release

NewReleases is sending notifications on new releases.