Skip to content

Releases: google/adk-python

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)

v1.7.0

16 Jul 22:42
Compare
Choose a tag to compare

1.7.0 (2025-07-16)

Features

  • Add ability to send state change with message 3f9f773
  • [Eval] Support for persisting eval run results bab3be2
  • Introduce [Plugin]: Plugin is simply a class that packages these individual callback functions together for a broader purpose162228d

Bug Fixes

  • Create correct object for image and video content in litellm bf7745f
  • Support project-based gemini model path for BuiltInCodeExecutor and all built-in tools a5d6f1e
  • Add instruction in long running tool description to avoid being invoked again by model 62a6119
  • [A2A] Import A2A well known path from A2A sdk a6716a5
  • Fix the long running function response event merge logic 134ec0d
  • [A2A] Return final task result in task artifact instead of status message a8fcc1b
  • Make InMemoryMemoryService thread-safe 10197db

Improvements

  • Improve partial event handling and streaming aggregation 584c8c6

Documentation

  • Update agent transfer related doc string and comments b1fa383
  • Update doc string for GcsArtifactService 498ce90

Release 1.6.1

10 Jul 00:19
Compare
Choose a tag to compare

1.6.1 (2025-07-09)

Features

  • Add A2A support as experimental features f0183a9

    • Install google-adk with a2a extra: pip install google-adk[a2a]
    • Users can serve agents as A2A agent with --a2a option for adk web and
      adk api_server
    • Users can run a remote A2A agent with RemoteA2AAgent class
    • Three A2A agent samples are added:
      • contributing/samples/a2a_basic
      • contributing/samples/a2a_auth
      • contributing/samples/a2a_human_in_loop
  • Support agent hot reload.e545e5a
    Users can add --reload_agents flag to adk web and adk api_server command
    to reload agents automatically when new changes are detected.

  • Eval features

    • Implement auto rater-based evaluator for responses 75699fb
    • Add Safety evaluator metric 0bd05df
    • Add BaseEvalService declaration and surrounding data models b0d88bf
  • Minor features

    • Add custom_metadata to VertexAiSessionService when adding events a021222
    • Support protected write in BigQuery execute_sql tool dc43d51
    • Added clone() method to BaseAgent to allow users to create copies of an agent [d263afd] (d263afd)

