unstale

pypi / google-adk

google-adk

What changed in google-adk 1 to 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

19 breaking7 security1 deprecations41 new APIs and options3 performance12 behavior and defaults5 tooling20 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

google-adk 2107 changes

Breaking changes 19

  • Restrict mutating /dev and agent builder endpoints to local clients by default, and only enable built-in agents when bound to loopback.

    2.12.0release notes

  • Parallel agent_states are now isolated by node_path.

    2.12.0release notes

  • Initial routing now uses card descriptions.

    2.12.0release notes

  • Require an OIDC audience when trigger endpoints are enabled.

    2.12.0release notes

  • Nodes marked rerun_on_resume are rerun after interrupts are resolved, waiting for all direct interrupts before rerunning.

    2.12.0release notes

  • Single-turn workflow node events and contents are now isolated by node path.

    2.12.0release notes

  • Tool nodes pause for user approval instead of passing an error downstream.

    2.11.0release notes

  • Path parameters containing '.' or '..' segments are now rejected.

    2.11.0release notes

  • The endpoint now cancels the run when the client disconnects.

    2.11.0release notes

  • VIDEO live sessions now default to a pre-built avatar.

    2.11.0release notes

  • Raises ValueError when no evaluation cases are evaluated instead of passing.

    2.10.0release notes

  • Keeps its BigQuery session in process memory rather than session state, so temporary tables do not survive restarts or carry over to another replica.

    2.10.0release notes

  • Runs a non-SELECT statement only when its dry run places it in the session's anonymous dataset; statements with no destination are rejected.

    2.10.0release notes

  • Raises ValueError when no evaluation cases are evaluated instead of passing.

    2.10.0release notes

  • Leaves ${var} and backslash-escaped \{var} patterns unchanged instead of filling them from state.

    2.10.0release notes

  • Dynamic run_node calls isolate peer task-mode agents.

    2.10.0release notes

  • A streamed model call is traced once instead of once per chunk.

    2.10.0release notes

  • OpenAIResponsesLlm ignores thinking_config settings and warns; use OpenAIGenerateContentConfig.effort instead.

    2.10.0release notes

  • OpenAILlm now honors tool_config mode and all tool declarations.

    2.10.0release notes

Security 6

  • Encrypt Google credentials stored in sessions.

    2.12.0release notes

  • Prevent OAuth2 secrets from leaking through run, websocket, dev server, and session endpoints.

    2.12.0release notes

  • Require human confirmation before executing workflow nodes; confirmed tools run once per approval.

    2.12.0release notes

  • Instructions are rendered in a sandbox and given a read-only state mapping.

    2.11.0release notes

  • The proxy path now applies load_web_page SSRF checks.

    2.11.0release notes

  • Attaches application default credentials only over HTTPS.

    2.10.0release notes

Deprecations 1

  • Use this module instead of the legacy live-audio modules under google.adk.flows.llm_flows, which now emit DeprecationWarning on import.

    2.10.0release notes

New APIs and options 41

  • Intercept and filter tool outputs before they are returned to the model.

    2.12.0release notes

  • Add skill-level security support when building agent cards.

    2.12.0release notes

  • Add schema error and schema ready callback hooks to BigQueryLoggerConfig.

    2.12.0release notes

  • Deploy agents to Agent Engine using dedicated custom service accounts.

    2.12.0release notes

  • Resume Gemini generations that were paused with a continuation token.

    2.12.0release notes

  • retry_config is now supported for dynamic node failures in NodeRunner.

    2.12.0release notes

  • Persist outputs from skill scripts as artifacts.

    2.12.0release notes

  • Add a state-file option to adk run.

    2.12.0release notes

  • Pass abort_signal to Runner, Workflow, and nodes to stop a run gracefully.

    2.11.0release notes

  • Server commands now accept avatar configuration.

    2.11.0release notes

  • The data agent toolset function now supports pagination.

    2.11.0release notes

  • Server commands now support setting a maximum number of LLM calls.

    2.11.0release notes

  • An opt-in path allows connections to MCP servers over the modern protocol.

    2.11.0release notes

  • Lets an agent consult another model mid-task, with per-turn and per-session budgets.

    2.11.0release notes

  • Selects the built-in SQLite memory service for keeping agent memory in a local SQLite database.

    2.11.0release notes

  • Adds an optional plugin for tool-call integrity.

    2.11.0release notes

  • Opts in to validation and coercion of function tool argument types when set to 1.

    2.10.0release notes

  • Enables experimental skill lifecycle management, including lifecycle modes, active-skill limits, and unloading skills.

    2.10.0release notes

  • Exposes session options through the REST endpoint.

    2.10.0release notes

  • Adds name-based request processor helpers.

    2.10.0release notes

  • Adds a field to control Live non-blocking function calls.

    2.10.0release notes

  • Adds default_project_id and default_dataset_id fields to BigQueryToolConfig.

    2.10.0release notes

  • Adds abort signal primitives; the Runner and workflows do not act on an abort yet.

    2.10.0release notes

  • Adds an evaluation metric for tracking duration.

    2.10.0release notes

  • Adds an experimental skill lifecycle that lasts one turn.

    2.10.0release notes

  • Adds an OpenAI integration extra for installing the OpenAI-related dependencies.

    2.10.0release notes

  • OpenAI models move to this module; google.adk.labs.openai continues to re-export them.

    2.10.0release notes

  • Adds token-consumption and model-call-count metrics to evaluation.

    2.10.0release notes

  • Adds abort signal primitives; the Runner and workflows do not act on an abort yet.

    2.10.0release notes

  • Adds MongoDB tools for vector and hybrid search within agent flows.

    2.10.0release notes

  • Adds an on_error handler to skill listing functions.

    2.10.0release notes

  • Adds OpenAI generation configuration, including per-model reasoning effort; use its effort setting instead of thinking_config with OpenAIResponsesLlm.

    2.10.0release notes

  • Adds api_key and base_url configuration with per-request key resolution, adapts parameters for reasoning models, and reports reasoning tokens on Chat Completions.

    2.10.0release notes

  • Supports OpenAPI basic authentication.

    2.10.0release notes

  • Adds an optional context_builder.

    2.10.0release notes

  • Exposes the serving tier through RunConfig and sends deferred service tier on interactions API requests.

    2.10.0release notes

  • Controls how the skill catalog is disclosed.

    2.10.0release notes

  • Adds programmatic skill activation, lifecycle modes, an active-skill cap, and an opt-in unload_skill tool; lifecycle features are experimental and off by default.

    2.10.0release notes

  • State supports key iteration.

    2.10.0release notes

  • OpenAILlm surfaces streaming usage and finish reason.

    2.10.0release notes

  • Allows experimental telemetry to be enabled per feature.

    2.10.0release notes

