Skip to content

Releases: google/adk-python

v2.13.0

Choose a tag to compare

@Jacksunwei Jacksunwei released this 23 Oct 18:08

2.13.0 (2026-10-22)

Highlights

This release stabilizes core features while introducing TypeSafe workflow classification, live audio interactions, MongoDB integrations, and execution performance improvements.

  • Stability: Access 12 mature experimental features now promoted to stable status. See the unit guide for more details. (ea298d4)
  • Classifiers: Route workflows with TypeSafe's Jev models via the new TypesafeClassifier and ClassifierNode. Jev returns calibrated probabilities in a single forward pass, much faster than an LLM. See the unit guide for more details. (ddf8c55, e8c4bac)
  • Live Audio: Enable natural real-time voice interactions with barge-in support alongside Gemini speech-to-text and text-to-speech integration. See the unit guide for more details. (2e7ef92)
  • MongoDB Sessions & Memory: Persist sessions in MongoDB and share them across runner replicas with the new MongoDbSessionService. Add long-term memory without an embedding model using MongoDbMemoryService, which recalls past turns by keyword match on any MongoDB deployment, with no vector index needed. Both are experimental. See the session service and memory service guides for more details. (0df43f5, e40e349)
  • MongoDB: Deploy MongoDbToolset to Agent Engine without packaging your connection string, and let Atlas Automated Embedding embed search queries server-side, with no Google embedding call or credentials needed. See the unit guide for more details. (bc3773f, 2f6c666, 8bbfc33)
  • Performance: Enjoy up to 8x faster execution turns for string-model agents and reduced event-loading overhead. (772f139)

Breaking changes

  • Telemetry: Defaults to OpenTelemetry GenAI v2 (otel_semconv_1_44, removing call_llm); set ADK_TELEMETRY_SCHEMA_VERSION_OPT_IN=otel_semconv_1_36 to keep the legacy v1 schema. See the unit guide for more details. (7838488)
All changes

⚠ BREAKING CHANGES

  • telemetry: deprecate call_llm span and OpenTelemetry 1.36 GenAI semconv

