SDKv3.0.0
Breaking changes in v3.0
ContributorsKaustubh ShuklaSannya SingalHarsh SinhaYash Pratap SolankyAshpreet BediMustafa EsoofallyMonalisha MishraHimanshu Singh
August 24, 20261 min read
Every 2.x user needs to read this before upgrading, and the database migration is mandatory. This is the condensed reference; the v3.0 changelog has the complete list and the migration guide has step-by-step instructions.
Storage
- Runs moved out of the sessions table into
agno_runs. Run the migration before serving traffic. pagewithout alimit, orpage < 1, now raisesValueErrorinstead of returning unbounded results.
AgentOS
JWTMiddlewareandauthorization_configdroppedsecret_keyin favor ofverification_keys(a list).GET /modelsis removed; model data now lives inGET /configunderavailable_models, andGET /infois the single unauthenticated metadata endpoint.enable_mcp_serverandmcp_configcollapsed into a singlemcp_server=.- Background execution now requires a
dbon the component and returns a 400 without one.
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=Trueis removed; setreasoning_model=explicitly.continue_rundroppedupdated_toolsin favor ofrequirements.- The Culture feature is removed entirely; use Knowledge for shared cross-user info.
Teams and Workflows
- The
Workflowconstructor is keyword-only:Workflow(name=..., steps=[...]). - Flat HITL kwargs on Step, Steps, Loop, Condition, and Router are removed. Use
human_review=HumanReview(...)fromagno.workflow.types, wherehitl_max_retries→max_retriesandhitl_timeout→timeout.
Tools
MultiMCPToolsis deleted; use oneMCPToolsper server.- Flat Google tool modules (
agno.tools.gmail,agno.tools.googlesheets, and the rest) are removed; import fromagno.tools.google.*. DuckDuckGoTools.duckduckgo_search→web_search, andduckduckgo_news→search_news.SQLToolsand Google Sheets read, describe, and run flags became bare method names.- The
StudioToolalias is removed; useStudioTools.
Knowledge and vector DBs
Knowledge.add_contentand its variants →insert(),ainsert(), andainsert_many().GDriveContextProvider→GoogleDriveContextProvider.- Searching a pre-v3 vector table with a
user_idnow raisesValueErrorpointing at the vector-DB migration.
Scheduler
update_scheduleis now allow-listed and rejects unknown keys withValueError; ownership and lock state can no longer be written through it.- The schedules unique key changes from
nameto(user_id, name). Deduplicate schedule names per user before migrating, or the migration aborts.
Evals
eval_id→run_idthroughout. The{eval_id}placeholder in result-path templates is no longer accepted (use{run_id}), and re-runs no longer overwrite each other.
Models and learning
- Mistral requires
mistralai>=2.0.0; the v1 compat layer is removed. agno.models.metricsand theMetricsalias moved toagno.metrics(RunMetrics).Model.classify_error→ModelProviderError.classify(error).- Entity memory under
namespace="user"is now per-user isolated and re-keyed by the migration.
Deprecated but still working
knowledge_retriever(dependencies=...)→ preferrun_context.- Scopes
system:readandsystem:write→config:readandconfig:write; the old names still work. RedisDB(vector) →RedisDb.

