Compare URL: google/adk-python@v2.2.0...v2.4.0
Feature changes
1. New ManagedAgent feature and documentation
Doc file: docs/agents/managed-agent.md, mkdocs.yml
Current state:
File does not exist. (For docs/agents/managed-agent.md)
Missing from mkdocs.yml navigation.
Proposed Change:
Create docs/agents/managed-agent.md detailing ManagedAgent requirements (enterprise client, global location) and limitations (server-side tools only, streaming only). Add agents/managed-agent.md to mkdocs.yml under Agents -> Simple agents.
Reasoning:
A new ManagedAgent class has been added to ADK for running agents via the Managed Agents API (interactions.create). It requires specific configurations and documentation for users to discover and use it.
Reference: src/google/adk/agents/_managed_agent.py
2. RunConfig field additions (model_input_context, translation_config, http_options, telemetry)
Doc file: docs/runtime/runconfig.md
Current state:
Does not mention model_input_context, translation_config, http_options, or telemetry.
Proposed Change:
Add definitions for:
model_input_context: Transient context to include in the model input for this invocation without persisting it to the session.
translation_config: Configures real-time speech-to-speech translation.
http_options: HTTP options for the agent execution (e.g., custom headers).
telemetry: Per-request OpenTelemetry configuration.
Reasoning:
New fields were added to RunConfig to support transient model input context, real-time speech translation, custom HTTP options, and per-request telemetry control.
Reference: src/google/adk/agents/run_config.py
3. Support for partial turn updates in streaming requests
Doc file: docs/streaming/dev-guide/part2.md
Current state:
LiveRequest and send_content() documentation lack mention of partial turns.
Proposed Change:
Update LiveRequest to include partial: bool = False # Signal partial turn update. Update send_content() to explain: "You can optionally pass partial=True to indicate that the content is a partial turn update that does not yet complete the model's turn."
Reasoning:
The LiveRequest model and send_content() method were updated to accept a partial boolean flag indicating a partial turn update, which must be documented for developers using the streaming API.
Reference: src/google/adk/agents/live_request_queue.py
4. Deprecation of global_instruction in favor of GlobalInstructionPlugin
Doc file: docs/agents/llm-agents.md
Current state:
Note: For instructions that apply to all agents in a system, consider using global_instruction on the root agent.
Proposed Change:
Note: For instructions that apply to all agents in a system, consider using the GlobalInstructionPlugin on your App object.
Reasoning:
The global_instruction field on LlmAgent has been deprecated. Users should now use the GlobalInstructionPlugin at the App level to apply instructions consistently across all agents.
Reference: src/google/adk/plugins/global_instruction_plugin.py
5. Update ContextCacheConfig parameter documentation
Doc file: docs/context/caching.md
Current state:
min_tokens (int): The minimum number of tokens required in a request to enable caching... Defaults to 0.
Proposed Change:
min_tokens (int): The minimum prior-request tokens required to enable caching. This gates on the previous request's actual prompt token count... Gemini enforces a hard 4096-token minimum...
create_http_options (Python only, google.genai.types.HttpOptions): Optional HTTP options to pass to the GenAI client...
Reasoning:
The ContextCacheConfig definition has been updated to clarify how min_tokens works with the Gemini API and to introduce the create_http_options parameter.
Reference: src/google/adk/agents/context_cache_config.py
6. Document support for Workflows/Nodes as Tools
Doc file: docs/agents/llm-agents.md
Current state:
Lists native functions, BaseTool, and AgentTool as supported tools.
Proposed Change:
Add: * (Python only) An instance of a BaseNode or Workflow that has a description configured (wrapped internally as a NodeTool).
Reasoning:
LlmAgent now supports using BaseNode and Workflow instances directly as tools, expanding ways agents can delegate to other execution graphs.
Reference: src/google/adk/agents/llm_agent.py
7. Deprecate SequentialAgent in favor of Workflow
Doc file: docs/agents/workflow-agents/sequential-agents.md
Current state:
!!! note "Alternative: graph-based workflows"
Starting in ADK 2.0 for Python and Go, templated workflows have been superseded...
Proposed Change:
!!! warning "Deprecation Notice"
SequentialAgent is deprecated in favor of Workflow and will be removed in a future version. Note that Workflow cannot yet be used as an LlmAgent sub-agent.
Reasoning:
SequentialAgent is now explicitly marked as deprecated in Python code. A clear warning should be provided to users.
Reference: src/google/adk/agents/sequential_agent.py
8. Document prompt parameter in OAuth2Auth
Doc file: docs/tools-custom/authentication.md
Current state:
client_secret=YOUR_OAUTH_CLIENT_SECRET
Proposed Change:
client_secret=YOUR_OAUTH_CLIENT_SECRET,
Optional: prompt="consent" (default), "login", "none", or "select_account"
Reasoning:
The OAuth2Auth model now accepts an optional prompt parameter for customizing OAuth prompt behavior.
Reference: src/google/adk/auth/auth_credential.py
9. Add Express Mode API Key support for CLI deploy
Doc file: docs/deploy/agent-runtime/deploy.md
Current state:
adk deploy agent_engine
--project=$PROJECT_ID
--region=$LOCATION_ID
--display_name="My First Agent"
multi_tool_agent
Proposed Change:
With Google Cloud Project and Region
...
Or with Express Mode API Key (bypasses Google Cloud Project/Location requirement)
adk deploy agent_engine
--api_key="YOUR_API_KEY"
multi_tool_agent
Reasoning:
adk deploy agent_engine now supports an --api_key option to automatically deploy using Express Mode, bypassing the need for a GCP project.
Reference: src/google/adk/cli/cli_deploy.py
10. Document trigger sources for ambient agents on Agent Platform
Doc file: docs/runtime/ambient-agents.md
Current state:
Mentions --trigger_sources="pubsub,eventarc" for adk deploy cloud_run.
Proposed Change:
Add note: "You can also deploy ambient agents to Agent Platform by passing the same --trigger_sources flag to the adk deploy agent_engine command."
Reasoning:
adk deploy agent_engine now explicitly supports the --trigger_sources flag for deploying ambient agents.
Reference: src/google/adk/cli/cli_deploy.py
11. Custom Storage Backends via services.yaml
Doc file: docs/sessions/session/index.md
Current state:
Here’s a simplified flow of how Session and SessionService work together
Proposed Change:
Add a section detailing how to register custom storage backends by creating a services.yaml file and specifying the custom URI scheme (e.g., adk web --session_service_uri="mycustom://...").
Reasoning:
The Service Registry now supports reading custom backend services from a services.yaml file, simplifying custom configurations.
Reference: src/google/adk/cli/service_registry.py
12. Document experimental Daytona and E2B Environments
Doc file: docs/integrations/environment-toolset.md
Current state:
ADK provides a LocalEnvironment implementation for use with the Environment Toolset framework.
Proposed Change:
ADK provides a LocalEnvironment implementation for use with the Environment Toolset framework. ADK also provides experimental DaytonaEnvironment and E2BEnvironment remote sandbox environments.
Reasoning:
ADK added built-in implementations for DaytonaEnvironment and E2BEnvironment that extend BaseEnvironment.
Reference: src/google/adk/integrations/daytona/_daytona_environment.py
13. Add specialized Gemma 3 wrapper support
Doc file: docs/agents/models/google-gemma.md
Current state:
Focuses strictly on standard API/self-hosting without mention of Gemma 3's function calling workarounds.
Proposed Change:
Add a Gemma 3 Support section explaining that Gemma and Gemma3Ollama classes provide automatic workarounds for Gemma 3.
Reasoning:
ADK added specialized Gemma and Gemma3Ollama classes specifically to bridge the function calling and system instruction gaps for Gemma 3 models.
Reference: src/google/adk/models/gemma_llm.py
Other
14. Update CLI default models to gemini-3.5-flash
Doc file: docs/get-started/python.md, docs/agents/config.md
Current state:
model: gemini-flash-latest and model='gemini-flash-latest'
Proposed Change:
Update examples to model='gemini-3.5-flash' and model: gemini-3.5-flash.
Reasoning:
The adk create CLI tool now defaults to generating agent templates with gemini-3.5-flash instead of gemini-flash-latest.
Reference: src/google/adk/cli/cli_create.py
15. Remove deprecated flags from adk deploy agent_engine
Doc file: docs/integrations/bigquery-agent-analytics.md
Current state:
Mentions using --staging_bucket and --adk_app flags.
Proposed Change:
Remove --staging_bucket and --adk_app flags from the deployment examples.
Reasoning:
The --adk_app and --staging_bucket flags have been deprecated and removed from adk deploy agent_engine.
Reference: src/google/adk/cli/cli_deploy.py
Compare URL: google/adk-python@v2.2.0...v2.4.0
Feature changes
1. New
ManagedAgentfeature and documentationDoc file: docs/agents/managed-agent.md, mkdocs.yml
Current state:
Proposed Change:
Reasoning:
A new
ManagedAgentclass has been added to ADK for running agents via the Managed Agents API (interactions.create). It requires specific configurations and documentation for users to discover and use it.Reference: src/google/adk/agents/_managed_agent.py
2.
RunConfigfield additions (model_input_context,translation_config,http_options,telemetry)Doc file: docs/runtime/runconfig.md
Current state:
Proposed Change:
Reasoning:
New fields were added to
RunConfigto support transient model input context, real-time speech translation, custom HTTP options, and per-request telemetry control.Reference: src/google/adk/agents/run_config.py
3. Support for partial turn updates in streaming requests
Doc file: docs/streaming/dev-guide/part2.md
Current state:
Proposed Change:
Reasoning:
The LiveRequest model and
send_content()method were updated to accept apartialboolean flag indicating a partial turn update, which must be documented for developers using the streaming API.Reference: src/google/adk/agents/live_request_queue.py
4. Deprecation of
global_instructionin favor ofGlobalInstructionPluginDoc file: docs/agents/llm-agents.md
Current state:
Proposed Change:
Reasoning:
The
global_instructionfield onLlmAgenthas been deprecated. Users should now use theGlobalInstructionPluginat the App level to apply instructions consistently across all agents.Reference: src/google/adk/plugins/global_instruction_plugin.py
5. Update
ContextCacheConfigparameter documentationDoc file: docs/context/caching.md
Current state:
Proposed Change:
Reasoning:
The
ContextCacheConfigdefinition has been updated to clarify howmin_tokensworks with the Gemini API and to introduce thecreate_http_optionsparameter.Reference: src/google/adk/agents/context_cache_config.py
6. Document support for Workflows/Nodes as Tools
Doc file: docs/agents/llm-agents.md
Current state:
Proposed Change:
Reasoning:
LlmAgentnow supports usingBaseNodeandWorkflowinstances directly as tools, expanding ways agents can delegate to other execution graphs.Reference: src/google/adk/agents/llm_agent.py
7. Deprecate
SequentialAgentin favor ofWorkflowDoc file: docs/agents/workflow-agents/sequential-agents.md
Current state:
Proposed Change:
Reasoning:
SequentialAgentis now explicitly marked as deprecated in Python code. A clear warning should be provided to users.Reference: src/google/adk/agents/sequential_agent.py
8. Document
promptparameter inOAuth2AuthDoc file: docs/tools-custom/authentication.md
Current state:
Proposed Change:
Reasoning:
The
OAuth2Authmodel now accepts an optionalpromptparameter for customizing OAuth prompt behavior.Reference: src/google/adk/auth/auth_credential.py
9. Add Express Mode API Key support for CLI deploy
Doc file: docs/deploy/agent-runtime/deploy.md
Current state:
Proposed Change:
Reasoning:
adk deploy agent_enginenow supports an--api_keyoption to automatically deploy using Express Mode, bypassing the need for a GCP project.Reference: src/google/adk/cli/cli_deploy.py
10. Document trigger sources for ambient agents on Agent Platform
Doc file: docs/runtime/ambient-agents.md
Current state:
Proposed Change:
Reasoning:
adk deploy agent_enginenow explicitly supports the--trigger_sourcesflag for deploying ambient agents.Reference: src/google/adk/cli/cli_deploy.py
11. Custom Storage Backends via
services.yamlDoc file: docs/sessions/session/index.md
Current state:
Proposed Change:
Reasoning:
The Service Registry now supports reading custom backend services from a
services.yamlfile, simplifying custom configurations.Reference: src/google/adk/cli/service_registry.py
12. Document experimental Daytona and E2B Environments
Doc file: docs/integrations/environment-toolset.md
Current state:
Proposed Change:
Reasoning:
ADK added built-in implementations for
DaytonaEnvironmentandE2BEnvironmentthat extendBaseEnvironment.Reference: src/google/adk/integrations/daytona/_daytona_environment.py
13. Add specialized Gemma 3 wrapper support
Doc file: docs/agents/models/google-gemma.md
Current state:
Proposed Change:
Reasoning:
ADK added specialized
GemmaandGemma3Ollamaclasses specifically to bridge the function calling and system instruction gaps for Gemma 3 models.Reference: src/google/adk/models/gemma_llm.py
Other
14. Update CLI default models to
gemini-3.5-flashDoc file: docs/get-started/python.md, docs/agents/config.md
Current state:
Proposed Change:
Reasoning:
The
adk createCLI tool now defaults to generating agent templates withgemini-3.5-flashinstead ofgemini-flash-latest.Reference: src/google/adk/cli/cli_create.py
15. Remove deprecated flags from
adk deploy agent_engineDoc file: docs/integrations/bigquery-agent-analytics.md
Current state:
Proposed Change:
Reasoning:
The
--adk_appand--staging_bucketflags have been deprecated and removed fromadk deploy agent_engine.Reference: src/google/adk/cli/cli_deploy.py