Releases: google/adk-java
Releases · google/adk-java
v1.5.0
1.5.0 (2026-06-20)
Features
- add avatar config support to the live streaming flow (fb9274e)
- add GitHub release-docs analyzer (Java) (792d2f4)
- Add thought signature support for chat completions (287987a)
- bump google-genai dependency to 1.58.0 (3abcf4f)
- Enhance BigQuery Agent Analytics Plugin with new event types (ec93f50)
- support optional types in function tool parameters (9a06dd3)
- Update token usage reporting to include thoughts and cache tokens (436b802)
Bug Fixes
- Bypass redundant getSession read in ADK Runner (aaedcaf)
- convert unsupported artifact MIME types to text (a60c246)
- initialize event ID when creating compaction events (fc480ec)
- SkillMdPath should be public (29d3203)
- stop dropping the latest event(s) in VertexAiSessionService.getSession (987ef4e)
- wait for the Runner to persist a step's events before the ADK flow's next step (sequential-tool-execution race) (0a40557)
Performance Improvements
- filter session events server-side by afterTimestamp in VertexAiSessionService.getSession (e12baa2)
v1.4.0
1.4.0 (2026-05-29)
Features
- Add GcsOffloader for asynchronously uploading content to Google Cloud Storage (51c9d1a)
- Add GcsOffloader for asynchronously uploading content to Google Cloud Storage (5bad20a)
- Add GcsOffloader for asynchronously uploading content to Google Cloud Storage (a1d2c1c)
- Add JSON cycle detection (1685a4e)
- Add streaming support for ChatCompletionsHTTPClient (384a0c5)
- Add telemetry and metrics recording capabilities (cc3b9ce)
- Add tools and toolset to use SkillSource in ADK agents (198b2fb)
- Add tools and toolset to use SkillSource in ADK agents (5ee51fd)
- Add tools and toolset to use SkillSource in ADK agents (83a4b71)
- Introduce max span limit to ApiServerSpanExporter (ae13073)
- refactor OpenTelemetry (OTel) instrumentation within the ADK core, moving from manual span management to structured helper classes (e6fe9aa)
Bug Fixes
- adjust default ToolExecutionMode to SEQUENTIAL as it was actual and widely used behavior for all ADK Java users before parallel tool execution fix (fe88217)
- inject Dev UI tracer into core engine for embedded telemetry (8bccc3b)
- introduce PARALLEL_SUBSCRIBE ToolExecutionMode; restore previous PARALLEL semantics (d3e7f31)
- mcp: honor custom URL sub-paths in StreamableHttpServerParameters (a0c4b7b)
- pre-merge stateDelta before onUserMessageCallback in Runner (f1155ec)
- Resolve IllegalArgumentException for text MIME types in LangChain4j adapter (6ad2043)
- revert "Suppress empty-text-only chunks from streaming responses while preserving carried metadata" (69638df)
- route HITL confirmation back to originating sub-agent in workflow agents (d608909)
- run tools concurrently in PARALLEL ToolExecutionMode (020499b)
- Suppress empty-text-only chunks from streaming responses while preserving carried metadata (b4791ef)
Documentation
- clarify LlmAgent composition for workflow agents (49ff63b)
v1.3.0
1.3.0 (2026-05-13)
Features
- Add ChatCompletionsHTTPClient and support for non-streaming requests (9529c1a)
- Add conversion from LlmRequest to ChatCompletionsRequest (d37f6ee)
- Add SkillSource interface and implementations for loading skills (509c4aa)
- Add support for refusal content using "[[REFUSAL]]:" prefix (e9184c9)
- Refactor BigQueryAgentAnalyticsPlugin for async in preparation for GCS offloading (d837ef0)
Bug Fixes
v1.2.0
1.2.0 (2026-04-24)
Features
- Add telemetry headers (4009905)
- Adding functionality to support customer content formating (52323b4)
- Allowing McpAsycToolset Builder to take in a McpSessionManager (78766c1)
- Forward state delta from all events to parent session instead of just the last event (f4cd1b7)
- Implement BigQuery auto-schema upgrade and view creation (14027d1)
- Make BigQueryAgentAnalyticsPlugin state per-invocation (629c390)
- Support ChatCompletionChunk to LlmResponse conversion (589328e)
- Support plugins in Java AgentTool similar to Python's implementation (02a08a1)
Bug Fixes
v1.1.0
1.1.0 (2026-04-10)
Features
- Add ChatCompletionsRequest object (88eb0f5)
- Add ChatCompletionsResponse object (55becb8)
- Add ChatCompletionsResponse to LlmResponse conversion (ec88c64)
- add README for ADK LangChain4j integration library (f861ef9)
- add support for Gemma models in LlmRegistry (9d6cc80)
- add transcription in event (cb9d2e3)
- Implement Trace management, add HITL support (7407e37)
- Support Sub-agent Escalation event in Parallel Agent (Issue #561) (88c8b0e)
- Update event IDs in BaseLlmFlow's post processing section (d0e1085)
- Agentic Planning for ADK (076e903)
Bug Fixes
v1.0.0
1.0.0 (2026-03-30)
Features
- add
InMemoryArtifactServicetoAgentExecutorand updatepom.xmldependencies (24f8d5e) - enabling output_schema and tools to coexist (40ca6a7)
Bug Fixes
- add media/image support in Spring AI MessageConverter (8ab7f07), closes #705
- add schema validation to SetModelResponseTool (issue #587 already implemented, but adding tests from PR #603) (cdc5199)
- Ensure callbackContextData is preserved across session update (d1e05ca)
- firestore: Remove hardcoded dependency version (6a5a55e)
- Fixing tracing for function calls (84dff10)
- handle null
AiMessage.text()to prevent NPE and add unit test (PR #1035) (3e21e7a) - parallel agent execution (677b6d7)
- Removing deprecated methods from Runner (3633a7d)
- resolve MCP tool parsing errors in Claude integration (5a2abbf)
- revert changes to AbstractMcpTool, maintaining backwards compatible text_output field in the response (5f34d59)
- Using App conformant agent names (f3eb936)
Documentation
- add pull request template (6bb721b)
Miscellaneous Chores
v1.0.0-rc.1
1.0.0-rc.1 (2026-03-20)
⚠ BREAKING CHANGES
- remove McpToolset constructors taking Optional parameters
- remove deprecated Example processor
Features
- add handling the a2a metadata in the RemoteA2AAgent; Add the enum type for the metadata keys (e51f911)
- add type-safe runAsync methods to BaseTool (b8cb7e2)
- Enhance LangChain4j to support MCP tools with parametersJsonSchema (2c71ba1)
- fixing context propagation for agent transfers (9a08076)
- Implement basic version of BigQuery Agent Analytics Plugin (c8ab0f9)
- init AGENTS.md file (7ebeb07)
- Propagating the otel context (8556d4a)
- remove McpToolset constructors taking Optional parameters (dbb1394)
- Return List instead of ImmutableList in CallbackUtil methods (8af5e03)
- update requestedAuthConfigs and its builder to be of general Map types (f145c74)
- Update return type of App.plugins() from ImmutableList to List (8ba4bfe)
- Update return type of toolsets() from ImmutableList to List (cd56902)
- update Session.state() and its builder to be of general Map types (4b9b99a)
- update stateDelta builder input to Map from ConcurrentMap (0d1e5c7)
Bug Fixes
- fix null handling in runAsyncImpl (567fdf0)
- improve processRequest_concurrentReadAndWrite_noException test case (4eb3613)
- include saveArtifact invocations in event chain (551c31f)
- prevent ConcurrentModificationException when session events are modified by another thread during iteration (fca43fb)
- Relaxing constraints for output schema (d7e03ee)
- Removing deprecated methods in Runner (0af82e6)
- Use ConcurrentHashMap in InvocationReplayState (94de7f1), closes #1009
- workaround for the client config streaming settings are not respected (#983) (3ba04d3)
Miscellaneous Chores
v0.9.0
0.9.0 (2026-03-13)
⚠ BREAKING CHANGES
- refactor ApiClient constructors hierarchy to remove Optional parameters
- remove deprecated LlmAgent.canonicalTools method
- remove deprecated LoadArtifactsTool.loadArtifacts method
- update LoopAgent's maxIteration field and methods to be @nullable instead of Optional
- Remove Optional parameters in EventActions
- remove deprecated url method in ComputerState.Builder
- Remove deprecated create method in ResponseProcessor
- remove McpAsyncToolset constructors
- use @nullable fields in Event class
- remove methods with Optional params from VertexCredential.Builder
Features
- add formatting to the RemoteA2A agent so it filters out the previous agent responses and updates the context of the function calls and responses (0d6dd55)
- add multiple LLM responses to LLM recordings for conformance tests (bdfb7a7)
- add support for gemini models in VertexAiRagRetrieval (924fb71)
- Fixing the spans produced by agent calls to have the right parent spans (3c8f488)
- Fixing the spans produced by agent calls to have the right parent spans (973f887)
- refactor ApiClient constructors hierarchy to remove Optional parameters (910d727)
- Remove deprecated create method in ResponseProcessor (5e1e1d4)
- remove deprecated LlmAgent.canonicalTools method (aabf15a)
- remove deprecated LoadArtifactsTool.loadArtifacts method (bc38558)
- remove deprecated url method in ComputerState.Builder (a86ede0)
- remove executionId method that takes Optional param from CodeExecutionUtils (be3b3f8)
- remove McpAsyncToolset constructors (82ef5ac)
- remove methods with Optional params from VertexCredential.Builder (0b9057c)
- Remove Optional parameters in EventActions (b8316b1)
- replace Optional type of version in BaseArtifactService.loadArtifact with Nullable (5fd4c53)
- Trigger traceCallLlm to set call_llm attributes before span ends (d9d84ee)
- Update converters for task and artifact events; add long running tools ids (9ce78d7)
- update LoopAgent's maxIteration field and methods to be @nullable instead of Optional (e0d833b)
- update return type for artifactDelta getter and setter to Map from ConcurrentMap (d1d5539)
- update return type for requestedToolConfirmations getter and setter to Map from ConcurrentMap (143b656)
- update return type for stateDelta() to Map from ConcurrentMap (3f6504e)
- update State constructors to accept general Map types (c6fdb63)
- use @nullable fields in Event class (67b602f)
Bug Fixes
- Explicitly setting the otel parent spans in agents, llm flow and function calls (20f863f)
- Make sure that
InvocationContext.callbackContextDataremains the same instance (14ee28b) - Removing deprecated InvocationContext methods (41f5af0)
- Removing deprecated methods in Runner (0d8e22d)
- Removing deprecated methods in Runner (b857f01)
Miscellaneous Chores
- override new version to 0.9.0 (a47b651)
v0.8.0
0.8.0 (2026-03-06)
⚠ BREAKING CHANGES
- remove methods with Optional params from LiveRequest.Builder
- remove deprecated methods accepting Optional params in InvocationContext
- remove deprecated BaseToolset.isToolSelected method
- remove Optional parameters from LlmResponse.Builder's methods
- remove support for legacy
transferToAgent, superseded bytransfer_to_agent
Features
- add callbacks functionality to the agent executor (7e8f9dc)
- add example on how to expose agent via A2A protocol (e3ea378)
- Adding a Builder for EventsCompactionConfig (05fbcfc)
- Adding a SessionKey for typeSafety (d899f6f)
- Adding plugin(Plugin... p) helper methods on App and Runner builders (dc1a192)
- implement partial event aggregation in RemoteA2AAgent (e064067)
- remove deprecated BaseToolset.isToolSelected method (d2f1145)
- remove deprecated methods accepting Optional params in InvocationContext (88153c8)
- remove methods with Optional params from LiveRequest.Builder (84c62a4)
- remove Optional parameters from LlmResponse.Builder's methods (a3ac436)
Bug Fixes
- Allow injecting ObjectMapper in FunctionTool, default to ObjectMapper (re. #473) (71b1070)
- downgrade otel.version to 1.51.0 (117fedf)
- Ensure Gemini 3.1 models have events correctly buffered (acffdb9)
- Exit from rearrangeEventsForLatestFunctionResponse if size of events is less than 2 (5bc3ef8)
- Fixed issue where events were marked empty if the first part had an empty text; now checks all parts for meaningful content (a0cba25)
- prepare JSON serialization for Jackson 2.20.2 and Spring Boot 4.0.2 upgrades (8c6591b)
Miscellaneous Chores
- revert: switch release please secret to use adk-java-releases-bot's token (7eafd1b)
Code Refactoring
- remove support for legacy
transferToAgent, superseded bytransfer_to_agent(c1ccb2e)
v0.7.0
0.7.0 (2026-02-27)
Features
- Add ComputerUse tool (d733a48)
- add the AgentExecutor config (e0f7137)
- drop gemini-1 support in GoogleSearchTool (15255b4)
- Extend url_context support to Gemini 3 in Java ADK (2c9d4dd)
- Extend url_context support to Gemini 3 in Java ADK (5f5869f)
- Handle final and error TaskStatusUpdateEvents (746e857)
- remove model restrictions in BuiltInCodeExecutionTool (1a593a9)
- Update AgentExecutor so it builds new runner on execute and there is no need to pass the runner instance (7218295)
Bug Fixes
- change Session events list to a threadsafe implementation by default (0b5ac92)
- deep-merge stateDelta maps when merging EventActions (ff07474)
- drop explicit gemini-1 model version check in GoogleMapsTool (7953503)
- LlmAgent model name resolution and improve Gemini-3 model detection logic (313ce85)
- make a mutable copy of function args for the beforeToolCallback invocations (64d3a77)
Documentation
- Update a parameter name in a comment (5262d4a)
Known Issues
- Dev UI (
AdkWebServer) server startup fails with ajava.lang.ClassNotFoundException: io.opentelemetry.sdk.internal.ScopeConfiguratorerror, a workaround is to manually update aio.opentelemetry:opentelemetry-sdk-metricsdependecy to version 1.59.0