v3.0.11
data-privacy-stack/presidiov3.0.11Sep 23, 2026by kausmeows
Upgrading?
AI Summary
An AI agent framework update enhancing knowledge retrieval with new rerankers and improving tool schemas and MCP integration.
Key Highlights
- Knowledge Retrieval Pipeline with MMR Reranker
- Page Source Relocation API for documentation sources
- Typed Page Tool Results with explicit error metadata
- Cancellation Stage added to run outputs
New Features
- Knowledge search pipeline
- MMR and Recency Rerankers
- Y-API as an OpenAI-compatible provider
- Guarded documentation source migration
Full Release Notes
# 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 * chore: remove phantom Args entries in the tool docstrings by @simpleqt in https://github.com/agno-agi/agno/pull/10229 * cookbook: add Confident AI observability example by @kausmeows in https://github.com/agno-agi/agno/pull/10257 * fix: correct streaming docstring parameter names in two model classes by @simpleqt in https://github.com/agno-agi/agno/pull/10228 * feat: add knowledge level retrieval pipeline and MMR reranker by @sannya-singal in https://github.com/agno-agi/agno/pull/10115 * fix: bring WebSocket workflow submissions in line with the HTTP admission rules by @ysolanky in https://github.com/agno-agi/agno/pull/10179 * [fix] Paginate MCP tool discovery for ClientSession by @sicauzxl in https://github.com/agno-agi/agno/pull/10012 * fix: support ag-ui-protocol 1.0 in the AG-UI interface by @Himanshu040604 in https://github.com/agno-agi/agno/pull/10283 * [feat] Add Y-API as an OpenAI-compatible model provider by @jiweiyeah in https://github.com/agno-agi/agno/pull/10326 * [fix] Correct duplicated word in V3 migration guide by @yetuge in https://github.com/agno-agi/agno/pull/10315 * [fix] replace dead links in cookbook knowledge sources and docs references by @Theater-ahyeon in https://github.com/agno-agi/agno/pull/10160 * [cookbook] Add inspeximus memory integration example by @DanceNitra in https://github.com/agno-agi/agno/pull/10146 * fix: recognize DeepSeek thinking-mode IDs in OpenAILike reasoning detection by @yetuge in https://github.com/agno-agi/agno/pull/10342 * [fix] Validate page_size in FieldLabeledCSVReader by @tdog54646 in https://github.com/agno-agi/agno/pull/10358 * fix: decouple OpenAI response storage from automatic chaining by @ashpreetbedi in https://github.com/agno-agi/agno/pull/10075 * feat: deprecate the vector db level reranker by @sannya-singal in https://github.com/agno-agi/agno/pull/10385 * feat: add guarded documentation source relocation API by @ashpreetbedi in https://github.com/agno-agi/agno/pull/10096 * feat: expose typed page command and search tool results by @ashpreetbedi in https://github.com/agno-agi/agno/pull/10097 * [fix] read text streams in CSVReader instead of only byte streams by @harbinresearcher in https://github.com/agno-agi/agno/pull/10355 * [fix] Escape CSV delimiters in DuckDbTools by @imexlovery in https://github.com/agno-agi/agno/pull/10415 * [fix] Forward Tavily extract options by @daleselaji-dev in https://github.com/agno-agi/agno/pull/10403 * [fix] Preserve scalar JSON roots in JSONReader by @daleselaji-dev in https://github.com/agno-agi/agno/pull/10402 * fix: route bare mcp=True like MCPConfig for the MCP server card by @ysolanky in https://github.com/agno-agi/agno/pull/10418 * fix: describe and bound the MCP tool arguments by @ysolanky in https://github.com/agno-agi/agno/pull/10419 * [fix] Validate CSVReader page sizes before reading by @emme1t in https://github.com/agno-agi/agno/pull/10437 * feat: add cancellation_stage to cancelled runs by @ysolanky in https://github.com/agno-agi/agno/pull/10411 * fix: read and write YAML, Antigravity and Airflow files as UTF-8 by @MohammadHijjawi97 in https://github.com/agno-agi/agno/pull/10242 * fix: read grouped shapes and line breaks in Drive pptx text by @devYRPauli in https://github.com/agno-agi/agno/pull/10473 * [fix] Ignore unmatched closing braces when extracting JSON objects by @makiaveli1 in https://github.com/agno-agi/agno/pull/10421 * feat: add recency reranker by @sannya-singal in https://github.com/agno-agi/agno/pull/10396 * fix: await sync hook continuations in async chains by @kausmeows in https://github.com/agno-agi/agno/pull/10481 * fix: drop IMDB CSV from knowledge URL tests to stop CI timeouts by @sannya-singal in https://github.com/agno-agi/agno/pull/10498 * chore: Release v3.0.11 by @kausmeows in https://github.com/agno-agi/agno/pull/10444 ## New Contributors * @sicauzxl made their first contribution in https://github.com/agno-agi/agno/pull/10012 * @jiweiyeah made their first contribution in https://github.com/agno-agi/agno/pull/10326 * @yetuge made their first contribution in https://github.com/agno-agi/agno/pull/10315 * @Theater-ahyeon made their first contribution in https://github.com/agno-agi/agno/pull/10160 * @DanceNitra made their first contribution in https://github.com/agno-agi/agno/pull/10146 * @tdog54646 made their first contribution in https://github.com/agno-agi/agno/pull/10358 * @harbinresearcher made their first contribution in https://github.com/agno-agi/agno/pull/10355 * @imexlovery made their first contribution in https://github.com/agno-agi/agno/pull/10415 * @emme1t made their first contribution in https://github.com/agno-agi/agno/pull/10437 * @MohammadHijjawi97 made their first contribution in https://github.com/agno-agi/agno/pull/10242 * @makiaveli1 made their first contribution in https://github.com/agno-agi/agno/pull/10421 **Full Changelog**: https://github.com/agno-agi/agno/compare/v3.0.10...v3.0.11
Related Repositories
public-apis/public-apis★ 491,133
A collective list of free APIs
NousResearch/hermes-agent★ 255,924
The agent that grows with you
yt-dlp/yt-dlp★ 200,015
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,487
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,701
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.