Releases
v2.5.0
Compare
Sorry, something went wrong.
No results found
2.5.0 (2026-07-16)
Features
add Cloud Run sandbox option in code executors (5b1088a )
Add search agents and search MCP severs to agent registry (ed579c1 )
add skill to verify markdown code snippets (c0fa51b )
Add strict input schema validation for LlmAgent workflow nodes (6f66814 )
add to_mcp_server to serve an ADK agent over MCP (50ff37f )
agents: add single_turn mode field to ManagedAgent (da50578 )
agents: bridge node_input to user_content for ManagedAgent nodes (a680cea )
agents: support remote MCP servers for ManagedAgent with runtime header callbacks (2e2ec09 )
agents: wrap single_turn non-LlmAgent sub-agents as inline tools (fc98549 )
bigquery: log tool descriptions and parameter schemas in LLM_REQUEST (ecef5f8 )
enable a2a-sdk 1.x by widening the dependency constraint (b46dd13 )
live: allow Voice activity detection (VAD) events to be returned (820a910 )
live: Run non-blocking tools in a background task (5620d8f )
plugins: add on_agent_error_callback and on_run_error_callback (7d0ae63 )
Support HITL resumption for standalone nodes and NodeTool (00760f8 )
Support LoadArtifacts parsing for binary text documents (e.g., DOCX) (ccbedd8 )
Validate that no old orchestrators are used inside Workflow graphs (7e245c4 )
Validate that no old orchestrators are used inside Workflow graphs (eaffb0e )
workflow: Support state-based resumption for task-mode agent workflow nodes (9d306f5 )
Bug Fixes
Add mTLS support for for API registry (41693dc )
Add mtls support for gcp_utils (3fa993b )
Add support for list_artifact_versions and get_artifact_version to ForwardingArtifactService (61ba59a )
avoid crash on first turn with empty user content (c9bacd4 )
Avoid shell execution in ReadFileTool ranged reads (1ac6875 )
block posix, nt, _posixsubprocess, and _socket modules in agent config validation (faa1744 )
cli: Block special internal agents in ApiServer mode (3f6eb1f )
confine docs-agent file tools to the managed repos directory (f00fc5a )
decode shell skill output as UTF-8 (b7ad76a )
environment: add integer validation in ReadFileTool (3c0fb65 )
exclude LiteLlm llm_client from JSON serialization (ecbefd9 ), closes #6164
exclude rewound invocations from event compaction (0d4d378 )
explicitly preserve language and tools during event compaction (b44d2c9 ), closes #6273
Fix InputTokensDetails validation in OpenAI responses test and formatting in a2a_agent_executor (99ea228 )
Fix sub-branch event routing for nested sub-agents and tools in InvocationContext (3cdc102 )
GitHub CI for the verify-snippets skill (ccc8ab4 )
grow eligible Gemini cache prefixes (98fc036 )
guard decode_model against non-dict session values (8c60d99 ), closes #6348
handle sqlite float timestamps in PreciseTimestamp (2da09e6 ), closes #6352
honor server-reported Gemini cache expiry (4fdc94c )
litellm: preserve reasoning replay and optionally share agent thoughts (6290aec )
litellm: preserve signature-only blocks for Anthropic streaming thinking aggregation (78d1957 )
make agent and run error callbacks best-effort so they never mask the original error (2f48ad3 )
make discussion answering model configurable (de4ac2d )
match HF-style gemma-4 model names for tool_responses role (4930155 ), closes #6334
models: Allow context caches with empty content prefixes (ee7174d )
models: forward request headers on google_llm interactions path (b5a3e34 )
preserve non-ASCII characters in agent input (7006e33 ), closes #6279 #6282
preserve non-image file MIME type in LiteLlm content conversion (065234e ), closes #4174
Prevent continuation forgery in tool confirmation (c03f333 )
prevent model bypass in resumable mode by rejecting user-authored function calls (283e92e )
prevent synchronous code executors from blocking the event loop (585809c ), closes #6353
recover a compacted sibling's latest response, not its placeholder (0bd7ea0 )
recover compacted function calls during prompt assembly (0c517e7 ), closes #5602
remove OpenTelemetry event logger setup since the Events API/SDK has been deprecated and is soon being removed entirely (bb3b2a4 )
repair two broken contributing samples (ee3a381 )
require starlette>=1.3.1 to clear known CVEs (221bad9 ), closes #6038
Resolve scheduler leakage and make scheduler instantiation explicit (ce2e4ca )
Resolve scheduler leakage and make scheduler instantiation explicit (d4f0772 )
Retain user input across transfer_to_agent when include_contents='none' (ad5445a ), closes #3535
Return 404 instead of 500 when app_name does not match any agent (f4decf6 ), closes #5374
return MCP tools in stable sorted order for cache stability (2aba05c )
reuse current-step tool resolution (3164504 )
reuse fetched session and honor get_session_config on chat path (81306bb )
rollback of path segment validation in InMemoryArtifactService and GcsArtifactService (961f3e8 )
samples: Fix monitor_video_stream in live bidi streaming sample (7c11f58 )
scope Gemini cache identity (8de4237 )
sessions: prevent PydanticSerializationError when session state contains non-serializable objects (757ef22 )
shield toolset cleanup from cancellation (a69ba4f )
snapshot events under lock in InMemoryMemoryService.search_memory (aeccd3b ), closes #6167
Support passing credentials to GCPSkillRegistry (c441ab2 )
support unencrypted workload certificates for mTLS in GoogleApiToolset (d831ee6 )
telemetry: add 0 bucket boundary to per-invocation call count histograms (c291821 )
test: correct polling timeout unit test in IAM Connector credentials provider (4448117 )
Update GCP Skill Registry to use agentregistry/skill endpoint (fa884e3 )
Update VertexAiRagMemoryService methods to use latest RAG module (96d2914 )
Validate path segments in GcsArtifactService and InMemoryArtifactService to prevent cross-user artifact access (45a77dc )
Validate path segments in GcsArtifactService and InMemoryArtifactService to prevent cross-user artifact access (8718aef ), closes #6115 #6116
workflow: Process all completed tasks in batch before exiting on error (8db2ace )
workflow: treat RetryConfig(max_attempts=0) as no retries (3b3f127 )
Performance Improvements
lazy-load ManagedAgent to keep the interactions API off startup (995628c )
litellm: track brace depth incrementally for streaming tool-call args (e5fdb51 )
Optimize workflow rehydration performance with indexing (64a7448 )
skip disabled request-log formatting (cba2827 )
skip non-recording LLM trace work (0c63a89 ), closes #4233
Documentation
add to_mcp_server unit guide (534e8d5 )
Fix token exceeded error on ADK release analyzer's final summary agent (989af4d )
guides: Add ManagedAgent unit guide (ab839d5 )
guides: note single_turn works for non-LlmAgent agents (26ed6fe )
samples: add ManagedAgent remote MCP (Maps Grounding Lite) sample (cc444b6 )
samples: Add ManagedAgent single-turn sub-agent sample (57e1ba6 )
samples: Link ManagedAgent sample READMEs to the guide (3834c0b )
samples: Remove NOT WORKING YET comments from workflow samples (f3f602f )
simplify sample graph guidance in adk-sample-creator skill (27edb1a )
skills: Add coding conventions and state lifecycle rules to style and architecture guides (367ab9a )
tools: encourage using mode='single_turn' in AgentTool and document manual artifacts configuration (a9b4276 )
tools: recommend mode='single_turn' in AgentTool docstring (f4072a4 )
Update models owner for ADK PR triaging agent (b8a1dab )
You can’t perform that action at this time.