github google/adk-python v1.34.0

4 hours ago

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)

Don't miss a new adk-python release

NewReleases is sending notifications on new releases.