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