Skip to content

Releases: google/adk-python

Release 1.21.0

12 Dec 01:09

Choose a tag to compare

1.21.0 (2025-12-11)

Features

  • [Interactions API Support]

    • The newly released Gemini Interactions API is supported in ADK Now. To use it:
    Agent(
      model=Gemini(
          model="gemini-3-pro-preview",
          use_interactions_api=True,
      ),
      name="...",
      description="...",
      instruction="...",
    )

    see samples for details

  • [Services]

    • Add add_session_to_memory to CallbackContext and ToolContext to explicitly save the current session to memory (7b356dd)
  • [Plugins]

    • Add location for table in agent events in plugin BigQueryAgentAnalytics (507424a)
    • Upgrade BigQueryAgentAnalyticsPlugin to v2.0 with improved performance, multimodal support, and reliability (7b2fe14)
  • [A2A]

    • Adds ADK EventActions to A2A response (32e87f6)
  • [Tools]

    • Add header_provider to OpenAPIToolset and RestApiTool (e1a7593)
    • Allow overriding connection template (cde7f7c)
    • Add SSL certificate verification configuration to OpenAPI tools using the verify parameter (9d2388a)
    • Use json schema for function tool declaration when feature enabled (cb3244b)
  • [Models]

    • Add Gemma3Ollama model integration and a sample (e9182e5)

Bug Fixes

  • Install dependencies for py 3.10 (9cccab4)
  • Refactor LiteLLM response schema formatting for different models (894d8c6)
  • Resolve project and credentials before creating Spanner client (99f893a)
  • Avoid false positive "App name mismatch" warnings in Runner (6388ba3)
  • Update the code to work with either 1 event or more than 1 events (4f54660)
  • OpenAPI schema generation by skipping JSON schema for judge_model_config (56775af)
  • Add tool_name_prefix support to OpenAPIToolset (82e6623)
  • Pass context to client interceptors (143ad44)
  • Yield event with error code when agent run raised A2AClientHTTPError (b7ce5e1)
  • Handle string function responses in LiteLLM conversion (2b64715)
  • ApigeeLLM support for Built-in tools like GoogleSearch, BuiltInCodeExecutor when calling Gemini models through Apigee (a9b853f)
  • Extract and propagate task_id in RemoteA2aAgent (82bd4f3)
  • Update FastAPI and Starlette to fix CVE-2025-62727 (ReDoS vulnerability) (c557b0a)
  • Add client id to token exchange (f273517)

Improvements

  • Normalize multipart content for LiteLLM's ollama_chat provider (055dfc7)
  • Update adk web, fixes image not rendering, state not updating, update drop down box width and trace icons (df86847)
  • Add sample agent for interaction api integration (68d7048)
  • Update genAI SDK version (f0bdcab)
  • Introduce build_function_declaration_with_json_schema to use pydantic to generate json schema for FunctionTool (51a638b)
  • Update component definition for triaging agent (ee743bd)
  • Migrate Google tools to use the new feature decorator (bab5729)
  • Migrate computer to use the new feature decorator (1ae944b)
  • Add Spanner execute sql query result mode using list of dictionaries (f22bac0)
  • Improve error message for missing invocation_id and new_message in run_async (de841a4)

1.20.0

03 Dec 23:10

Choose a tag to compare

1.20.0 (2025-12-01)

