Repository navigation
fix(deps): update dependency agno to >=3.1.2 - #3034
renovate[bot] wants to merge 1 commit into
Conversation
|
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
b2353d3 to
644bd17
Compare
c03b55d to
7768be2
Compare
7768be2 to
01f11e5
Compare
01f11e5 to
52ef809
Compare
|
|
Overall Grade |
Security Reliability Complexity Hygiene |
Code Review Summary
| Analyzer | Status | Updated (UTC) | Details |
|---|---|---|---|
| Shell | Oct 8, 2026 10:55p.m. | Review ↗ | |
| Python | Oct 8, 2026 10:55p.m. | Review ↗ | |
| Docker | Oct 8, 2026 10:55p.m. | Review ↗ | |
| Secrets | Oct 8, 2026 10:55p.m. | Review ↗ |
Important
AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.
52ef809 to
821ed5a
Compare
821ed5a to
d76a029
Compare
|



This PR contains the following updates:
>=2.5.13→>=3.1.2Release Notes
agno-agi/agno (agno)
v3.1.2Compare Source
Changelog
New Features:
Agent(compaction=True)keeps long sessions inside the context window by folding older turns into a summary. Stored messages are never rewritten: aCompactionRecordin the newagno_compactionstable drives a derived model payload, so removing the record restores the full conversation. Tune withCompaction(model=..., compact_at_tokens=..., uncompacted_runs=...), fold on demand withagent.compact()/acompact(), and inspectrun.compaction. Withsearchable=Truethe agent gets asearch_compacted_historytool, a regex grep over the archived transcript. See cookbook. (#9873)CodexAgent, an adapter for OpenAI Codex built on theopenai-codexSDK, alongside the Claude Agent SDK, LangGraph, DSPy and Antigravity adapters. Codex runs its own agent loop; the adapter translates its notifications into Agno run and tool-call events, maps each Agno session to one Codex thread (persisted when adbis set), and exposessandbox,approval_mode,reasoning_effort,output_schemaand MCP config. Works standalone and through AgentOS. See cookbook. (#10901)QueryTransformeras a new retrieval hook andHyDEas its first implementation:Knowledge(vector_db=..., query_transformer=HyDE())searches with a hypothetical answer instead of the raw question, while rerankers still score against the original query.HyDEuses its ownmodel, then the calling agent or team's model, then the framework default. See cookbook. (#10527)AgentOS(cors=CORSConfig(origins=..., origin_regex=..., merge_base_app=...))and opt-inPublicSurface(enforce_browser_origins=True). One origin policy is now shared by CORS preflights, public run and cancel admission, auth error headers, workflow WebSockets and MCP aliases, and CORS is the outermost middleware so error responses carry consistent headers.cors_allowed_originskeeps its existing behaviour. See cookbook. (#10869)followups: bool | FollowupConfigon Agent and Team.FollowupConfigsets a count range (num_followupsormin_followups/max_followups), a separate model and custom instructions that go only to the follow-up call. The default prompt now stays within the answer's boundaries and no longer re-offers a request the answer declined. Existingnum_followupscallers keep getting exactly N suggestions. See cookbook. (#10087)Heabsyas an OpenAI-compatible model provider, also resolvable as"heabsy:<model>". See cookbook. (#10828)FlexAIas an OpenAI-compatible model provider for open-weight models, also resolvable as"flexai:<model>". See cookbook. (#10871)Improvements:
X-Pplx-Integration: agnoheader so Perplexity can attribute traffic from the integration. (#10827)Bug Fixes:
@approvaltool call in a run now gets its own approval record, for agents and teams. Previously a second pause in the same run created no record and the next continue ran the new call against the approval resolved for the first one. (#10812)output_schemaclasses are keyed by their JSON schema instead of their class name, so two schemas with the same name but different fields no longer share a cached response. (#10621)MessageMetrics.cache_write_tokensis now populated from OpenAI Chat Completions and Responses usage (#10313) and from LiteLLM'sprompt_tokens_details(#10476). Previously it was always zero.os.replace, so a failed write leaves the last successfully saved table readable instead of a truncated file. (#10794)session_name,search_contentand keyword-search filters are regex-escaped, so a value like(draftno longer returns HTTP 500 fromGET /sessionsandGET /memories, andv1.2no longer matchesv1x2. (#10709)Annotated[T, ...]hints are unwrapped toTbefore JSON schema generation instead of falling through to an empty object schema. (#10858)URL.create, so a password likep@sswordis no longer split into passwordpand hostssword@.... (#10800)replace_file_chunkrejects negative, reversed and out-of-bounds line ranges with an error and leaves the file untouched; a valid replacement preserves the trailing newline. (#10798)find_available_slotscompares the full slot end against closing time on its start date, so a 45 minute slot is no longer offered at 16:30 for a 17:00 close and slots cannot cross midnight. (#10878)max_results=0/fixed_max_results=0now means no results instead of falling back to the default. (#10877)TextReader,MarkdownReader(#10779) andJSONReader(#10634) accept streams whosenameis an integer orNone, such as descriptor-backed temporary files, instead of returning nothing or raising.DynamoDbimport path in the DynamoDB storage README. (#10788)What's Changed
New Contributors
Full Changelog: agno-agi/agno@v3.1.1...v3.1.2
v3.1.1Compare Source
Changelog
New Features
Knowledge.stream_sync_pages()/astream_sync_pages()yield typedPageSyncProgresssnapshots plus one terminalSyncReport, andsync_pages/async_sync_pagesaccept anon_progressobserver. A workflow function step can now yieldStepProgress(content=..., data=...)before itsStepOutput, emitted as a nativeStepProgressEventunder the existing workflow run/step ID — AgentOS streams it over the existing workflow REST/SSE route, andAgentOSClient.run_workflow_stream()parses it. Cancelling a sync now actually reaches the work instead of draining to the end. (#10098)SyncReport.failed_pathslists the site paths of pages that failed to publish/delete (capped at the first 20, likeerrors;failedkeeps the full count; defaults to()so existing callers/stored reports are unaffected). Logs now name the page and its cause chain, e.g.Page sync failed for /guides/setup.md (SyncFailed: sync_failed <- ConnectError: [Errno 104] Connection reset by peer), plus a newPage delete failed for …warning on the prune path. (#10729)Bug Fixes
Connection reset by peer. Each attempt previously consumed the entire 30s fetch deadline (leaving no time to retry) and retries were too short — both are fixed with a bounded per-attempt timeout and backoff. (#10730)partialeven when every page indexed — and apartialresult skips pruning, so removed pages stayed searchable indefinitely. Discovery now skips links to non-page files (.json,.yaml,.xml,.csv,.pdf, images/audio/video, archives, fonts — while keeping.js/.cssas valid page names like/guides/node.js), and handles nested indexes, MDX code blocks and redirect aliases. Off-host page links still block pruning (by design). (#10726)What's Changed
Full Changelog: agno-agi/agno@v3.1.0...v3.1.1
v3.1.0Compare Source
New Features
agno.os.authzpackage adds role-based access control to AgentOS — a role store, scope policy, audit log, user directory and an admin router, with pluggable authorization engines (a native engine plus a fine-grainedfgaengine). Scopes and auth middleware were extended to enforce it.agno.fsfilesystem (DbFileSystem) with dedicated/filesystemroutes (list/read/manage files) backed by anagno_fstable.agno_fs): v3.1 keys the filesystem table by(namespace, user_id, path), whereuser_idis the user partition (""for the shared/no-user partition). A table created by an earlier release is refused withSchemaOutdatedErroruntil upgraded — the re-key never runs automatically. Upgrade once, with the application stopped, using the script for your database (#10530):This affects you only if you use
DbFileSystem. The table is managed byDbFileSystem(its own schema, buildable from a baredb_url), so it is deliberately not part ofMigrationManager.MCPConfig(tools=[...])now publishes exactly the tools you list — bothdefault_toolsandlifecycle_toolsdefault toFalse. Previously atools=[...]config also served the built-in default tools (and the lifecyclecontinue_run / cancel_run).Bug Fixes
background+streamno longer duplicates the paused run in its own history.Nonevalued results from missing variables.\r) record endings.tail.generate_videoartifact.get_file_contentpreserves valid non-ASCII UTF-8 textWhat's Changed
test_encoded_sse_cannot_bypass_public_error_inspectiontest more robust by @sannya-singal in #10533New Contributors
Full Changelog: agno-agi/agno@v3.0.11...v3.1.0
v3.0.11Compare Source
Changelog
New Features:
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.MMRReranker(Maximal Marginal Relevance) as a retrieval strategy that balances relevance against diversity so near-duplicate chunks do not crowd out the result set.Knowledge.inspect_page_source/ainspect_page_sourceand guardedmigrate_page_source/amigrate_page_sourceto move an indexed documentation source to a new hostname. Migration is a dry run by default.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.PageCommandResultandPageFileSystem.run_command_result/arun_command_resultwith explicit error, completeness and truncation metadata.Knowledge.get_tools(page_results=True)returns rankedSearchResultobjects, including as MCP structured output.YAPIas an OpenAI-compatible model provider.cancellation_stage(PENDING,EXECUTING,INTERRUPTED, or unknown) toRunOutput,TeamRunOutput,WorkflowRunOutputand the run API schemas, so clients no longer match on the cancellation message text.use_previous_response_idsostore=Trueno longer forces automaticprevious_response_idchaining.Improvements:
inputSchema, andget_sessionsboundslimitandpageto a minimum of 1.OpenAILikeprovider such asDashScope.Argsentries from tool docstrings and corrected streaming docstring parameter names in two model classes.Bug Fixes:
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=Truenow installs the same routing layer asMCPConfig, so the Host check and mount prefix apply on both spellings. Dropped the unimplementedETag/If-None-MatchCORS headers.ClientSessionnow collects everytools/listpage instead of only the first.ag-ui-protocol1.0, including list-valued tool result content on resume.page_sizebefore reading, so zero or negative values raiseValueErrorinstead of silently returning no documents..pptxtext.read_yaml_file/write_yaml_file,AntigravityToolsandAirflowToolsnow read and write files as UTF-8 regardless of locale.Deprecations:
rerankerparameter on vector databases is deprecated in favour of the reranker onKnowledge, which applies to every vector db and supports async.What's Changed
New Contributors
Full Changelog: agno-agi/agno@v3.0.10...v3.0.11
v3.0.10Compare Source
Changelog
New Features:
AzureOpenAIResponsesto use the Responses API with Azure OpenAI deployments. See cookbook.Elasticsearchvector database with vector, keyword and hybrid search. See cookbook.transformforKnowledge.sync_pagesthat converts Mintlify and Fumadocs components into plain Markdown. See cookbook.Improvements:
root_host,pathandpath_aliasesto serve MCP on a dedicated hostname or a custom endpoint path./mcp/server-cardnow returns pretty-printed JSON.Bug Fixes:
AudioContentfrom MCP tool results as audio artifacts.event_idinstead of dropping them.RemoteAgent.roleandRemoteTeam.roleare now properties that return the role instead of a bound method; use.role, not.role().TextReader,MarkdownReaderandFieldLabeledCSVReadernow accept text streams.async_read()now uses the chunking strategy's asyncachunk().async_read()keeps every data row across pages withRowChunking(skip_header=True).myindex.htmlintact and continue discovery past an invalid.xml.gzsitemap.0,Falseand[]in sync tool results andParallelworkflow step outputs.agno connectnow reads and writes client configs as UTF-8 (agnoctl 0.2.1).BOOLvalues.Breaking Changes:
run_shellis now opt-in (enable_run_shell=True), and restricted mode runs commands without a shell.authorization=TrueandPublicSurface(mcp=True), MCP now accepts only localhost by default; add your domain toMCPConfig(allowed_hosts=[...]).What's Changed
New Contributors
Full Changelog: agno-agi/agno@v3.0.9...v3.0.10
v3.0.9Compare Source
What's Changed
Full Changelog: agno-agi/agno@v3.0.8...v3.0.9
v3.0.8Compare Source
Changelog
New Features
Knowledge.read_full_pageandaread_full_pagereturn an entire published page from one bounded SQL read and read-only snapshot. Both support revision pinning, character limits and deadlines. Oversized pages returnNone; missing or changed pages retain typed errors. Calls share the existing eight-slot page-read worker pool. (feat: add bounded full-page reads and shared fence tracking #10063)create_postgres_engineandcreate_async_postgres_engineexpose Agno's connection-pool and JSON serialization defaults with configurable SQLAlchemy options. Plainpostgres://andpostgresql://URLs select Psycopg 3 in these new factories; explicit drivers and TLS settings are preserved. Existing database constructor driver selection is unchanged. (feat: add PostgreSQL engine factories with shared defaults #10062)Improvements
agno.utils.markdown.advance_code_fenceexposes the page chunker's fence rules for application transforms that need to preserve code examples. A full-page cookbook demonstrates reads and prose normalization. (feat: add bounded full-page reads and shared fence tracking #10063)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.