Performance 3

  • Unused providers are no longer imported on the first LLM request.

    2.12.0release notes

  • Time to first model request is cut by 40% in long sessions.

    2.12.0release notes

  • Time to the first model request in long sessions is reduced by 40%.

    2.12.0release notes

Behavior and default changes 12

  • Synchronous FunctionNode tools run their callable on the tool thread pool.

    2.12.0release notes

  • Allow OIDC token exchange without a client secret.

    2.12.0release notes

  • ADK can now be installed and run on Python 3.15.

    2.12.0release notes

  • The system now warns when session state is dropped.

    2.12.0release notes

  • Automatically box scalar inputs for ToolNode.

    2.12.0release notes

  • BigQuery tools can now run where CMEK is required.

    2.11.0release notes

  • The Vertex project now defaults from GCP metadata.

    2.11.0release notes

  • Stamps the Agent Registry URN as gen_ai.main_agent.id.

    2.10.0release notes

  • Content inputs are unwrapped for parallel workers after START.

    2.10.0release notes

  • Can now fan out to several workflow nodes.

    2.10.0release notes

  • Model adapters stream partial function-call arguments.

    2.10.0release notes

  • Resolved interrupts can resume without requiring rerun_on_resume.

    2.10.0release notes

Tooling 5

  • The dev server now warns when it binds a non-loopback address.

    2.12.0release notes

  • Eval scenarios are now generated using the project backend.

    2.12.0release notes

  • Config-based project creation now skips __init__.py.

    2.11.0release notes

  • Adds gemini-3.8-flash to the model options offered by the command.

    2.10.0release notes

  • The CLI automatically configures session and memory services on Agent Runtime.

    2.10.0release notes

Fixes and other changes 20

  • Vertex AI sessions now update last_update_time when append_event is called.

    2.12.0release notes

  • Resolving the effective mode no longer mutates LlmAgent.mode.

    2.12.0release notes

  • ParallelWorker now waits for in-flight workers when a HITL interrupt occurs.

    2.12.0release notes

  • Bindings are now resolved for the deployed agent at runtime.

    2.11.0release notes

  • url_prefix is now propagated to FastAPI root_path.

    2.11.0release notes

  • NodeTool failures are surfaced to on_tool_error, and dict validation errors are returned.

    2.11.0release notes

  • An inbound new_message is now treated as a user turn.

    2.11.0release notes

  • The configuration is now honored for sync tools outside live mode.

    2.11.0release notes

  • Importing Agent no longer loads authlib.

    2.10.0release notes

  • Validates the target data subquery for detect_anomalies.

    2.10.0release notes

  • Adds opt-in validation and coercion of function tool argument types, enabled with ADK_ENABLE_FUNCTION_TOOL_ARG_VALIDATION=1.

    2.10.0release notes

  • Can be imported on OpenTelemetry 1.39; google.adk.telemetry.google_cloud still requires a newer OpenTelemetry.

    2.10.0release notes

  • Rejects num_samples=0 at construction time.

    2.10.0release notes

  • Rejects parallelism below 1 instead of hanging.

    2.10.0release notes

  • Widens the MCP version bound to admit MCP 2.x.

    2.10.0release notes

  • Rebuilds a session when the server reports it no longer holds it.

    2.10.0release notes

  • RestApiTool handles HTTP 401 and recovers stale OAuth2 credentials.

    2.10.0release notes

  • Adds support for basic authentication in OpenAPI tools.

    2.10.0release notes

  • Interrupted agent transfers can resume in static workflows.

    2.10.0release notes

  • Integral floats in list[int] tool parameters are coerced to integers.

    2.10.0release notes

google-adk 11 changes

Security 1

  • Google Agent Development Kit (ADK) has a Code Injection and Missing Authentication vulnerability

    1.28.1security advisory