Skip to content

Releases: google/adk-python

v2.3.0

18 Jun 18:45

Choose a tag to compare

2.3.0 (2026-06-17)

Features

  • add create_http_options to ContextCacheConfig for cache creation timeout (ffc9677), closes #4703
  • add GCS first party toolset to ADK integrations (fb19e1a)
  • Add log_level option for adk run CLI (1ac69a9)
  • Add mTLS support in AgentRegistry client (03671c6)
  • add request timeout to load_web_page (792775f)
  • core: migrate core and CLI to enterprise parameters (68221f0)
  • Create GEPARootAgentOptimizer (654145a)
  • eval: expose user_simulator_config in generate_responses (e7a673c)
  • gemma4: support Gemma4 in Gemini (573f043)
  • integrations: Add E2BEnvironment for remote sandbox workspaces (92d608f)
  • labs: add experimental Antigravity SDK agent wrapper (4cb27fd)
  • lazily initialize the Vertex AI client in GCPSkillRegistry, and fix the import path for vertexai (65dca53)
  • live: Handle input transcription differently for Gemini Live 3.1 models (048deea)
  • live: support Live API translation config in RunConfig (463040f)
  • Migrate McpToolset to AsyncAuthorizedSession for mTLS support (fe497a4)
  • plugins: ADK 2.0 minimum producer cut for the BigQuery Agent Analytics plugin (e2676fc)
  • report cached token counts for Anthropic and OpenAI models (b15c8a0)
  • telemetry: support per-request OpenTelemetry configuration (abcaa08)
  • Update gcp_auth client UI to support Remote Agents (57bdecf)
  • utils: add GOOGLE_GENAI_USE_ENTERPRISE env var with deprecation fallback (4e85e9c)

