Skip to content

v1.14.0

Latest

Choose a tag to compare

@kvmilos kvmilos released this 02 Nov 15:21

1.14.0 (2026-11-02)

Features

  • add a Spring Boot chat app backed by an ADK agent (bca0591)
  • add a Spring Boot chat that streams replies and mixes ADK and Spring AI tools (7391fa8)
  • add App.toBuilder() (2e8dbea)
  • add bidirectional conversion between ADK and Spring AI (9949265)
  • add Event.isolationScope (86f3130)
  • add NodeInfo.name, runId, and parentRunId, and Event.nodeName (52f2be7)
  • add RunConfig.dollarEscapedPlaceholders to leave escaped placeholders in instructions as written (72b4af8)
  • load apps, agents and workflows through AppLoader (9c3d550)
  • pause a workflow for user input (8578068)
  • plugins: port DebugLoggingPlugin from adk-python (3c3633e)
  • plugins: port SaveFilesAsArtifactsPlugin from adk-python (272ea6c)
  • rebuild a workflow's node progress from session events (7096019)
  • reject node names that corrupt node paths (08d4b62)
  • resume a paused workflow from its session events (2e88a6d)
  • run a node once per item of a list input (528a99d)
  • run a tool as a workflow node (8b560fc)
  • run child nodes from a workflow node with Context.runNode (e293898)
  • serve an app's structure, including workflow graphs (6fd21b5)
  • share one run per Context.runNode run ID (a313ce4)
  • validate workflow graphs at construction time (7674c2b)
  • workflow: add NodeExecutionException as the base of NodeTimeoutException (a4c8ac1)
  • workflow: let RetryConfig match exceptions by class (fb4c916)

Bug Fixes

  • close the Gemini response stream after a read error (461f7d6)
  • drop a delegating node's own output, as Python ADK does (5177269)
  • enforce node retry policies and timeouts (367b402)
  • fail a timed-out node with NodeTimeoutException (0c661e1)
  • flows: propagate downstream cancellation to the model stream (cce02ae)
  • harden disabled mode, config checks and error capture (64ce48c)
  • keep context cache metadata in events and model responses (2c84291)
  • keep event isolation scopes in an adapted Java session service (c2ab2e3)
  • let a timeout cancel the node a workflow is starting (a017879)
  • live: replay stored transcriptions as conversation history (9a15855)
  • never retry a WorkflowConfigurationException (fd8c360)
  • restrict live transfer_to_agent to the agent, its sub-agents, parent, and peers (f4d6de4)
  • restrict turn-based transfer_to_agent to declared targets (9837e1b)
  • resume Kotlin workflows behind an adapted Java session service (aab51ef)
  • runner: keep callbackContextData on a resumed invocation (08876c4)
  • skills: remove unregistered script tool from default instructions (9d68053)
  • store grounded events in an adapted Java session service (beca776)
  • stream partial chunks, then one aggregated response (3a4742e)
  • workflow: fix replay branches and shared runs on resume (a155d30)

Reverts

  • restrict live transfer_to_agent to the agent, its sub-agents, parent, and peers (18554a1)
  • restrict turn-based transfer_to_agent to declared targets (84bae34)