Releases: google/adk-python
Releases · google/adk-python
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)
Code Refactoring
v1.32.0
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_definitionstogen_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...
v2.0.0b1
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:
- Agent Execution Models:
- State & Resumption:
- Performance:
- Optimized execution by bypassing the Mesh for leaf single-turn
LlmAgentinstances (d864917f).
- Optimized execution by bypassing the Mesh for leaf single-turn
v1.31.1
v1.31.0
1.31.0 (2026-04-16)
Features
- New Live UI: Redesigned the real-time chat and testing interface for a cleaner, more responsive user experience.
- Session Display Names: Added the ability to name and organize debug sessions for easier tracking.
- New Events and Trace View: Overhauled the execution log into a structured trace for better visibility into agent logic.
- New Graph View: Introduced a visual canvas to map out and manage agent architectures and node relationships.
- Event Filtering: Added granular controls to filter the event stream by message type, tools, or errors.
- New Computer Use View: Implemented a dedicated UI for visualizing screenshots and logs during computer-use tasks.
- Add "google-adk" user agent to Parameter Manager and Secret Manager clients (b8e8f6b)
- Add support for memories.ingest_events in VertexAiMemoryBankService (d69477f)
- Add Vertex AI Agent Engine Sandbox integration for computer use (7686848)
- Firestore support (1a9df8f)
- live: Add live_session_id to LlmResponse (bf84e2c)
Bug Fixes
- Bump minimum mcp version from 1.23.0 to 1.24.0 (494c360)
- cli: correct console URL path after adk deploy agent_engine (64ed1a6), closes #5336
- execute on_event_callback before append_event to persist plugin modifications (454188d), closes #3990
- make
_EvalMetricResultWithInvocation.expected_invocationOptionalfor conversation_scenario support (#5215) (a4c9387) - Pass in auth headers with header provider instead of connection params (e12b0af)
- populate required fields in FunctionDeclaration json_schema fallback (9b9faa4)
- Resolve BigQuery plugin issues with A2A transfers, spans, and metadata (9ca8c38)
- upgrade google-genai lower bound (8bc5728)
Code Refactoring
- live: Use
send_client_contentto send conversation history (67dc2eb) - live: Use
send_tool_responsefor function responses (70c5fc8)
Documentation
- update MCP Toolbox branding, binary version, and asset references (47fa7b7)
v1.30.0
1.30.0 (2026-04-13)
Features
- Add Auth Provider support to agent registry (f2c68eb)
- Add Parameter Manager integration to ADK (b0715d7)
- Add support for Gemma 4 models in ADK (9d4ecbe), closes #5156
- allow users to include artifacts from artifact_service in A2A events using provided interceptor (e63d991)
- emit a
TaskStatusUpdateEventfor ADK events with no output parts but with event.actions (dcc485b) - Live avatar support in ADK (a64a8e4)
- live: expose live_session_resumption_update as Event in BaseLlmFlow (2626ad7), closes #4357
- Promote BigQuery tools to Stable (abcf14c)
- samples: add sample for skill activation via environment tools (2cbb523)
Bug Fixes
- Add "gcloud config unset project" command to express mode flow (e7d8160)
- avoid load all agents in adk web server (cb4dd42)
- Change express mode user flow so it's more clear that an express mode project is being created (0fedb3b)
- Custom pickling in McpToolset to exclude unpicklable objects like errlog (d62558c)
- Fix credential leakage vulnerability in Agent Registry (e3567a6)
- Include a link to the deployed agent (547766a)
- preserve interaction ids for interactions SSE tool calls (9a19304), closes #5169
- validate user_id and session_id against path traversal (cbcb5e6), closes #5110