Features

  • add delete_memory api to BaseMemoryService (41e5c7b), closes #6949
  • add MongoDB-backed memory service (e40e349)
  • add MongoDB-backed session service (0df43f5)
  • add OpenSandbox environment (69d1c90), closes #6758
  • classifiers: add BaseClassifier and typed question/answer types (773418f)
  • classifiers: add ClassifierNode for workflow routing (e8c4bac)
  • classifiers: add LlmClassifier (772b577)
  • eval: split invocation duration into model, tool and framework time (e3797a4)
  • features: promote 12 mature experimental features to stable (ea298d4)
  • honor ADK_SUPPRESS_EXPERIMENTAL_FEATURE_WARNINGS (b592dee), closes #5114
  • integrations: add TypesafeClassifier for TypeSafe's Jev models (ddf8c55)
  • integrations: keep MongoDB credentials out of Agent Engine packages (ab5cb45)
  • live: add barge-in support to CascadeLiveConnection (2e7ef92)
  • live: add Gemini speech-to-text and text-to-speech for CascadeLive (f78149a)
  • live: add ZIP_STORED visual frame pack and unpack helpers (17d8a5a)
  • make MongoDbToolset picklable for Agent Engine (2f6c666)
  • plugins: add agent evaluation session and turn trace views (ab9c994)
  • plugins: classify error-bearing tool results and extract shared callback helpers (a4b8ee9), closes #7112
  • plugins: classify write-time 403 and 404 drops in BigQueryAgentAnalyticsPlugin (d5c87a6)
  • plugins: log terminations, node results and tool result errors in the logging plugins (6a77d48)
  • record google_search grounding on LLM spans (ead208a), closes #7345
  • samples: add Secret Manager and Parameter Manager integration samples (7391411), closes #7582
  • seed adk web sessions from initial_state.json (3c8c63e), closes #4961
  • support Atlas Automated Embedding in MongoDB search (8bbfc33)
  • support BaseLlm instances in evaluation and user simulation (cb48b91), closes #3400
  • support extra packages in cloud deployments (18a41a5), closes #4980
  • surface Vertex rubric verdicts and explanations in eval results (bc220d2), closes #7350
  • telemetry: count conversation compactions per workflow (d01d5d8)
  • telemetry: report tool call content under the semconv attributes (5f0babc)
  • telemetry: serve the elided LLM content to the ADK Web UI (f7e3f12)
  • tools: add ForceEscalationPlugin for deterministic model consultation (a84d978)
  • tools: infer Workflow input_schema from START successors in NodeTool (4ec4af1)
  • tools: measure model consultation escalations, tokens, and cost (f02b89c)
  • tools: support Gemini 3.x computer use browser action schemas (b90e4a5)
  • vmaas: add AgentEngineEnvironment ([3800f06](38...
Read more

v2.12.0

Choose a tag to compare

@GWeale GWeale released this 13 Oct 16:35

2.12.0 (2026-10-13)

Highlights

This release enhances execution performance in long sessions while introducing finer control over tool execution, workflow approvals, and deployment security.

  • Performance: Cut time to first model request by 40% in long sessions. (1754b3e)
  • Tools: Intercept and filter tool outputs before returning them to the model using after_tool_callback. (fdda17c)
  • Workflows: Require human confirmation before executing workflow nodes via require_confirmation. (988fd1a)
  • Deployment: Deploy agents to Agent Engine using dedicated custom service accounts. (629e119)
  • Python 3.15: Install and run ADK on Python 3.15. (75aef1e)
All changes

Features

  • add --state_file option to adk run (c390266), closes #7083
  • add after_tool_callback to screen tool output (fdda17c), closes #6966
  • add skill-level security support to AgentCardBuilder (79a7e49)
  • agents: adapt BaseNode in tool consumers and preserve ToolUnion compatibility (8350c14)
  • antigravity: preserve model thinking parts, client tool responses, and sub-agent hierarchy in ADK events (fac77be)
  • cli: source the agent builder assistant's ADK knowledge from the installed package (ab9fffc)
  • continue with de-identified text when only SDP matched (315c3dd), closes #7369
  • encrypt google credential in session (42a17a9)
  • eval: report the efficiency metrics for evals run from the Dev UI (49bf291)
  • install lightweight Gemini Enterprise (Agent Platform) SDK without the GAPIC stack (d92735d)
  • live: add an internal model for Live background tool calls (3f25ab5)
  • live: implement CascadeLive model & sample (128faab)
  • migrate ADK to google-cloud-aiplatform v2.2 (agentplatform) (77d4dcd)
  • migrate VertexAiExampleStore and VertexAiRagRetrieval away from vertexai.preview (9e411be)
  • persist skill-script outputs as artifacts (beaef0d), closes #5579
  • plugins: add on_schema_error and on_schema_ready callback hooks to BigQueryLoggerConfig (4d31fa9)
  • plugins: enrich AGENT_STARTING metadata in BigQueryAgentAnalyticsPlugin (c32ad3b)
  • print next steps after adk create (06b7847)
  • resume Gemini generations paused with a continuation token (b3cbb47)
  • skills: migrate GCPSkillRegistry.search_skills from GET to POST (e9464ca)
  • support custom service accounts for agent engine deploy (629e119), closes #2951
  • telemetry: name skill tool spans after the skill they touch (c11060c)
  • tools: run a sync FunctionNode tool's callable on the tool thread pool (71d5ed7)
  • tools: run non-live generator FunctionTools via FunctionNode (0ee891a)
  • tools: tag model_consult advisor requests with client label (068610f)
  • user feedback survey workflow (f5efa2a)
  • vmaas: add sandbox lifecycle helpers to the sandbox manager (46dff4b)
  • vmaas: find or create sandbox templates per container config (650394f)
  • workflow: run a sync generator FunctionNode's steps on the tool thread pool (8112f4a)
  • workflow: support require_confirmation in @node and FunctionNode (988fd1a)
  • workflow: support scalar auto-boxing for ToolNode input (873eed5)
  • workflow: support task sub-agent delegation and resume in task-mode wrapper (8d71635)
  • workflow: support tool authentication requests and credential resume in _ToolNode (c001a6c)

Bug Fixes

  • a2a: support tool_call and tool_response in A2A part converter (a334bac)
  • add JSON-tolerant LiteLLM tool call argument parsing (a01b226)
  • add namespaced mode for forwarded A2A session context_id (c213adf), closes #7305
  • agent engine memory service with A2A endpoint activated (d919ec0), closes #3458
  • agents: centralize resume routing decision and fix sub-branch/callback/abort routing (8a43244)
  • agents: route user FunctionResponses to sub-agents when is_resumable is False (86a47f6)
  • allow built-in search tools with sub-agents on Gemini 3+ (6d52a23)
  • allow OIDC token exchange without client_secret (4b1e004), closes #2256
  • antigravity: harden parallel tool call IDs, start_subagent resolution, and thinking types (1e1ed51)
  • artifacts: isolate InMemoryArtifactService entries from caller mutation (cb8ced5)
  • avoid mutating caller Content role in live send_to_model (12b4924)
  • bigquery: attribute BigQuery and Dataplex clients to active telemetry surface (6d6828f)
  • build the rewind tombstone part once instead of on every check (11584d9)
  • cancel and await parallel tool tasks on BaseException and GeneratorExit (a344350)
  • cancel sibling tools on child-originated cancellation (1ab2fe8), closes #7172
  • check where a builder app name imports from ([8c5b3df](8c5b3df4a70a89bb635b...
Read more

v2.11.0

Choose a tag to compare

@xuanyang15 xuanyang15 released this 02 Oct 00:44

2.11.0 (2026-10-01)

Highlights

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.

  • Execution cancellation: Pass an 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)
  • Tool confirmation in workflows: Tool nodes now pause for user approval via RequestInput, the same way an LlmAgent does, instead of passing an error downstream. (ce132b9)
  • ModelConsultTool: Let an agent consult another model mid-task, capped by per-turn and per-session budgets. See the unit guide for more details. (84cc99a)
  • SQLite memory service: Keep agent memory in a local SQLite database, selected with a sqlite:// memory service URI. (9625b06)
  • MCP SDK 2.x: Connect to MCP servers over the modern protocol through a new opt-in path. (e738c26)
All changes

Features

  • add a sample preloading memory profiles into the instruction (fdf1b7f)
  • add avatar configuration to server commands (e4c0d94), closes #5435
  • add max llm calls to server commands (14f4154), closes #5434
  • add optional abort_signal support to Runner, Workflow, and Nodes (ef5bbcf), closes #4796
  • add pagination to list_accessible_data_agents in data_agent toolset (46d5a2d)
  • add sqlite memory service (9625b06)
  • add the model consult session context handover layer (b2da4c6)
  • cli: wire abort_signal to /run_sse on client disconnect (3d73603)
  • default Vertex project from GCP metadata (8d8bbd2)
  • events: add internal metadata for ADK events (8e29f16)
  • honor tool_thread_pool_config for sync tools outside live mode (c50ade3)
  • let BigQuery tools run where CMEK is required (4d06641), closes #3931
  • live: default to a pre-built avatar for VIDEO live sessions (d5c9b11)
  • mark spans whose response came from a callback (9633ab9)
  • mcp: add an opt-in modern-protocol connect path for MCP SDK 2.x (e738c26)
  • plugins: add optional ToolCallIntegrityPlugin (b7efc4e)
  • propagate grounding metadata from MCP _meta (0960104), closes #6081
  • skip init.py for config-based adk create (d594b69), closes #6753
  • synthesize abort event and function response on cancellation (da65851)
  • telemetry: move skill telemetry span attributes out of experimental (e0f4c97)
  • tools: add ModelConsultTool with turn and session budgets (84cc99a)
  • tools: invoke advisor models without tools for model_consult (28c47b5)
  • workflow: pause tool nodes for tool confirmation via RequestInput (ce132b9)
  • workflow: propagate skip_summarization from node tools to tool response (5a0421c)
  • workflow: run plugin tool callbacks around ToolNode calls (cfeece9)

Bug Fixes

  • accept a client factory written against either httpx major (438c3eb)
  • accept dotted registry ids in GCPSkillRegistry (cbbdec3), closes #7136
  • antigravity: extract real execution output for built-in tool steps (3fd932d)
  • artifacts: return None for negative versions in InMemoryArtifactService (6193957)
  • cancel the in-flight tool call when the caller is cancelled (f0dd560)
  • classify plugin output before persisting events (044a1ec), closes #7184
  • detect a dead MCP session whose transport sits behind a dispatcher (8632980)
  • drop stale replies to superseded tool updates (fdca5e7)
  • drop unpairable trailing FRs in rearrange (643df96), closes #6751
  • eval: skip content-less events when mapping Vertex multi-turn turns (fd2ca87)
  • flows: detect thought-only and whitespace turns as empty content (dea8110)
  • follow redirects when downloading skills in GcpSkillRegistry (fd14aec)
  • install greenlet with the db extra and name it when missing (ffc2494)
  • isolate and clean up single_turn LlmAgent node_input events (6f30039), closes #7227
  • keep credential-request events out of the compaction prompt (b562ef4)
  • keep default credentials out of pickled AgentRegistry toolsets (345a1a8)
  • keep identical streamed function calls that have no model-provided id (46b22e4)
  • live: only cache audio blobs in the live input realtime cache (b627a15)
  • load validated MCP toolsets under adk web (f44d512), closes #6735
  • look up padded session ids the same way create_session stores them (eef75de), closes #6941
  • make conformance runs report replay and recording failures (5355c7c)
  • only apply --avatar_config to live sessions requesting video ([4d2...
Read more

v2.10.0

Choose a tag to compare

@wyf7107 wyf7107 released this 25 Sep 19:00

2.10.0 (2026-09-24)

Highlights

This release introduces advanced skill lifecycle management, expands database and model integration support, and brings richer efficiency metrics to agent evaluation.

  • Skills: Control resource usage and tool persistence dynamically using new ephemeral lifecycles and active skill limits (experimental; enable with ADK_ENABLE_SKILL_LIFECYCLE=1). (43b73e4)
  • Database Integrations: Perform high-performance vector and hybrid searches seamlessly within your agent flows with the new MongoDB toolset. (0961ced)
  • Evaluation: Optimize agent execution costs and latency with new evaluation metrics for tracking duration, token consumption, and model call counts. (2d428ea)
  • Model Support: Integrate OpenAI reasoning models more effectively with automated request parameter adaptation and precise reasoning token reporting. (52a2f0f)

Behavior changes

  • BigQuery protected write mode now runs a non-SELECT statement only when the dry run places it in the session's anonymous dataset, so multi-statement scripts, CALL, EXPORT DATA and other statements the dry run gives no destination are rejected. (8b883d0)
  • BigQuery protected mode keeps its BigQuery session in process memory instead of session state, so its temporary tables do not survive a restart or carry over to another replica. (094012b)
  • 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)
  • Instruction templating leaves ${var} and backslash-escaped \{var} as written instead of filling them from state. (0caecd2)
  • Legacy live-audio modules under 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)
All changes

Features

  • add a duration efficiency metric to ADK eval (49e7264)
  • add an EPHEMERAL skill lifecycle that lasts one turn (experimental, off by default; enable with ADK_ENABLE_SKILL_LIFECYCLE=1) (f938abd)
  • add an opt-in unload_skill tool to SkillToolset (experimental, off by default; enable with ADK_ENABLE_SKILL_LIFECYCLE=1) (ce53a36)
  • add dev-only deploy endpoints for Agent Runtime, Cloud Run, and GKE (1235104)
  • add informational efficiency metrics (tokens, calls) to ADK eval (2d428ea)
  • add MongoDB toolset with vector and hybrid search (0961ced)
  • add name-based request processor helpers to BaseLlmFlow (fd335cd)
  • add on_error handler to skill listing functions (9b220e7)
  • add optional context_builder to RemoteA2aAgent (322e3bf), closes #3301
  • add programmatic skill activation APIs to SkillToolset (a0f3955)
  • add skill lifecycle modes and an active-skill cap to SkillToolset (experimental, off by default; enable with ADK_ENABLE_SKILL_LIFECYCLE=1) (43b73e4)
  • bigquery: add default_project_id and default_dataset_id to BigQueryToolConfig (6f301fc)
  • cli: add gemini-3.8-flash to the adk create model options (6592ee5)
  • cli: auto-configure session and memory services on Agent Runtime (fede561)
  • context: add abort signal primitives to InvocationContext and Context; the Runner and workflows do not act on an abort yet (d99b23f)
  • drop an unloaded skill's instructions from later requests (experimental, off by default; enable with ADK_ENABLE_SKILL_LIFECYCLE=1) (accb906)
  • expose serving tier via RunConfig.service_tier (3e3d1dc)
  • expose session options in api_server REST endpoint (fa4719e), closes #6342
  • integrations: add a google-adk[openai] extra (9be86bf)
  • integrations: move the OpenAI models to google.adk.integrations.openai; google.adk.labs.openai still re-exports them (95c0591)
  • let SkillToolset notice that a loaded skill has changed (f848b7e)
  • mcp: identify ADK in the MCP clientInfo handshake (5117f28)
  • mcp: identify ADK in the User-Agent of MCP HTTP requests (061dcd6)
  • openai: adapt request params for reasoning models on both surfaces (137eba8)
  • openai: add api_key/base_url with per-request key resolution to OpenAILlm (56aabce)
  • openai: add OpenAIGenerateContentConfig and per-model reasoning effort (bb9023d)
  • openai: honor tool_config mode and all tool declarations in OpenAILlm (ed758bb)
  • openai: report reasoning tokens on Chat Completions; add live tests (52a2f0f)
  • openai: surface streaming usage and finish reason in OpenAILlm (ed030cb)
  • openai: use build_reasoning_effort for reasoning in OpenAIResponsesLlm (b3d1392)
  • send the deferred service tier on interactions API requests (cc912d5)
  • skills: add SkillDiscoveryMode to control how the skill catalog is disclosed (3d3c1d9), closes #7092
  • stamp the Agent Registry URN as gen_ai.main_agent.id (5c3f64e)
  • stream partial function-call arguments across model adapters (f449780)
  • telemetry: allow per-feature enabling of experimental telemetry (0add163)
  • tools: add behavior field to control Live non-blocking function calls (6189b2e)
  • when using interactions api with deferred tier, wait on an interaction operation (b011fb2)
  • workflow: filter rewound invocations during workflow rehydration (ab4dba6)
  • workflow: let DEFAULT_ROUTE fan out to several nodes ([ffc191b](https://github.com/google/adk-python...
Read more

v2.9.2

Choose a tag to compare

@Jacksunwei Jacksunwei released this 18 Sep 18:08
dafa8e9

2.9.2 (2026-09-18)

Highlights

This release focuses on refining telemetry behavior by correcting how OpenTelemetry event names are handled across different environments.

  • Telemetry: OpenTelemetry event names are now preserved on platforms outside of Agent Engine, ensuring more accurate and consistent tracking. (9110770)

Bug Fixes

  • telemetry: only drop the OTel event name on Agent Engine (9110770)

v2.9.1

Choose a tag to compare

@Jacksunwei Jacksunwei released this 15 Sep 18:03
e27681f

2.9.1 (2026-09-15)

Highlights

This release focuses on improving visibility into model reasoning steps when utilizing Claude's adaptive thinking capabilities.

  • Claude Integration: Access the step-by-step reasoning process of Claude models by ensuring visible thoughts are requested during adaptive thinking tasks. (ba0d542)

Bug Fixes

  • request visible thoughts for Claude adaptive thinking (ba0d542)

v2.9.0

Choose a tag to compare

@GWeale GWeale released this 10 Sep 21:22

2.9.0 (2026-09-10)

Highlights

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.

  • Models: Safeguard agent uptime by automatically failing over to backup models when the primary model encounters errors. (c300b8d)
  • Integrations: Build rich voice and telephony agents using the newly added LiveKit runner. (f277d91)
  • Workflows: Simplify graph workflow management by authoring and loading ADK 2.0 graphs directly from declarative YAML configurations. (2a9461b)
  • MCP: Upgrade to MCP SDK 2.x capabilities seamlessly while retaining full backward compatibility with 1.x servers. (856acf2)

Behavior changes

  • Workflow node resumption: A node that failed now runs again when the workflow resumes, where before it replayed as though it had completed. Make node bodies idempotent: a node that performs an external side effect and then fails will perform that side effect again on every resume. (91573eb)
  • GCS tool local paths: The GCS tools now read and write local files only inside the directory named by 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. (c569796)
  • In-memory sessions only: 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. (15b1392)
All changes

Features

  • add a2a_state_forwarding sample (1b28de4)
  • add FallbackModel for automatic failover between models (c300b8d)
  • add get_authenticated_url and get_signed_url to GcsArtifactService (10ac52b)
  • add ignore_args option to tool trajectory evaluation (e2a213f)
  • add transfer_reason to transfer_to_agent to prevent loops (22ab4d8)
  • agent evaluations print detailed results when all tests pass (e1ae543), closes #3891
  • generalize docker build and run for multicloud environments (0673f05)
  • integrations: add LiveKit runner for voice and telephony (f277d91)
  • load ADK 2.0 graph workflows from YAML configuration (2a9461b)
  • mcp: support MCP SDK 2.x alongside 1.x (856acf2)
  • support hyphenated column names in BigQuery tools (b736b0d)
  • telemetry: add ability to track skill loads (0cd24c8)
  • telemetry: add script execution instrumentation (0dbc37d)
  • telemetry: export logs over OTLP to telemetry.googleapis.com (5e6df42)
  • tools: support FunctionNode auto-inference in NodeTool (ea8609d)

Bug Fixes

  • a2a: quote a fetched card description and drop relayed auth responses (7ee3ae9)
  • a2a: require https for a non-loopback agent card URL (fe30ebb)
  • a2a: stop a completed task delegation breaking later peer delegations (04be48b), closes #6831
  • add optional OIDC verification for Pub/Sub and Eventarc triggers (73d9fe0)
  • append the user's next turn when it joins a paused task (678d7e9)
  • apply state_delta when resuming without a new_message (6de43b0), closes #6644
  • artifacts: give concurrent gcs artifact saves distinct versions (0a12027)
  • auth: declare that AuthHandler.generate_auth_uri can return None (e4c8994)
  • balance callback lifecycle for hallucinated tool calls (f842a15), closes #4775
  • bigquery: lazy-load Dataplex so BigQueryToolset imports without it (b65be01)
  • callables: extract unified CallableSpec and resolve doc and unwrap edge cases (c506ddf)
  • cancel the invocation when a sync run() generator is closed early (080d5e7)
  • cli: explicitly set memory_service_uri='memory://' when --in_memory is passed (b0bb3dd)
  • cli: make the decorators on API and dev server routes take effect (308cc32)
  • cli: sync the Agent Engine class-method catalogue with its source (0043044)
  • close a task-mode delegation when the remote agent finishes (4cd8aa4)
  • coerce an integral float back to int for an int-typed tool parameter (adbee3c)
  • coerce callable AgentInfo.instruction for app-info (ada8652), closes #6909
  • confine GCS tool local file paths to a configured root (c569796)
  • default AgentCardBuilder capabilities to streaming=True (b018062), closes #6672
  • defer local state/event mutation until Vertex append succeeds (903f37f), closes #6998
  • end a live session when the client closes the request queue, instead of reconnecting or busy-waiting (07b1173)
  • end tool callback chains on the first non-None result (895b6f2)
  • environment: terminate the whole process tree when a local command times out (fa321f1)
  • fail a workflow when a detached dynamic node errors or interrupts (34e13df)
  • flows: keep code execution going instead of reporting no content (ae30506), closes #7002
  • flows: move before_tool_callback from prepare phase into per-tool execution (fb45e24)
  • flows: propagate contextvars set in before_tool_callback to the tool (0b75a66)
  • flows: restrict agent transfer to the declared transfer ta...
Read more

v1.39.1

Choose a tag to compare

@wukath wukath released this 27 Aug 21:56

1.39.1 (2026-08-27)

Bug Fixes

  • a2a: Port event action allowlist, agent card description source and resume flattening to v1 (#6801) (1f898a6)
  • artifacts: Port app-scoped file artifact storage and layout-derived payload paths to v1 (#6795) (0ae2bff)
  • artifacts: Port artifact reference scoping and path-segment validation to v1 (#6794) (efc5bb8)
  • cli: check the Host header on every local API server request (v1) (#6789) (15bf230)
  • cli: Port deploy ignore-file handling to v1 (#6793) (8467bf0)
  • close the residual gaps from the v1 backport review (#6890) (218061e)
  • integrations: send api registry credentials only to google api endpoints (v1) (#6889) (1e9e117)
  • mcp: Port config stdio opt-in and reserved tool name checks to v1 (#6796) (28b32b4)
  • models: Port Gemini context cache fingerprint scoping to v1 (#6804) (f2f8456)
  • plugins: sanitize BigQuery analytics rows and build GCS paths per call (v1) (#6808) (80e56de)
  • Port A2A agent card RPC target origin validation to v1 (#6800) (ccb4812)
  • Port agent loader and file path resolution fixes to v1 (#6788) (8bc927f)
  • Port agent-config code-reference and config_path validation to v1 (#6790) (15ae713)
  • Port branch-scoped auth responses and OAuth2 nonce forwarding to v1 (#6803) (5817d30)
  • Port code executor container and pod isolation defaults to v1 (#6807) (1b4da44)
  • Port credential and inline-data field exclusions in logs, reprs and spans to v1 (#6797) (7c2075c)
  • Port eval identifier validation and persona template rendering to v1 (#6806) (0a4a5c6)
  • Port migration unpickle allowlist and database URL redaction to v1 (#6791) (6deda28)
  • Port session id validation, thread id scoping and Vertex RAG cleanup fixes to v1 (#6809) (3fec8c5)
  • Port skill resource path and skill name validation fixes to v1 (#6805) (1353e8d)
  • Port URL validation, client timeout and credential scoping fixes to v1 (#6802) (7b6547f)
  • Route thread-pool and live-mode tool dispatch through run_async (v1) (#6799) (48c56c3)
  • Scope custom eval metrics per registry and resolve their function path from the eval config (v1) (#6792) (9886410)
  • sessions: accept a full session resource name again on v1 (#6888) (ef4f1e0)
  • Validate user message parts and agent transfer targets (v1) (#6798) (d830355)

v2.8.0

Choose a tag to compare

@wukath wukath released this 26 Aug 23:25

2.8.0 (2026-08-25)

Features

  • a2a: add native task mode support to RemoteA2aAgent (72f3ff5)
  • add ADK_MAX_LLM_CALLS environment variable to configure max LLM calls limit (75679db)
  • add create_data_agent tool to data_agent toolset (5cd38a0)
  • add delete_data_agent tool to data_agent toolset (9b451fc)
  • add location parameter to list_accessible_data_agents in data_agent toolset (393ec08)
  • add Model Armor guardrail plugin (11efc3f)
  • add nvidia nim integration sample (c6bba8d)
  • add sample for skill state injection via adk_inject_state (9384127)
  • add spreadsheet mime types to load_artifact_tool (370027a)
  • add update_data_agent tool to data_agent toolset (92d00aa)
  • allow configuring Vertex AI API version (ede87c2), closes #3246
  • allow streaming tools to set response scheduling per yield (bf2efd7)
  • antigravity: capture client-side tool outcomes for a function_response (4599a52)
  • cli: Support Cloud Build worker pools for Agent Engine deploy (e577c30)
  • eval: support custom metrics in AgentEvaluator (babb11c)
  • guard against SQL injection vulnerabilities in BigQuery tools (d6290a0)
  • live: Add VIDEO to the allowed modalities in the ADK API server (dd998a7)
  • live: let a live streaming tool send messages to the user directly (98896eb)
  • live: run before and after model callbacks in live mode (ef2d680)
  • live: surface live interaction_status on LlmResponse and Event (b858904)
  • live: use RunConfig.session_resumption.handle when opening a live session (eac32c3)
  • mcp: report MCP HTTP exchanges as OpenTelemetry log records (85a6fa1)
  • parallelize LLM-as-judge evaluation using asyncio.gather() (0dbb88c)
  • preserve field descriptions in set_model_response schema (a30858b), closes #6707
  • record context cache state on the LLM call span (c0614d6)
  • resolve auth for RemoteA2aAgent in AgentRegistry (d695494)
  • support auth_scheme and auth_credential in RemoteA2aAgent (d42c634)
  • support injecting custom LLM clients into Gemini and AnthropicLlm (a01d516), closes #5027
  • support memory_id and allowed_topics in Vertex Memory Bank (bf73360)
  • support opt-in session retention in MultimodalToolResultsPlugin (775c1bd), closes #6695
  • support sub-agent escalation event in ParallelAgent (0fd681e), closes #5104

Telemetry

  • telemetry: add per-invocation token spend metrics for invoke_agent (dc00db5)
  • telemetry: add per-workflow inference and tool call counts (6e6c4a5)
  • telemetry: add per-workflow token spend metrics (dd8797e)
  • telemetry: Expand telemetry for load_skill_resource span (6e0facf)
  • telemetry: honor RunConfig.telemetry at the runner's invocation span (00fc6eb)

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.

Bug Fixes

  • a2a: keep file payloads out of the debug log line (ef158d3)
  • agents: report which toolset an agent lost when one fails to load (66930e6)
  • artifacts: Publish file artifact versions atomically (94475c9)
  • auth: take the auth scheme from the request, not the client's response (8989aea)
  • avoid O(n^2) deep event comparison during rehydration (b8dd086), closes #6657
  • block yaml and ruamel deserialization in agent-config code references (924d802)
  • cache read write token counts in LiteLLM and Anthropic models (d0b33a0), closes #5835
  • check every function response, not just the first, when inferring which invocation to resume (5449314)
  • cli: clean up pytest subprocesses on test-client disconnect (a84a4b5)
  • cli: Preserve non-ASCII text in adk test --rebuild, Web UI test saving, and CLI JSONL (dc735bd)
  • cli: report env var names instead of values when overriding env_vars (b0c599f)
  • count tool call and response chars in compaction (66908e4)
  • declare a2a-sdk[http-server] so the a2a extra can serve (65234e7)
  • deduplicate events in InMemorySessionService.append_event (4d74774), closes #5723
  • deliver parallel sub-agent failures to the caller (ece924c), closes #5455
  • detect MCP tool errors under either field spelling (d18df2f)
  • disable Windows glob expansion for CLI args (2638155), closes #6248
  • emit Anthropic prompt cache breakpoints for ContextCacheConfig (811d379), closes #5395
  • fence relayed agent output so it cannot pose as instructions ([9ffe8be](https://github.com/google/ad...
Read more

v2.7.1

Choose a tag to compare

@GWeale GWeale released this 17 Aug 18:28
d71f1bf

Bug Fixes

  • deps: restore the OpenTelemetry 1.42.1 ceiling (8e6f361)
  • validate session initialization events (e2b8ace), closes #5290