Releases: google/adk-python
Releases · google/adk-python
Release 1.35.2
Release 1.35.1
Release 1.35.0
1.35.0 (2026-06-10)
Features
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
2.2.0 (2026-06-04)
⚠ BREAKING CHANGES
- agents:
LlmAgentdefault model changed fromgemini-2.5-flashtogemini-3-flash-preview(a preview model), ahead of the 2026-10-16gemini-2.5-flashshutdown. Agents without an explicitmodel=now run on the new preview default; setmodel="gemini-2.5-flash"to retain prior behavior.DEFAULT_LIVE_MODELis unchanged. (ad8b6c7) - interactions: GenAI SDK v2.0.0 support renames the turn-based helpers in
interactions_utils.py(e.g.convert_contents_to_turns→convert_contents_to_steps) and moves from "turns" to "steps" terminology. Update any direct callers. (da1d8f1)
Features
- Add
--trigger_sourcesand ADK service options tocli_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...
Release 1.34.2
v2.1.0
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
v2.0.0
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
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
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)