Releases: google/adk-python
Releases · google/adk-python
Release 1.12.0
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 foradk 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
v1.11.0
1.11.0 (2025-08-14)
Features
- [Tools] Support adding prefix to tool names returned by toolset (ebd726f)
- [Eval] Expose
print_detailed_results
param toAgentEvaluator.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
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 betypes.GenerateContentConfig()
(041f04e) - Prevent triggering of _load_from_yaml_config in AgentLoader (db975df)
Documentation
- Fix typos (16a15c8)
v1.9.0
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
inGemini.generate_content_async
(6191412) - Merge tracking headers even when
llm_request.config.http_options
is not set inGemini.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
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
toDEBUG
(ff31f57)- Please set
--log_level=DEBUG
, if you are interested in having those API request and responses in logs.
- Please set
- 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
inlist_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
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
Release 1.6.1
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 foradk 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 toadk web
andadk api_server
command
to reload agents automatically when new changes are detected. -
Eval features
-
Minor features
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
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
v1.4.1
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 theagent_engine_id
field instead of overridingapp_name
in FastAPI endpoint (fc65873)