NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1166 most downloaded on PyPI
Agent Development Kit
Last release 3 days ago
02 Oct 2026
Ships on a steady schedule
a new release about every 1 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
2 years old
96 releases · first in 2025
One column per month.
This release adds graceful cancellation and tool confirmation to workflows, a tool for consulting another model mid-task, and a built-in SQLite memory
This release adds graceful cancellation and tool confirmation to workflows, a tool for consulting another model mid-task, and a built-in SQLite memory service.
abort_signal to Runner, Workflow, and nodes to stop a run gracefully; /run_sse now cancels the run when the client disconnects. See the unit guide for more details. (ef5bbcf, 3d73603)RequestInput, the same way an LlmAgent does, instead of passing an error downstream. (ce132b9)sqlite:// memory service URI. (9625b06)/dev-ui/assets/config/runtime-config.json per request and no longer writes runtime-config.json into the installed package. If you edited or read that file, set the logo with --logo-text and --logo-image-url and fetch the config from the server instead. (3722746)@node (3e59f4d)…, transcription_manager ) emit a DeprecationWarning on import; move to google.adk.live . Test suites run with -W error will fail on these imports. ( b…
This release introduces advanced skill lifecycle management, expands database and model integration support, and brings richer efficiency metrics to agent evaluation.
ADK_ENABLE_SKILL_LIFECYCLE=1). (43b73e4)CALL, EXPORT DATA and other statements the dry run gives no destination are rejected. (8b883d0)OpenAIResponsesLlm ignores thinking_config (thinking_level / thinking_budget) with a warning; use OpenAIGenerateContentConfig.effort instead. (b3d1392)AgentEvaluator.evaluate and evaluate_eval_set raise ValueError when no eval cases are evaluated, instead of passing. (9dbc2ae)${var} and backslash-escaped \{var} as written instead of filling them from state. (0caecd2)google.adk.flows.llm_flows (audio_cache_manager, audio_transcriber, transcription_manager) emit a DeprecationWarning on import; move to google.adk.live. Test suites run with -W error will fail on these imports. (bf2bc56)ADK_ENABLE_SKILL_LIFECYCLE=1) (f938abd)ADK_ENABLE_SKILL_LIFECYCLE=1) (ce53a36)ADK_ENABLE_SKILL_LIFECYCLE=1) (43b73e4)adk create model options (6592ee5)ADK_ENABLE_SKILL_LIFECYCLE=1) (accb906)RunConfig.service_tier (3e3d1dc)google.adk.integrations.openai; google.adk.labs.openai still re-exports them (95c0591)behavior field to control Live non-blocking function calls (6189b2e)google.adk.telemetry.tracing importable on OpenTelemetry 1.39; google.adk.telemetry.google_cloud still needs a newer OpenTelemetry (8f1323a)ADK_ENABLE_FUNCTION_TOOL_ARG_VALIDATION=1) (24b37e1), closes #4612This release focuses on refining telemetry behavior by correcting how OpenTelemetry event names are handled across different environments.
This release focuses on refining telemetry behavior by correcting how OpenTelemetry event names are handled across different environments.
This release focuses on improving visibility into model reasoning steps when utilizing Claude's adaptive thinking capabilities.
This release focuses on improving visibility into model reasoning steps when utilizing Claude's adaptive thinking capabilities.
This release focuses on agent resilience and ecosystem integration by introducing automatic model failover, native voice support via LiveKit, and comp
This release focuses on agent resilience and ecosystem integration by introducing automatic model failover, native voice support via LiveKit, and compatibility with MCP SDK 2.x.
local_file_root, and refuse local file access entirely when that setting is absent. Paths may be absolute or relative, and are judged by where they resolve.InMemorySessionService now raises SessionNotFoundError when an event is appended to a session it does not hold, instead of accepting the event and discarding it. The database-backed services already behaved this way, so this affects in-memory sessions alone.Two further changes are marked breaking in the commit log but do not affect a
default installation. Nested workflow retry changes behavior only for a node
that already sets retry_config. The MCP SDK 2.x field handling applies only if
you install MCP 2.x deliberately, which this release does not resolve to.
CallToolResult, or on a tool declaration read via raw_mcp_tool, is discarded during validation before ADK sees it. _meta is unaffected: it is a declared field and still arrives. Nothing in ADK can restore the others; a server that relies on vendor extensions should move them under _meta. On 1.x they still arrive as before.guard against SQL injection vulnerabilities in BigQuery tools
interaction_status on LlmResponse and Event (b858904)load_skill_resource span (6e0facf)Note: new experimental telemetry feature for token usage per agent invocation and per workflow, inference and tool call counts per workflow, and expanded load_skill attributes. Off by default, opt in with ADK_EXPERIMENTAL_TELEMETRY=true or RunConfig.telemetry.adk_experimental_telemetry_opt_in=True.
adk test --rebuild, Web UI test saving, and CLI JSONL (dc735bd)invocation_context.branch assignment against mock SessionService instances (9917922)invocation_context.branch from session history when executing a non-root agent node or resuming a sub-agent in Runner (676d1e7)$category or suffix with _agent (50c3edf)deps: restore the OpenTelemetry 1.42.1 ceiling
samples: make the MCP auth sample actually enforce auth, move MCP samples off the deprecated toolset name, and correct code execution claims
A correctness release: most of the work went into what an agent sends to the model and what it gets back, alongside a long tail of fixes across tools, sessions, evaluation and the CLI.
use_jinja2=True to inject_session_state and an instruction can use conditionals and loops over session state, with artifacts loaded through a {{ artifact("name") }} helper. Jinja2 stays an optional dependency and the regex engine remains the default. (4a00a34)import google.adk does less work, and the request path avoids Pydantic round-trips and quadratic streaming accumulation in the LiteLLM adapter. (8806dc2, 9e1adde, 36fd2c8)pyarrow left the gcp extra: it lives in the new bigquery-analytics extra, which takes roughly 50 MB off pip install google-adk[gcp]. If you use BigQueryAgentAnalyticsPlugin, install google-adk[bigquery-analytics]. (ac71709)task_completed is called in parallel (cebfd74)gate --sandbox-launcher behind gcloud beta run deploy ( 8120292 ), closes #6511
cli: update gcloud command to use beta flag
add parent terminal grouping and TTL pruning to ADK CLI telemetry
a2a: support per-invocation auth headers when fetching agent cards
adk deploy agent_engine (93db97d), closes #3936get_agent_async in adk eval (ebaef9f)adk eval (6f6106f), closes #6415adk deploy from uploading .adk/session.db file (dab351b)Your coding agent can read these notes before it upgrades. Set up the MCP server →