Bug Fixes

  • a2a: Preserve execution metadata in final events (e90b119)
  • a2a: render HITL interrupt when prompt is in a data part (b9e7fca)
  • a2a: set final=True for error TaskStatusUpdateEvent in event_converter (5efe53d)
  • a2a: suppress part_metadata in Vertex AI mode (065f4ae)
  • add a2a as a required dependency for agent_engine deployment (d2ebacb)
  • adk: propagate exceptions from run_node in standalone mode (63841c3)
  • adk: propagate isolation_scope to prevent history filtering loops (f39d75b)
  • agents: await cancelled tasks in _merge_agent_run_pre_3_11 to prevent aclose() RuntimeError (9310ba7)
  • api-registry to fetch all services (81b8067), closes #5478
  • artifacts: Support nested API names (b99546b)
  • auth: handle missing client-credentials scopes safely (a546bcf), closes #5345
  • avoid UserWarning in _build_response_log when response has funct… (f022307)
  • call to sanitize schema for complex union types (9808451)
  • ci: add repository check to prevent workflows from running on forks (90bd38f)
  • ci: Resolve missing sqlalchemy error in adk_release_analyzer (107dc38)
  • cli: Serialize LiteLlm graph models safely (c1e852f)
  • conformance: normalize tool declarations in replay verification (dd97e76)
  • Default subagents to chat mode in build_node (ad560ce)
  • deps: Require otel google-genai instrumentor >=0.7b1 for genai 2.x (2b8c80c)
  • eval: handle failed inference results without invocations (9a6cf60)
  • eval: handle unevaluated final response v2 results (5cfef01)
  • eval: include function-call events in invocation_events when skip_summarization is set (5b16a86)
  • eval: preserve custom eval metadata (780b0ab)
  • Extract grounding_metadata from Live API server_content (8a294af)
  • Fix silent dead end when conditional routes are unmatched (6af4562)
  • Fix typing for create_client in mcp_session_manager (c6546a7)
  • fix vertex_ai_session_service crashing when Agent Engine passes full resource names instead of short session IDs (60c55ad)
  • flows: terminate invocation at tool-level EUC (883ff98)
  • Format files to fix pre-commit failures (395848a)
  • Format the files (9670ce2)
  • gate pr-triage secrets on same-repository pull_request_target (0d20b7c)
  • handle missing agent name in readonly context (a890399)
  • improve error message when beautifulsoup4/lxml not installed for load_web_page (d9f189c), closes #4852
  • live: history_config rejection on Vertex/Enterprise Live sessions (8f85260)
  • live: propagate output token count in live API usage metadata (7e8965d)
  • log diagnostics for empty or unparseable rubric auto-rater output (fe56f31), closes #5732
  • make DatabaseSessionService visible in API docs (69ecf07), closes #4331
  • Mock google.auth.default in test_fast_api.py (a7ceb3f)
  • models: pass NOT_GIVEN to Anthropic when no system_instruction (3f505d2), closes [#531...
Read more

Release 1.35.2

18 Jun 00:50
4f3f350

Choose a tag to compare

1.35.2 (2026-06-17)

Bug Fixes

Release 1.35.1

15 Jun 20:58

Choose a tag to compare

1.35.1 (2026-06-15)

Bug Fixes

  • Only send grounding_metadata for 3.1 live at the end of each turn (#6129) (847a259)
  • streaming: Ensure final partial=False frame is always yielded (#6096) (6e59c61)

Release 1.35.0

10 Jun 05:36

Choose a tag to compare

1.35.0 (2026-06-10)

Features

  • live: Handle input transcription differently for Gemini Live 3.1 models (#6045) (ecfdaf5)

Bug Fixes

  • add missing Gemini imports in base_llm_flow (#5943) (6d027b4)
  • flows: Reset reconnect attempts on connection success (#6042) (87abf23)
  • models: Default grounding metadata for Gemini 3.1 live (#6018) (fafafb3)
  • Support generalized history config injection for Gemini 3.1 Live on Vertex AI (#5999) (aafd97f)

v2.2.0

04 Jun 22:13

Choose a tag to compare

2.2.0 (2026-06-04)

⚠ BREAKING CHANGES

  • agents: LlmAgent default model changed from gemini-2.5-flash to gemini-3-flash-preview (a preview model), ahead of the 2026-10-16 gemini-2.5-flash shutdown. Agents without an explicit model= now run on the new preview default; set model="gemini-2.5-flash" to retain prior behavior. DEFAULT_LIVE_MODEL is unchanged. (ad8b6c7)
  • interactions: GenAI SDK v2.0.0 support renames the turn-based helpers in interactions_utils.py (e.g. convert_contents_to_turnsconvert_contents_to_steps) and moves from "turns" to "steps" terminology. Update any direct callers. (da1d8f1)

Features

  • Add --trigger_sources and ADK service options to cli_deploy_agent_engine (ffa057c)
  • add AutoTracingPlugin for OpenTelemetry auto-instrumentation (bc3a4fa)
  • add RubricBasedMultiTurnTrajectoryEvaluator (cae2337)
  • agents: restore 1.x agent config wiring for backward compatibility (44cd116)
  • api_server: Abort runs on client drops to avoid leaks (6a53357)
  • BigQuery Agent Analytics reliability fixes (a5fa3da)
  • distinguish input-required vs auth-required in A2A conversion (9d139ea)
  • emit OTel gen_ai.client.* metrics natively (0bb329b)
  • forward custom_metadata from run requests into the run config (460cb8c)
  • include thoughts and tool calls in compaction summaries (bdb5582)
  • interactions: update ADK to support Google GenAI SDK v2.0.0 (da1d8f1)
  • models: Support turn_complete_reason in Live responses to capture safety info (9126acb)
  • preserve A2A message metadata field in ADK event (d4d955d)
  • raise explicit error for unsupported LiteLlm file attachments (8847f23), closes #5546
  • sessions: add get_user_state(app_name, user_id) to BaseSessionService (d029bce)
  • Support additional scopes and custom discovery doc in Google API Tools (dc6e293)
  • tools: expose httpx_client_factory on RestApiTool and OpenAPIToolset (7eb9b3d)
  • tools: Standardize request_input tool for proactive LLM clarification (afb0a64)

Bug Fixes

  • a2a: Support to_a2a(Workflow) and reject non-agent root nodes (0478b02)
  • accept Azure assistant file ids (b73679e), closes #5664
  • add artifacts in each agent's .adk folder (bae5b1a)
  • add future annotations import and prefix task models logger (2874874)
  • add missing crop helper to data file helper lib (b5181cf), closes #4011
  • add PEP 604 union syntax in function tool parameters (551445e)
  • add telemetry metric assertions to the test's own agent (b7766ce)
  • agents: restore abc.ABC base for BaseAgent and LlmAgent (020386a)
  • allow internal builder assistant app name (f6e26cc)
  • append trailing newline to runtime-config.json in ADK Web Server (4baccf6)
  • auth: omit scope from OAuth2 token requests (6ce4b87)
  • block path traversal in Agent Builder file tools (1fa7cda)
  • dependencies: clarify missing Vertex AI extra (fde6a2b)
  • deps: bump starlette and fastapi to address CVE-2026-48710 (81add39)
  • eval: Support include_intermediate_responses_in_final in final_response_match_v2 (8519602), closes #5695
  • Event.message honors subclass field (5bebfd4)
  • exclude temp: state keys from Firestore session writes (a5db346)
  • Fix path traversal in GCS skill extraction (Zip Slip) (2f15c6c)
  • flows: preserve transparent config on live session reconnect (5ad1942), closes #5675
  • Format the files to fix pre-commit failures (af8bfe0)
  • guard peer agent mode access in agent transfer (bb16958), closes #5863
  • live: Resolve 1007 error and support Gemini 3.1 Flash Live protocol (e5af12c)
  • mcp: Prevent initialization hangs and task group leaks (334ef81), closes #5886
  • migration: restrict unpickling of v0 actions blobs (9db48ce)
  • models: Prevent grounding metadata loss in Gemini 3.1 (e896c62)
  • parse noncanonical litellm tool call arguments (31cc5a1)
  • populate user_content in resumed invocations (660bbd4)
  • preserve media blocks in ollama content flattening (47ceeba), closes #4975
  • runners: fall back to root agent when a resumed call author is not in the tree (a86efa6)
  • runners: Preserve state_delta in NodeRunner path (c56bec8)
  • sessions: guard None event.actions before reading state_delta (03ef3f6)
  • Support generalized history config injection for Gemini 3.1 Live on Vertex AI (61a3933)
  • terminate infinite retry loop in LoadSkillResourceTool on RESOURCE_NOT_FOUND (bc45ee6)
  • tolerate context-likes without user_content or session in record_agent_invocation (0775da5)
  • tools: add skill script dir to sys.path (9296198)
  • tools: don't close parent's plugins from AgentTool's sub-Ru...
Read more

Release 1.34.2

01 Jun 23:18

Choose a tag to compare

1.34.2 (2026-06-01)

Bug Fixes

  • Fix bug where grounding metadata in Gemini 3.1 live was being silently discarded (9b6b9e9)
  • fix input and output transcription finished events for Gemini v3.1 (13763d7)
  • tools: Prevent session drop on MCP tool error (1fd406b)

v2.1.0

23 May 00:23

Choose a tag to compare

2.1.0 (2026-05-23)

Features

  • Add chart generation and artifact loading to data agent (db06416)
  • Add support for creating sandboxes from templates and snapshots (cbd14eb)
  • Add user.id to gen_ai.user.message log records for telemetry (eb379be)
  • Fix error message telemetry for tool calls (e56c021)
  • Preserve transcription event order in conversation trajectory (b3d0759)

Bug Fixes

  • ci: Add python-dateutil dependency to stale-bot workflow (84fa984)
  • ci: Prevent workflow failures in relocated adk_team samples (55cbc8c)
  • ci: Use absolute path for PYTHONPATH in upload docs workflow (85223e6)
  • cli: Fix --reload_agents for web (1307f8e)
  • cli: Inform user to install optional dependency on missing google.cloud (57d677c)
  • convert Union[Pydantic, Pydantic] tool args at runtime (104edc8), closes #5799
  • Fix bug where grounding metadata in Gemini 3.1 live was being silently discarded (b9751eb)
  • fix input and output transcription finished events for Gemini v3.1 (d17a2a3)
  • lazy-import GCS evaluation managers in evals utility (5f91a9d)
  • Make google-cloud-storage import lazy in skill utils (416775d)
  • resolve circular import caused by llm_request (7e38fc8)
  • Resolve circular import in base_tool (92cf192)
  • tests: Append trailing newline to JSON test outputs (3329ced)
  • tools: Prevent session drop on MCP tool error (933653c)
  • update EditFileTool to handle cross-platform line breaks and escape regex characters (1f24553)

v1.34.1

23 May 00:25

Choose a tag to compare

1.34.1 (2026-05-22)

Bug Fixes

  • Fix bug where grounding metadata in Gemini 3.1 live was being silently discarded (9b6b9e9)
  • fix input and output transcription finished events for Gemini v3.1 (13763d7)
  • tools: Prevent session drop on MCP tool error (1fd406b)

v2.0.0

19 May 16:24

Choose a tag to compare

2.0.0 (2026-05-19)

ADK 2.0 General Availability

This release introduces v2.0.0 General Availability (GA) of the Google Agent Development Kit (ADK), establishing production-grade foundations for multi-agent workflows and advanced dynamic agent collaboration.

Core Architecture Highlights

Multi-Agent Workflow Engine

  • Flexible Execution Graphs: Establishes a model-agnostic engine for orchestrating non-linear, conditional, and cyclical agent execution patterns.
  • Intelligent Task Delegation: Introduces modular workflow abstractions enabling parallel sub-agent workers, nested hierarchical team structures, and resilient dynamic scheduling across complex task execution steps.

Dynamic Agent Collaboration

  • Native Inter-Agent Routing: Provides seamless orchestration for inter-agent messaging, control state handoffs, and context variable propagation across collaborative multi-agent flows.

v1.34.0

18 May 23:56

Choose a tag to compare

1.34.0 (2026-05-18)

Features

  • a2a: add support for persistent task stores (cd78d87)
  • add general support for Gemini Live API in ADK evaluate (790c9be)
  • Add mTLS support to Google Cloud Telemetry exporter (cfe8d2c)
  • add support for A2aAgentExecutor factory in to_a2a() function (115124c)
  • add support for non-ADK produced input-required events (6e53472)
  • Added config option to include tool calls/responses in conversation history passed to user simulator (baf7efb)
  • ci: add Gemini auto review and invoke workflows (fd8b492)
  • Implement GCPSkillRegistry in ADK (88ebd42)
  • Implement Skill Registry in ADK (380d261)
  • Make Agent Skill description validation more informative (9f38973)
  • Simplify data retrieved handling of ask_data_agent tool and ask_data_insights tool (48f1b30)
  • Support OAuth PKCE in McpToolset (e7316dc)

Bug Fixes

  • agents: fix visibility of output_key state delta in callbacks (0524797)
  • anthropic: map negative thinking_budget to adaptive thinking (03b915b)
  • auth: persist refreshed OAuth2 credentials to store (218ea76), closes #5329
  • auth: remove unneeded OAuth flows (c35a579)
  • avoid pre-serializing dict values in Interactions API to prevent double-escaping (85f397d)
  • cache: enforce CacheMetadata active-state invariant (76b9f0b)
  • cache: handle fingerprint-only metadata in performance analyzer (9c5de58)
  • Catch OSError when importing AnthropicLlm (91cb5c6)
  • evaluation: handle none config in per_turn_user_simulator_quality (eed9bd3), closes #5677
  • fallback to project id if crendetials don't contain quota project (e377cb5)
  • Fix missing dynamically loaded tools in SkillToolset during the same invocation (f9097cb)
  • live: ensure sub live agent doesn't inherit session resumption handle from parent live agent to avoid interrupting the conversation (8dd9147)
  • models: preserve string content in Anthropic tool_result blocks (9a1e75f), closes #5358
  • models: preserve tool_use IDs for Anthropic models on session resume (327c45f), closes #5074
  • models: treat empty GenerateContentResponse without prompt feedback as successful (0cb9ae9)
  • only serialize llm_response to json if it will be included in the trace (1284493)
  • Preserve live_session_id in function call handling (07a9a01)
  • Prevent compaction of events involved in Human-in-the-Loop interactions (bb2efb6)
  • raise eagerly on importing AgentRegistry if a2a-sdk is missing (33cf6cb)
  • small: Convert events to the A2A format while respecting user vs agent role (59f7347)
  • tools: preserve code_execution_result and executable_code in AgentTool (7e61b51), closes #5481
  • tools: Prevent AnyIO CancelScope task boundary violations during MCP session creation failure (4309159)
  • Update model name in hello_world agent (192f19d)
  • Update model to gemini-3-flash-preview in hello word agent sample (6d89d21)
  • Update model to gemini-3-flash-preview in session state agent sample (2d423e8)
  • use tool_responses role for gemma4 models in LiteLLM integration (3d07960), closes #5650

Performance Improvements

  • lazy-load service registries and split apps.app to cut cold start ~8% (bd062ec)
  • models: guard debug log evaluation with isEnabledFor (57d8fc7)
  • utils: cache find_context_parameter introspection (ec54bd4)

Code Refactoring

  • Make the "a2a_metadata" string a constant that can be depended on by extension developers (0821f2d)