NewYour coding agent can read the release notes before it upgrades.Set up the MCP server โ
pub.dev
LiteRT-LM model integration for ADK Dart packages.
Last release today
07 Oct 2026
Ships on a steady schedule
a new release about every 3 weeks
Nearly every release is documented
notes for 9 of 9 stable releases
Nothing withdrawn
no release was ever pulled
2 months old
9 releases ยท first in 2026
One column per month.
Removed deprecated EventCompactor aliases and added LlmRequest.totalTokenCount() .
BaseAgent & InvocationContext Callback Normalization & Resumability:
canonicalBeforeAgentCallbacks / canonicalAfterAgentCallbacks list normalization in BaseAgent.BaseAgent.runAsync and runLive to skip directly to sub-agents when resuming an already-populated agentStates invocation without re-firing beforeAgentCallback.resetSubAgentStates) so LoopAgent and iterative workflows re-enter sub-agents fresh on subsequent iterations.RemoteA2aAgent & AgentTransfer Description Resolution:
resolvedDescription on RemoteA2aAgent and updated buildTransferTargetInfo (transfer_to_agent) to prefer resolved A2A agent card descriptions.EventsCompactionConfig):
runCompactionForSlidingWindow with skipTokenCompaction) and exposed appName / userId on BaseEventsSummarizer.maybeSummarizeEvents.EventCompactor aliases and added LlmRequest.totalTokenCount().SkillToolset, LoadArtifactsTool, GcpSkillRegistry):
saveOutputArtifacts option to SkillToolset (RunSkillScriptTool) to automatically persist files generated in ADK_OUTPUT_DIR to ArtifactService.Part.asSafePartForLlm() placeholder formatting ([Binary artifact: ...]) across LoadArtifactsTool and injectSessionState.injectSessionState regex so shell variables like ${VAR} are ignored rather than treated as session state templates.SkillSource, parseSkillPath, and path-prefix routing (local: vs gcp:) in GcpSkillRegistry.customMetadata persistence and preservation across InMemoryArtifactService.BashToolPolicy, McpTool, RestApiTool, PlanReActPlanner):
BashToolPolicy.validateCommand with shell-tokenized command boundary matching (_commandMatchesPrefix) to prevent prefix-confusion bypasses (git statusx vs git status), and updated ExecuteBashTool description to emit <none> when no prefixes are allowed.McpTool structured output handling to wrap non-Map JSON values ({"result": parsed}) and fall back to raw content blocks on invalid JSON.RestApiTool.fromParsedOperation to respect explicit shouldParseResult flags and preserve raw HTTP response strings when parsing is disabled.PlanReActPlanner to preserve thought parts on the final model response so thoughtSignature metadata survives multi-turn history.HallucinationsV1Evaluator, PerTurnUserSimulatorQualityV1):
InvocationEvent.groundingMetadata and getGroundingMetadataAsJsonStr to include search grounding chunks in HallucinationsV1Evaluator prompts, added Label.partiallyValid (partially_valid: 0.5), and disabled automatic function calling on judge requests via buildJudgeRequestConfig.PerTurnUserSimulatorQualityV1 stop-signal detection to match stopSignal on whole words / non-letter boundaries.adk CLI, adk-web & Built-in Agent Builder Assistantpackages/adk/lib/src/cli/browser/ with the latest adk-web production bundle (main-FSTPJ7PI.js).packages/adk/lib/src/cli/built_in_agents/ with the latest upstream adk_agent_builder_assistant, adding utils/_adk_symbols.py symbol lookup and removing deprecated sub-agent stubs.examples/19_skills_and_output_artifacts and updated examples across the workspace.adk_dart 2026.10.7: https://pub.dev/packages/adk_dartadk 2026.10.7: https://pub.dev/packages/adkadk_mcp 2026.10.7: https://pub.dev/packages/adk_mcpflutter_adk 2026.10.7: https://pub.dev/packages/flutter_adkadk_litertlm 2026.10.7: https://pub.dev/packages/adk_litertlmadk-python v2.11.0+ & Cross-SDK Parity:
BaseAgent & InvocationContext Callback List Normalization & Resumability:
canonicalBeforeAgentCallbacks / canonicalAfterAgentCallbacks list normalization in BaseAgent to support single callbacks or lists seamlessly.BaseAgent.runAsync and runLive to skip directly to sub-agents when resuming an already-populated agentStates invocation without re-firing beforeAgentCallback.resetSubAgentStates) so LoopAgent and iterative workflows re-enter sub-agents fresh on subsequent iterations.RemoteA2aAgent & AgentTransfer Description Resolution:
resolvedDescription on RemoteA2aAgent and updated buildTransferTargetInfo (transfer_to_agent) to prefer resolved A2A agent card descriptions when building transfer target instructions.EventsCompactionConfig):
runCompactionForSlidingWindow with skipTokenCompaction) and exposed appName / userId on BaseEventsSummarizer.maybeSummarizeEvents.EventCompactor aliases and added LlmRequest.totalTokenCount().SkillToolset, LoadArtifactsTool, GcpSkillRegistry):
saveOutputArtifacts option to SkillToolset (RunSkillScriptTool) to automatically persist files generated in ADK_OUTPUT_DIR to ArtifactService.Part.asSafePartForLlm() placeholder formatting ([Binary artifact: ...]) across LoadArtifactsTool and injectSessionState.injectSessionState regex (_validIdentifierPattern) so shell variables like ${VAR} are ignored rather than treated as session state templates.SkillSource, parseSkillPath, and path-prefix routing (local: vs gcp:) in GcpSkillRegistry.customMetadata persistence and preservation across InMemoryArtifactService.BashToolPolicy, McpTool, RestApiTool, PlanReActPlanner):
BashToolPolicy.validateCommand with shell-tokenized command boundary matching (_commandMatchesPrefix) to prevent prefix-Confusion bypasses (e.g., git statusx vs git status), and updated ExecuteBashTool description to emit <none> when no prefixes are allowed.McpTool structured output handling to wrap non-Map JSON values ({"result": parsed}) and fall back to raw content blocks on invalid JSON.RestApiTool.fromParsedOperation to respect explicit shouldParseResult flags and preserve raw HTTP response strings when parsing is disabled.PlanReActPlanner to preserve thought parts on the final model response so thoughtSignature metadata survives multi-turn history.HallucinationsV1Evaluator, PerTurnUserSimulatorQualityV1):
InvocationEvent.groundingMetadata and getGroundingMetadataAsJsonStr to include search grounding chunks in HallucinationsV1Evaluator prompts, added Label.partiallyValid (partially_valid: 0.5), and disabled automatic function calling on judge requests via buildJudgeRequestConfig.PerTurnUserSimulatorQualityV1 stop-signal detection to match stopSignal on whole words / non-letter boundaries rather than arbitrary substrings.packages/adk/lib/src/cli/browser/ with the latest adk-web production bundle (main-FSTPJ7PI.js).packages/adk/lib/src/cli/built_in_agents/ with the latest upstream adk_agent_builder_assistant, adding utils/_adk_symbols.py symbol lookup and removing deprecated sub-agent stubs.examples/19_skills_and_output_artifacts showcasing local skill discovery (examples/skills), SkillToolset(saveOutputArtifacts: true), and safe binary artifact instruction injection.04, 11, 12, 13, 15, 17, packages/adk/example) with Dart 3.10 dot-shorthand syntax and v2.11.0+ feature demonstrations.test/upstream_v2_11_0_parity_test.dart (19 new parity tests; 1,493 passing tests in adk_dart and 159 in packages/adk) with 0 analyzer issues.2026.10.7 and dependency adk_dart: ^2026.10.7.Upstream `adk-python` v2.9.0 Feature Parity:
adk-python v2.9.0 Feature Parity:
LlmAgent & BaseNode / BaseAgent Tool Interop:
BaseNode instances passed in LlmAgent(tools: ...) or tool_union into NodeTool(node: t, description: t.description).BaseAgent instances passed into tools with ArgumentError, guiding users to invoke agents as sub-agents.Workflow & NodeTool Unwrapping & State Propagation:
buildNode in workflow.dart unwraps NodeTool directly to its underlying nodeLike.node (BaseNode), preventing nested wrapper overhead.ToolNode.run falls back to invocationContext.session.state for missing required parameters declared in tool schema.ToolNode.run persists and merges toolContext.actions.stateDelta directly into session.state.LoadArtifactsTool Scope Guard & Resolution:
user:filename when requested as filename, and vice-versa) while preserving requested labels in model prompt feedback.artifact_names tool parameters gracefully.Runner State Delta on Resume without New Message:
stateDelta when resuming an invocation by invocationId with newMessage: null, recording an actions-only event in session event history.NodeStatus.failed with stale outputs removed, correctly scheduling them for retry on invocation resume.NodeStatus.completed._inheritUnsetStreamingFields in BaseLlmFlow so afterModelCallback replacements inherit partial and turnComplete flags when omitted.transfer_to_agent execution to declared transfer targets, preventing unauthorized agent escalation and giving explicit error messages when transferring to disallowed parent or peer agents._dropOrphanedFunctionCalls in contents.dart to prune unanswered tool calls when a turn is interrupted by a user message, while properly preserving long-running tool IDs (longRunningToolIds).test/upstream_v2_9_parity_test.dart (12 test cases).2026.9.11 and dependency adk_dart: ^2026.9.11.Added FallbackModel (lib/src/models/fallback_model.dart): transparently retries requests across fallback models upon transient failures, rate limits,
FallbackModel (lib/src/models/fallback_model.dart): transparently retries requests across fallback models upon transient failures, rate limits, or service unavailability.modelVersion metadata support in AnthropicLlm.START node to JoinNode in Workflow Graph builder.InteractionsLlmRequestProcessor to ensure reliable streaming chunk sequencing and index mapping during multi-part streaming responses.skipSummarization support on McpTool and A2aClient terminal nodes, bypassing redundant LLM summarization passes after deterministic tool executions.SkillToolset tool filtering logic (toolFilter) for consistent function exposure across skill namespaces.unawaited_return_in_try_block lint warnings across sandbox code executors (AgentEngineSandboxCodeExecutor, ContainerCodeExecutor, GkeCodeExecutor), GcpSkillRegistry, McpTool, and Tracing to prevent early resource cleanup race conditions.not_evaluated metric reporting in EvalSetResultsManager and evaluation rubrics.adk-web Angular bundle into packages/adk/lib/src/cli/browser/, featuring multimodal Live video response streaming, improved execution trace inspector, and updated session timelines.archive: ^4.2.0, sqlite3: ^3.5.2, yaml: ^3.1.4, test: ^1.32.0, analyzer: ^14.3.0.2026.9.7 and dependency adk_dart: ^2026.9.7.๐ Core Framework & Upstream Sync (ADK v2.7.0 & JS v1.6.0 Parity)
LlmCapabilities (lib/src/models/capabilities.dart): Added standardized capability negotiation system (outputSchemaAndTools, etc.) across BaseLlm and Gemini.GetUserChoiceTool (lib/src/tools/get_user_choice_tool.dart): Added user choice interruption and multi-turn waiting helper (getUserChoice).FunctionTool Parameter Feedback: Return self-correcting parameter error guidance for missing mandatory args to prompt the LLM to provide required parameters.FunctionResponse.parts to prevent JSON serialization issues.FunctionResponse Pruning: Automatic pruning in contents.dart to prevent Gemini 400 Bad Request errors when function calls are compacted/removed.(appName, userId) in InMemoryMemoryService to prevent delimiter collisions when identifiers contain slashes.thoughtSignature preservation across streaming text chunks.StaleSessionError (lib/src/errors/stale_session_error.dart): Optimistic concurrency exception handling in SQLite & database session services.adk-web & Telemetry Endpoint: Full synchronization of compiled UI bundle assets (lib/src/cli/browser/) + CSRF-protected /config/telemetry endpoint.flutter_adk & Sub-packagesflutter_adk (v2026.8.17): Exported Web-safe parity symbols (LlmCapabilities, GetUserChoiceTool, StaleSessionError, SessionNotFoundError, ReflectAndRetryModelPlugin, ReflectAndRetryToolPlugin) + upgraded web: ^1.1.1 and plugin_platform_interface: ^2.1.8.adk_litertlm (v2026.8.17): Upgraded litertlm: ^0.0.13 and aligned runtime interface with new conversation methods.adk_mcp (v2026.8.17): Synchronized client protocol primitives and upgraded dependencies.adk (v2026.8.17): Package alias updated to 2026.8.17.adk-python v2.7.0, adk-js v1.6.0, adk-go v2.2.0, and adk-kotlin v0.7.0:
LlmCapabilities (lib/src/models/capabilities.dart) model feature capability reporting system and updated BaseLlm.capabilities & Gemini.capabilities.GetUserChoiceTool (lib/src/tools/get_user_choice_tool.dart) with getUserChoice callable helper for user choice prompts.FunctionTool with self-correction feedback returned to the model when mandatory required parameters are missing.maxArtifactSizeBytes = 20 * 1024 * 1024) to SaveFilesAsArtifactsPlugin to protect against oversized artifact payloads.FunctionResponse.parts) from tool execution results in functions.dart.function_response pruning (_dropOrphanedFunctionResponses) in ContentsLlmRequestProcessor (contents.dart).InMemoryMemoryService with tuple record keys ((appName, userId)) to prevent delimiter collisions when identifiers contain slashes.StreamingResponseAggregator to preserve thoughtSignature across streamed text chunk runs without premature buffer flushing.model_name_utils.dart (r'^gemini-(?:[a-z0-9_]+(?:-[a-z0-9_]+)*-)?early-exp\d*$').StaleSessionError (lib/src/errors/stale_session_error.dart) for optimistic concurrency write conflicts in database and SQLite session services.VoiceActivity, VoiceActivityType, and explicitVadSignal in RunConfig and LiveConnectConfig.FunctionResponseScheduling (whenIdle, silent, interrupt) and non-blocking background tool execution dispatching (activeNonBlockingToolTasks) in Live mode.WorkflowTool and Workflow.asTool()) allowing workflows to be invoked directly via function calling.EventarcToolset and publishEventarcMessage for publishing structured CloudEvents 1.0 to Google Cloud Eventarc Advanced message buses.DaytonaEnvironment execution environment for remote isolated cloud workspace sandboxes.LlmAudioUserSimulator for multimodal speech/TTS conversation simulation and evaluation.DatabaseSessionService.prepareTables() and BaseSessionService.prepareTables() for proactive table creation and migration.create_data_agent tool in DataAgentToolset.memory_id and allowed_topics support in VertexAiMemoryBankService.gemma-(3|4).*) in GemmaLlm.supportedModels().test/recent_upstream_parity_features_test.dart (1,517 total tests passing).2026.8.17 and dependency adk_dart: ^2026.8.17.litertlm dependency to ^0.0.13 and collection to ^1.19.1.litertlm 0.0.13 conversation methods.Full Decoupling & Migration of `packages/adk` CLI Toolchain:
packages/adk CLI Toolchain:
lib/src/cli/, lib/src/dev/, lib/src/cli/browser/, Angular Web UI static bundle) and 19 CLI/Dev test suites into packages/adk.adk_dart, establishing adk_dart as a 100% pure Core SDK library package.packages/adk as a standalone binary package publishable to pub.dev with direct dependency declarations.adk-python:
docs/architecture/cli_parity_matrix.md.adk telemetry (enable, disable, status) subcommands for telemetry preference management.adk test [folder] for executing agent test suites.adk doctor / adk diag displaying system, SDK, architecture, and path diagnostics.gemini-3.7-flash Upgrade:
adk_dart/examples and CLI starter templates to use gemini-3.7-flash by default..userText(...), .modelText(...), .user, .text(...)) across all example entrypoints.adk_dart, 159 tests in packages/adk, 11 tests in flutter_adk, 12 tests in adk_mcp, 5 tests in adk_litertlm (1,556 tests total).packages/adk, packages/flutter_adk, packages/adk_mcp, packages/adk_litertlm, and examples.2026.8.17+1 and dependency adk_dart: ^2026.8.17.adk_dart 2026.8.17+1 rollout.Updated all README installation and dependency configuration sections across all ecosystem packages to 2026.8.17+2.
2026.8.17+2.dart pub add and pubspec.yaml dependency specifications.Bumped package release versions to 2026.7.30 for adk_dart, adk, adk_mcp, flutter_adk, and adk_litertlm.
2026.7.30 for adk_dart, adk, adk_mcp, flutter_adk, and adk_litertlm.ReflectAndRetryModelPlugin (lib/src/plugins/reflect_retry_model_plugin.dart) for framework-level LLM error recovery, self-healing reflection tool calls (adkHandleModelError), and retry tracking.FunctionTool declaration caching (_cachedDeclaration) to eliminate redundant parameter schema rebuilds during agent turns.SessionNotFoundError handling across session services, agent runners, and dev web server.2026-07-28 (mcpLatestProtocolVersion = '2026-07-28').elicitationCallback support (elicitation/create and notifications/elicitation/complete) to McpToolset and McpSessionManager for client-side user input & OAuth challenge handling.AdkAgentMcpServer (lib/src/tools/mcp_tool/agent_to_mcp.dart) to expose any ADK BaseAgent as a compliant MCP server over tool interfaces.LoadWebPageTool and EnterpriseWebSearchTool (ported from adk-js) for web scraping with SSRF prevention and Vertex AI search grounding.2026.7.30 and dependency adk_dart: ^2026.7.30.Bumped package release versions to 2026.7.24 for adk_dart, adk, adk_mcp, flutter_adk, and adk_litertlm.
2026.7.24 for adk_dart, adk, adk_mcp, flutter_adk, and adk_litertlm.adk-python (be5828f3..07455ee6):
labels) support in RunConfig and automatic merging in BasicLlmRequestProcessor to propagate Vertex AI billing/attribution labels.BaseLlmFlow against partial streaming function-call SSE events to prevent replay loops.AnthropicLlm finishReason mapping to support pause_turn (STOP) and refusal (SAFETY).VertexAiSessionService.getSession to apply afterTimestamp server-side filtering alongside numRecentEvents.finalResponseToolNames to BigQueryAgentAnalyticsPlugin to log final answer tool call payloads as AGENT_RESPONSE events.test/python_upstream_updates_test.dart (1,105 total unit tests passing).AgentNode.run event loop to not misclassify endOfAgent and agentState checkpoint events as finalEvent.LoadArtifactsTool with Gemini unsupported inline MIME type blocklist (SVG/XML image variants) to deliver them as text.adk-web) to the latest version to support nested navigation breadcrumbs, bidi streaming restarts, and usage token counts.example folder to examples and reorganized all code examples into self-contained, user-friendly Dart project templates with individual README.md and dependency setup files in 4 languages (KO, EN, JA, ZH).LiteLlm supporting streaming (SSE) and non-streaming requests to connect out-of-the-box with Ollama and LiteLLM servers.08_local_llm_ollama_litellm (Ollama/LiteLLM integration via LiteLlm client) and 09_local_llm_litert (on-device Gemma inference via adk_litertlm sub-package).2026.7.24.adk_dart: ^2026.7.24.adk_dart 2026.7.24 rollout.ADK 2.0 Workflows & Managed Agent (Interactions) : Full support for the new ADK 2.0 features:
Workflow, BaseNode, JoinNode, etc.interactions.create endpoint) using ManagedAgent and RemoteMcpServer to leverage server-side execution.2026.7.11 for adk_dart, adk, adk_mcp, flutter_adk, and adk_litertlm.ManagedAgent and RemoteMcpServer for server-side tool execution via the GCP Interactions API.environmentId propagation across LlmResponse, Event, session persistence, and telemetry tracing.isManagedAgent toggle to LlmRequest for grounding tool check bypass in managed workflows.InteractionsProcessor.findPreviousInteractionState to return both previousInteractionId and environmentId for turn-to-turn chaining.isEnterpriseModeEnabled helper in env_utils.dart.2026.7.11.adk_dart: ^2026.7.11.adk_dart 2026.7.11, including ADK 2.0
Managed Agent support and Interactions API integration.Your coding agent can read these notes before it upgrades. Set up the MCP server โ