- Notifications
You must be signed in to change notification settings - Fork2.9k
Releases: google/adk-python
v1.25.1
v1.25.0
1.25.0 (2026-02-11)
Features
[Core]
- Add a demo for the simple prompt optimizer for the optimization interface (0abf4cd)
- Add
--auto_create_sessionflag toadk api_serverCLI (40c15d0) - Add
add_events_to_memoryfacade for event-delta (59e8897) - Add post-invocation token-threshold compaction with event retention (a88e864)
- Add report generation to
adk conformance testcommand (43c437e)
[Models]
- Add base_url option to Gemini LLM class (781f605)
[Tools]
[Web]
- Add
/healthand/versionendpoints to ADK web server (25ec2c6)
- Add
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
/runendpoint toRunner.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
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.24.1
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.24.0
1.24.0 (2026-02-04)
⚠ BREAKING CHANGES
- Breaking: Make credential manager accept
tool_contextinstead ofcallback_context(fe82f3c)
Highlights
- [Web]
- Consolidated Event View: Replaced the Event tab with a more intuitive "click-to-expand" interaction on message rows, enabling faster debugging within the chat context
- Enhanced Accessibility: Added full support for arrow-key navigation for a more seamless, keyboard-centric experience
- Rich Developer Tooling: Introduced detailed tooltips for function calls, providing instant visibility into arguments, responses, and state changes
- A2UI Integration: Integrated theA2UI v0.8 standard catalog to automatically render spec-compliant ADK parts as native UI components directly in the chat
Features
[Core]
[Models]
- Mark Vertex calls made from non-Gemini models (7d58e0d)
[Evals]
[Tools]
- Make OpenAPI tool asynchronous (9290b96)
- Implement toolset authentication for
McpToolset,OpenAPIToolset, and other toolsets (798f65d) - Add framework support for toolset authentication before
get_toolscalls (ee873ca) - Support dynamic configuration for
VertexAiSearchTool(585ebfd) - Add
get_auth_configmethod to toolset to expose authentication requirements (381d44c) - Add methods in
McpToolsetfor users to access MCP resources (8f7d965) - Improve error message when failing to get tools from MCP (3480b3b)
[Services]
- Improve
asyncioloop handling and test cleanup (00aba2d)
- Improve
[Live]
- Support running tools in separate threads for live mode (714c3ad)
[Observability]
- Add extra attributes to spans generated with
opentelemetry-instrumentation-google-genai(e87a843)
- Add extra attributes to spans generated with
Bug Fixes
- Ignore
session_db_kwargsfor SQLite session services (ce07cd8) - Resolve
MutualTLSChannelErrorby addingpyopenssldependency (125bc85) - Add
update_timestamp_tzproperty toStorageSession(666cebe) - Do not treat Function Calls and Function Responses as invisible when marked as thoughts (853a3b0)
- Add pre-deployment validation for agent module imports (credit to@ppgranger,2ac468e)
- Fix cases where
execution_result_delimitershaveNonetype element (a16e3cc) - Disable
save_input_blobs_as_artifactsdeprecation warning message for users not setting it (c34615e) - Fix agent config path handling in generated deployment script (8012339)
- Add
pypika>=0.50.0toproject.tomlto supportcrewaion Python 3.12+ (e8f7aa3) - Update OpenTelemetry dependency versions to relax version constraints for
opentelemetry-apiandopentelemetry-sdk(706a6dd) - Enable
pool_pre_pingby default for non-SQLite database engines (da73e71) - Ensure database sessions are always rolled back on errors (63a8eba)
- Reload stale session in
DatabaseSessionServicewhen storage update time is later than the in-memory session object (1063fa5) - Make credential key generation stable and prevent cross-user credential leaks (33012e6)
- Change MCP
read_resourceto return original contents (ecce7e5) - Recognize function responses as non-empty parts in LiteLLM (d0102ec)
- Handle HTTP/HTTPS URLs for media files in LiteLLM content conversion (47221cd)
- Fix Pydantic schema generation error for
ClientSession(131fbd3) - Fix Click’s Wrapping in
adk evalhelp message (3bcd8f7) - Stream errors as simple JSON objects in ADK web server SSE endpoint (798d005)
- Remove print debugging artifact (0d38a36)
Improvements
- Check
will_continuefor streaming function calls (2220d88) - Update ADK web, rework events, and add A2UI capabilities (37e6507)
- Improve error handling for LiteLLM import in
gemma_llm.py(574ec43) - Replace proxy methods with utils implementation (6ff10b2,f82ceb0)
- Replace print statements with logging in ADK evaluation components (dd8cd27)
- Add sample agent that requires OAuth flow during MCP tool listing, and convert
MCPToolsettoMcpToolsetin unit tests (2770012,4341839) - Ensure
BigQueryAgentAnalyticsPluginis shut down after each test (c0c98d9) - Add ADK logger in
RestApiTool(288c2c4) - Add GitHub Action check to run
mypy(32f9f92) - Add
unittests.shscript and updateCONTRIBUTING.md(025b42c) - Extract helper function for LLM request building and response processing (753084f)
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.23.0
1.23.0 (2026-01-22)
⚠ BREAKING CHANGES
- Breaking: Use OpenTelemetry for BigQuery plugin tracing, replacing custom
ContextVarimplementation (ab89d12)
Features
[Core]
- Add support to automatically create a session if one does not exist (8e69a58)
- Remove
@experimentaldecorator fromAgentEngineSandboxCodeExecutor(135f763) - Add
--disable_featuresCLI option to override default feature enable state (53b67ce) - Add
otel_to_cloudflag toadk deploy agent_enginecommand (21f63f6) - Add
is_computer_usefield to agent information inadk-webserver (5923da7) - Allow
thinking_configingenerate_content_config(e162bb8) - Convert A2UI messages between A2A
DataPartmetadata and ADK events (1133ce2) - Add
--enable_featuresCLI option to override default feature enable state (79fcddb)
[Tools]
- Add flush mechanism to
BigQueryAgentAnalyticsPluginto ensure pending log events are written to BigQuery (9579bea) - Allow Google Search tool to set a different model (b57a3d4)
- Support authentication for MCP tool listing (e3d542a19315fe)
- Use JSON schema for
base_retrieval_tool,load_artifacts_tool, andload_memory_tooldeclarations when the feature is enabled (69ad605) - Use JSON schema for
IntegrationConnectorTooldeclaration when the feature is enabled (2ed6865) - Start and close
ClientSessionin a single task inMcpSessionManager(cce430d) - Use JSON schema for
RestApiTooldeclaration when the feature is enabled (a5f0d33)
- Add flush mechanism to
[Evals]
[Observability]
- Add minimal
generate_content {model.name}spans and logs for non-Gemini inference and whenopentelemetry-inference-google-genaidependency is missing (935c279)
- Add minimal
[Integrations]
- Enhance
TraceManagerasynchronous safety, enrich BigQuery plugin logging, and fix serialization (a4116a6)
- Enhance
[Live]
- Persist user input content to session in live mode (a04828d)
Bug Fixes
- Recursively extract input/output schema for AgentTool (bf2b56d)
- Yield buffered
function_callandfunction_responseevents during live streaming (7b25b8f) - Update
authlibandmcpdependency versions (7955177) - Set
LITELLM_MODEtoPRODUCTIONbefore importing LiteLLM to prevent implicit.envfile loading (215c2f5) - Redact sensitive information from URIs in logs (5257869)
- Handle asynchronous driver URLs in the migration tool (4b29d15)
- Remove custom metadata from A2A response events (81eaeb5)
- Handle
Noneinferences in eval results (7d4326c) - Mark all parts of a thought event as thought (f92d4e3)
- Use
json.dumpsfor error messages in SSE events (6ad18cc) - Use the correct path for config-based agents when deploying to AgentEngine (83d7bb6)
- Support Generator and Async Generator tool declarations in JSON schema (19555e77c28297)
- Prevent stopping event processing on events with
Nonecontent (ed2c3eb) - Fix
'NoneType'object is not iterable error (7db3ce9) - Use canonical tools to find streaming tools and register them by
tool.name(ec6abf4) - Initialize
self._auth_configinsideBaseAuthenticatedToolto access authentication headers inMcpTool(d4da1bb) - Only filter out audio content when sending history (712b5a3)
- Add finish reason mapping and remove custom file URI handling in LiteLLM (89bed43)
- Convert unsupported inline artifact MIME types to text in
LoadArtifactsTool(fdc98d5) - Pass
log_leveltouvicorninwebandapi_servercommands (38d52b2) - Use the agent name as the author of the audio event (ab62b1b)
- Handle
NOT_FOUNDerror when fetching Vertex AI sessions (75231a3) - Fix
httpxclient closure during event pagination (b725045)
Improvements
- Add new conversational analytics API toolset (82fa10b)
- Filter out
adk_request_inputevent from content list (295b345) - Always skip executing partial function calls (d62f9c8)
- Update comments of request confirmation preprocessor (1699b09)
- Fix various typos (a8f2ddd)
- Update sample live streaming tools agent to use latest live models (3dd7e3f)
- Make the regex to catch CLI reference strict by adding word boundary anchor (c222a45)
- Migrate
ToolboxToolsetto usetoolbox-adkand align validation (7dc6adf277084e) - Always log API backend when connecting to live model (7b035aa)
- Add a sample BigQuery agent using BigQuery MCP tools (672b57f)
- Add a
DebugLoggingPluginto record human-readable debugging logs (8973618) - Upgrade the sample BigQuery agent model version to
gemini-2.5-flash([fd2c0f5](https://github.com/google/adk-py...
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.22.1
Assets2
Uh oh!
There was an error while loading.Please reload this page.
v1.22.0
Features
[Core]
[Evals]
[Tools]
[Services]
[A2A]
- Update event_converter used in A2ARemote agent to use a2a_task.status.message only if parts are non-empty (e4ee9d7).
Bug Fixes
- Add checks for event content and parts before accessing (5912835).
- Validate app name in
adk createcommand (742c926). - Prevent .env files from overriding existing environment variables (0827d12).
- Prevent ContextFilterPlugin from creating orphaned function responses (e32f017).
- Update empty event check to include executable code and execution results (688f48f).
- Make the BigQuery analytics plugin work with agents that don't have instructions such as the LoopAgent (8bed01c).
- Label response as thought if task is immediately returned as working (4f3b733).
- Move and enhance the deprecation warning for the plugins argument in "_validate_runner_params" to the beginning of the function (43270bc).
- Oauth refresh not triggered on token expiry (69997cd).
- Fix double JSON encoding when saving eval set results (fc4e3d6).
- Allow string values for ToolTrajectoryCriterion.match_type (93d6e4c).
- Fix inconsistent method signatures for evaluate_invocations (0918b64).
- Honor the modalities parameter in adk api server for live API (19de45b).
- Filter out thought parts in lite_llm._get_content (1ace8fc).
- Rehydration of EventActions in StorageEvent.to_event (838530e).
- Heal missing tool results before LiteLLM requests (6b7386b).
- Refine Ollama content flattening and provider checks (c6f389d).
- Add MIME type inference and default for file URIs in LiteLLM (5c4bae7).
- Use mode='json' in model_dump to serialize bytes correctly when using telemetry (96c5db5).
- Avoid local .adk storage in Cloud Run/GKE (b30c2f4).
- Remove fallback to cached exchanged credential in _load_existing_credential (1ae0e16).
- Handle overriding of requirements when deploying to agent engine (38a30a4).
- Built-in agents (names starting with "__") now use in-memory session storage instead of creating .adk folders in the agents directory (e3bac1a).
- Change error_message column type to TEXT in DatabaseSessionService (8335f35).
- Add schema type sanitization to OpenAPI spec parser (6dce7f8).
- Prevent retry_on_errors from retrying asyncio.CancelledError (30d3411).
- Include back-ticks around the BQ asset names in the tools examples (8789ad8).
- Fix issue with MCP tools throwing an error (26e77e1).
- Exclude thought parts when merging agent output (07bb164).
- Prepend "https://" to the MCP server url only if it doesn't already have a scheme (71b3289).
- Split SSE events with both content and artifactDelta in ADK Web Server (084fcfa).
- Propagate RunConfig custom metadata to all events (e3db2d0).
- Harden YAML builder tmp save/cleanup(6f259f0).
- Ignore adk-bot administrative actions in stale agent (3ec7ae3).
- Only prepend "https://" to the MCP server url if it doesn't already have a scheme (71b3289).
- Check all content parts for emptiness in _contains_empty_content (f35d129).
Improvements
- Remove unnecessary event loop creation in LiveRequstQueue constructor (ecc9f18).
- Close database engines to avoid aiosqlite pytest hangs (4ddb2cb).
- Add
override_feature_enabledto override the default feature enable states (a088506). - Move SQLite migration script to migration/ folder (e8ab7da).
- Update latest Live Model names for sample agent (f1eb1c0).
- Update google-genai and google-cloud-aiplatform versions (d58ea58).
- Introduce MetricInfoProvider interface, and refactor metric evaluators to use this interface to provide MetricInfo (5b7c8c0).
- Update _flatten_ollama_content return type and add tests (fcea86f).
- Add disambiguation message to enterprise_search_tool (8329fec).
- Add x-goog-user-project header to http calls in API Registry (0088b0f).
- Set the default response modality to AUDIO only ([a4b914b](a4b914b09fbab7683...
Assets2
Uh oh!
There was an error while loading.Please reload this page.
Release 1.21.0
1.21.0 (2025-12-11)
Features
[Interactions API Support]
- The newly released GeminiInteractions API is supported in ADK Now. To use it:
Agent(model=Gemini(model="gemini-3-pro-preview",use_interactions_api=True, ),name="...",description="...",instruction="...",)
seesamples for details
[Services]
- Add
add_session_to_memorytoCallbackContextandToolContextto explicitly save the current session to memory (7b356dd)
- Add
[Plugins]
[A2A]
- Adds ADK EventActions to A2A response (32e87f6)
[Tools]
[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 fixCVE-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_schemato 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_idandnew_messageinrun_async(de841a4)
Assets2
Uh oh!
There was an error while loading.Please reload this page.
1.20.0
1.20.0 (2025-12-01)
Features
[Core]
[Models]
- Enable multi-provider support for Claude and LiteLLM (d29261a)
[Tools]
[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.pywhere, 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)
Assets2
Uh oh!
There was an error while loading.Please reload this page.
1.19.0
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
idandcustom_metadatafields toMemoryEntry(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)
- Add
[Evals]
- Add support for InOrder and AnyOrder match in ToolTrajectoryAvgScore Metric (e2d3b2d)
[Integrations]
[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]
[Tools]
[Observability]
- Migrate BigQuery logging to Storage Write API (a2ce34a)
Bug Fixes
- Add
jsonschemadependency for Agent Builder config validation (0fa7e46) - Add None check for
eventinremote_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
FunctionDeclarationwithout arequiredattribute (93aad61) - Fix status code in error message in RestApiTool (9b75456)
- Fix Use
async forto 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-aiplatformversion in agent engine requirements (e15e19d) - Stop updating write mode in the global settings during tool execution (5adbf95)
- Update description for
load_artifactstool (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_rowsin 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.storageinGCSArtifactService([9...
Assets2
Uh oh!
There was an error while loading.Please reload this page.