Bug Fixes

  • Support project-based gemini model path to use enterprise_web_search_tool e33161b
  • Use inspect.signature() instead of typing.get_type_hints for examining function signatures4ca77bc
  • Replace Event ID generation with UUID4 to prevent SQLite integrity constraint failures e437c7a
  • Remove duplicate options from adk deploy 3fa2ea7
  • Fix scenario where a user can access another users events given the same session id 362fb3f
  • Handle unexpected 'parameters' argument in FunctionTool.run_async 0959b06
  • Make sure each partial event has different timestamp 17d6042
  • Avoid pydantic.ValidationError when the model stream returns empty final chunk 9b75e24
  • Fix google_search_tool.py to support updated Gemini LIVE model naming 77b869f
  • Adding detailed information on each metric evaluation 04de3e1
  • Converts litellm generate config err 3901fad
  • Save output in state via output_key only when the event is authored by current agent 20279d9
  • Treat SQLite database update time as UTC for session's last update time 3f621ae
  • Raise ValueError when sessionId and userId are incorrect combination(#1653) 4e765ae
  • Support API-Key for MCP Tool authentication 045aea9
  • Lock LangGraph version to <= 0.4.10 9029b8a
  • Update the retry logic of create session polling 3d2f13c

Chores

  • Extract mcp client creation logic to a separate method 45d60a1
  • Add tests for live streaming configs bf39c00
  • Update ResponseEvaluator to use newer version of Eval SDK 62c4a85
  • Add util to build our llms.txt and llms-full.txt files a903c54
  • Create an example for multi agent live streaming a58cc3d
  • Refactor the ADK Triaging Agent to make the code easier to read b6c7b5b

Documentation

  • Update the a2a exmaple link in README.md d0fdfb8
  • Adds AGENTS.md to provide relevant project context for the Gemini CLI 37108be
  • Update CONTRIBUTING.md ffa9b36
  • Add adk project overview and architecture 28d0ea8
  • Add docstring to clarify that inmemory service are not suitable for production dc414cb
  • Update agents.md to include versioning strategy 6a39c85
  • Add tenacity into project.toml df141db
  • Updating CONTRIBUTING.md with missing extra e153d07

v1.5.0

25 Jun 21:17
Compare
Choose a tag to compare

1.5.0 (2025-06-25)

Features

  • Add a new option eval_storage_uri in adk web & adk eval to specify GCS bucket to store eval data (fa025d7)
  • Add ADK examples for litellm with add_function_to_prompt (f33e090)
  • Add implementation of VertexAiMemoryBankService and support in FastAPI endpoint (abc89d2)
  • Add rouge_score library to ADK eval dependencies, and implement RougeEvaluator that is computes ROUGE-1 for "response_match_score" metric (9597a44)
  • Add usage span attributes to telemetry (#356) (ea69c90)
  • Add Vertex Express mode compatibility for VertexAiSessionService (00cc8cd)

Bug Fixes

  • Include current turn context when include_contents='none' (9e473e0)
  • Make LiteLLM streaming truly asynchronous (bd67e84)
  • Make raw_auth_credential and exchanged_auth_credential optional given their default value is None (acbdca0)
  • Minor typo fix in the agent instruction (ef3c745)
  • Typo fix in sample agent instruction (ef3c745)
  • Update contributing links (a1e1441)
  • Use starred tuple unpacking on GCS artifact blob names (3b1d9a8)

Chore

  • Do not send api request when session does not have events (88a4402)
  • Leverage official uv action for install(09f1269)
  • Update google-genai package and related deps to latest(ed7a21e)
  • Add credential service backed by session state(29cd183)
  • Clarify the behavior of Event.invocation_id(f033e40)
  • Send user message to the agent that returned a corresponding function call if user message is a function response(7c670f6)
  • Add request converter to convert a2a request to ADK request(fb13963)
  • Support allow_origins in cloud_run deployment (2fd8feb)

v1.4.2

20 Jun 22:45
Compare
Choose a tag to compare

1.4.2 (2025-06-20)

Bug Fixes

  • Add type checking to handle different response type of genai API client (4d72d31)
    • This fixes the broken VertexAiSessionService
  • Allow more credentials types for BigQuery tools (2f716ad)

v1.4.1

19 Jun 02:25
Compare
Choose a tag to compare

1.4.1 (2025-06-18)

Features

  • Add Authenticated Tool (Experimental) (dcea776)
  • Add enable_affective_dialog and proactivity to run_config and llm_request (fe1d5aa)
  • Add import session API in the fast API (233fd20)
  • Add integration tests for litellm with and without turning on add_function_to_prompt (8e28587)
  • Allow data_store_specs pass into ADK VAIS built-in tool (675faef)
  • Enable MCP Tool Auth (Experimental) (157d9be)
  • Implement GcsEvalSetResultsManager to handle storage of eval sets on GCS, and refactor eval set results manager (0a5cf45)
  • Re-factor some eval sets manager logic, and implement GcsEvalSetsManager to handle storage of eval sets on GCS (1551bd4)
  • Support real time input config (d22920b)
  • Support refresh access token automatically for rest_api_tool (1779801)

Bug Fixes

  • Fix Agent generate config err (#1305) (badbcbd)
  • Fix Agent generate config error (#1450) (694b712)
  • Fix liteLLM test failures (fef8778)
  • Fix tracing for live (58e07ca)
  • Merge custom http options with adk specific http options in model api request (4ccda99)
  • Remove unnecessary double quote on Claude docstring (bbceb4f)
  • Set explicit project in the BigQuery client (6d174eb)
  • Support streaming in litellm + adk and add corresponding integration tests (aafa80b)
  • Support project-based gemini model path to use google_search_tool (b2fc774)
  • Update conversion between Celsius and Fahrenheit (1ae176a)

Chores

  • Set agent_engine_id in the VertexAiSessionService constructor, also use the agent_engine_id field instead of overriding app_name in FastAPI endpoint (fc65873)