Skip to content

Releases: google/adk-python

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-...
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)

v1.33.0

08 May 21:08

Choose a tag to compare

1.33.0 (2026-05-08)

Features

  • add BufferableSessionService (0bc767e)
  • apigee: allow injecting credentials into ApigeeLlm (ce578ff)
  • Make ADK environment tools truncation limit configurable (83ae405)
  • models: add get_function_calls and get_function_responses to LlmResponse (22fae7e)

Bug Fixes

  • catch genai.ClientError when sandbox is missing (69fa777), closes #5480
  • double append bug (f8b4c59)
  • Filter out video events with inline data from being stored in session (88421f8)
  • fix fork detection, correct offload limits, and add response logging in BigQuery plugin (9d1bb4b)
  • hot reload agents for adk web (740557c)
  • Only append skills to system instruction if ListSkillsTool isn't available (01f1fc9)
  • prevent state_delta overwrite on function_response-only events (fc27203, 211e2ce), closes #3178
  • Raise a clear actionable error when CustomAuthScheme lacks a registered AuthProvider (83f9817)
  • should use app_name instead of req.app_name (8286066)
  • simulation: Add error message when LlmBackedUserSimulator returns empty response (fb92aad)
  • Update expressmode api call to include default api key param (e833995)
  • use asyncio.sleep to avoid blocking event loop (3a1eadc)
  • Use project and location instead of API key when deploying to agent engine (398f28f)

Code Refactoring

  • adjust computation of workflow.steps metric and add new unit tests (03d6208)
  • remove input.type and output.type attributes from adk metrics (9559968)

v1.32.0

01 May 00:20

Choose a tag to compare

1.32.0 (2026-04-30)

