Releases: google/adk-go
Releases · google/adk-go
Release list
v1.6.0
What's Changed
- fix(runner): preserve nested workflow HITL resume responses by @chaojixinren in #1129
- Consistent %w / %v usage in fmt.Errorf by @wojtas000 in #1265
- fix(live): tear down the flow when LiveSession.Close is called by @hanorik in #1285
- fix(ci): restrict the nightly workflow to a read-only token by @wolo-lab in #1288
- Apply consistent usage of doc.go by @wojtas000 in #1294
- fix(skilltoolset): accept scalar allowed-tools frontmatter by @ktsoator in #1301
- fix(adkrest): add health endpoint by @vivekjm in #1274
- docs: correct role alternation comment in contents_processor by @erensh27 in #1302
- ci: guard the exported API against accidental breaking changes by @baptmont in #1297
New Contributors
- @chaojixinren made their first contribution in #1129
- @wojtas000 made their first contribution in #1265
- @ktsoator made their first contribution in #1301
- @vivekjm made their first contribution in #1274
- @erensh27 made their first contribution in #1302
Full Changelog: v2.2.0...v1.6.0
v2.2.0
What's Changed
- chore: update golang.org/x dependency versions in go.mod by @hanorik in #1192
- docs: fix AGENTS.md build commands for the multi-module layout by @karolpiotrowicz in #1211
- chore: update golang.org/x dependency versions in plugin's go.mod by @hanorik in #1216
- chore(deps): bump google.golang.org/genai from 1.63.0 to 1.65.0 by @dependabot[bot] in #1215
- docs: list the Kotlin and TypeScript ADK implementations in README by @karolpiotrowicz in #1212
- chore: bump gcp detectors and grpc dependencies in root and agentanalytics modules by @hanorik in #1219
- chore: broaden Dependabot updates and add CODEOWNERS routing by @karolpiotrowicz in #1199
- feat: enable h2c on web launcher listener by @jankrynauw in #826
- fix(llminternal): resume confirmed tool calls in request order by @DABH in #1169
- fix: preserve vertex ai artifact deltas by @kiwigitops in #904
- test(session): decouple vertexai test teardown from the public Delete by @kvmilos in #1217
- fix(session): enforce user ownership in VertexAI DeleteSession by @kvmilos in #1195
- test(artifact): cover GetArtifactVersion by @mdabydeen in #1156
- fix(memory): hold read lock while scanning sessions in SearchMemory by @winklemad in #1139
- chore(deps): bump the go-minor-patch group across 1 directory with 18 updates by @dependabot[bot] in #1242
- fix(ci): unbreak the lint job by skipping golangci-lint's stale cache by @baptmont in #1250
- docs(llmagent): correct OutputSchema comment — tools still work via set_model_response by @nuthalapativarun in #786
- fix(llminternal): guard RunLive errChan sends so abandoned producers exit on reconnect by @chethanuk in #1167
- feat: support both string and object function call arguments and improve error reporting by @hanorik in #1254
- fix(skilltoolset): document load_skill param as name, not skill_name by @koriyoshi2041 in #919
- fix(llminternal): close the live connection when SendHistory fails by @baptmont in #1261
- fix(configurable): prevent path traversal in AgentTool config_path resolution by @adilburaksen in #878
- fix: use []any instead of []string in loadartifactstool to fix structpb serialization by @brucearctor in #670
- fix(session): give Event a consistent JSON encoding by @jjsasha63 in #1252
- fix(gcsartifact): prevent artifact version race in concurrent Save by @wolo-lab in #1172
- fix(llm): retain streaming usage metadata by @Soundcreates in #1257
- fix(workflow): propagate external context cancellation by @Soundcreates in #1258
- test(functiontool): cover streaming confirmation by @GtechGovind in #1247
- chore(deps): bump the go-minor-patch group with 6 updates by @dependabot[bot] in #1275
New Contributors
- @kiwigitops made their first contribution in #904
- @kvmilos made their first contribution in #1217
- @mdabydeen made their first contribution in #1156
- @winklemad made their first contribution in #1139
- @chethanuk made their first contribution in #1167
- @koriyoshi2041 made their first contribution in #919
- @adilburaksen made their first contribution in #878
- @brucearctor made their first contribution in #670
- @jjsasha63 made their first contribution in #1252
- @Soundcreates made their first contribution in #1257
- @GtechGovind made their first contribution in #1247
Full Changelog: v2.1.0...v2.2.0
v2.1.0
What's Changed
- docs(examples/workflow): add per-example READMEs and a workflow index by @msampathkumar in #1113
- docs(contributing): document v1/v2 branch split by @wolo-lab in #1114
- ci: run Go workflow on main and v1 branches by @wolo-lab in #1117
- docs: update AGENTS.md repository layout for current packages by @karolpiotrowicz in #1118
- feat: add platform TaskRunner seam for caller-controlled tool fan-out by @DABH in #1050
- feat: add a name-based model registry (Register/NewLLM) by @DABH in #1057
- feat: expose the tool-declaration packer (PackTool) as a public API by @DABH in #1055
- test(runner): cover node-runtime behaviors by @wolo-lab in #1103
- fix: stable ordering of generated tool-confirmation requests by @DABH in #1053
- fix: update confirmation wrapper to propagate ProcessRequest calls to underlying tools and intercept packing registration by @hanorik in #1130
- feat(runner): add NewInMemory convenience constructor by @wolo-lab in #1133
- use t.Context() instead of context.Background() in tests by @wolo-lab in #1132
- fix: prevent mutation of input event during temporary state delta stripping by creating a shallow copy by @hanorik in #1128
- test(remotagent) deflake a2a cleanup propagation by @wolo-lab in #1131
- feat(agentregistry): add package foundation and REST transport by @wolo-lab in #1122
- feat(workflow): emit invoke_node spans for parallel worker items by @wolo-lab in #1134
- chore(deps): bump google.golang.org/genai from 1.57.0 to 1.63.0 by @dependabot[bot] in #1021
- chore(deps): bump golang.org/x/crypto to v0.52.0 by @wolo-lab in #1144
- test(remoteagent): de-flake TestCompat_A2ACleanupPropagation by @wolo-lab in #1145
- feat(agentregistry): add discovery methods for agents, MCP servers, e… by @wolo-lab in #1124
- AgentEngine deployment changes by @kdroste-google in #1162
- feat(agentregistry): add RemoteAgent and McpToolset factory helpers by @wolo-lab in #1127
- feat(auth): add core credential and provider package by @wolo-lab in #1143
- feat(mcptoolset): apply per-request auth via Config.Auth by @wolo-lab in #1148
- fix(parallelagent): await sub-agent teardown before returning on early stop by @wolo-lab in #1186
- feat: support multi-module Go development in CI and update developer documentation by @hanorik in #1155
- feat: Add BigQuery Agent Analytics Plugin by @vasilyl in #738
- OpenAI support by @hanorik in #1178 — building on the original contribution by @levigross in #242
New Contributors
- @msampathkumar made their first contribution in #1113
- @vasilyl made their first contribution in #738
Full Changelog: v2.0.0...v2.1.0
v1.5.1
v2.0.0
New major features
In ADK Go 2.0 we are adding our new graph-based workflow engine, built-in human-in-the-loop, dynamic orchestration and more:
- Agent workflows — a new graph-based orchestration engine. Compose agents, tools, and functions as nodes in a directed graph executed by a concurrent scheduler: static and dynamic graphs, conditional routing, fan-out/fan-in (JoinNode), parallel workers, per-node retries/timeouts, input/output schema validation, and human-in-the-loop pause/resume. See examples/workflow/.
- Collaboration agents — LlmAgent gains
chat,task, andsingle_turnmodes so a coordinator can delegate to specialist sub-agents that return control automatically, each with isolation-scoped conversation history. See examples/multiagent/collaboration/. - Context unification — the separate
ToolContext,CallbackContextare merged into a singleagent.Context.New agent.StrictContextMockkeeps test fakes forward-compatible as the interface grows.
Note: v2 moves the module path to google.golang.org/adk/v2 and requires Go 1.25+.
Migration
To migrate from v1 please follow the migration guide.
What's Changed
Full Changelog: v1.4.0...v2.0.0
v1.5.0
What's Changed
- Add v2 checks by @kdroste-google in #937
- Context unification: switch all to not deprecated by @kdroste-google in #935
- fix: bump x/net and otel OTLP exporters to fix nightly govulncheck failures by @karolpiotrowicz in #994
- chore: complete Node 24 migration for GitHub Actions by @karolpiotrowicz in #996
- feat: Add ability to set custom clock and UUID providers by @DABH in #964
- feat(agent): add StrictContextMock test double by @wolo-lab in #1019
- fix: Allow manual setting of session IDs by @dietb in #721
- docs: add AGENTS.md for AI coding agents by @karolpiotrowicz in #1045
- fix(agentengine): support Gemini Enterprise AgentSpace streams by @jankrynauw in #777
- Got rid of context.Background by @kdroste-google in #1062
- fix: update built-in load_memory tool for compatibility with VertexAiSessionService by @nicholasbreckwoldt in #793
- Main linter fixes by @kdroste-google in #1068
- fix(conformance): Add "system_instruction" keyNode processing by @baptmont in #1075
- test(session/vertexai): add table-driven tests for FunctionCall/Response ID mapping by @nuthalapativarun in #739
New Contributors
- @DABH made their first contribution in #964
- @dietb made their first contribution in #721
- @jankrynauw made their first contribution in #777
- @nicholasbreckwoldt made their first contribution in #793
- @nuthalapativarun made their first contribution in #739
Full Changelog: v1.4.0...v1.5.0
v1.4.0
What's Changed
- fix: add validation for transfer agent by @anFatum in #824
- fix replay_plugin: empty llmresponses and normalize function formatting before comparing. by @baptmont in #869
- fix: copy ThoughtSignature onto adk_request_confirmation parts by @gustafvh in #763
- fix: yield tool responses before confirmations by @gustafvh in #765
- fix: preserve Vertex AI function call IDs by @gustafvh in #762
- feat: update examples and cli launcher to use a2a-go/v2 sdk by @nahapetyan-serob in #780
- feat: adka2a structured error propagation by @yarolegovich in #874
- fix: a2a execution cleanup callback not triggered by @nahapetyan-serob in #903
- Context unification agent/context + internal/contenxt/callback_context by @kdroste-google in #868
- fix: preserve unrelated function events by @gustafvh in #767
- Context unification: merged tool context to callbackContext by @kdroste-google in #871
- feat: Add conformance test recording plugin by @baptmont in #890
- fix: accept metadata-only SSE chunks instead of aborting stream in StreamingResponseAggregator by @kdroste-google in #918
New Contributors
Full Changelog: v1.3.0...v1.4.0
v1.3.0
What's Changed
- refactor: remove manual session ID input and enable auto-creation in runner by @hanorik in #754
- feat: add support for updating existing Agent Engine instances by @hanorik in #755
- Add support for simple text instead of full genai.Content for stream_query by @kdroste-google in #773
- feat: make adk work with a2a-go/v2 by @yarolegovich in #701
- refactor: rename experimental reasoning tokens attribute to gen_ai.usage.reasoning.output_tokens and change semantics of gen_ai.usage.output_tokens by @pigorski in #779
- fix: propagate thought signature to first function call in mixed responses by @baptmont in #788
- Added VertexAI MemoryBank support by @kdroste-google in #801
- fix: the old adka2a public api depending on the new a2a-go/v2 by @yarolegovich in #813
- ADK GO version update for LLM Request tagging by @kdroste-google in #816
- Add parallel HITL function test by @baptmont in #817
- chore: bump a2a-go version to have nil part fix by @yarolegovich in #827
- Changed model for gemini API to gemini-3.1-flash-lite (in examples) by @kdroste-google in #839
- feat(live): Add core bidirectional streaming support by @baptmont in #833
- chore: add Dependabot config for automated dependency updates by @karolpiotrowicz in #843
- feat(live): Add sequential agent live run by @baptmont in #835
- feat(live): Add live example by @baptmont in #834
- fix: Stop ignoring request Decode error in runtime. by @foxfrikses in #851
- fix: Propagate StateDelta for non-streaming agent. by @foxfrikses in #854
- fix: Prevent nil deref when a tool doesn't implement tool.Tool. by @foxfrikses in #855
- feat(live): Add session resumption by @baptmont in #837
- feat(live): Add streaming tools by @baptmont in #836
- feat(live): Add audio cache for save artifact by @baptmont in #838
- chore: fix folder name by @baptmont in #859
New Contributors
- @karolpiotrowicz made their first contribution in #843
Full Changelog: v1.2.0...v.1.3.0
v1.2.0
What's Changed
- feat: add the implementation of Eventarc subrouter by @anFatum in #713
- feat: Add agent engine deployment to ADK GO CLI by @hanorik in #715
- Update content processor to exclude toolconfirmation.FunctionCallName by @baptmont in #717
- feat: update cloudrun deployment script to include eventarc subrouter by @anFatum in #716
- feat: Allow toolsets implement toolinternal.RequestProcessor. by @foxfrikses in #730
- feat: Implement SkillToolset. by @foxfrikses in #733
- fix: adk-web sse error format by @anFatum in #734
- fix: add traceCapacity to the api config by @anFatum in #731
- feat: Add skill Source proxy for preloading skills. by @foxfrikses in #745
- feat: Add preload frontmatters skill source proxy. by @foxfrikses in #748
- feat: Add merged skill source proxy. by @foxfrikses in #747
- Agent Engine support by @kdroste-google in #749
Full Changelog: v1.1.0...v1.2.0
v1.1.0
What's Changed
- Conformance fixes for changes to yaml format and progressive sse by @baptmont in #672
- fix: preserve error details and finish reason in streaming response aggregator and update test expectations by @baptmont in #678
- feat: Implement and test recursive agent lookup by name. by @hanorik in #626
- feat: add GetArtifactVersion method to artifact service by @hanorik in #575
- feat: custom runner provider for adka2a executor by @yarolegovich in #680
- Add session service test suite by @baptmont in #675
- fix: fix data part conversions by @nahapetyan-serob in #689
- fix: correct json envelope for datapart by @nahapetyan-serob in #695
- chore: update a2a-go and fix double cleanup by @yarolegovich in #698
- feat: Introduce skill package, define frontmatter and helper functions. by @foxfrikses in #693
- feat: setup subrouter for pub/sub trigger by @anFatum in #704
- feat: update cloudrun deployment script to include pubsub by @anFatum in #712
- feat: add telemetry attributes for cache read input tokens and reason… by @pigorski in #714
- feat: Define skill.Source interface and implement file system skill source. by @foxfrikses in #711
- feat(telemetry): add configurable LRU cache in debug telemetry to avoid memory leaks by @pawel-maciejczek in #687
New Contributors
- @foxfrikses made their first contribution in #693
- @pigorski made their first contribution in #714
Full Changelog: v1.0.0...v1.1.0