Skip to content

Releases: google/adk-python

Release 1.15.1

26 Sep 22:42
Compare
Choose a tag to compare

1.15.1 (2025-09-26)

Bug Fixes

  • Fix the deployment failure for Agent Engine (e172811)

Release 1.15.0

26 Sep 05:18
Compare
Choose a tag to compare

1.15.0 (2025-09-24)

Features

  • [Core]
    • Adding the ContextFilterPlugin (a06bf27)
    • Adds plugin to save artifacts for issue #2176 (657369c)
    • Expose log probs of candidates in LlmResponse (f7bd3c1)
  • [Context Caching]
    • Support context caching (c66245a)
      • Support explicit context caching auto creation and lifecycle management.

        Usage: App(root_agent=..., plugins=..., context_cache_config=...)

    • Support non-text content in static instruction (61213ce)
    • Support static instructions (9be9cc2)
      • Support static instruction that won't change, put at the beginning of
        the instruction.
        Static instruction support inline_data and file_data as contents.
        Dynamic instruction moved to the end of LlmRequest, increasing prefix
        caching matching size.

        Usage:
        LlmAgent(model=...,static_instruction =types.Content(parts=...), ... )

  • [Telemetry]
    • Add --otel_to_cloud experimental support (1ae0b82, b131268, 7870480)
    • Add GenAI Instrumentation if --otel_to_cloud is enabled (cee365a)
    • Support standard OTel env variables for exporter endpoints (f157b2e)
    • Temporarily disable Cloud Monitoring integration in --otel_to_cloud (3b80337)
  • [Services]
    • Add endpoint to generate memory from session (2595824)
  • [Tools]
    • Add Google Maps Grounding Tool to ADK (6b49391)
    • MCP: Initialize tool_name_prefix in MCPToolse (86dea5b)
  • [Evals]
    • Data model for storing App Details and data model for steps (01923a9)
    • Adds Rubric based final response evaluator (5a485b0)
    • Populate AppDetails to each Invocation (d486795)
  • [Samples]
    • Make the bigquery sample agent run with ADC out-of-the-box (10cf377)

Bug Fixes

  • Close runners after running eval (86ee6e3)
  • Filter out thought parts when saving agent output to state (632bf8b)
  • Ignore empty function chunk in LiteLlm streaming response (8a92fd1)
  • Introduces a raw_mcp_tool method in McpTool to provide direct access to the underlying MCP tool (6158075)
  • Make a copy of the columns instead of modifying it in place (aef1ee9)
  • Prevent escaping of Latin characters in LLM response (c9ea80a)
  • Retain the consumers and transport registry when recreating the ClientFactory in remote_a2a_agent.py (6bd33e1)
  • Remove unsupported 'type': 'unknown' in test_common.py for fastapi 0.117.1 (3745221)

Documentation

  • Correct the documentation of after_agent_callback (b9735b2)

Release 1.14.1

15 Sep 00:10
Compare
Choose a tag to compare

1.14.1 (2025-09-14)

Bug Fixes

  • Fix logging issues with RemoteA2aAgent 0c1f1fa

Release 1.14.0

10 Sep 21:17
Compare
Choose a tag to compare

1.14.0 (2025-09-10)

Features

  • [A2A]
    • Allow users to pass their own agent card to to_a2a method a1679da
    • Allow custom part converters in A2A classes b05fef9
  • [Tools]
    • Allow setting agent/application name and compute project for BigQuery tools 11a2ffe
    • Add BigQuery forecast tool 0935a40
    • Add GkeCodeExecutor for sandboxed code execution on GKE 72ff9c6
    • Add a tool confirmation flow that can guard tool execution with explicit confirmation and custom input a17bcbb
    • Add audience and prompt as configurable for OAuth flows edda922
    • Allow user specify embedding model for file retrieval 67f23df
  • [Core]
    • Allow all possible values for agent_class field in all Agent Configs 3bc2d77
    • Allow agent loader to load built-in agents from special directories in adk folder 578fad7
    • Upgrade ADK runner to use App in addition to root_agent 4df79dd
    • Allow inject artifact into instructions bb4cfde
  • [Misc] Create an initial ADK release analyzer agent to find the doc updates needed between releases e3422c6