Features

  • Add an option to prevent the SaveFilesAsArtifactsPlugin from attaching reference file parts to the message (987c809)
  • add credentials parameter to BigQueryAgentAnalyticsPlugin (34713fb)
  • Add express mode onboarding support to adk deploy cli (2b04996)
  • add native OpenTelemetry agentic metrics (6942aac)
  • Add OpenTelemetry tracing for event compaction (c65dd55)
  • Add sample agent demonstrating 2LO, 3LO, and API Key auth via GcpAuthProvider (909a8c2)
  • Add support for Anthropic's thinking blocks (16952bd)
  • Add support for excluding predefined functions in ComputerUseToolset (d760037)
  • Add support for refusal messages in ApigeeLlm (d6594a1)
  • Added indication of user message in history event list (662354a)
  • Allow user to define credential_key for McpToolset (282db87), closes #5103
  • analytics: add support for logging LLM cache metadata to BigQuery (02deeb9)
  • eval: add evaluate_full_response option to rubric-based evaluation (#5316) (7623ff1)
  • live: Add save_live_blob query parameter to /run_live endpoint (36ab8f1)
  • mcp: gracefully handle tool execution errors and transport crashes (7744cfe)

Bug Fixes

  • accumulate list values when merging parallel tool call state_delta (b0b8b31), closes #5190
  • Add support for overriding the API version in GoogleLLM (1cdd1e7)
  • auth: isolate resolved credentials in context to prevent race conditions and data leakage (5578772)
  • avoid double-execution of sync FunctionTools returning None (78a8851), closes #5284
  • block RCE vulnerability via nested YAML configurations in ADK (74f235b)
  • bump Vertex SDK version (6380f6a)
  • cancel siblings in parallel function calling on failure (49985c9)
  • Capture and include LLM usage metadata in summarized events (5ce33b9), closes #4014
  • catch ValueError in safe-JSON serializers for circular refs (70a7add), closes #5412
  • deps: bump litellm cap to >=1.83.7 to admit CVE patches (6d2ada8)
  • Disable bound token for mcp_tool (4c0c6db)
  • fix dataset location handling in BigQueryAgentAnalyticsPlugin (c263426)
  • Fix exception handling and argument order in ReflectRetryToolPlugin (1deab6d)
  • Fix GcpAuthProvider to return capitalized Bearer scheme (ad937fe)
  • fix lifecycle issues with credentials in BigQuery Agent Analytics Plugin (a69f861)
  • Fix malformated skill.md (9a0d2f7)
  • Fix misplaced pytest decorator on helper dataclass in 2LO integration tests (2343973)
  • Fix RecursionError in ADK framework by adding circular reference detection to schema resolution (7de5bc5)
  • fix rewind to preserve initial session state (af1b00a), closes #4933
  • Fix SSRF and local-file access in load_web_page (0447e93)
  • handle None state values in skill_toolset after session rewind (a977aa3)
  • litellm: emit input_audio for audio inline_data parts (4073238), closes #5406
  • live: mark all agents' Event as from other agents (48b7a64)
  • live: treat input transcription as user message (ae1f2e6)
  • optimization: handle None metric scores in LocalEvalSampler (#5415) (684a6e7)
  • otel: change gen_ai.tool_definitions to gen_ai.tool.definitions (029b87d)
  • preserve cache fingerprint stability on creation failure (4d5438c)
  • preserve empty-string text parts in A2A converter (2d61cb6)
  • preserve function call IDs for Anthropic models (f0c787f)
  • Prevent LoopAgent from resetting sub-agent state on pause (8846be5)
  • Quote user_id literals in VertexAiSessionService list filters (bdece00)
  • read_file/write_file path type mismatch in BaseEnvironment and LocalEnvironment (782796f)
  • relax EventActions.state_delta value type to Any (dbec8e9)
  • remove exclude_unset=True to correctly serialize pydantic types (f95ac48)
  • samples: Upgrade google-adk to 1.28.1 to fix vulnerability (b848390)
  • Sanitize user_id derived from PubSub subscription and Eventarc source (0c4f157), closes #5324
  • Scope Vertex RAG memory display names (784350d)
  • Use correct camelCase functionCallId (c87ee1e)
  • web oauth flow and trace view (87cd310)
  • yield tool_call_parts immediately in live mode to unblock Gemini 3.1 tool calls (f57b05d)

Performance Improvements

  • lazy-load optional providers and auth chain to cut cold start ~25% (66bfedc)

Code Refactoring

  • move exception handling from metric emission into instrumentation handlers (62d7ee0)
  • tests: Refactor tests to explicitly handle JSON_SCHEMA_FOR_FUNC_D...
Read more

v2.0.0b1

22 Apr 16:04

Choose a tag to compare

v2.0.0b1 Pre-release
Pre-release

2.0.0-beta.1 (2026-04-21)

Highlights

  • Transition to Beta: Updated documentation to reflect the project's move to Beta phase (84e792fd).
  • Security Fix: Resolved a potential RCE vulnerability related to nested YAML configurations (2b54c4ac).
  • Documentation & Style: Modularized the ADK style guide and added new topics (9bb21795).
  • Workflow Orchestration Core:
    • Added the full Workflow(BaseNode) graph orchestration implementation (c25d86f1).
    • Introduced NodeRunner for per-node execution isolation (0b3e7043).
    • Added DefaultNodeScheduler for standalone node resume via ctx.run_node() (a68e70d5).
  • Agent Execution Models:
    • Added explicit ReAct loop nodes to replace legacy single agent flows (94453619).
    • Supported BaseNode as the root in both the Runner and the CLI (91b56b9a, 1c2a81bb).
  • State & Resumption:
    • Added Human-in-the-loop (HITL) resume via event reconstruction (ca327329).
    • Added lazy scan deduplication and resume for dynamic nodes (d600b195).
    • Supported flushing state/artifact deltas onto yielded events (00153088).
  • Performance:
    • Optimized execution by bypassing the Mesh for leaf single-turn LlmAgent instances (d864917f).

v1.31.1

21 Apr 02:05
fb77fad

Choose a tag to compare

1.32.0 (2026-04-21)

Bug Fixes

  • block RCE vulnerability via nested YAML configurations in ADK (e283ea0)
  • bump Vertex SDK version (21ebe29)
  • Disable bound token for mcp_tool (d0afddd)
  • web oauth flow and trace view (c3dafdb)