Agno Release Notes
63 release notes curated from 1 source by the Releasebot Team. Last updated: Aug 26, 2026
- Aug 26, 2026
- Date parsed from source:Aug 26, 2026
- First seen by Releasebot:Aug 26, 2026
v3.0.1
Agno releases 3.0.1 with faster agent runs and smoother long conversations, plus PubMed timeout support and several reliability fixes for tool schemas, Gemini media handling, location lookup, and ScheduleManager cleanup. It also adds new cookbook examples and AgentOS updates.
Changelog
Improvements
Faster agent runs with many tools: Tool schemas are now derived once and cached across runs, cutting per-run overhead for agents that carry large toolkits. (#9771)
Faster long conversations: Session history is loaded incrementally per turn, so response time stays flat as a conversation grows instead of scaling with its length. (#9775)
PubMed request timeout: PubmedTools now accepts a timeout and passes it to both NCBI E-utilities requests, so a stalled PubMed response cannot hold a tool call indefinitely. (#9463)
Bug Fixes
Strict-mode tool schemas without properties: Function.process_schema_for_strict no longer raises KeyError on schemas that omit properties (for example MCP server schemas registered verbatim). (#9578, fixes #9409)
Gemini tool-result media: Images and document blobs returned from tools are now nested inside FunctionResponse.parts for Gemini 3 and later models instead of being emitted as sibling inline_data parts; legacy models keep the previous representation. URI-backed response media on Vertex AI is only sent when the MIME type is supported. (#9647)
Location lookup on core-only installs: agno.utils.location used the undeclared requests package, so add_location_to_context=True raised ModuleNotFoundError without extras installed. It now uses httpx. (#9793, fixes #9772)
ScheduleManager cleanup: close() tolerates a partially constructed manager (for example after a failed deepcopy), so garbage collection no longer raises AttributeError on a missing _pool. (#9792)
Cookbooks
Added a deterministic side-effect approval flow example. (#9790)
Added DeepKeep AI Firewall guardrails example. (#9784)
Documented AgentOS team run states. (#9768)
Added a Peer Cash MCP agent example. (#9562)
Fixed stale cookbook paths left over from the directory renumber and in the MCP examples. (#9789, #9783)
What's Changed
- [fix] add PubMed request timeout by @Ghraven in #9463
- [cookbook] Add Peer Cash MCP agent by @ADWilkinson in #9562
- [cookbook] Document AgentOS team run states by @daleselaji-dev in #9768
- feat: export QueueConfig from agno.os by @ysolanky in #9776
- fix: correct stale 90_tools paths in MCP cookbook examples by @cc-9898 in #9783
- fix: cookbooks stale paths left by the directory renumber by @harshsinha03 in #9789
- [cookbook] Add DeepKeep AI Firewall guardrails by @gilarel in #9784
- fix: make ScheduleManager cleanup tolerate partial copies by @kausmeows in #9792
- [cookbook] Add deterministic side-effect approval flow by @daleselaji-dev in #9790
- fix: use httpx for location lookup instead of undeclared requests by @kausmeows in #9793
- fix: stop rebuilding session history on every conversation turn by @ashpreetbedi in #9775
- [fix] Nest Gemini tool-result media in function responses by @green3sf in #9647
- [fix] Tolerate a tool schema without properties in strict mode (#9409) by @Anai-Guo in #9578
- fix: cache tool schema derivation across runs by @ashpreetbedi in #9771
- fix: Drop no-op default assignments in search_user_memories by @darkdi in #9720
- chore: release 3.0.1 by @ysolanky in #9794
New Contributors
@ADWilkinson made their first contribution in #9562
@cc-9898 made their first contribution in #9783
@gilarel made their first contribution in #9784
@green3sf made their first contribution in #9647
@Anai-Guo made their first contribution in #9578
@darkdi made their first contribution in #9720
Full Changelog: v3.0.0...v3.0.1
Original source - Aug 24, 2026
- Date parsed from source:Aug 24, 2026
- First seen by Releasebot:Aug 24, 2026
v3.0.0
Agno releases v3.0 with a required database migration, new tool and media offloading, durable background runs, a governed Studio 3.0 catalog, expanded model and toolkit support, and major storage and migration upgrades.
⚠️ Breaking release. A database migration is required before v3.0 serves traffic. Read the v3 Migration Guide first, and see the full v3.0 Changelog for every change.
New Features
Tool result offloading: Agent(offload_tool_results=True) / Team(...) writes any tool result over 16,000 chars to AgentFS and leaves a short envelope (preview, size, result_id) in the message; the agent gets read_result / search_result (+ async) to fetch the rest. No model call on the write path. Tune via ResultStore(threshold_chars=..., ttl_seconds=...). (#9436, #9684)
Media offloading: media_storage=S3MediaStorage(bucket=...) on an Agent/Team/Workflow uploads images, audio, video and files to local disk, S3 or GCS before persistence; the row keeps a small MediaReference instead of base64 (a 113 KB JPEG drops from ~151,000 chars to 2,897). No schema change. (#9340) Docs
CodeMode: CodeMode(tools=[...]) swaps a wide tool schema for one programmable IPython kernel that persists across a session — the model writes Python and calls tools as awaitable handles, composing them (variables, loops, helpers) without round-tripping through the transcript.
FinanceTools: One unified finance toolkit with swappable data providers.
RampRouter model: New model provider for Ramp Router (router.com).
SuperGrok OAuth: Device-code auth for the xAI model.
AtomicMail Toolkit: Adds an AtomicMail toolkit (AtomicMailTools) that gives an Agno agent its own email inbox
Database
Runs get their own table: each run is a row in agno_runs with real columns (session_id, run_type, agent_id, team_id, workflow_id, user_id, parent_run_id, status, run_index) + JSON payload. Takes session write amplification from O(N²) to O(N) and removes the DynamoDB/Firestore item-size ceiling. session.get_messages(), get_chat_history(), db.get_session() and AgentOS session routes are unchanged (runs re-attach on read). (#8350)
Direct run APIs: db.get_run(), db.get_runs(session_id=..., status=..., limit=..., page=...), db.upsert_run(), db.delete_run(), db.delete_runs() (sync + async); db.get_session(runs_limit=N) and db.get_sessions(include_runs=False). (#8350)
One-line migration: MigrationManager(db).up() creates the runs store and copies legacy runs across, non-destructively and idempotently, on 12 sync + 4 async backends; un-migrated DBs still work (reads merge runs table with legacy blob). Schema versions tracked on every adapter. (#8350)
Typed stale-DB errors: MigrationRequiredError / SchemaMismatchError name both remedies; AgentOS carries error_id: "migration_required_error" in the JSON body. (#9669, #9631)
Three new tables: agno_runs, agno_jobs (durable background queue), agno_tool_results (offload index) — all auto-created.
Per-user isolation
Extends beyond sessions to metrics, schedules, evals, knowledge, components, entity memory, and 17 vector databases. Metrics aggregate per user per day; unowned components/knowledge are shared (readable by all, editable by admin) so enabling isolation doesn't 404 pre-isolation building blocks. (#8245, #8262)
AgentOS & Studio
Durable background execution: AgentOS(queue=QueueConfig(durable=True)) — accepted runs are committed rows that survive crashes/restarts/deploys, executed by any replica. Bounded concurrency (default 32, AGNO_BACKGROUND_MAX_CONCURRENCY), cancellable while queued, Idempotency-Key dedupe, 429 on full queue. Queue REST surface (GET /queue/jobs, .../{job_id}, POST .../requeue, GET /queue/stats). Redis is optional coordination, never truth. (#9079, #9504)
Studio 3.0 — governed catalog: create_* writes a DRAFT that serves nobody until publish_component; compare-and-set guards (typed 409s), tombstoned deletes, archive/restore, dependent-tracking. StudioTools returns a machine-readable envelope ({ok, status, data, error{...}, warnings}) across ~31 tools. (#9604)
Tools
MiniMax video generation tools. (#9529)
Toolkits now have a stable id used by AgentOS to reference tools.
Model Updates
Cerebras / CerebrasOpenAI default to gpt-oss-120b (was llama-4-scout-17b-16e-instruct). (#9244)
Gemini defaults updated to 3.7 Flash. (#9666)
Groq: replaced deprecated llama-3.3-70b-versatile with openai/gpt-oss-120b. (#9588)
OpenAI: reasoning_effort, reasoning_summary, service_tier, verbosity accept the full API value set (widened types; no call breaks).
Claude works with anthropic 1.0.0 (#9686): SDK-compat update for Claude models
⚠️ Breaking Changes
Every 2.x user must read this. A database migration is required before v3.0 serves traffic.
Storage & migrations
Runs are no longer a JSON blob in the sessions table — they live in agno_runs. Run MigrationManager(db).up() (or AgentOS POST /databases/all/migrate) before serving. The v2→v3 migration preserves the legacy runs column as a backup; reclaim it with db.cleanup_legacy_runs_column() (SQL) / db.cleanup_legacy_runs_field() (document/KV) after verifying.
Stale/unmigrated databases raise typed errors instead of silently misbehaving.
Pagination: page without a limit (or page < 1) now raises ValueError instead of returning unbounded/negative results.
AgentOS
JWT: secret_key removed from JWTMiddleware and authorization_config — use verification_keys (a list).
Metadata routes: GET /models removed (model data moved to GET /config under available_models); GET / returns a minimal landing response; GET /info is the single unauthenticated metadata endpoint.
MCP server config: AgentOS(enable_mcp_server=..., mcp_config=...) removed — pass a single mcp_server= instead.
Background execution requires a db on the component (returns 400 without one). External-framework agents (LangGraph, Claude, DSPy, etc.) stream inline for background=true and are not resumable.
Agents
Renamed params:
- enable_user_memories → update_memory_on_run
- search_session_history → search_past_sessions
- num_history_sessions → num_past_sessions_to_search
- num_past_session_runs → num_past_session_runs_in_search
reasoning=True removed — set reasoning_model=<native reasoning model> explicitly.
continue_run / acontinue_run: updated_tools removed — pass requirements (list of RunRequirement from the paused run output).
Culture feature removed: enable_agentic_culture, add_culture_to_context, CulturalKnowledge, culture tools, and the agno_culture table. Use Knowledge for shared cross-user info.
Teams & Workflows
The Workflow constructor is keyword-only: Workflow(name=..., steps=[...]). Team is unchanged — Team([agent_1, agent_2]) still works, though Team(members=[...]) is preferred.
Flat HITL kwargs removed on Step/Steps/Loop/Condition/Router (requires_confirmation, confirmation_message, on_reject, requires_user_input, user_input_message, user_input_schema, requires_output_review, output_review_message, requires_iteration_review, iteration_review_message, on_error, hitl_max_retries, hitl_timeout, on_timeout). Use human_review=HumanReview(...) (from agno.workflow.types); names unchanged except hitl_max_retries → max_retries, hitl_timeout → timeout.
Tools
MultiMCPTools deleted (along with allow_partial_failure) — use one MCPTools per server.
MCPToolbox: auth_tokens / auth_headers removed — use auth_token_getters.
DuckDuckGoTools.duckduckgo_search → web_search, duckduckgo_news → search_news (now built on WebSearchTools).
Flat Google tool modules deleted (agno.tools.gmail, googlesheets, googlecalendar, google_maps, google_drive, google_bigquery) — import from agno.tools.google.*.
Google tools: creds_path / auth_port → credentials_path / oauth_port; Sheets enable_read_sheet etc. → bare method names.
FileTools.check_escape → Toolkit._check_path (LocalFileSystemTools.check_escape unaffected).
SQLTools: enable_list_tables / enable_describe_table / enable_run_sql_query → bare method names.
Seltz: max_documents → max_results; the legacy SDK path is removed (seltz>=1.2.0 required).
StudioTool alias removed — use StudioTools.
BrightData.get_screenshot: unused output_path removed. PgVector.enable_prefix_matching removed (dead helper).
Knowledge & Vector DBs
Knowledge.add_content / add_content_async / add_contents_async removed → use insert() / ainsert() / ainsert_many().
GDriveContextProvider renamed → GoogleDriveContextProvider.
LanceDB: use_tantivy removed/ignored.
Searching a pre-v3 vector table with a user_id raises ValueError (directing you to the vector DB migration) instead of returning empty results.
Scheduler
update_schedule is now allow-listed (only name, description, method, endpoint, payload, cron_expr, timezone, timeout_seconds, max_retries, retry_delay_seconds, enabled, next_run_at, disabled_reason); any other key raises ValueError. Ownership/provenance/lock state are no longer writable via the generic path. New provenance columns added by the v3.0.0 migration.
The schedules unique key changes from name to (user_id, name). If duplicate schedule names exist across the same user, the migration aborts — deduplicate before migrating.
Evals
eval_id → run_id (#9739): eval classes no longer carry eval_id; every run gets its own run_id. store_result_in_file renames the eval_id parameter to run_id, the {eval_id} placeholder in file_path_to_save_results templates is no longer accepted (use {run_id}), and POST /eval-runs returns the id the row was actually stored under (run_id). Re-runs no longer overwrite each other.
Models & Learning
Mistral: mistralai v1 compatibility layer removed — agno[mistral] requires mistralai>=2.0.0 (and is back in the models extra).
agno.models.metrics module and the Metrics alias removed → import from agno.metrics (RunMetrics).
Model.classify_error removed → use ModelProviderError.classify(error).
Entity memory under namespace="user" is now isolated per user (row keys embed a user_id digest); pre-v3 rows re-keyed by the v3.0.0 migration (agno.learn.migrations.rekey_user_entity_learnings); EntityMemoryStore.delete/get require a keyword-only user_id in that namespace.
Removed learn aliases: MemoriesConfig → UserMemoryConfig; MemoriesStore → UserMemoryStore; Decision → DecisionLog.
Deprecated (still working)
knowledge_retriever(dependencies=...) → prefer run_context. A retriever whose signature still names dependencies keeps working via an explicit backward-compat branch; run_context wins when both are present.
Scopes: system:read / system:write → config:read / config:write. The old names remain valid aliases and existing tokens keep working.
RedisDB (vector DB) → RedisDb. Note RedisVectorDb is also still exported, to disambiguate from the agno.db.redis storage adapter.
Migration quick-reference
Docs: Step-by-step guide, database migration, and a paste-into-your-coding-agent prompt
import asyncio from agno.db.migrations.manager import MigrationManager # Step 1: run before serving v3.0 traffic (up() is async) asyncio.run(MigrationManager(db).up()) # Step 2: VERIFY the runs landed before any cleanup assert len(db.get_runs(limit=5)) > 0, "Migration copied nothing - do NOT clean up" # Step 3 (optional, destructive): reclaim the legacy blob column. # The migration preserves it as a backup, so force=True is required. db.cleanup_legacy_runs_column(force=True) # SQL adapters # db.cleanup_legacy_runs_field(force=True) # document / KV adaptersOn AgentOS: POST /databases/all/migrate. Full details in the v3.0 changelog docs.
What's Changed
Update Cerebras defaults and cookbook models by @ryanl-cerebras in #9244
[fix] Repair stale cookbook links by @CRDong233 in #9590
fix: replace the deprecated Groq llama-3.3-70b-versatile with openai/gpt-oss-120b by @sannya-singal in #9588
[cookbook] Add OpenUI client example for AgentOS AG-UI by @vishxrad in #9605
feat: add emem cookbook example by @kumari-jaya in #9624
chore: update gemini defaults to use 3.7 flash by @markmcd in #9666
fix: docs clarify human-readable ID collision guarantees by @daleselaji-dev in #9665
fix: typos in code comments and docstrings by @feizhuzheng in #9597
[cookbook] Align Team HITL examples with cookbook standards by @Math1987 in #9671
cookbook: add emem entry to MCP cookbook README index by @kumari-jaya in #9636
fix: repair four imports that do not resolve in cookbooks by @tonydzi in #9498
feat: add MiniMax video generation tools by @octo-patch in #9529
feat: v3.0 by @kausmeows in #8210
feat: Release v3.0.0 by @kausmeows in #9755New Contributors
@ryanl-cerebras made their first contribution in #9244
@CRDong233 made their first contribution in #9590
@vishxrad made their first contribution in #9605
@kumari-jaya made their first contribution in #9624
@daleselaji-dev made their first contribution in #9665
@feizhuzheng made their first contribution in #9597
@Math1987 made their first contribution in #9671
@tonydzi made their first contribution in #9498Full Changelog: v2.9.0...v3.0.0
Original source All of your release notes in one feed
Join Releasebot and get updates from Agno and hundreds of other software products.
- Aug 24, 2026
- Date parsed from source:Aug 24, 2026
- First seen by Releasebot:Aug 24, 2026
v3.0.0a5
Agno ships a fresh alpha with Studio dispatch guard improvements, stricter validation and roster handling, safer eval run IDs, and multiple fixes that tighten workspace credentials, knowledge config, and nested team behavior.
What's Changed
- test: stop three suites reading state they do not control by @ashpreetbedi in #9736
- fix: state the team leader's delegation rule as need, not as a comparison with itself by @ashpreetbedi in #9737
- fix: refuse dispatch cycles and bound dispatch depth in the Studio dispatch tools by @ashpreetbedi in #9745
- fix: end a no-task tasks run by answering, and forbid joined member ids on nested rosters by @ashpreetbedi in #9746
- fix: answer 422 with the validator's message when request validation fails by @ashpreetbedi in #9744
- fix: give every eval run its own run_id by @harshsinha03 in #9739
- feat: opt-in self_dispatch knob for the Studio dispatch guard by @ashpreetbedi in #9749
- fix: complete the workspace credential excludes, and stop Studio taking version 0 literally by @ashpreetbedi in #9752
- fix: hide inner sub-team member ids from the outer roster, and open with the leader's purpose by @ashpreetbedi in #9754
- fix: close a fail-open in the Studio edit guard, and make the bigger exclude list affordable by @ashpreetbedi in #9756
- fix: stop the knowledge config advertising readers this install cannot run by @ashpreetbedi in #9750
- chore: bump agno to 3.0.0a5 by @ashpreetbedi in #9757
Full Changelog: v3.0.0a4...v3.0.0a5
Original source - Aug 23, 2026
- Date parsed from source:Aug 23, 2026
- First seen by Releasebot:Aug 24, 2026
v3.0.0a4
Agno adds SQLite WAL durability improvements, MiniMax video generation tools, and fire-and-forget telemetry calls, while tightening workspace access, release readiness, and versioning for the 3.0.0a4 update.
What's Changed
- feat: run SqliteDb in WAL journal mode and restore the durable benchmark row by @ashpreetbedi in #9707
- cookbook: install pydantic-ai-slim in the perf environment by @ashpreetbedi in #9706
- chore: v3.0 release readiness - put the database suites under CI and fix the gates that never ran by @ashpreetbedi in #9712
- feat: add MiniMax video generation tools by @octo-patch in #9529
- fix: stop test-a2a installing a lockfile that names an unpublished agnoctl by @ashpreetbedi in #9714
- fix: let expected_current_version guard a first publish by @ashpreetbedi in #9728
- fix: enforce Workspace exclude_patterns as an access boundary by @ashpreetbedi in #9730
- feat: make all telemetry calls fire-and-forget by @ashpreetbedi in #6458
- fix: let the team's own identity open its prompt, and stop the prompt describing a runtime we don't ship by @ashpreetbedi in #9731
- chore: bump agno to 3.0.0a4 and release agnoctl as 0.2.0a1 by @ashpreetbedi in #9735
Full Changelog: v3.0.0a3...v3.0.0a4
Original source - Aug 21, 2026
- Date parsed from source:Aug 21, 2026
- First seen by Releasebot:Aug 22, 2026
v3.0.0a3
Agno ships a broad release with CodeMode, result offloading, registry workflows, zero-config Studio, media storage offload, faster session handling, and multiple reliability fixes across agents, workflows, and SQL adapters.
What's Changed
- fix: keep a workflow session's runs to its own runs by @harshsinha03 in #9634
- fix: point invalid-schema table errors at the migration path by @ysolanky in #9631
- fix: cache resolved tables in SQL adapters to avoid per-query existence checks by @kausmeows in #9623
- fix: install a usable Postgres driver with the postgres and dev extras by @ashpreetbedi in #9635
- fix: workflow event serialization survives cyclic object graphs by @ysolanky in #9641
- fix: file-generation import warnings fire only when PDF/DOCX is requested by @ashpreetbedi in #9640
- fix: AgentOSTools reports failed schedules, windows and refreshes correctly by @ashpreetbedi in #9242
- test: assert the archive race by what landed, not by which call raised by @ashpreetbedi in #9654
- fix: match a learnings record owner against the caller by value, not by type by @ashpreetbedi in #9655
- fix: isolate entity memory rows per user under namespace="user" by @ashpreetbedi in #9322
- feat: SuperGrok OAuth device-code auth for the xAI model by @Himanshu040604 in #9616
- fix: accept every reasoning effort and service tier the OpenAI API takes by @ashpreetbedi in #9658
- chore: update gemini defaults to use 3.7 flash by @markmcd in #9666
- fix: docs clarify human-readable ID collision guarantees by @daleselaji-dev in #9665
- fix: typos in code comments and docstrings by @feizhuzheng in #9597
- [cookbook] Align Team HITL examples with cookbook standards by @Math1987 in #9671
- cookbook: add emem entry to MCP cookbook README index by @kumari-jaya in #9636
- fix: repair four imports that do not resolve in cookbooks by @tonydzi in #9498
- feat: add MigrationRequiredError for stale database schemas by @ysolanky in #9669
- feat: CodeMode and result offloading for agents and teams (3.0 S1) by @ashpreetbedi in #9436
- feat: registry workflows, zero-config Studio, and six verified 3.0 regression fixes by @ashpreetbedi in #9639
- feat: CodeMode result_store handle, kernel fixes, and bounds by @ashpreetbedi in #9684
- feat: offload media from the database to local, S3, or GCS storage by @kausmeows in #9340
- fix: give the remaining-integration CI job a Postgres server by @ashpreetbedi in #9685
- fix: make the Claude models work with anthropic 1.0.0 by @ashpreetbedi in #9686
- refactor: import agno.agent in 147 ms instead of 233 ms by @ashpreetbedi in #9678
- refactor: drop the per-AgentOS Studio catalog binding, and keep stale-schema errors actionable by @ashpreetbedi in #9692
- refactor: cut avoidable per-run and per-chunk overhead on the hot paths by @ashpreetbedi in #9689
- fix: O(1) session lookups in InMemoryDb by keying storage on session_id by @ashpreetbedi in #9693
- chore: fix import sorting by @ashpreetbedi in #9697
- fix: make agno.workflow importable without fastapi installed by @ashpreetbedi in #9696
- feat: make LearningMachine the only Studio memory surface by @ashpreetbedi in #9695
- fix: invalidate the cached session when db is reassigned by @ashpreetbedi in #9699
- test: isolate global run-cancellation state between unit tests by @ashpreetbedi in #9702
- fix: expire cancel-before-start intents in the in-memory cancellation manager by @ashpreetbedi in #9701
- fix: cut per-turn history and session-save cost in long conversations by @ashpreetbedi in #9700
- cookbook: add the canonical performance benchmark suite with cross-framework comparisons by @ashpreetbedi in #9694
- chore: bump agno to 3.0.0a3 by @ashpreetbedi in #9704
- cookbook: refresh performance reference results after the long-conversation fixes by @ashpreetbedi in #9705
New Contributors
- @daleselaji-dev made their first contribution in #9665
- @feizhuzheng made their first contribution in #9597
- @Math1987 made their first contribution in #9671
- @tonydzi made their first contribution in #9498
Full Changelog: v3.0.0a2...v3.0.0a3
Original source Similar to Agno with recent updates:
- Salesforce release notes65 release notes · Latest Aug 29, 2026
- Google release notes1979 release notes · Latest Aug 28, 2026
- Notion release notes175 release notes · Latest Aug 28, 2026
- Salesloft release notes30 release notes · Latest Jul 15, 2026
- xAI release notes219 release notes · Latest Aug 26, 2026
- Anthropic release notes789 release notes · Latest Aug 28, 2026
- Aug 20, 2026
- Date parsed from source:Aug 20, 2026
- First seen by Releasebot:Aug 20, 2026
v3.0.0a2
Agno ships a major preview release with AgentOS reliability upgrades, stronger user isolation and RBAC, new schedules, metrics, knowledge and vector DB isolation, plus Studio 3.0 and onboarding improvements. It also trims deprecated APIs for a cleaner v3.0 surface.
What's Changed
chore: remove deprecated enable_user_memories, search_session_history, num_history_sessions and num_past_session_runs params by @sannya-singal in #7834
feat: evals user-isolation by @harshsinha03 in #8262
chore: remove v3.0.0 evals migration by @harshsinha03 in #8448
refactor: drop flat HITL kwargs in favor of human_review=HumanReview(...) by @sannya-singal in #8354
feat: consolidate AgentOS metadata routes by @ysolanky in #7647
feat: add id to Toolkit by @ysolanky in #8724
feat: denormalize sessions table in db by @kausmeows in #8350
fix: derive runs table name from session_table to prevent silent run … by @kausmeows in #9388
feat: reliable background execution for AgentOS - bounded, observable, durable by @ysolanky in #9079
cookbook: make the at-most-once default discoverable where testers hit it by @ysolanky in #9492
fix: forward-port unified-continue gate removal to the agents door by @ysolanky in #9392
fix: fail-closed continue gate and reconciling sweep - the two P1 review findings by @ysolanky in #9404
fix: RBAC filtering covers DB-loaded teams and workflows on list endpoints by @ysolanky in #9505
fix: inline continue terminal sync survives client disconnect by @ysolanky in #9499
fix: Wave 2 reliability smalls - thirteen review findings, one commit each by @ysolanky in #9508
fix: thread-based heartbeats - lease renewal survives a starved event loop by @ysolanky in #9512
fix: Wave 3 reliability polish - fourteen review findings, one commit each by @ysolanky in #9527
feat: make Team and Workflow constructors keyword-only by @ysolanky in #9554
fix: external agents crash the background streaming route with raw ev… by @kausmeows in #9585
fix: sorting and pagination in queue by @mishramonalisha76 in #9504
feat: schedules, metrics, knowledge, vdb user-isolation by @kausmeows in #8245
Update Cerebras defaults and cookbook models by @ryanl-cerebras in #9244
[fix] Repair stale cookbook links by @CRDong233 in #9590
refactor: remove culture feature (experimental, v3.0 cleanup) by @Mustafa-Esoofally in #9515
refactor: remove reasoning=True shortcut, require explicit reasoning_model by @Mustafa-Esoofally in #8940
feat: improve agno create onboarding by @ashpreetbedi in #9600
fix: replace the deprecated Groq llama-3.3-70b-versatile with openai/gpt-oss-120b by @sannya-singal in #9588
refactor: remove deprecated API surface for v3.0 by @ysolanky in #9560
refactor: remove compat surface that never shipped a runtime deprecation notice by @ysolanky in #9593
refactor: remove mistralai v1 compatibility layer by @harshsinha03 in #9613
fix: repair garbled scheduler log messages by @ashpreetbedi in #9619
fix: case-sensitive knowledge test assertions fail on lowercase model output by @ashpreetbedi in #9618
feat: FinanceTools - one finance toolkit, swappable data providers by @ashpreetbedi in #9606
fix: gate stream param by stream_sub_agent_events flag by @Mustafa-Esoofally in #9115
[cookbook] Add OpenUI client example for AgentOS AG-UI by @vishxrad in #9605
feat: add RampRouter model for Ramp Router (router.com) by @ashpreetbedi in #9626
feat: add emem cookbook example by @kumari-jaya in #9624
feat: Studio 3.0 - the governed control plane for agents that build agents by @ashpreetbedi in #9604
New Contributors
@ryanl-cerebras made their first contribution in #9244
@CRDong233 made their first contribution in #9590
@vishxrad made their first contribution in #9605
@kumari-jaya made their first contribution in #9624
Full Changelog: v2.9.0...v3.0.0a2
Original source - Aug 13, 2026
- Date parsed from source:Aug 13, 2026
- First seen by Releasebot:Aug 13, 2026
v2.9.0
Agno releases 2.9.0 with a new identity-aware StudioRunnerTools toolkit, stronger rehydration and caching safeguards, and fixes across A2A streaming, workflow version handling, Team HITL resume, and component listing for a safer, smoother runtime.
Changelog
New Features
StudioRunnerTools: New identity-aware dispatch toolkit (agno.tools.studio_runner.StudioRunnerTools) that splits execution out of StudioTools. Any component (team lead, router) can mount it to discover and run Studio-built agents/teams/workflows without getting the Studio's create/edit/delete surface. run_* tools thread the caller's user_id into the sub-run so per-user state lands on the right person.
list_components name filter: Added a name filter to list_components.
Bug Fixes
A2A: Fixed the A2A stream client dropping Task-level metadata by breaking on status-update.
Workflow (WebSocket): Honor the selected workflow version over WebSocket.
Team HITL: Persist paused member runs so team HITL resume survives a session reload.
Rehydration: Preserve toolkit instructions on rehydration.
Framework annotations: Guard framework return annotations.
Behaviour & Breaking Changes
MCP tool tool_name override blocked (Security): MCP tool entrypoints no longer allow a call-time tool_name override. Previously a model could pass tool_name="delete_repo" to any MCP tool and the server would execute that tool while allow-lists, requires_confirmation, HITL approval, and logging all resolved from the declared name — bypassing any HITL/approval gate. The executed tool name is now closed over from tool.name. Model-supplied tool_name args are forwarded as ordinary arguments (not used to pick the tool), so tools that legitimately declare a tool_name parameter keep working.
Tool result caching now uses per-user keys (Security / behaviour change): With cache_results=True, the cache key now includes stable run-context identity (user_id, session_id), fixing a cross-user cache leak where a cached tool taking run_context (e.g. MemoryTools) served one user's result to another. run_id stays out of the key so caching remains useful across a user's runs. Existing cache behaviour changes — keys are composed differently, so prior cache hits won't line up the same way.
Rehydration now fails loudly (behaviour change): Deserializing a persisted component with unresolvable references used to silently degrade (an agent's tools became [], a team lost members, schemas/knowledge dropped) and then run. Unresolvable references now raise ComponentRehydrationError (an AgnoError, status_code=422) on strict paths. Strictness is a caller property: public from_dict/load default strict=False (round-trips keep working), but AgentOS lookups and every dispatch path (REST POST /runs, continue, MCP run tools, StudioRunner) default strict=True and now return a 422 naming the unresolvable piece instead of running a degraded component. Pinned member versions are also honored.
What's Changed
fix: MCP tool entrypoints must not allow call-time tool_name override by @ashpreetbedi in #9379
fix: preserve toolkit instructions on rehydration by @ashpreetbedi in #9395
fix: persist paused member runs so team HITL resume survives a session reload by @ashpreetbedi in #9396
feat: StudioRunnerTools - identity-aware dispatch toolkit for Studio components by @ashpreetbedi in #9371
fix: fail loudly on unresolvable rehydration references; honor pinned member versions by @ashpreetbedi in #9381
fix: guard framework return annotations; add name filter to list_components by @ashpreetbedi in #9382
fix: tool result caching - per-user keys, ToolResult round-trip, hooks on cache hits by @ashpreetbedi in #9380
fix: honor selected workflow version over WebSocket by @Ayush0054 in #9514
fix: A2A stream client drops Task-level metadata by breaking on status-update by @psinojiya in #9224
feat: Release 2.9.0 by @kausmeows in #9545
Full Changelog: v2.8.7...v2.9.0
Original source - Aug 5, 2026
- Date parsed from source:Aug 5, 2026
- First seen by Releasebot:Aug 6, 2026
v2.8.7
Agno releases v2.8.7 with new AdvisorTools, OpenRouteService routing toolkit, and StudioTools upgrades for schedule awareness and history parameters. It also improves file system toolkit naming, strengthens audio and persisted component handling, and fixes Cohere sampling, Team.load, and other bugs.
Changelog
New Features
- AdvisorTools: Added AdvisorTools for asking advisor models for feedback.
- OpenRouteService Toolkit: Added OpenRouteService toolkit for accurate routing.
- StudioTools: Added component-aware schedule tools and history parameters.
- FileSystemTools: Allow overriding the FileSystemTools toolkit name.
Bug Fixes
- Persisted Components: Fixed toolkit-qualified tool rehydration for persisted components.
- Cohere: Stop dropping zero-valued sampling params (temperature, top_k, seed, frequency_penalty, presence_penalty now respect an explicit 0).
- HITL: Propagate top-level confirmation to tool_execution on requirement deserialization.
- Team.load: Fixed crash on SQLite with unexpected keyword argument label.
- Audio Tools: More robust audio tool-result handling (and switched the Smallest AI cookbook to Gemini).
- Dependencies: Exclude nltk 3.10.1, which breaks the unstructured import chain.
What's Changed
- fix: exclude nltk 3.10.1, which breaks the unstructured import chain by @sannya-singal in #9320
- fix: robust audio tool-result handling, switch Smallest AI cookbook to Gemini by @harshitajain165 in #9331
- fix: Team.load crashes on SQLite with unexpected keyword argument 'label' by @Himanshu040604 in #9337
- feat: add OpenRouteService toolkit for accurate routing by @ysolanky in #9287
- feat: allow overriding the FileSystemTools toolkit name by @ashpreetbedi in #9363
- fix: propagate top-level confirmation to tool_execution on requirement deserialization by @ashpreetbedi in #9351
- feat: component-aware schedule tools and history parameters in StudioTools by @ashpreetbedi in #9352
- chore: add scheduler extras to dev so CI exercises the schedule tests by @ashpreetbedi in #9366
- feat: add AdvisorTools for asking advisor models for feedback by @ysolanky in #7196
- fix: toolkit-qualified tool rehydration for persisted components by @ashpreetbedi in #9358
- [fix] Cohere: stop dropping zero-valued sampling params by @bharadwaj-pendyala in #9300
- fix: run sync scheduler DB calls off the event loop by @ashpreetbedi in #9370
- chore: Release v2.8.7 by @kausmeows in #9369
New Contributors
- @bharadwaj-pendyala made their first contribution in #9300
Full Changelog: v2.8.6...v2.8.7
Original source - Jul 30, 2026
- Date parsed from source:Jul 30, 2026
- First seen by Releasebot:May 20, 2026
- Modified by Releasebot:Jul 31, 2026
v2.8.6
Agno releases 2.8.6 with Smallest AI text-to-speech tools, OpenSearch vector database support, and a new AgentOS metrics refresh status endpoint. It also speeds up tool wrapping, improves background refresh handling, and fixes cross-platform file encoding issues.
Changelog
New Features
Smallest AI: Added SmallestTools, a text-to-speech toolkit for Smallest AI with text_to_speech (returns audio as a ToolResult artifact, optionally saved to disk) and get_voices. Supports the lightning_v3.1 and lightning_v3.1_pro models.
AgentOS: Added GET /metrics/refresh/status to observe background metrics refreshes:
Reports idle, running, completed or failed with started_at, finished_at and error, so clients can poll for completion instead of timing out silently. The state updates even when a refresh finishes without writing new data.
Available on the client as AgentOSClient.get_metrics_refresh_status()
OpenSearch: Added OpenSearch vector database support (agno.vectordb.opensearch) with vector, keyword and hybrid search in both sync and async variants, installable via the agno[opensearch] extra. Includes cookbook examples and a run_opensearch.sh script for local setup.
Improvements
Tools: Cached the Pydantic version lookup during tool wrapping. The package metadata was re-read on every wrap, which made repeated tool wrapping a hot path (100-wrap benchmark: 65.9 ms to 11.0 ms).
Bug Fixes
AgentOS: POST /metrics/refresh no longer blocks uvicorn workers on large datasets:
The sync calculate_metrics() call now runs in the threadpool, so other requests keep flowing during a refresh. Same 200 + metrics list response as before.
New opt-in ?background=true query param returns 202 immediately and runs the refresh as a background task. Background refreshes are single-flight per database.
GET /metrics with a sync BaseDb also moves its lazy refresh to the threadpool.
Encoding: Text-mode open() calls now pass explicit encoding="utf-8", so JSON cache and config files written on one platform stay readable on another (Windows defaults to cp1252).
What's Changed
feat: add Smallest AI text-to-speech toolkit by @harshitajain165 in #9015
docs: fix broken links in cookbook READMEs and CONTRIBUTING.md by @devdattatalele in #9195
[fix] Cache Pydantic version lookup during tool wrapping by @basnijholt in #9210
fix: add explicit encoding="utf-8" to text-mode open() calls by @Ghraven in #7984
fix: run metrics refresh in background to avoid blocking workers by @Mustafa-Esoofally in #9263
feat: support opensearch db by @anhphong22 in #3611
chore: release 2.8.6 by @ysolanky in #9271
New Contributors
@harshitajain165 made their first contribution in #9015
@devdattatalele made their first contribution in #9195
@anhphong22 made their first contribution in #3611
Full Changelog: v2.8.5...v2.8.6
Original source - Jul 27, 2026
- Date parsed from source:Jul 27, 2026
- First seen by Releasebot:Jul 28, 2026
v2.8.5
Agno releases v2.8.5 with AgentOSTools for AgentOS usage, latency, failures, schedules, evals, components, and approvals. It also improves traces with grouped latency and error stats, adds Moonshot thinking controls and new file and video input support, and fixes ClickHouse and Moonshot issues.
New Features
AgentOS Tools: Added AgentOSTools to report on AgentOS usage, latency, failures, schedules, evals, components, and pending approvals.
Improvements
Traces: Added latency and error stats grouped by agent, team, workflow, or endpoint, plus tool and model call stats. Implemented for PostgresDb and SqliteDb.
Moonshot:
Default changed to kimi-k3.
Added use_thinking to toggle thinking mode.
Added file and video input support.
Bug Fixes
ClickHouse: Bind metadata keys and values as query parameters in delete_by_metadata.
Moonshot: Preserve reasoning_content across turns.
What's Changed
fix: eliminate SQL injection in ClickHouse delete_by_metadata by @VANDRANKI in #7883
fix: Update Moonshot for kimi k3 Add Moonshot thinking controls and examples by @RayST3 in #9057
feat: AgentOSTools read-only platform ops toolkit by @ashpreetbedi in #9185
chore: Release v2.8.5 by @harshsinha03 in #9187
Full Changelog: v2.8.4...v2.8.5
Original source - Jul 26, 2026
- Date parsed from source:Jul 26, 2026
- First seen by Releasebot:Jul 27, 2026
v2.8.4
Agno releases v2.8.4 with TrustedRouter support, revamped entity memory, and fixes for nested executor requirements and null path args.
What's Changed
- fix: serialize nested executor requirements by @pratikm778 in #9162
- fix: accept null path args in skill script/reference tools by @alec-drw in #9096
- feat: add TrustedRouter as an OpenAILike model class by @jperla in #9100
- feat: revamp entity memory for the second brain by @ashpreetbedi in #9177
- chore: Release v2.8.4 by @ashpreetbedi in #9184
New Contributors
- @jperla made their first contribution in #9100
Full Changelog: v2.8.3...v2.8.4
Original source - Jul 25, 2026
- Date parsed from source:Jul 25, 2026
- First seen by Releasebot:Jul 26, 2026
v2.8.3
Agno releases v2.8.3 with filesystem cookbook fixes and new cookbook examples for running and serving agents.
What's Changed
- cookbook: number the filesystem cookbook as 13_filesystem by @ashpreetbedi in #9156
- fix: FileSystem tools carry no instructions; the developer composes them by @ashpreetbedi in #9172
- cookbook: add examples - three agents you run and serve by @ashpreetbedi in #9170
- chore: Release v2.8.3 by @ashpreetbedi in #9173
Full Changelog: v2.8.2...v2.8.3
Original source - Jul 24, 2026
- Date parsed from source:Jul 24, 2026
- First seen by Releasebot:Jul 25, 2026
v2.8.2
Agno releases a durable FileSystem for agents, adding a private persistent filesystem with pluggable DB and local backends plus fail-closed user namespace isolation. It also refreshes the AgentOS cookbook and agent quickstart for Gemini 3.6 Flash.
New Features
FileSystem (durable agent filesystem): A net-new state primitive — agents get a private, persistent filesystem with pluggable DB/local backends and fail-closed per-user namespace isolation. See cookbooks.
Improvements
Cookbooks: Rewrote the AgentOS cookbook (284 → 132 files, 24 lessons) and overhauled the agent quickstart for Gemini 3.6 Flash.
What's Changed
- cookbook: overhaul agent quickstart for Gemini 3.6 Flash by @ashpreetbedi in #9136
- cookbook: rewrite the AgentOS cookbook (284 files -> 132, 24 lessons) by @ashpreetbedi in #9153
- feat: FileSystem — durable agent filesystem by @ashpreetbedi in #9142
- chore: Release v2.8.2 by @kausmeows in #9154
Full Changelog: v2.8.1...v2.8.2
Original source - Jul 23, 2026
- Date parsed from source:Jul 23, 2026
- First seen by Releasebot:Jul 24, 2026
v2.8.1
Agno releases v2.8.1 with broader agent and tool support, including Marengo video embeddings, Slack peer-agent replies, and improved context streaming across providers. It also fixes file, CSV, team history, and empty-argument tool issues while updating Scavio Google search localization and paging.
Changelog
New Features:
TwelveLabsTools: Added support for Marengo video embeddings. See docs.
Slack: respond_to_other_agents flag for peer-agent communication.
Improvements:
Learning Stores: extraction_tool_call_limit to prevent infinite loops.
Context Providers: stream_sub_agent_events supported across all providers.
Bug Fixes:
File Tools: list_files now exposes its optional directory parameter in the tool schema, so agents can list a specific subdirectory directly.
Teams:
Nested teams now retrieve their own team history.
Explicitly configured member IDs are now preserved as-is, so delegation to members with custom IDs works.
CSV Reader: read() now supports CSV file paths passed as strings.
Tools: Empty/missing argument invocation fix.
Breaking Changes
Scavio Tools: google_search now targets the Scavio Google v2 API for proper localization and paging. See Docs
What's Changed
cookbook: fix learning-zone casualties, add _00_quickstart, rewrite the runner by @ashpreetbedi in #9076
fix: resolve team member agents created via AgentOS UI/components API by @ysolanky in #9072
fix: errors when invoking tools with empty or missing arguments by @zouchanglin in #6303
[feat] Add Marengo video embeddings to TwelveLabsTools by @mohit-twelvelabs in #8973
fix: map Scavio Google search params to v2 (gl/hl/start) by @scavio-ai in #9021
fix: Expose FileTools directory parameter by @giri256 in #9078
fix: preserve explicit team member IDs by @khrnchn in #9011
[fix] Preserve nested team history in TeamSession.get_messages by @RushikeshGandhmal in #8968
fix: Support string paths in CSVReader by @sjsjsjjs534 in #8822
feat: add respond_to_other_agents flag for Slack peer-agent communication by @Mustafa-Esoofally in #8934
fix: add extraction_tool_call_limit to prevent infinite loops in learning stores by @Mustafa-Esoofally in #9077
fix: support stream_sub_agent_events in all context providers by @Mustafa-Esoofally in #9098
fix: add team_id filter to get_team_history for nested team support by @ProgrammerPlus1998 in #8956
chore: Release v2.8.1 by @kausmeows in #9135
New Contributors
@giri256 made their first contribution in #9078
@khrnchn made their first contribution in #9011
@RushikeshGandhmal made their first contribution in #8968
@sjsjsjjs534 made their first contribution in #8822
Full Changelog: v2.8.0...v2.8.1
Original source - Jul 20, 2026
- Date parsed from source:Jul 20, 2026
- First seen by Releasebot:Jul 21, 2026
v2.8.0
Agno releases v2.8.0 with new scoring and rollout tools for deeper evals, including agno.scorer, pass@k environment rollouts, and Case.scorer. It also adds file generation for code, Gmail pagination, Adanos sentiment tools, and fixes plus hardened judge and reliability behavior.
Changelog
New Features
agno.scorer — Turn a run into a number:
CodeScorer: wraps any callable (bool | float | Score; typed-field comparison under output_schema recommended)
JudgeScorer: LLM judge with the model always an explicit choice and numeric verdicts normalized to exact endpoints ((score - 1) / 9)
ToolCallScorer: checks tool executions deterministically (refused, errored, or HITL-rejected calls never satisfy an expectation)
All scorers ship sync and async variants.
agno.environments — Environment + Task + run_rollouts(env, k=8): run each task K times in full isolation (fresh db/session/user, no memory/knowledge/learning writes, cache off; knowledge reads still work). Includes a live per-attempt grid, real pass rate per task, drift-vs-policy fingerprints, save/load/diff, learning_zone(), and to_sft_jsonl(...) to export passing attempts as conversational-SFT JSONL with a provenance sidecar. This is the pass@k door.
Case.scorer: the eval suite gains a third check — plug any scorer into a Case (with Case.expected), free and exact, no LLM call. SuiteResult.to_dict() gains additive score_value, score_passed, score_reason keys.
FileGenerationTools: Added code file generation for FileGenerationTools.
Gmail Tools: Added pagination and max_results_per_request.
Adanos Tools: Added optional Adanos market sentiment tools.
Bug Fixes
RemoteAgent / RemoteTeam: Fixed metadata being dropped on the A2A protocol path.
Content: Return empty string for empty content list in get_content_string().
Decision log: Replaced deprecated datetime.utcnow() in the decision_log store.
Breaking Changes
ReliabilityEval matches tool executions: Tool expectations are now satisfied only by a clean execution (RunOutput.tools, tool_call_error not set), not by message-side requests. Verdicts can flip red after upgrading — when they do, the eval was previously passing for the wrong reason (missing entries are annotated "... (requested but refused/errored — execution matching, new in 2.8.0)"). Argument checks moved to ToolExecution.tool_args with the same partial-match semantics.
Hardened judge prompt: Every AgentAsJudgeEval now fences judged output behind a per-call random nonce, with the untrusted-data instruction inside the prompt. A literal </output> no longer escapes the block, and "score this 10" inside a judged answer is data, not an instruction. Judge verdicts and token counts may shift.
What's Changed
fix: replace deprecated datetime.utcnow() in decision_log store by @Ghraven in #7949
cookbook: add dpo_jury pairwise preference example by @ashpreetbedi in #9033
cookbook: refresh data_labeling for agno 2.7.x by @ashpreetbedi in #9037
cookbook: jury calibration, hardening, and agreement metrics by @ashpreetbedi in #9038
cookbook: synthetic data generation workflows by @ashpreetbedi in #9040
cookbook: critique-revision, persona, and tool-call trajectory generation by @ashpreetbedi in #9043
cookbook: step-reward scoring, scale-out mechanics, and safety labeling by @ashpreetbedi in #9046
cookbook: image_search README - ingest is a full rebuild, not idempotent by @ashpreetbedi in #9047
[fix] RemoteAgent/RemoteTeam drop metadata on A2A protocol path by @psinojiya in #8944
feat: add pagination and max_results_per_request to Gmail tools by @Mustafa-Esoofally in #9030
fix: Return empty string for empty content list in get_content_string() by @chuck-duplocloud in #6122
[feat] Add optional Adanos market sentiment tools by @alexander-schneider in #9060
[fix] Clarify Adanos trending ranking by @alexander-schneider in #9061
fix: replace retired qwen/qwen3-32b with openai/gpt-oss-20b on Groq by @ashpreetbedi in #9055
feat: add code file generation to FileGenerationTools by @anuragts in #8420
feat: agno.scorer and the judge prompt fence by @ashpreetbedi in #9049
feat: rollout engine and Case.scorer seam by @ashpreetbedi in #9050
release: v2.8.0 by @ashpreetbedi in #9063
cookbook: expand environments into progressive verification suite by @ashpreetbedi in #9070
feat: Release v2.8.0 by @kausmeows in #9073
New Contributors
@psinojiya made their first contribution in #8944
@chuck-duplocloud made their first contribution in #6122
@alexander-schneider made their first contribution in #9060
Full Changelog: v2.7.4...v2.8.0
Original source
Curated by the Releasebot team
Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.