Features

  • [Core]

    • Add enum constraint to agent_name for transfer_to_agent (4a42d0d)
    • Add validation for unique sub-agent names (#3557) (2247a45)
    • Support streaming function call arguments in progressive SSE streaming feature (786aaed)
  • [Models]

    • Enable multi-provider support for Claude and LiteLLM (d29261a)
  • [Tools]

    • Create APIRegistryToolset to add tools from Cloud API registry to agent (ec4ccd7)
    • Add an option to disallow propagating runner plugins to AgentTool runner (777dba3)
  • [Web]

    • Added an endpoint to list apps with details (b57fe5f)

Bug Fixes

  • Allow image parts in user messages for Anthropic Claude (5453b5b)
  • Mark the Content as non-empty if its first part contains text or inline_data or file_data or func call/response (631b583)
  • Fixes double response processing issue in base_llm_flow.py where, in Bidi-streaming (live) mode, the multi-agent structure causes duplicated responses after tool calling. (cf21ca3)
  • Fix out of bounds error in _run_async_impl (8fc6128)
  • Fix paths for public docs (cd54f48)
  • Ensure request bodies without explicit names are named 'body' (084c2de), closes #2213
  • Optimize Stale Agent with GraphQL and Search API to resolve 429 Quota errors (cb19d07)
  • Update AgentTool to use Agent's description when input_schema is provided in FunctionDeclaration (52674e7)
  • Update LiteLLM system instruction role from "developer" to "system" (2e1f730), closes #3657
  • Update session last update time when appending events (a3e4ad3), closes #2721
  • Update the retry_on_closed_resource decorator to retry on all errors (a3aa077)
  • Windows Path Handling and Normalize Cross-Platform Path Resolution in AgentLoader (a1c09b7)

Documentation

  • Add Code Wiki badge to README (caf23ac)

1.19.0

20 Nov 00:51

Choose a tag to compare

1.19.0 (2025-11-19)

Highlights

  • Breaking! Raise minimum Python version to 3.10
  • Add a File based Artifact Service
  • Reduce ADK API server startup latency by lazy loading
  • ADK web light mode support
  • BigQuery Agent Analytics Plugin

Features

  • [Core]

    • Add id and custom_metadata fields to MemoryEntry (4dd28a3)
    • Add progressive SSE streaming feature (a5ac1d5)
    • Add a2a_request_meta_provider to RemoteAgent init (d12468e)
    • Add feature decorator for the feature registry system (871da73)
    • Breaking: Raise minimum Python version to 3_10 (8402832)
    • Refactor and rename BigQuery agent analytics plugin (6b14f88)
    • Pass custom_metadata through forwarding artifact service (c642f13)
    • Update save_files_as_artifacts_plugin to never keep inline data (857de04)
  • [Evals]

    • Add support for InOrder and AnyOrder match in ToolTrajectoryAvgScore Metric (e2d3b2d)
  • [Integrations]

    • Enhance BQ Plugin Schema, Error Handling, and Logging (5ac5129)
    • Schema Enhancements with Descriptions, Partitioning, and Truncation Indicator (7c993b0)
  • [Services]

    • Add file-backed artifact service (99ca6aa)
    • Add service factory for configurable session and artifact backends (a12ae81)
    • Add SqliteSessionService and a migration script to migrate existing DB using DatabaseSessionService to SqliteSessionService (e218254)
    • Add transcription fields to session events (3ad30a5)
    • Full async implementation of DatabaseSessionService (7495941)
  • [Models]

    • Add experimental feature to use parameters_json_schema and response_json_schema for McpTool (1dd97f5)
    • Add support for parsing inline JSON tool calls in LiteLLM responses (22eb7e5)
    • Expose artifact URLs to the model when available (e3caf79)
  • [Tools]

    • Add BigQuery related label handling (ffbab4c)
    • Allow setting max_billed_bytes in BigQuery tools config (ffbb0b3)
    • Propagate application_name set for the BigQuery Tools as BigQuery job labels (f13a11e)
    • Set per-tool user agent in BQ calls and tool label in BQ jobs (c0be1df)
  • [Observability]

    • Migrate BigQuery logging to Storage Write API (a2ce34a)

Bug Fixes

  • Add jsonschema dependency for Agent Builder config validation (0fa7e46)
  • Add None check for event in remote_a2a_agent.py (744f94f)
  • Add vertexai initialization for code being deployed to AgentEngine (b8e4aed)
  • Change LiteLLM content and tool parameter handling (a19be12)
  • Change name for builder agent (131d39c)
  • Ensure event compaction completes by awaiting task (b5f5df9)
  • Fix deploy to cloud run on Windows (29fea7e)
  • Fix error handling when MCP server is unreachable (ee8106b)
  • Fix error when query job destination is None (0ccc43c)
  • Fix Improve logic for checking if a MCP session is disconnected (a754c96)
  • Fix McpToolset crashing with anyio.BrokenResourceError (8e0648d)
  • Fix Safely handle FunctionDeclaration without a required attribute (93aad61)
  • Fix status code in error message in RestApiTool (9b75456)
  • Fix Use async for to loop through event iterator to get all events in vertex_ai_session_service (9211f4c)
  • Fix: Fixes DeprecationWarning when using send method (2882995)
  • Improve logic for checking if a MCP session is disconnected (a48a1a9)
  • Improve handling of partial and complete transcriptions in live calls (1819ecb)
  • Keep vertex session event after the session update time (0ec0195)
  • Let part converters also return multiple parts so they can support more usecases (824ab07)
  • Load agent/app before creating session (236f562)
  • Remove app name from FileArtifactService directory structure (12db84f)
  • Remove hardcoded google-cloud-aiplatform version in agent engine requirements (e15e19d)
  • Stop updating write mode in the global settings during tool execution (5adbf95)
  • Update description for load_artifacts tool (c485889)

Improvements

  • Add BigQuery related label handling (ffbab4c)
  • Add demo for rewind (8eb1bdb)
  • Add debug logging for live connection (5d5708b)
  • Add debug logging for missing function call events (f3d6fcf)
  • Add default retry options as fall back to llm_request that are made during evals (696852a)
  • Add plugin for returning GenAI Parts from tools into the model request (116b26c)
  • Add support for abstract types in AFC (2efc184)
  • Add support for structured output schemas in LiteLLM models (7ea4aed)
  • Add tests for max_query_result_rows in BigQuery tool config (fd33610)
  • Add type hints in cleanup_unused_files.py (2dea573)
  • Add util to build our llms.txt and llms-full.txt files
  • ADK changes (f1f4467)
  • Defer import of google.cloud.storage in GCSArtifactService ([9...
Read more

Release 1.18.0

05 Nov 18:46

Choose a tag to compare

1.18.0 (2025-11-05)

Features

  • [ADK Visual Agent Builder]

    • Core Features
      • Visual workflow designer for agent creation
      • Support for multiple agent types (LLM, Sequential, Parallel, Loop, Workflow)
      • Agent tool support with nested agent tools
      • Built-in and custom tool integration
      • Callback management for all ADK callback types (before/after agent, model, tool)
      • Assistant to help you build your agents with natural language
      • Assistant proposes and writes agent configuration yaml files for you
      • Save to test with chat interfaces as normal
      • Build and debug at the same time in adk web!
  • [Core]

    • Add support for extracting cache-related token counts from LiteLLM usage (4f85e86)
    • Expose the Python code run by the code interpreter in the logs (a2c6a8a)
    • Add run_debug() helper method for quick agent experimentation (0487eea)
    • Allow injecting a custom Runner into agent_to_a2a (156d235)
    • Support MCP prompts via the McpInstructionProvider class (88032cf)
  • [Models]

    • Add model tracking to LiteLlm and introduce a LiteLLM with fallbacks demo (d4c63fc)
    • Add ApigeeLlm as a model that lets ADK Agent developers to connect with an Apigee proxy (87dcb3f)
  • [Integrations]

    • Add example and fix for loading and upgrading old ADK session databases (338c3c8)
    • Add support for specifying logging level for adk eval cli command (b1ff85f)
    • Propagate LiteLLM finish_reason to LlmResponse for use in callbacks (71aa564)
    • Allow LLM request to override the model used in the generate content async method in LiteLLM (ce8f674)
    • Add api key argument to Vertex Session and Memory services for Express Mode support (9014a84)
    • Added support for enums as arguments for function tools (240ef5b)
    • Implement artifact_version related methods in GcsArtifactService (e194ebb)
  • [Services]

    • Add support for Vertex AI Express Mode when deploying to Agent Engine (d4b2a8b)
    • Remove custom polling logic for Vertex AI Session Service since LRO polling is supported in express mode (546c2a6)
    • Make VertexAiSessionService fully asynchronous (f7e2a7a)
  • [Tools]

    • Add Bigquery detect_anomalies tool (9851340)
    • Extend Bigquery detect_anomalies tool to support future data anomaly detection (38ea749)
    • Add get_job_info tool to BigQuery toolset (6429457)
  • [Evals]

    • Add "final_session_state" to the EvalCase data model (2274c4f)
    • Marked expected_invocation as optional field on evaluator interface (b17c8f1)
    • Adds LLM-backed user simulator (54c4ecc)
  • [Observability]

    • Add BigQueryLoggingPlugin for event logging to BigQuery (b7dbfed)
  • [Live]

    • Add token usage to live events for bidi streaming (6e5c0eb)

Bug Fixes

  • Reduce logging spam for MCP tools without authentication (11571c3)
  • Fix typo in several files (d2888a3)
  • Disable SetModelResponseTool workaround for Vertex AI Gemini 2+ models (6a94af2)
  • Bug when callback_context_invocation_context is missing in GlobalInstructionPlugin (f81ebdb)
  • Support models slash prefix in model name extraction (8dff850)
  • Do not consider events with state delta and no content as final response (1ee93c8)
  • Parameter filtering for CrewAI functions with **kwargs (74a3500)
  • Do not treat FinishReason.STOP as error case for LLM responses containing candidates with empty contents (2f72ceb)
  • Fixes null check for reflect_retry plugin sample (86f0155)
  • Creates evalset directory on evalset create (6c3882f)
  • Add ADK_DISABLE_LOAD_DOTENV environment variable that disables automatic loading of .env when running ADK cli, if set to true or 1 (15afbcd)
  • Allow tenacity 9.0.0 (ee8acc5)
  • Output file uploading to artifact service should handle both base64 encoded and raw bytes (496f8cd)
  • Correct message part ordering in A2A history (5eca72f)
  • Change instruction insertion to respect tool call/response pairs (1e6a9da)
  • DynamicPickleType to support MySQL dialect (fc15c9a)
  • Enable usage metadata in LiteLLM streaming (f9569bb)
  • Fix issue with MCP tools throwing an error (1a4261a)
  • Remove redundant format field from LiteLLM content objects (489c39d)
  • Update the contribution analysis tool to use original write mode (54db3d4)
  • Fix agent evaluations detailed output rows wrapping issue(4284c61)
  • Update dependency version constraints to be based on PyPI versions(0b1784e)

Improvements

  • Add Community Repo section to README (432d30a)
  • Undo adding MCP tools output schema to FunctionDeclaration (92a7d19)
  • Refactor ADK README for clarity and consistency (b0017ae)
  • Add support for reversed proxy in adk web (a0df75b)
  • Avoid rendering empty columns as part of detailed results rendering of eval results (5cb35db)
  • Clear the behavior of disallow_transfer_to_parent (48ddd07)
  • Disable the scheduled execution for issue triage workflow (a02f321)
  • Include delimiter when matching events from parent nodes in content processor (b8a2b6c)
  • Improve Tau-bench ADK colab stability ([04dbc42](https://gi...
Read more

v1.17.0

22 Oct 20:46

Choose a tag to compare

1.17.0 (2025-10-22)

Features

  • [Core]

    • Add a service registry to provide a generic way to register custom service implementations to be used in FastAPI server. See short instruction here. (391628f)
    • Add the ability to rewind a session to before a previous invocation (9dce06f)
    • Support resuming a parallel agent with multiple branches paused on tool confirmation requests (9939e0b)
    • Support content union as static instruction (cc24d61)
  • [Evals]

    • ADK cli allows developers to create an eval set and add an eval case (ae139bb)
  • [Integrations]

    • Allow custom request and event converters in A2aAgentExecutor (a17f3b2)
  • [Observability]

    • Env variable for disabling llm_request and llm_response in spans (e50f05a)
  • [Services]

    • Allow passing extra kwargs to create_session of VertexAiSessionService (6a5eac0)
    • Implement new methods in in-memory artifact service to support custom metadata, artifact versions, etc. (5a543c0)
    • Add create_time and mime_type to ArtifactVersion (2c7a342)
    • Support returning all sessions when user id is none (141318f)
  • [Tools]

    • Support additional headers for Google API toolset (ed37e34)
    • Introduces a new AgentEngineSandboxCodeExecutor class that supports executing agent-generated code using the Vertex AI Code Execution Sandbox API (ee39a89)
    • Support dynamic per-request headers in MCPToolset (6dcbb5a)
    • Add bypass_multi_tools_limit option to GoogleSearchTool and VertexAiSearchTool (9a6b850, 6da7274)
    • Extend ReflectAndRetryToolPlugin to support hallucinating function calls (f51380f)
    • Add require_confirmation param for MCP tool/toolset (78e74b5)
  • [UI]

    • Granular per agent speech configuration (409df13)

Bug Fixes

  • Returns dict as result from McpTool to comply with BaseTool expectations (4df9263)
  • Fixes the identity prompt to be one line (7d5c6b9)
  • Fix the broken langchain importing caused their 1.0.0 release (c850da3)
  • Fix BuiltInCodeExecutor to support visualizations (ce3418a)
  • Relax runner app-name enforcement and improve agent origin inference (dc4975d)
  • Improve error message when adk web is run in wrong directory (4a842c5)
  • Handle App objects in eval and graph endpoints (0b73a69)
  • Exclude additionalProperties from Gemini schemas (307896a)
  • Overall eval status should be NOT_EVALUATED if no invocations were evaluated (9fbed0b)
  • Create context cache only when prefix matches with previous request (9e0b1fb)
  • Handle App instances returned by agent_loader.load_agent (847df16)
  • Add support for file URIs in LiteLLM content conversion (85ed500)
  • Only exclude scores that are None (998264a)
  • Better handling the A2A streaming tasks (bddc70b)
  • Correctly populate context_id in remote_a2a_agent library (2158b3c)
  • Remove unnecessary Aclosing (2f4f561)
  • Fix pickle data was truncated error in database session using MySql (36c96ec)

Improvements

  • Improve hint message in agent loader (fe1fc75)
  • Fixes MCPToolset --> McpToolset in various places (d4dc645)
  • Add span for context caching handling and new cache creation (a2d9f13)
  • Checks gemini version for 2 and above for gemini-builtin tools (0df6759)
  • Refactor and fix state management in the session service (8b3ed05)
  • Update agent builder instructions and remove run command details (89344da)
  • Clarify how to use adk built-in tool in instruction (d22b8bf)
  • Delegate the agent state reset logic to LoopAgent (bb1ea74)
  • Adjust the instruction about default model (214986e)
  • Migrate invocation_context to callback_context (e2072af)
  • Correct the callback signatures (fa84bcb)
  • Set default for bypass_multi_tools_limit to False for GoogleSearchTool and VertexAiSearchTool (6da7274)
  • Add more clear instruction to the doc updater agent about one PR for each recommended change (b21d0a5)
  • Add a guideline to avoid content deletion (16b030b)
  • Add an sample agent for the ReflectAndRetryToolPlugin (9b8a4aa)
  • Improve error message when adk web is run in wrong directory (4a842c5)
  • Add an sample agent for the ReflectAndRetryToolPlugin (9b8a4aa)
  • Add span for context caching handling and new cache creation (a2d9f13)
  • Disable the scheduled execution for issue triage workflow (bae2102)
  • Correct the callback signatures (fa84bcb)

Documentation

Read more

Release 1.16.0

09 Oct 19:00

Choose a tag to compare

1.16.0 (2025-10-08)

Features

  • [Core]
  • [Models]
    • Add citation_metadata to LlmResponse (3f28e30)
    • Add support for gemma model via gemini api (2b5acb9)
  • [Tools]
    • Add dry_run functionality to BigQuery execute_sql tool (960eda3)
    • Add BigQuery analyze_contribution tool (4bb089d)
    • Spanner ADK toolset supports customizable template SQL and parameterized SQL (da62700)
    • Support Oauth2 client credentials grant type (5c6cdcd)
    • Add ReflectRetryToolPlugin to reflect from errors and retry with different arguments when tool errors (e55b894)
    • Support using VertexAiSearchTool built-in tool with other tools in the same agent (4485379)
    • Support using google search built-in tool with other tools in the same agent (d3148da)
  • [Evals]
    • Add HallucinationsV1 evaluation metric (8c73d29)
    • Add Rubric based tool use metric (c984b9e)
  • [UI]
    • Adds adk web options for custom logo (822efe0)
  • [Observability]
    • otel: Switch CloudTraceSpanExporter to telemetry.googleapis.com (bd76b46)

Bug Fixes

  • Adapt to new computer use tool name in genai sdk 1.41.0 (c6dd444)
  • Add AuthConfig json serialization in vertex ai session service (636def3)
  • Added more agent instructions for doc content changes (7459962)
  • Convert argument to pydantic model when tool declares it accepts pydantic model as argument (571c802)
  • Do not re-create App object when loader returns an App (d5c46e4)
  • Fix compaction logic (3f2b457)
  • Fix the instruction in workflow_triage example agent (8f3ca03)
  • Fixes a bug that causes intermittent pydantic validation errors when uploading files (e680063)
  • Handle A2A Task Status Update Event when streaming in remote_a2a_agent (a5cf80b)
  • Make compactor optional in Events Compaction Config and add a default (3f4bd67)
  • Rename SlidingWindowCompactor to LlmEventSummarizer and refine its docstring (f1abdb1)
  • Rollback compaction handling from _get_contents (84f2f41)
  • Set max_output_tokens for the agent builder (2e2d61b)
  • Set default response modality to AUDIO in run_session (68402bd)
  • Update remote_a2a_agent to better handle streaming events and avoid duplicate responses (8e5f361)
  • Update the load_artifacts tool so that the model can reliably call it for follow up questions about the same artifact (238472d)
  • Fix VertexAiSessionService base_url override to preserve initialized http_options (8110e41, c51ea0b)
  • Handle App instances returned by agent_loader.load_agent (847df16)

Improvements

  • Migrate VertexAiSessionService to use Agent Engine SDK (90d4c19)
  • Migrate VertexAiMemoryBankService to use Agent Engine SDK (d1efc84, 97b950b, 83fd045)
  • Add support for resolving $ref and $defs in OpenAPI schemas (a239716)

Documentation

  • Update BigQuery samples README (3021266)

Release 1.15.1

26 Sep 22:42

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

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

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

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