Bug Fixes

  • Add custom_metadata to DatabaseSessionService fb009d8
    • NOTE: This requires DB migration, run ALTER TABLE events ADD COLUMN custom_metadata JSON; to migrate existing database tables.
  • Add a NOTE to agent transfer instructions listing available agents 43eec82
  • Fix pagination of list_sessions in VertexAiSessionService e63fe0c
  • Fix AttributeError and indentation in parameter processing of LiteLlm 1e23652
  • Allow AgentTool to inherit/use plugins from its invocation context when running 1979dcf
  • Enforce foreign key constraint for SQLite DB 0c87907
  • Add back installing requirements.txt to Dockerfile template for cloud run 8e43f0d
  • Only process the auth responses in the last event with content (if applicable i.e. it's authored by user) 3b922a2
  • Extract a utility for aggregating partial streaming responses and emitting LlmResponses for them as needed 7975e8e
  • Support saving text artifacts in GCS artifact service cecf7e8
  • Fixes thought handling in contents.py and refactors its unit tests a30851e
  • Fixes the thought field handling in _planning.py fe8b37b
  • Pass state_delta to runner in /run endpoint a3410fa
  • Fix discussion answering github action workflow to escape the quote in the discussion content JSON 43c9681
  • Send full MIME types for image/video/pdf in get_content e45c3be
  • Fix flaky unit tests: tests/unittests/flows/llm_flows/test_functions_simple.py b92b288
  • Make UT of a2a consistent about how tests should be skipped when python verison < 3.10 98b0426

Improvements

  • Update contribution guide 8174a29
  • Skip PR triage for already triaged or Google-contributor PRs 78eea1a
  • Avoid mutable default arguments in local_eval_service and runners 64f11a6
  • Avoid mutable default arguments in local_eval_service and runners 5b465fd
  • Reorder dependencies in pyproject.toml ca5f7f1
  • Follow pydantic convention to make field_validator a public method 1448406
  • Update comment to clarify after_run callbacks 7720616
  • Tune instructions to not ask root directory if it's already provided in the context 25df6c2
  • Load discussion data from event content to avoid additional GraphQL API call a503a0c
  • Refactor discussion answering agent to merge answer_discussions.py into main.py 408d3df
  • Add community repo dependency group to pyproject toml 7b077ac
  • Add warning for using Gemini models via LiteLLM 9291daa

Documentation

  • Update root_agent description for clarity 467df1a
  • Update the ask_data_insights docstring aad1533
  • Add contributing Spanner tools RAG agent sample fcd748e

Tests

  • Add functional telemetry tests bc6b546
  • Add unit tests for the App class and improve Runner initialization tests fc90ce9

Chores

  • Use lazy % formatting in logging functions to fix pylint warnings b431072
  • Update release cadence in README decc19b
  • Update create_session endpoint to use Request message as post body 219815d

Release 1.13.0

27 Aug 23:09
Compare
Choose a tag to compare

1.13.0 (2025-08-27)

Features

  • [Tools] Add the ask_data_insights tool for natural language queries on BigQuery data 47b88d2

Bug Fixes

  • Add the missing from_config class method in BaseToolset 2dd432c
  • Change LlmResponse to use Content for transcriptions 3b997a0
  • AgentTool returns last content, instead of the content in the last event bcf0dda
  • Fix adk deploy docker file permission ad81aa5
  • Updating BaseAgent.clone() and LlmAgent.clone() to properly clone fields that are lists 29bb75f
  • Make tool description for bigquery execute_sql for various write modes self contained 167182b
  • Set invocation_id and branch for event generated when both output_schema and tools are used 3f3aa7b
  • Rework parallel_agent.py to always aclose async generators 826f554
  • Add table metadata info into Spanner tool get_table_schema and fix the key usage info 81a53b5
  • Fix Spanner DatabaseSessionService support 54ed079
  • Add support for required params c144b53
  • Replaced hard coded value for user_id to the value from the tool context from parent agent. 0b89f18

Improvements

  • Allow user to specify protocol for A2A RPC URL in to_a2a utility 157f731
  • Passthrough extra args for adk deploy cloud_run as Cloud Run args 6806dea
  • Renames MCPTool and MCPToolset to McpTool and McpToolset 4c70606
  • Ignore hidden files in autoformat.sh 0eb65c0

Documentation

  • Clean up docs in sample a360bc2
  • Fixes root_agent.yaml in tool_mcp_stdio_notion_config for Agent Config sample and add README.md 2c088ac
  • Add What's new section to README.md ccab076

Release 1.12.0

21 Aug 00:19
Compare
Choose a tag to compare

Features

[Agent Config] 🌟 NEW FEATURE: Support using config file (YAML) to author agents in addition to python code. See the documentation for details.

  • [Agent Config] Support deploying config agent to Agent Engine in CLI (b3b7003)
  • [Tools] Add a dedicated Bigtable toolset to provide an easier, integrated way to interact
    with Bigtable for building AI Agent applications(experimental feature) (a953807)
  • [Tools] Support custom tool_name_prefix in auto-generated GoogleApiToolset (a2832d5) See oauth_calendar_agent as an example.
  • [CLI] Add build_image option for adk deploy cloud_run CLI (c843503)
  • [Services] Add setdefault method to the ADK State object (77ed1f5)

Bug Fixes

  • Lazy load VertexAiCodeExecutor and ContainerCodeExecutor (018db79)
  • Fix the path for agent card in A2A demo (fa64545)
  • Fix the path for agent card in A2A demo (a117cf0)
  • litellm-test due to breaking change in dep library of extension extra (004a0a0)
  • Using base event's invocation id when merge multiple function response event (279e4fe)
  • Avoid crash when there is no candidates_token_count, which is Optional (22f34e9)
  • Fix the packaging version comparison logic in adk cli (a2b7909)
  • Add Spanner admin scope to Spanner tool default Oauth scopes (b66054d)
  • Fixes SequentialAgent.config_type type hint (8a9a271)
  • Fixes the host in the ansi bracket of adk web (cd357bf)
  • Add spanner tool name prefix (a27927d)

Improvements

  • Support ADK_SUPPRESS_EXPERIMENTAL_FEATURE_WARNINGS as environment variable to suppress experimental warnings (4afc9b2)
  • Uses pydantic Field for Agent configs, so that the generated AgentConfig.json json schema can carry field description (5b999ed)
  • Update openai dependency version, based on correct OPENAI release (bb8ebd1)
  • Add the missing license header for core_callback_config init file (f8fd6a4)
  • Creates yaml_utils.py in utils to allow adk dump yaml in the same style (1fd58cb)
  • Return explict None type for DELETE endpoints (f03f167)
  • Add _config suffix to all yaml-based agent examples (43f302c)
  • Rename run related method and request to align with the conventions (ecaa7b4)
  • Update models in samples/ folder to be gemini 2.0+ (6c217ba)
  • Remove the "one commit" requirement from the contributing guide (c32cb6e)
  • Bump version to 1.11.0 (8005270)

Documentation

  • Add contributing bigtable sample (fef5318)
  • Fix core_callback example (ba6e85e)
  • Adds a minimal sample to demo how to use Agent Config to create a multi-agent setup (1328e6e)

v1.11.0

14 Aug 21:10
Compare
Choose a tag to compare

1.11.0 (2025-08-14)

Features

  • [Tools] Support adding prefix to tool names returned by toolset (ebd726f)
  • [Eval] Expose print_detailed_results param to AgentEvaluator.evaluate (7e08808)
  • [Tools] Add Spanner toolset (breaking change to BigQueryTool, consolidating into generic GoogleTool) (1fc8d20)
  • [Core] Support both output_schema and tools at the same time in LlmAgent(sample) (af63567)

Bug Fixes

  • A2A RPC URL got overriden by host and port param of adk api server (52284b1)
  • Aclose all async generators to fix OTel tracing context (a30c63c)
  • Use PreciseTimestamp for create and update time in database session service to improve precision (585141e)
  • Ignore AsyncGenerator return types in function declarations (e2518dc)
  • Make all subclass of BaseToolset to call parent constructor (8c65967)
  • Path parameter extraction for complex Google API endpoints (54680ed)
  • Docstring concatenation in 3.13 (88f759a)
  • Lazy load retrieval tools and prompt users to install extensions if import failed (9478a31)
  • Incorrect logic in LlmRequest.append_tools and make BaseTool to call it (b4ce3b1)
  • Creates an InMemoryMemoryService within the EvaluationGenerator (e4d54b6)
  • Uncomment OTel tracing in base_llm_flow.py (9cfe433)

Improvements

  • Added upper version bounds to dependencies in "pyproject.toml" (a74d334)
  • Update python-version in .github/workflows/python-unit-tests.yml to ["3.9", "3.10", "3.11", "3.12", "3.13"] (ddf2e21)
  • Update comment to reference "Streamable HTTP Client" (c52f956)
  • Remove logging that contains full event data from DatabaseSessionService (bb3735c)
  • Add the missing env variables in discussion_answering.yml (a09a5e6)
  • Add Gemini API docs as a new datastore for the ADK Answering Agent (5fba196)
  • Add the missing license header for some sample agents' files (7d2cb65)
  • Add docstring to clarify the behavior of preload memory tool (88114d7)
  • Add experimental messages for a2a related API (d0b3b5d)
  • Fixes generate_image sample (d674178)
  • Make all FastAPI endpoints async (7f12387)
  • Group FastAPI endpoints with tags (c323de5)
  • Allow implementations to skip defining a close method on Toolset (944e39e)
  • Add sample agent to test support of output_schema and tools at the same time for gemini model (f2005a2)
  • Add Github workflow config for uploading ADK docs to knowledge store (5900273)
  • Update ADK Answering agent to reference doc site instead of adk-docs repo (b5a8bad)

Documentation

  • Fixes tool_functions, which is a config-based sample for using tools (c5af44c)
  • Add workflow_triage sample for multi-agent request orchestration (e295feb)
  • Add examples for config agents (d87feb8)
  • Adds pypi badge to README.md (dc26aad)
  • Update StreamableHTTPConnectionParams docstring to remove SSE references (8f937b5)

v1.10.0

07 Aug 17:12
Compare
Choose a tag to compare

1.10.0 (2025-08-07)

Features

  • [Live] Implement Live Session Resumption (71fbc92)
  • [Tool] Support parallel execution of parallel function calls (57cd41f)
  • [Tool] Create enterprise_web_search_tool as a tool instance (0e28d64)
  • [Models] Allow max tokens to be customizable in Claude (7556ebc)

Bug Fixes

  • Fix shared default plugin manager and cost manager instances among multiple invocations (423542a)
  • Correct the type annotation in anthropic_llm implementation (97318bc)
  • Fix adk deploy cloud_run cli, which was broken in v1.9.0 (e41dbcc)
  • Remove thoughts from contents in llm requests from history contents (d620bcb)
  • Annotate response type as None for transfer_to_agent tool (86a4487)
  • Fix incompatible a2a sdk changes (faadef1)
  • Fix adk cli options and method parameters mismatching (8ef2177)

Improvements

  • Add Github workflow config for the ADK Answering agent (8dc0c94)
  • Import AGENT_CARD_WELL_KNOWN_PATH from adk instead of from a2a directly (37dae9b)
  • Make LlmRequest.LiveConnectConfig field default to a factory (74589a1)
  • Update the prompt to make the ADK Answering Agent more objective (2833030)
  • Add sample agent for testing parallel functions execution (90b9193)
  • Hide the ask_data_insights tool until the API is publicly available (bead607)
  • Change LlmRequest.config's default value to be types.GenerateContentConfig() (041f04e)
  • Prevent triggering of _load_from_yaml_config in AgentLoader (db975df)

Documentation

v1.9.0

31 Jul 22:44
Compare
Choose a tag to compare

1.9.0 (2025-07-31)

Features

  • [CLI] Add -v, --verbose flag to enable DEBUG logging as a shortcut for --log_level DEBUG (3be0882)
  • [CLI] Add a CLI option to update an agent engine instance (206a132)
  • [CLI] Modularize fast_api.py to allow simpler construction of API Server (bfc203a, dfc25c1, e176f03)
  • [CLI] Refactor AgentLoader into base class and add InMemory impl alongside existing filesystem impl (bda3df2)
  • [CLI] Respect the .ae_ignore file when deploying to agent engine (f29ab5d)
  • [Core] Add new callbacks to handle tool and model errors (00afaaf)
  • [Core] Add sample plugin for logging (20537e8)
  • [Core] Expose Gemini RetryOptions to client (1639298)
  • [Evals] Added an Fast API new endpoint to serve eval metric info (c69dcf8)
  • [Evals] Refactored AgentEvaluator and updated it to use LocalEvalService (1355bd6)

Bug Fixes

  • Add absolutize_imports option when deploying to agent engine (fbe6a7b)
  • Add space to allow adk deploy cloud_run --a2a (70c4616)
  • Copy the original function call args before passing it to callback or tools to avoid being modified (3432b22)
  • Eval module not found exception string (7206e0a)
  • Fix incorrect token count mapping in telemetry (c8f8b4a)
  • Import cli's artifact dependencies directly (282d67f)
  • Keep existing header values while merging tracking headers for llm_request.config.http_options in Gemini.generate_content_async (6191412)
  • Merge tracking headers even when llm_request.config.http_options is not set in Gemini.generate_content_async (ec8dd57)
  • Restore bigquery sample agent to runnable form (16e8419)
  • Return session state in list_session API endpoint (314d6a4)
  • Runner was expecting Event object instead of Content object when using early exist feature (bf72426)
  • Unable to acquire impersonated credentials (9db5d9a)
  • Update agent_card_builder to follow grammar rules (9c0721b), closes #2223
  • Use correct type for actions parameter in ApplicationIntegrationToolset (ce7253f)

Documentation

  • Update documents about the information of vibe coding (0c85587)

v1.8.0

23 Jul 23:21
Compare
Choose a tag to compare

1.8.0 (2025-07-23)

Features

  • [Core]Add agent card builder (18f5bea)
  • [Core]Add an to_a2a util to convert adk agent to A2A ASGI application (a77d689)
  • [Core]Add camel case converter for agents (0e173d7)
  • [Evals]Use LocalEvalService to run all evals in cli and web (d1f182e)
  • [Evals]Enable FinalResponseMatchV2 metric as an experiment (36e45cd)
  • [Models]Add support for model-optimizer-* family of models in vertex (ffe2bdb)
  • [Services]Added a sample for History Management (67284fc)
  • [Services]Support passing fully qualified agent engine resource name when constructing session service and memory service ([2e77804](2e778049d0a675e458f4e
    35fe4104ca1298dbfcf))
  • [Tools]Add ComputerUseToolset (083dcb4)
  • [Tools]Allow toolset to process llm_request before tools returned by it (3643b4a)
  • [Tools]Support input/output schema by fully-qualified code reference (dfee06a)
  • [Tools]Enhance LangchainTool to accept more forms of functions (0ec69d0)

Bug Fixes

  • Attention: Logging level for some API requests and responses was moved from INFO to DEBUG (ff31f57)
    • Please set --log_level=DEBUG, if you are interested in having those API request and responses in logs.
  • Add buffer to the write file option (f2caf2e)
  • Allow current sub-agent to finish execution before exiting the loop agent due to a sub-agent's escalation. (2aab1cf)
  • Check that mean_score is a valid float value (65cb6d6)
  • Handle non-json-serializable values in the execute_sql tool (13ff009)
  • Raise NotFoundError in list_eval_sets function when app_name doesn't exist (b17d8b6)
  • Fixed serialization of tools with nested schema (53df35e)
  • Set response schema for function tools that returns None (33ac838)
  • Support path level parameters for open_api_spec_parser (6f01660)
  • Use correct type for actions parameter in ApplicationIntegrationToolset (ce7253f)
  • Use the same word extractor for query and event contents in InMemoryMemoryService (1c4c887)

Documentation

  • Fix missing toolbox-core dependency and improve installation guide (2486349)