Skip to content

Releases: google/adk-go

v1.6.0

Choose a tag to compare

@wolo-lab wolo-lab released this 12 Aug 06:36
95a40be

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

Full Changelog: v2.2.0...v1.6.0

v2.2.0

Choose a tag to compare

@wolo-lab wolo-lab released this 10 Aug 07:30
b264039

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

Full Changelog: v2.1.0...v2.2.0

v2.1.0

Choose a tag to compare

@karolpiotrowicz karolpiotrowicz released this 23 Jul 16:16
f4c7670

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

Full Changelog: v2.0.0...v2.1.0

v1.5.1

Choose a tag to compare

@wolo-lab wolo-lab released this 22 Jul 13:53
7f1f101

What's Changed

  • ci: run Go workflow on main and v1 branches (#1117) by @wolo-lab in #1189
  • fix(parallelagent): await sub-agent teardown before returning on earl… by @wolo-lab in #1188

Full Changelog: v1.5.0...v1.5.1

v2.0.0

Choose a tag to compare

@wolo-lab wolo-lab released this 30 Jun 14:24
78f9c24

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, and single_turn modes 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, CallbackContext are merged into a single agent.Context. New agent.StrictContextMock keeps 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

Choose a tag to compare

@wolo-lab wolo-lab released this 01 Jul 09:40
caf798a

What's Changed

New Contributors

Full Changelog: v1.4.0...v1.5.0

v1.4.0

Choose a tag to compare

@wolo-lab wolo-lab released this 29 May 13:45
2472d61

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

Choose a tag to compare

@wolo-lab wolo-lab released this 19 May 12:49
428efad

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

Full Changelog: v1.2.0...v.1.3.0

v1.2.0

Choose a tag to compare

@dpasiukevich dpasiukevich released this 23 Apr 19:13
a586408

What's Changed

Full Changelog: v1.1.0...v1.2.0

v1.1.0

Choose a tag to compare

@mazas-google mazas-google released this 10 Apr 15:08
ea1865b

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

Full Changelog: v1.0.0...v1.1.0