Skip to content

Releases: google/adk-python

v1.27.4

24 Mar 23:44
07f542e

Choose a tag to compare

1.27.4 (2026-03-24)

Bug Fixes

  • Exclude compromised LiteLLM versions from dependencies pin to 1.82.6 (fa5e707)
  • gate builder endpoints behind web flag (44b3f72)

v1.27.3

23 Mar 23:04
74033e4

Choose a tag to compare

1.27.3 (2026-03-23)

Bug Fixes

  • add protection for arbitrary module imports (276adfb)

v2.0.0a1

18 Mar 16:40

Choose a tag to compare

v2.0.0a1 Pre-release
Pre-release

Features

Introduces two major capabilities:

  • Workflow runtime: graph-based execution engine for composing
    deterministic execution flows for agentic apps, with support for
    routing, fan-out/fan-in, loops, retry, state management, dynamic
    nodes, human-in-the-loop, and nested workflows
  • Task API: structured agent-to-agent delegation with multi-turn
    task mode, single-turn controlled output, mixed delegation
    patterns, human-in-the-loop, and task agents as workflow nodes

v1.27.2

17 Mar 21:12

Choose a tag to compare

Bug Fixes

  • Use valid dataplex OAuth scope for BigQueryToolset (4010716)
  • Store and retrieve usage_metadata in Vertex AI custom_metadata (b318eee)

v1.27.1

13 Mar 23:05

Choose a tag to compare

Bug Fixes

  • Rolling back change to fix issue affecting LlmAgent creation due to missing version field (0e18f81)

v1.27.0

12 Mar 22:48

Choose a tag to compare

Features

  • [Core]

    • Introduce A2A request interceptors in RemoteA2aAgent (6f772d2)
    • Add UiWidget to EventActions for supporting new experimental UI Widgets feature (530ff06)
    • auth: Add pluggable support for auth integrations using AuthProviderRegistry within CredentialManager (d004074)
    • Support all types.SchemaUnion as output_schema in LLM Agent (63f450e)
    • durable runtime support (07fdd23)
    • runners: pass GetSessionConfig through Runner to session service (eff724a)
  • [Models]

    • Add support for PDF documents in Anthropic LLM (4c8ba74)
    • Add streaming support for Anthropic models (5770cd3), closes #3250
    • Enable output schema with tools for LiteLlm models (89df5fc), closes #3969
    • Preserve thought_signature in LiteLLM tool calls (ae565be), closes #4650
  • [Web]

    • Updated human in the loop: developers now can respond to long running functions directly in chat
    • Render artifacts when resuming
    • Fix some light mode styles
    • Fix token level streaming not working properly (22799c0)
  • [Observability]

    • telemetry: add new gen_ai.agent.version span attribute (ffe97ec)
    • otel: add gen_ai.tool.definitions to experimental semconv (4dd4d5e)
    • otel: add experimental semantic convention and emit gen_ai.client.inference.operation.details event (19718e9)
    • add missing token usage span attributes during model usage (77bf325)
    • capture tool execution error code in OpenTelemetry spans (e0a6c6d)
  • [Tools]

    • Warn when accessing DEFAULT_SKILL_SYSTEM_INSTRUCTION (35366f4)
    • add preserve_property_names option to OpenAPIToolset (078b516)
    • Add gcs filesystem support for Skills. It supports skills in text and pdf format, also has some sample agents (6edcb97)
    • Add list_skills_in_dir to skills utils (327b3af)
    • Add support for MCP App UI widgets in MCPTool (86db35c)
    • add Dataplex Catalog search tool to BigQuery ADK (82c2eef)
    • Add RunSkillScriptTool to SkillToolset (636f68f)
    • Add support for ADK tools in SkillToolset (44a5e6b)
    • limit number of user-provided BigQuery job labels and reserve internal prefixes (8c4ff74)
    • Add param support to Bigtable execute_sql (5702a4b)
    • bigtable: add Bigtable cluster metadata tools (34c560e)
    • execute-type param addition in GkeCodeExecutor (9c45166)
    • skill: Add BashTool (8a31612)
    • Add support for toolsets to additional_tools field of SkillToolset (066fcec)
  • [Optimization]

    • Add adk optimize command (b18d7a1)
    • Add interface between optimization infra and LocalEvalService (7b7ddda)
    • Add GEPA root agent prompt optimizer (4e3e2cb)
  • [Integrations]

    • Enhance BigQuery plugin schema upgrades and error reporting (bcf38fa)
    • Enhance BQ plugin with fork safety, auto views, and trace continuity (80c5a24)
    • Handle Conflict Errors in BigQuery Agent Analytics Plugin (372c76b)
    • Added tracking headers for ADK CLI command to Agent Engine (3117446)
  • [A2A]

    • New implementation of A2aAgentExecutor and A2A-ADK conversion (87ffc55)
    • New implementation of RemoteA2aAgent and A2A-ADK conversion (6770e41)

