github google/adk-python v2.6.0

latest release: v1.37.0
9 hours ago

2.6.0 (2026-07-29)

Features

  • a2a: support per-invocation auth headers when fetching agent cards (3dd1156)
  • add --extra_packages option to adk deploy agent_engine (93db97d), closes #3936
  • Add ADK evaluation samples: shared home-automation agent (6ba41ef)
  • add agent identity auth manager finalize endpoint for 3 legged OAuth flow with auth manager (8d2ded3)
  • Add basic_criteria ADK eval sample (fdebd9d)
  • Add bigquery-graph skill to ADK BigQuery tools (f1a0a14)
  • add capability to log commands run in CLI (a58220c)
  • Add custom_metric ADK eval sample (f71d9df)
  • Add llm_judge_match ADK eval sample (0f0fa6b)
  • add metadata extraction symmetry to A2A converters (3127f36)
  • add opt-in final_response_tool_names to BigQueryAgentAnalyticsPlugin (07455ee)
  • Add ReflectAndRetryModelPlugin for self-healing model errors (322f455)
  • Add rubric_criteria ADK eval sample (852a66a)
  • add state_delta support to LiveRequest for live mode (8219774), closes #4220
  • add telemetry consent check, status commands, and interrupt safety to CLI (6bab08f)
  • Add telemetry consent configuration endpoints and local writing utility (26f3d45)
  • add telemetry metrics collection for ADK CLI execution (2280f1c)
  • Add test_file_vs_evalset ADK eval sample (57a34ba)
  • Add user_simulation ADK eval sample (481fe21)
  • agents: add instruction field to ManagedAgent (720af3d)
  • agents: forward ManagedAgent instruction as system_instruction (49fdc26)
  • eval: Make live and audio evals reachable via public entrypoints (5091f0a)
  • eventarc: add Eventarc Advanced toolset for ADK (217a90a)
  • eventarc: add Eventarc Advanced toolset for ADK (d4f157d)
  • forward the OAuth2 nonce to the authorization request (79cc1f2), closes #2067
  • integrations: add OCI Generative AI provider (625ef1a), closes #5069
  • make agent evaluation compatible with pre-loaded artifacts (02e32a4), closes #2075
  • make EventsCompactionConfig sliding-window fields optional (ec42cfa), closes #6398
  • Publish companion constraints-3.11.txt and constraints-3.12.txt file for transitive dependency protection (4 day buffer to protect from supply chain attack) (75c773e)
  • refresh expired OAuth2 tokens in OpenAPI credential exchanger (b3c9783)
  • samples: add ManagedAgent create-and-use custom-agent sample (d86ae20)
  • support audio generation user simulator (327afeb)
  • support serving a to_a2a agent under a path prefix (1ae292f), closes #4448
  • support user labels in RunConfig (13bef9c)
  • telemetry: add request-driven metric export for Agent Engine (8930d9b)
  • telemetry: derive gen_ai error.type from provider status code (b956d15)
  • Update agent_registry to handle mTLS endpoints internally (66cf08d)

