github google/adk-python v2.2.0

8 hours ago

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-Runner (2a68c4e)
  • tools: Prevent broken skill tool references when prefix is set and support tool_filter (4366cca)
  • tools: Shell escape path and range in ReadFileTool command (e16629b)
  • validate session_id and enforce ownership in delete_session (b2916c7)
  • workflow: Prevent incorrect chat agent wiring in graphs (d7aa7b5), closes #5868
  • workflow: Resolve raw Content output crash on rehydration (4f992b0)

Performance Improvements

  • flows: Resolve agent tool unions in parallel (ae95a97)

Code Refactoring

  • agents: default model to gemini-3-flash-preview (ad8b6c7)
  • tests: Consolidate event tests into test_event.py (77aeadf)
  • tools: Split environment tools into single-class _tool files (1cc298e)
  • update tool and agent retrieval functions to support asynchronous execution (e623b3b)

Documentation

  • skills: Use default model in sample agent templates (2d465aa)

Maintenance (repo tooling, not library changes)

  • skills: Add adk-issue skill to analyze and triage GitHub issues (be03166)
  • skills: Add adk-review skill for rigorous change quality control (cc6f78c)
  • skills: Automate PR triage and CLA verification (ce9011c)
  • skills: Enforce PR assignment gates and stream metadata via stdout (4006fe4)
  • skills: Split adk-issue skill to separate issue analysis from implementation (51b18eb)
  • agents: Improve git hygiene in adk-pr-triage skill (62bcdd3)
  • agents: Add issue closing support to PR triage skill (2748c1b)
  • skills: Add rule to specify GitHub issues in commit messages (8f2c1e3)

Don't miss a new adk-python release

NewReleases is sending notifications on new releases.