Bug Fixes

  • Allow artifact services to accept dictionary representations of types.Part (b004da5), closes #2886
  • Decode image data from ComputerUse tool response into image blobs (d7cfd8f)
  • Expand LiteLLM reasoning extraction to include 'reasoning' field (9468487), closes #3694
  • Filter non-agent directories from list_agents() (3b5937f)
  • Fix Type Error by initializing user_content as a Content object (2addf6b)
  • Handle length finish reason in LiteLLM responses (4c6096b), closes #4482
  • In SaveFilesAsArtifactsPlugin, write the artifact delta to state then event actions so that the plugin works with ADK Web UI's artifacts panel (d6f31be)
  • Make invocation_context optional in convert_event_to_a2a_message (8e79a12)
  • Optimize row-level locking in append_event (d61846f), closes #4655
  • Preserve thought_signature in FunctionCall conversions between GenAI and A2A (f9c104f)
  • Prevent splitting of SSE events with artifactDelta for function resume requests (6a929af), closes #4487
  • Propagate file names during A2A to/from Genai Part conversion (f324fa2)
  • Propagate thought from A2A TextPart metadata to GenAI Part (e59929e)
  • Re-export DEFAULT_SKILL_SYSTEM_INSTRUCTION to skills and skill/prompt.py to avoid breaking current users (de4dee8)
  • Refactor type string update in Anthropic tool param conversion (ab4b736)
  • simulation: handle NoneType generated_content (9d15517)
  • Store and retrieve EventCompaction via custom_metadata in Vertex AISessionService ([2e434ca](2e434ca7be765d...
Read more

v1.26.0

26 Feb 23:35

Choose a tag to compare

1.26.0 (2026-02-26)

Features

  • [Core]

    • Add intra-invocation compaction and token compaction pre-request (485fcb8)
    • Use --memory_service_uri in ADK CLI run command (a7b5097)
  • [Models]

    • Add /chat/completions integration to ApigeeLlm (9c4c445)
    • Add /chat/completions streaming support to Apigee LLM (121d277)
    • Expand LiteLlm supported models and add registry tests (d5332f4)
  • [Tools]

    • Add load_skill_from_dir() method (9f7d5b3)
    • Agent Skills spec compliance — validation, aliases, scripts, and auto-injection (223d9a7)
    • BigQuery ADK support for search catalog tool (bef3f11)
    • Make skill instruction optimizable and can adapt to user tasks (21be6ad)
    • Pass trace context in MCP tool call's _meta field with OpenTelemetry propagator (bcbfeba)
  • [Evals]

    • Introduce User Personas to the ADK evaluation framework (6a808c6)
  • [Services]

    • Add generate/create modes for Vertex AI Memory Bank writes (811e50a)
    • Add support for memory consolidation via Vertex AI Memory Bank (4a88804)
  • [A2A]

    • Add interceptor framework to A2aAgentExecutor (87fcd77)
  • [Auth]

    • Add native support for id_token in OAuth2 credentials (33f7d11)
    • Support ID token exchange in ServiceAccountCredentialExchanger (7be90db), closes #4458
  • [Integrations]

    • Agent Registry in ADK (abaa929)
    • Add schema auto-upgrade, tool provenance, HITL tracing, and span hierarchy fix to BigQuery Agent Analytics plugin (4260ef0)
    • Change default BigQuery table ID and update docstring (7557a92)
    • Update Agent Registry to create AgentCard from info in get agents endpoint (c33d614)
  • [Web]

    • Enable dependency injection for agent loader in FastAPI app gen (34da2d5)

Bug Fixes

  • Add OpenAI strict JSON schema enforcement in LiteLLM (2dbd1f2), closes #4573
  • Add push notification config store to agent_to_a2a (4ca904f), closes #4126
  • Add support for injecting a custom google.genai.Client into Gemini models (48105b4), closes #2560
  • Add support for injecting a custom google.genai.Client into Gemini models (c615757), closes #2560
  • Check both input_stream parameter name and its annotation to decide whether it's a streaming tool that accept input stream (d56cb41)
  • deps: Increase pydantic lower version to 2.7.0 (dbd6420)
  • edit copybara and BUILD config for new adk/integrations folder (added with Agent Registry) (37d52b4)
  • Expand add_memory to accept MemoryEntry (f27a9cf)
  • Fix pickling lock errors in McpSessionManager (4e2d615)
  • fix typo in PlanReActPlanner instruction (6d53d80)
  • handle UnicodeDecodeError when loading skills in ADK (3fbc27f)
  • Improve BigQuery Agent Analytics plugin reliability and code quality (ea03487)
  • Include list of skills in every message and remove list_skills tool from system instruction (4285f85)
  • Invoke on_tool_error_callback for missing tools in live mode (e6b601a)
  • Keep query params embedded in OpenAPI paths when using httpx (ffbcc0a), closes #4555
  • Only relay the LiveRequest after tools is invoked (b53bc55)
  • Parallelize tool resolution in LlmAgent.canonical_tools() (7478bda)
  • race condition in table creation for DatabaseSessionService (fbe9ecc)
  • Re-export DEFAULT_SKILL_SYSTEM_INSTRUCTION to skills and skill/prompt.py to avoid breaking current users (40ec134)
  • Refactor LiteLLM streaming response parsing for compatibility with LiteLLM 1.81+ (e8019b1), closes #4225
  • remove duplicate session GET when using API server, unbreak auto_session_create when using API server (445dc18)
  • Remove experimental decorators from user persona data models (eccdf6d)
  • Replace the global DEFAULT_USER_PERSONA_REGISTRY with a function call to get_default_persona_registry (2703613)
  • skill: coloate default skill SI with skilltoolset (fc1f1db)
  • Update agent_engine_sandbox_code_executor in ADK (ee8d956)
  • Update agent_engine_sandbox_code_executor in ADK (dab80e4)
  • Update sample skills agent to use weather-skill instead of weather_skill (8f54281)
  • update Spanner query tools to async functions (1dbcecc)
  • use correct msg_out/msg_err keys for Agent Engine sandbox output (b1e33a9)
  • Validate session before streaming instead of eagerly advancing the runner generator (ab32f33)
  • web: allow session resume without new message (30b2ed3)

Code Refactoring

  • Extract reusable function for building agent transfer instructions (e1e0d63)
  • Extract reusable private methods (976a238)
  • Extract reusable private methods (42eeaef)
  • Extract reusable private methods (706f9fe)

Documentation

...

Read more

v1.25.1

18 Feb 22:20

Choose a tag to compare

1.25.1 (2026-02-18)

Bug Fixes

  • Fix pickling lock errors in McpSessionManager (4e2d615)

v1.25.0

11 Feb 22:59

Choose a tag to compare

1.25.0 (2026-02-11)

Features

  • [Core]

    • Add a demo for the simple prompt optimizer for the optimization interface (0abf4cd)
    • Add --auto_create_session flag to adk api_server CLI (40c15d0)
    • Add add_events_to_memory facade for event-delta (59e8897)
    • Add post-invocation token-threshold compaction with event retention (a88e864)
    • Add report generation to adk conformance test command (43c437e)
  • [Models]

    • Add base_url option to Gemini LLM class (781f605)
  • [Tools]

    • Enhance google credentials config to support externally passed access token (3cf43e3)
    • Update agent simulator by improving prompts and add environment data (7af1858)
    • Add a load MCP resource tool (e25227d)
    • Add SkillToolset to adk (8d02792)
  • [Web]

    • Add /health and /version endpoints to ADK web server (25ec2c6)

Bug Fixes

  • Use async iteration for VertexAiSessionService.list_sessions pagination (758d337)
  • Fix event loop closed bug in McpSessionManager (4aa4751)
  • Preserve thought_signature in function call conversions for interactions API integration (2010569)
  • Propagate grounding and citation metadata in streaming responses (e6da417)
  • Add endpoints to get/list artifact version metadata (e0b9712)
  • Support escaped curly braces in instruction templates (7c7d25a)
  • Strip timezone for PostgreSQL timestamps in DatabaseSessionService (19b6076)
  • Prompt token may be None in streaming mode (32ee07d)
  • Pass invocation_id from /run endpoint to Runner.run_async (d2dba27)
  • Conditionally preserve function call IDs in LLM requests (663cb75)
  • Migrate VertexAiMemoryBankService to use the async Vertex AI client (64a44c2)
  • Handle list values in Gemini schema sanitization (fd8a9e3)
  • Used logger to log instead of print in MCP (6bc70a6)

Improvements

  • Replace check of instance for LlmAgent with hasAttribute check (7110336)
  • Log exception details before re-raising in MCP session execution (de79bf1)

v1.24.1

06 Feb 18:57

Choose a tag to compare

1.24.1 (2026-02-06)

Bug Fixes

  • Add back deprecated eval endpoint for web until we migrate(ae993e8)
  • Update eval dialog colors, and fix a2ui component types (3686a3a)