Bug Fixes

  • a2a: honor task cancellation instead of raising NotImplementedError (fb55d4a)
  • agents: await cancelled tasks in pre-3.11 ParallelAgent merge (bc55099), closes #5297
  • agents: skip output_key processing on intermediate conversational text in task-mode LlmAgent (54344ed)
  • allow http_options.extra_body in generate_content_config (4c6f22e)
  • allow invocation-level rubrics (67ab27f)
  • artifacts: namespace file artifacts by app (f72f0db)
  • assemble only the current turn (c328cec)
  • bound integration HTTP waits (bf4143a)
  • bypass Protobuf Gencode/Runtime version check in antigravity integration (91038f2)
  • caching: prevent prompt cache invalidation when using dynamic tools (509be09), closes #3227
  • Call mtls.should_use_mtls_endpoint with client_cert_available argument (b315b00)
  • canonicalize context cache fingerprint for stable hashing (425dda1)
  • ci: mark imported PRs as merged even if already closed (2eca8b1)
  • cli: treat agent folder with subfolders as single agent in adk web (40cf97b)
  • close A2A response stream when the caller stops consuming (31392ba)
  • close AsyncDaytona client in DaytonaEnvironment.close (ecf6d13)
  • collect all tools so native tools aren't dropped (c429d75), closes #6091
  • derive an SDK-conforming Antigravity conversation id (64b758a)
  • do not mount a cluster credential into the GKE code sandbox (8207880)
  • emit only new artifact parts on streaming artifact updates (088be86), closes #6343
  • emit resumability checkpoints from workflow graph nodes (cecc1f9)
  • eval: support get_agent_async in adk eval (ebaef9f)
  • evaluation: support non-English responses in ROUGE-1 matching (8200fae)
  • guard multimodal tool results plugin against empty contents (5a248de)
  • handle Windows paths in adk eval (6f6106f), closes #6415
  • harden A2A metadata serialization and parser type validation (eee700a)
  • include credential failure details (13c7272)
  • isolate delegated task branches (95feafa), closes #6457
  • let httpx set the multipart boundary Content-Type (3367b5b)
  • make InvocationEvent.content optional so the Web UI can save eval cases (b549ab4), closes #6336
  • make ParallelWorker concurrent failure exceptions deterministic (d31b5e7)
  • match rubric verdicts by echoed id so paraphrased rubrics are not dropped (0b7355b), closes #6171
  • memory: honor Vertex RAG top-k configuration (d4d2f6e)
  • memory: make Vertex RAG uploads async-safe (80a05b7)
  • migrate v0 event timestamps as local time, not UTC (6f1efe7)
  • models: capture Anthropic thinking-block signatures during streaming (bb56aa5)
  • models: guard Gemini.client_kwargs against missing-field AttributeError (df02689)
  • models: populate finish_reason on AnthropicLlm responses (716be89)
  • narrow broad except in agent identity credential providers (0598c9b)
  • percent-encode context id fields so ids with separators round-trip (fab5347)
  • pin third-party github actions to commit shas (4e16855)
  • plugins: complete BigQuery Agent Analytics privacy and shutdown hardening (9adf011)
  • plugins: correct lazy import path for ReflectAndRetryModelPlugin (c59fd0e)
  • plugins: harden BigQuery agent analytics against fail-open privacy, GCS concurrency, and startup-loss gaps (2919bf5)
  • plugins: restore failure counter properties on retry tool plugin (66a7233)
  • populate finish_reason on Anthropic LLM responses (802a079)
  • populate function name in FunctionResponse parts (540cfdf)
  • present client certificate and use mTLS endpoint for API Hub calls (2cf5433)
  • preserve ADK behavior on Windows (6e9895c)
  • preserve explicit false and zero OpenAPI query parameters (b3abcb2), closes #6287
  • preserve metadata in A2A artifact updates (2316b83)
  • Prevent adk deploy from uploading .adk/session.db file (dab351b)
  • Prevent continuation forgery in tool confirmation (4b002c4)
  • prevent transfer_to_agent loop on resumable invocation replay (19df9b9)
  • propagate custom metadata from RunConfig to InvocationContext (79ba5af)
  • raise SessionNotFoundError when appending to a missing session (0a70337)
  • register custom metrics from eval config in LocalEvalSampler (79a879f), closes #6177
  • reject base_url and extra_body in generate_content_config (472e463)
  • reject incomplete evaluation inputs (8ca9128)
  • require patched async LangGraph runtime (551372b)
  • resolve tool confirmation resumption failure in production (c427020)
  • respect A2A Message.role in inbound event conversion (968845f), closes #5186
  • return empty list from _get_required_fields when no properties (1890557), closes #5920
  • scope replay sequence to the current invocation (455853b), closes #6497
  • scope the tool thread pool to its event loop (a1792a7)
  • send the bare input_schema payload from AgentTool again (ba17367)
  • serialize eval criteria as their concrete subclass (623da49)
  • serialize raw bytes as base64 in A2A converters (e6604e1)
  • sessions: apply after_timestamp and num_recent_events together in VertexAiSessionService (021f6f6)
  • share one event id across the partial chunks of a streaming response (8f98bcd), closes #1006
  • single-flight Discovery Engine mode detection (3a9a88c), closes #6101
  • stop automatic function calling from failing on Vertex AI return types (268815d), closes #3543
  • stop tracing credentials passed via config.http_options (761f1ac)
  • strip markdown code fences before validating output_schema JSON (28c649a)
  • support nested agent paths in dot_adk_folder resolution (d33ca5f)
  • surface sub-agent RPC errors from AgentTool (e737f22)
  • tolerate a malformed traceparent header in the span processor (de2e66e)
  • tools: bind JSONDecodeError in ToolConnectionAnalyzer.analyze (a60d5b9)
  • treat GitHub content as untrusted in the adk_team sample agents (f4979b5)
  • wait for in-flight BigQuery writes (6e43800)
  • workflow: fix task agent resumption in nested workflows (fd006db)
  • wrap input_schema payload in ReAct prompt and propagate tool_choice to LiteLLM (550189c)

Performance Improvements

  • avoid quadratic text/audio accumulation in streaming (7fd8760)
  • cache the FunctionTool declaration across LLM calls (57f3af2)
  • import: lazy-load heavy dependencies (88b388e)
  • tools: avoid double Schema serialization in Optional/Union dedup (6264576)

Documentation

  • Add developer unit guide for ReflectAndRetryToolPlugin (94832a5)
  • agents: add system-instruction sample and guide section (597fac3)
  • document creating and using a custom managed agent (52c3e9e)
  • document workflow resumability model and direction (d4804e2)
  • explain how an accepted pull request lands (b6c2575)
  • fix broken relative links in documentation (096ecfc)

Don't miss a new adk-python release

NewReleases is sending notifications on new releases.