Skip to content

chore(deps): update go samples (major) - #2870

Open
renovate-bot wants to merge 1 commit into
googleapis:mainfrom
renovate-bot:renovate/major-go-samples
Open

renovate-bot wants to merge 1 commit into
googleapis:mainfrom
renovate-bot:renovate/major-go-samples

Conversation

@renovate-bot

@renovate-bot renovate-bot commented Mar 26, 2026 •

Copy link
Copy Markdown
Contributor

Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
github.com/googleapis/mcp-toolbox-sdk-go/core v0.6.2 → v1.2.0 age confidence
github.com/googleapis/mcp-toolbox-sdk-go/tbadk v0.6.0 → v1.3.0 age confidence
google.golang.org/adk v0.3.0 → v2.7.1 age confidence

Release Notes

googleapis/mcp-toolbox-sdk-go (github.com/googleapis/mcp-toolbox-sdk-go/core)

v1.2.0: core: v1.2.0

Features
  • core: client options and tool/set loading with secure parameters (5541ff2)
  • core: protocol and wire transport support for secure parameters (4e5d650)
  • core: tool-level secure parameter binding, fast-fail and validation (ef2f9cb)
Bug Fixes
  • mcp: include tool output in error message on execution failure (#​324) (910b97e)

v1.1.0: tbadk: v1.1.0

Features
  • core: add MCP 2026 (July spec) stateless protocol support and auto-negotiation (#​317) (be1e47a)

v1.0.0: core: v1.0.0

Bug Fixes
  • core: resolve dropped default parameter values in MCP transport parsing (#​215) (76e39ec)
Documentation

Documentation migrated to the MCP Toolbox official docsite (#​201) (7dac748)

v0.7.0: core: v0.7.0

⚠ BREAKING CHANGES
  • Remove support for Native Toolbox transport (#​189)
Features
  • Add map binding options and normalize generic parameters (#​197) (23ee483)
  • Add support for default parameters (#​185) (6c2bf7a)
  • Enable package-specific client version identification for MCP Transport (#​194) (f8ba007)
google/adk-go (google.golang.org/adk)

v2.7.1

Compare Source

Bug Fixes
  • agentanalytics: classify Write API errors and split oversized batches (#​2016) (2466e97)
  • model/openaimodel: refuse media in system and developer Responses messages (#​2025) (40f132d)
  • model/openaimodel: refuse non-text payloads beside system instruction text (#​2113) (fe99252), closes #​2112

v2.7.0

Compare Source

Highlights

v2.7.0 adds Anthropic Claude as a first-party model, search-gated tool discovery for large tool catalogs, an experimental classifier API for workflow routing, and a per-invocation budget on model calls. It also switches telemetry to the OpenTelemetry GenAI semantic conventions by default, which is a breaking change for anyone consuming ADK traces.

  • Anthropic Claude models (experimental): model/anthropicmodel implements model.LLM over the Anthropic Messages API and Vertex AI, with streaming, tool calling, image and PDF input, extended and adaptive thinking, structured output and prompt caching. See examples/anthropic. (#​1866)
  • Search-gated tool discovery: tool/toolsearch wraps any tool.Toolset so the model starts with a search_tools tool plus a configured core set, and the tools it finds are declared from the next model step on. This keeps a large MCP catalog out of every request. See examples/toolsearch. (#​1734, #​1735)
  • Classifiers (experimental): exp/classifier defines a Classifier that answers typed Choice, Binary and Score questions with probabilities. It ships with a client for TypeSafe's Jev decision models (exp/classifier/typesafe), an LLMClassifier backed by any model.LLM, and a workflow Node that routes on the answer, matching adk-python's ClassifierNode. (#​2003, #​2005, #​2035)
  • Model-call budget: RunConfig.MaxLLMCalls bounds the model calls one invocation may make, 500 by default, and ends the run with agent.ErrLLMCallsLimitExceeded when the budget is spent. Matches adk-python's max_llm_calls. This changes behavior for existing users, see below. (#​1412)
  • Telemetry: traces follow OpenTelemetry GenAI semantic conventions v2 by default, as adk-python does. This is breaking for telemetry consumers, see below. (#​1635)
  • OpenAI-compatible models: images and files in InlineData and FileData parts are sent on both the Responses and Chat Completions endpoints (#​1543). A response schema title that is not a valid format name falls back to adk_response instead of a 400 from the API (#​1912). A GenerateContentConfig field that a newer genai adds is refused with ErrUnsupportedConfigField instead of being dropped silently (#​1922).
  • Gemini built-in tools: geminitool.GoogleMaps, geminitool.UrlContext and geminitool.EnterpriseWebSearch. (#​2026)
  • MCP: with Config.Auth set, each user gets their own MCP session, so servers that bind a session to the user who opened it stop answering other users with 403 (#​1755). MCP HTTP requests identify ADK in User-Agent and X-Goog-Api-Client, as model calls already do (#​1862).
  • Auth fix: credentials from auth.ADC() and auth.ServiceAccount() failed every token mint with context canceled on local gcloud ADC and impersonated service accounts. Services on GCE or with a key file were not affected. (#​1904)
  • Tool auth groundwork: tool/toolauth adds adk-python's auth data model and wire format for adk_request_credential, so requests, replies and credential keys agree with adk-python and ADK Web. Nothing uses it yet. (#​2032)
  • Reliability:
    • Workflow joins resume with completed predecessors restored instead of rerunning them. (#​1572)
    • LoopAgent stops on context cancellation. WithAgentTimeout and WithAgentCancel work on tool and callback contexts instead of returning nil. (#​1810, #​1604)
    • Artifacts saved in agent and model callbacks are recorded in ArtifactDelta. OutputKey is saved when a before-agent callback short-circuits. (#​1878, #​1800, #​1963)
    • Optional instruction placeholders such as {key?} and {artifact.name?} surface infrastructure errors instead of rendering an empty string. This changes behavior, see below. (#​1748)
    • Vertex AI sessions persist live transcriptions. In-memory memory search skips thought parts. (#​1964, #​1975)
    • Streaming function tools preserve consumer panics. agenttool keeps code-execution output in sub-agent results. Running an agent without Run returns an error instead of doing nothing. (#​1961, #​1860, #​1850)
    • launcher.Config.TelemetryOptions honors WithOtelToCloud. Live reconnect matches close code 1008 by type, not by error text. (#​1968, #​1993)
  • CLI: adkgo deploy agentengine --mem_deploy no longer defaults Memory Bank to gemini-2.5-flash, which Vertex AI stopped serving to new projects. Memory Bank applies its own default model unless --mem_model is set. (#​1902)
  • Agent Analytics plugin (plugin/agentanalytics, its own module and tag): aligned with adk-python's schema and event vocabulary, with rich session, HITL, A2A and workflow events, GCS offloading of multimodal content, opt-in exactly-once delivery, drop statistics, hierarchical span ids with latency and time-to-first-token, and 25 pre-built per-event BigQuery views. (#​1786, #​1787, #​1788, #​1789, #​1790, #​1791 and follow-up fixes)
Breaking changes
  • Telemetry schema: ADK now emits the OpenTelemetry GenAI semantic conventions v2. The legacy log events are replaced by one gen_ai.client.inference.operation.details event per model call, message content on spans is a structured value rather than a JSON string, execute_tool records arguments and results only when span content capture is on (under gen_ai.tool.call.*), and an LLM-agent root gets a new invoke_workflow parent span. Set ADK_TELEMETRY_SCHEMA_VERSION_OPT_IN=otel_semconv_1_36 to restore the previous format, supported until at least March 31, 2027. (#​1635)
  • Model calls are capped at 500 per invocation: a run that makes more than 500 model calls now ends with an error wrapping agent.ErrLLMCallsLimitExceeded. Raise the cap with RunConfig.MaxLLMCalls or ADK_MAX_LLM_CALLS, or set MaxLLMCalls to -1 for no limit. Unlike adk-python, 0 means the default, not unlimited. (#​1412)
  • Optional instruction placeholders propagate errors: {key?} and {artifact.name?} render empty only when the key or artifact is missing (session.ErrStateKeyNotExist, fs.ErrNotExist). Any other error from the session or artifact service now fails the run. A custom artifact.Service must wrap fs.ErrNotExist for missing files, and an agenttool sub-agent with an optional artifact placeholder now errors when the root runner has no artifact service. (#​1748)
  • Go 1.26.10 is required: go.mod moves from 1.26.6 to 1.26.10. (#​1916)
  • Agent Analytics plugin defaults: the default table name is agent_events instead of events, existing tables are upgraded additively on startup unless DisableSchemaUpgrade is set, the per-event views are created on startup unless DisableCreateViews is set, and granular event types (STATE_DELTA, AGENT_TRANSFER, HITL_*, NODE_OUTPUT, …) replace the generic EVENT row. These apply when the plugin module is next tagged, not to the core v2.7.0 tag. (#​1786, #​1788, #​1791)

Smaller behavior changes:

  • geminitool.GoogleSearch returns an error on a non-Gemini model, and on a Gemini 1.x model combined with other tools. (#​2026)
  • launcher: passing telemetry.WithOtelToCloud(true) in TelemetryOptions now exports to Google Cloud and needs credentials at startup, where it used to start with export silently off. (#​1968)
  • openaimodel: a config field added by a genai release newer than v1.74.0 is refused with ErrUnsupportedConfigField. Configs valid today are unaffected. (#​1922)
  • mcptoolset with Config.Auth opens one session per distinct credential, closes sessions idle for 10 minutes, and caps the pool at 64. Without Auth nothing changes. (#​1755)
  • LoopAgent yields the context error once and stops when its context is cancelled, where it used to keep looping if no pass yielded an event. (#​1810)
  • An agent callback that saves an artifact and returns nil now yields one event carrying the ArtifactDelta, where it yielded none. (#​1878)
  • The in-memory memory service no longer stores or matches thought parts, and an event with only thought text is not stored. (#​1975)
  • Deprecated: artifact.SaveRequest.Version. Save has never read it. (#​1985)
All changes

What's Changed

New Contributors

Full Changelog: google/adk-go@v2.6.0...v2.7.0

New Contributors

v2.6.0

Compare Source

Highlights (released Oct 13)
  • Gemini 4 Argon support: Gemini 4 models such as gemini-4-argon stop long answers at a per-request output limit. ADK now resumes these answers automatically, so they come back whole instead of cut off. The resuming is now done by the genai SDK (v1.74.0). (#​1715, #​1759, #​1822)
  • Auth: credentials are refreshed and the call retried once after a downstream 401/403. Remote A2A agents accept per-request auth through Config.Auth. (#​1136, #​1150)
  • MCP: request-scoped metadata is passed on to MCP tool calls. Callers can close MCP sessions, waiting for a session respects context cancellation, and connection config is checked when the toolset is built. (#​1429, #​1713, #​1717, #​1687)
  • Server hardening: every web launcher route checks Host and Origin. /run_live limits message size, dead peers and concurrent sessions. The Pub/Sub and Eventarc trigger endpoints can require a Google OIDC token, and MaxConcurrentRuns is now enforced. (#​1641, #​1648, #​1737, #​1720)
  • New experimental endpoint: /apps/{app_name}/app-info. (#​1404)
  • Privacy fix: session-scoped artifact filenames no longer show up in shared listings, both in-memory and on GCS. (#​1673, #​1708)
  • Reliability:
    • Loop and sequential agents stop when a sub-agent fails. This changes behavior for existing users.
    • Toolsets are re-evaluated on every step.
    • Concurrency fixes in the session database, the in-memory session store and artifact saves.
    • Vertex AI sessions now keep code-execution parts.
    • (#​1684, #​785, #​1743, #​1575, #​1756, #​1729)
What's Changed

[!IMPORTANT]
✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate-bot
renovate-bot requested a review from a team as a code owner March 26, 2026 23:22
@dpebot

dpebot commented Mar 26, 2026

Copy link
Copy Markdown

/gcbrun

@trusted-contributions-gcf trusted-contributions-gcf Bot added the tests: run Label to trigger Github Action tests. label Mar 26, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the Go version to 1.25.0 and upgrades several dependencies across the documentation's Go examples, including a major version bump for google.golang.org/adk to v1.0.0. A critical issue was identified where this upgrade introduces breaking API changes—specifically to the runner.Run function—that will cause existing example code to fail compilation. Feedback was provided to update the affected logic to use the new iterator-based API.

require (
github.com/googleapis/mcp-toolbox-sdk-go v0.5.1
google.golang.org/adk v0.3.0
google.golang.org/adk v1.0.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

This major version upgrade of google.golang.org/adk to v1.0.0 introduces breaking API changes that will cause the example in agent.go to fail to compile.

The runner.Run function now returns a Go iterator that yields both an event and an error, and the structure of the agent.Event has changed. The example in docs/en/documentation/configuration/pre-post-processing/go/adk/agent.go needs to be updated to use the new API.

Please replace lines 143-154 in agent.go with the following corrected implementation:

		fmt.Print("AI: ")
		for event, err := range r.Run(ctx, userID, sess.ID(), userMsg, agent.RunConfig{
			StreamingMode: streamingMode,
		}) {
			if err != nil {
				fmt.Printf("\nAGENT_ERROR: %v\n", err)
				continue
			}
			if event != nil && event.LLMResponse != nil && event.LLMResponse.Content != nil {
				for _, p := range event.LLMResponse.Content.Parts {
					if streamingMode != agent.StreamingModeSSE || event.LLMResponse.Partial {
						fmt.Print(p.Text)
					}
				}
			}
		}

Since agent.go is not part of this pull request's changes, I'm adding this comment here. Please apply the fix to agent.go to resolve the compilation error.

@Yuan325 Yuan325 assigned dishaprakash and unassigned Yuan325 Apr 2, 2026
@dishaprakash dishaprakash added the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Apr 9, 2026
@renovate-bot
renovate-bot force-pushed the renovate/major-go-samples branch from 3df25cd to 9471e1e Compare October 10, 2026 22:53
@renovate-bot renovate-bot changed the title chore(deps): update module google.golang.org/adk to v1 chore(deps): update go samples (major) Oct 10, 2026
@forking-renovate

forking-renovate Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

ℹ️ Artifact update notice

File name: docs/en/documentation/configuration/pre-post-processing/go/adk/go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 22 additional dependencies were updated

Due to Go's usage of Minimal Version Selection (MVS), these packages have been updated to the minimum version available, so will still abide by minimumReleaseAge=3 days

Details:

Package Change
google.golang.org/genai v1.43.0 -> v1.75.0
cloud.google.com/go/auth v0.18.2 -> v0.24.1-0.20261001053825-dbc26066f70a
cloud.google.com/go/auth/oauth2adapt v0.2.8 -> v0.3.0
cloud.google.com/go/compute/metadata v0.9.0 -> v0.10.0
github.com/felixge/httpsnoop v1.0.4 -> v1.1.0
github.com/google/s2a-go v0.1.9 -> v0.1.11
github.com/googleapis/enterprise-certificate-proxy v0.3.11 -> v0.3.23
github.com/googleapis/gax-go/v2 v2.17.0 -> v2.26.2
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 -> v0.70.0
go.opentelemetry.io/otel v1.45.0 -> v1.47.0
go.opentelemetry.io/otel/metric v1.45.0 -> v1.47.0
go.opentelemetry.io/otel/sdk v1.45.0 -> v1.47.0
go.opentelemetry.io/otel/trace v1.45.0 -> v1.47.0
golang.org/x/crypto v0.57.0 -> v0.58.0
golang.org/x/net v0.60.0 -> v0.61.0
golang.org/x/oauth2 v0.36.0 -> v0.37.0
golang.org/x/sys v0.48.0 -> v0.49.0
golang.org/x/text v0.42.0 -> v0.43.0
google.golang.org/api v0.264.0 -> v0.304.0
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa -> v0.0.0-20261005182115-fad411399dd8
google.golang.org/grpc v1.83.2 -> v1.84.0
google.golang.org/protobuf v1.36.11 -> v1.36.12
File name: docs/en/documentation/getting-started/quickstart/go/adkgo/go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 23 additional dependencies were updated

Due to Go's usage of Minimal Version Selection (MVS), these packages have been updated to the minimum version available, so will still abide by minimumReleaseAge=3 days

Details:

Package Change
google.golang.org/genai v1.45.0 -> v1.75.0
cloud.google.com/go/auth v0.18.2 -> v0.24.1-0.20261001053825-dbc26066f70a
cloud.google.com/go/auth/oauth2adapt v0.2.8 -> v0.3.0
cloud.google.com/go/compute/metadata v0.9.0 -> v0.10.0
github.com/felixge/httpsnoop v1.0.4 -> v1.1.0
github.com/google/s2a-go v0.1.9 -> v0.1.11
github.com/googleapis/enterprise-certificate-proxy v0.3.11 -> v0.3.23
github.com/googleapis/gax-go/v2 v2.17.0 -> v2.26.2
github.com/googleapis/mcp-toolbox-sdk-go/core v0.6.2 -> v1.2.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 -> v0.70.0
go.opentelemetry.io/otel v1.45.0 -> v1.47.0
go.opentelemetry.io/otel/metric v1.45.0 -> v1.47.0
go.opentelemetry.io/otel/sdk v1.45.0 -> v1.47.0
go.opentelemetry.io/otel/trace v1.45.0 -> v1.47.0
golang.org/x/crypto v0.57.0 -> v0.58.0
golang.org/x/net v0.60.0 -> v0.61.0
golang.org/x/oauth2 v0.36.0 -> v0.37.0
golang.org/x/sys v0.48.0 -> v0.49.0
golang.org/x/text v0.42.0 -> v0.43.0
google.golang.org/api v0.265.0 -> v0.304.0
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa -> v0.0.0-20261005182115-fad411399dd8
google.golang.org/grpc v1.83.2 -> v1.84.0
google.golang.org/protobuf v1.36.11 -> v1.36.12
File name: docs/en/documentation/getting-started/quickstart/go/genAI/go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 3 additional dependencies were updated

Due to Go's usage of Minimal Version Selection (MVS), these packages have been updated to the minimum version available, so will still abide by minimumReleaseAge=3 days

Details:

Package Change
github.com/googleapis/enterprise-certificate-proxy v0.3.11 -> v0.3.14
github.com/googleapis/gax-go/v2 v2.17.0 -> v2.18.0
google.golang.org/api v0.265.0 -> v0.272.0
File name: docs/en/documentation/getting-started/quickstart/go/genkit/go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 3 additional dependencies were updated

Due to Go's usage of Minimal Version Selection (MVS), these packages have been updated to the minimum version available, so will still abide by minimumReleaseAge=3 days

Details:

Package Change
github.com/googleapis/enterprise-certificate-proxy v0.3.11 -> v0.3.14
github.com/googleapis/gax-go/v2 v2.17.0 -> v2.18.0
google.golang.org/api v0.265.0 -> v0.272.0
File name: docs/en/documentation/getting-started/quickstart/go/langchain/go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 6 additional dependencies were updated

Due to Go's usage of Minimal Version Selection (MVS), these packages have been updated to the minimum version available, so will still abide by minimumReleaseAge=3 days

Details:

Package Change
cloud.google.com/go/aiplatform v1.114.0 -> v1.116.0
github.com/googleapis/enterprise-certificate-proxy v0.3.11 -> v0.3.14
github.com/googleapis/gax-go/v2 v2.17.0 -> v2.18.0
golang.org/x/time v0.14.0 -> v0.15.0
google.golang.org/api v0.265.0 -> v0.272.0
google.golang.org/genproto v0.0.0-20260128011058-8636f8732409 -> v0.0.0-20260217215200-42d3e9bedb6d
File name: docs/en/documentation/getting-started/quickstart/go/openAI/go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 3 additional dependencies were updated

Due to Go's usage of Minimal Version Selection (MVS), these packages have been updated to the minimum version available, so will still abide by minimumReleaseAge=3 days

Details:

Package Change
github.com/googleapis/enterprise-certificate-proxy v0.3.11 -> v0.3.14
github.com/googleapis/gax-go/v2 v2.17.0 -> v2.18.0
google.golang.org/api v0.265.0 -> v0.272.0

@dpebot

dpebot commented Oct 10, 2026

Copy link
Copy Markdown

/gcbrun

@renovate-bot
renovate-bot force-pushed the renovate/major-go-samples branch from 9471e1e to e1aa0d5 Compare October 16, 2026 18:58
@dpebot

dpebot commented Oct 16, 2026

Copy link
Copy Markdown

/gcbrun

@renovate-bot
renovate-bot force-pushed the renovate/major-go-samples branch from e1aa0d5 to dd76fcd Compare October 25, 2026 02:35
@dpebot

dpebot commented Oct 25, 2026

Copy link
Copy Markdown

/gcbrun

@renovate-bot
renovate-bot force-pushed the renovate/major-go-samples branch from dd76fcd to 16d9f8c Compare October 26, 2026 16:55
@dpebot

dpebot commented Oct 26, 2026

Copy link
Copy Markdown

/gcbrun

@renovate-bot
renovate-bot force-pushed the renovate/major-go-samples branch from 16d9f8c to ed00a46 Compare November 2, 2026 16:48
@dpebot

dpebot commented Nov 2, 2026

Copy link
Copy Markdown

/gcbrun

@renovate-bot
renovate-bot force-pushed the renovate/major-go-samples branch from ed00a46 to 623628d Compare November 3, 2026 16:17
@dpebot

dpebot commented Nov 3, 2026

Copy link
Copy Markdown

/gcbrun

@renovate-bot
renovate-bot force-pushed the renovate/major-go-samples branch from 623628d to af8ef0b Compare November 5, 2026 11:48
@dpebot

dpebot commented Nov 5, 2026

Copy link
Copy Markdown

/gcbrun

@renovate-bot
renovate-bot force-pushed the renovate/major-go-samples branch from af8ef0b to a356ffc Compare November 5, 2026 16:19
@dpebot

dpebot commented Nov 5, 2026

Copy link
Copy Markdown

/gcbrun

@renovate-bot
renovate-bot force-pushed the renovate/major-go-samples branch from a356ffc to c165f10 Compare November 5, 2026 18:47
@dpebot

dpebot commented Nov 5, 2026

Copy link
Copy Markdown

/gcbrun

@renovate-bot
renovate-bot force-pushed the renovate/major-go-samples branch from c165f10 to 5e55354 Compare November 7, 2026 22:09
@dpebot

dpebot commented Nov 7, 2026

Copy link
Copy Markdown

/gcbrun

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Indicates a pull request not ready for merge, due to either quality or timing. tests: run Label to trigger Github Action tests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants