Skip to content

Latest commit

 

History

History
251 lines (219 loc) · 30.8 KB

File metadata and controls

251 lines (219 loc) · 30.8 KB

Changelog

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)

0.6.0 (2026-02-19)

Features

  • Add Compact processor to SingleFlow (ee459b3)
  • Add Compaction RequestProcessor for event compaction in llm flow (af1fafe)
  • Add ContextCacheConfig to InvocationContext (968a9a8)
  • Add event compaction config to InvocationContext (8f7d7ea)
  • Add event compaction framework in Java ADK (dd68c85)
  • add eventId in CallbackContext and ToolContext (ac05fde)
  • add ExampleTool to ComponentRegistry (2e1b09f)
  • add response converters to support multiple A2A client events (4e8de90)
  • Add token usage threshold to TailRetentionEventCompactor (9901307)
  • Add tokenThreshold and eventRetentionSize to EventsCompactionConfig (588b00b)
  • Add VertexAiSearchTool and AgentTools for search (b48b194)
  • Adding a .close() method to Runner, Agent and Plugins (495bf95)
  • Adding a new ArtifactService.saveAndReloadArtifact() method (59e87d3)
  • adding a new temporary store of context for callbacks (ed736cd)
  • Adding autoCreateSession in Runner (6dd51cc)
  • Adding GlobalInstructionPlugin (72e20b6)
  • Adding OnModelErrorCallback (dfd2944)
  • adding resume / event management primitives (2de03a8)
  • Adding TODO files for reaching idiomatic java (4ac1dd2)
  • Adding validation to BaseAgent (5dfc000)
  • Adding validation to BaseAgent and RunConfig (503caa6)
  • Adding validation to InvocationContext 'session_service', 'invocation_id', (0502c21)
  • Allow EventsCompactionConfig to have a null summarizer initially (229654e)
  • enable LoopAgent configuration (d1a1cea)
  • EventAction.stateDelta() now has a remove by key variant (32a6b62)
  • Extend google_search support to Gemini 3 in Java ADK (ddb00ef)
  • Fix a handful of small changes related to headers, logging and javadoc (0b63ca3)
  • Forward state delta to parent session (00d6d30)
  • HITL - remove the events between the confirmed FC & its response (3670555)
  • HITL - Revert the "Boolean confirmation" changes, we'll fix it differently (f65e58b)
  • HITL: Declining a proposal now correctly intercepts the run (9611f89)
  • HITL: Let ADK resume after HITL approval is present (9611f89)
  • Improving LoggingPlugin (acfaa04)
  • Integrate event compaction in Java ADK runner (54c826c)
  • Introduce TailRetentionEventCompactor to compact and retain the tail of the event stream (efe58d6)
  • Introduce the App class for defining agentic applications (d7c5c6f)
  • introduces context caching configuration for apps, ported from Python ADK (12defee)
  • new ContextFilterPlugin (f8e9bc3)
  • Refactor EventsCompactionConfig to require a summarizer (864d606)
  • refactor remote A2A agent to use A2A SDK client (7792233)
  • Refine bug and feature request issue templates (3e74c9a)
  • register GoogleMapsTool in ComponentRegistry (464f0b2)
  • Reorder compaction events in chronological order (66e2296)
  • Setting up data structures for pause/resume/rewind (c6c52c4)
  • Skip post-invocation compaction if parameters not set (76f86c5)
  • Support function calls in LLM event summarizer (55144ac)
  • support stdio_connection_params in McpToolset config (cc1588a)
  • Token count estimation fallback for tail retention compaction (3338565)
  • Update event compaction logic to include events after compaction end times (ea12505)
  • Updating Baseline Code executors (a3f1763)
  • updating Telemetry (5ba63f4)
  • Updating the Tracing implementation and updating BaseAgent.runLive (8acb1ea)
  • use Credentials' request metadata to populate headers (e01df11)

Bug Fixes

  • Add name and description to configagent pom.xml (4948bfc)
  • Align InMemorySessionService listSessions with Python implementation (9434949)
  • Always use a mutable HashMap for default function arguments (c6c9557)
  • emit multiple LlmResponses in GeminiLlmConnection (7bf55f1)
  • Events for HITL are now emitted correctly (9611f89)
  • fix linter error (f49260e)
  • Fixing a problem with serializing sessions that broke integration with Vertex AI Session Service (8190ed3)
  • Fixing a regression in InMemorySessionService (d11bedf)
  • Fixing Vertex session storage (5607f64)
  • HITL endless loop when asking for approvals (9611f89)
  • include usage_metadata events in live postprocessing (8137d66)
  • javadocs in ResponseConverter (be35b22)
  • Make FunctionResponses respect the order of FunctionCalls (a99c75b)
  • Making stepsCompleted thread-safe (d432c64)
  • Merging of events in rearrangeEventsForAsyncFunctionResponsesInHistory (67c29e3)
  • Mutate EventActions in-place in AgentTool (ded5a4e)
  • pass mutable function args map to beforeToolCallback (e989ae1)
  • populate finishReason in LlmResponse (dace210)
  • Propagate trace context across async boundaries (279c977)
  • recursively extract input/output schema for AgentTool (7019d39)
  • Reduce the logging level (dd601ca)
  • Remove checking ToolConfirmation from Functions to align with Python SDK (0724330)
  • remove client-side function call IDs from LlmRequest (99b5fc2)
  • Remove obsolete @param tags from SessionController Javadoc (a77971a)
  • Replace @apiNote with <p> in Javadoc comments. (ac16d53)
  • restore invocationContext() method (c9e2a5b)
  • revert: Merging of events in rearrangeEventsForAsyncFunctionResponsesInHistory (101adce)
  • update converters package classes (b66e4a5)
  • update EmbeddingModelDiscoveryTest package statement (adeb9dc)
  • Updated BasePlugin JavaDoc for name parameter (2e59550)

Documentation

  • Update comment in Runner (fe00ef8)

0.3.0 (2025-09-17)

⚠ BREAKING CHANGES

  • Allow beforeModelCallback to modify the LLM request
  • Integrate Memory Service into ADK runtime
  • This change requires users to update their configurations to provide a service account JSON file. This enables authentication with cloud services.

Features

  • Add BaseToolset and update McpToolset to use the new interface (2aa474d)
  • Add BaseToolset and update McpToolset to use the new interface (a211ac4)
  • Add code executor (5ffa984)
  • Add configurable CORS support via application.yml properties (4d4fe25)
  • Add ContainerCodeExecutor (a0a1616)
  • Add CORS configuration for local ADK-Web angular (4d4fe25)
  • Add DeepWiki badge to README (2a44d51)
  • Add GeminiSchemaUtil for converting OpenAPI/MCP JsonSchema to com.google.genai.types.Schema (1945fad)
  • Add include_contents option to LlmAgentConfig to control inclusion of previous event contents in LLM requests (2bfbc8f)
  • add instruction state injection bypass (a3746ed)
  • Add MCP Toolset support for agent configuration (bdc39f7)
  • Add sessionId() and events() to ReadOnlyContext (a348a30)
  • Add support for configuring agent callbacks in YAML (27c0172)
  • Add support for configuring subagents in ADK agents via YAML (d827eae)
  • Add support for programmatic sub-agent resolution using 'code' key (c498d91)
  • add support for Streamable HTTP Connections to MCP Tools (bea3244)
  • Add support for streaming tools (fe1df53)
  • Add usage metadata to LLM Response model (f5b8fda)
  • Add VertexAiCodeExecutor (e5b1fb3)
  • Added JSON Schema for configurable agents (095eff6)
  • Added serviceAccountJson as a parameter for toolset (5ab8b14)
  • Adds mvn google-adk:web ... cli via maven plugin to allow users debug agents with Web UI much easier. (b02c559)
  • Adds support for YAML-based basic agents (9723f8a)
  • ADK Plugin Base Class (dc29535)
  • AgentStaticLoader; like an 🧝 Elve, instead of the 🧙 mage (fixes #149) (5fcd413)
  • Allow LongRunningFunctionTool to be created with an instance (9bd2bd6)
  • Allow max tokens to be customizable in Claude (bbf38e3)
  • bypass state injection for instructions constructed with an InstructionProvider (ef2931a)
  • config: Adds ComponentRegistry for loading objects in yaml config (55fffb7)
  • config: Adds resolveAgentClass, resolveToolInstance and resolveToolClass to ComponentRegistry for resolving the 3 type of components (8c107d2)
  • config: Supports loading yaml agents in mvn google-adk@web ... (417a8bc)
  • Enforce serializable types for FunctionTools (bd0bb57)
  • Implement automatic tool discovery for config-based agents (a2d9533)
  • Implement tool configuration loading (f27f48c)
  • Initial tutorials/city-time-weather (6ce41ef)
  • Integrate Memory Service into ADK runtime (f4f8309)
  • Integrating Plugin with ADK (c037893)
  • introduce an experimental parameter to limit number of steps LlmAgent can take (4983747)
  • Introduce ExampleTool for few-shot examples in LlmAgent (2162f89)
  • Introduced ApplicationIntegrationToolset in JavaADK (e21807c)
  • Introduced ConnectionClient and IntegrationClient to get OPENAPISPEC of connection (1e114cd)
  • JBang! 💥 🤯 (e10e4f9)
  • Make FunctionDeclaration.buildFunctionDeclaration public (5bf9cb0)
  • make readonly context more efficient (60a1707)
  • Make StreamableHttpServerParameters class non-final to allow subclassing (bc3ae43)
  • maven: Supports using custom/subclass of ComponentRegistry to provide tools for agents (7c7d779)
  • pass headers while init mcp client (744814a)
  • pass timeout config while init mcp client (d255167)
  • provide more detailed logs when mcp tool declaration failed. (4d5b63a)
  • Refactors ADK agent loading with a new AgentLoader interface, add CompiledAgentLoader and AgentStaticLoader implementation, move YAML agent loader support to maven_plugin (0f7904b)
  • SseServerParameters: Add configuration option for connection endpoint (83899b9)
  • support AsyncMcpTool (0c50970)
  • support for mcp async toolset (b867ea2)
  • update ConfigAgentLoader to load agents from the current directory (008c196)
  • Update FunctionTool to handle deserializing arbitrary return types (a33f4da)
  • Update model resolution logic for LLM agents (4fc83f0)

Bug Fixes

  • remove is a state mutation operation and should also be captured in the delta (1071f1e)
  • Add missing logging for MCP Servers (e2c4d40)
  • Added httpclient5 dependency to pom.xml to fix ADKWebServer instantiating issue (62eb2ec)
  • Allow beforeModelCallback to modify the LLM request (8e10df2)
  • Broken Dev UI (fixes #302) (852ebd8)
  • change scheme to https (7bc003e)
  • Check input validity before appending to example (97f02ab)
  • Ensure function call ID is populated before building list of long running function calls (d204294)
  • Exclude image labels when sending requests to Gemini API (7d10299)
  • exclude Thought from being printed as context (40af9bb)
  • expose LlmAgent's max steps parameter via a getter (0431e2b)
  • Fix Claude LLM when no tools are provided (fixes #382) (99265cf)
  • Fix InMemorySessionService timestamp seconds conversion (21c09ac)
  • Fix the incorrect timestamp in Event (e1214c1)
  • Fix view eval case (315f354)
  • Fixed AgentStaticLoader bean registration using ApplicationContextInitializer and resolved OpenTelemetry double initialization in tests (87acdf8)
  • Flip equals() in LangChain4j for better null safety (d5c98ad)
  • formatting error in LangChain4J test (c4e363a)
  • handle state removals when applying stateDelta in BaseSessionService.appendEvent (34151c7)
  • IncludeContents.None not including user message in request (c0302b6)
  • Increase default MCP client timeouts to 5 minutes (d46673e)
  • Increase max output tokens for Claude to 8k (90b7bf4)
  • JavaDoc mistake in ParallelAgent (ff3c803)
  • live agents using Gemini don't call tools (cca154d)
  • Make BaseMemoryService nullable in Runner (2955789)
  • Make sessionService() in InvocationContext public instead of protected (1ae5639)
  • missing "model" role in Gemini LLM responses (13dd978)
  • multiple tool requests with langchain4j (92631a1)
  • operation should be added irrespective of actions or entities (55b87ee)
  • Refactor web server components and agent loaders from maven_plugin to dev module (9e3723b)
  • Remove copy/pasta 🍝 in Mcp[Aync]Tool (d972b87)
  • remove debug logs from base llm flow to prevent accidentally logging user data (cb95b56)
  • Remove GeminiSchemaUtil and use JsonSchema directly in FunctionDeclaration (1a93675)
  • Remove network package since it is not used (a3c47bc)
  • Remove residual web components from maven_plugin (855da19)
  • Removed FeatureDecorator class (a678cca)
  • reverting incorrect fix handling appendEvent singles (5a7ab20)
  • runAsync handles the async response of sessionService.appendEvent (eb232ee)
  • Runner now includes Singles from appendEvent in the Rx graph (b862ad4)
  • Same GenAI version in langchain4j as in core (6ef972d)
  • StreamingToolTest flakiness (bfdf13c)
  • Support parameterized List parameters for Function tools (89fb519)
  • tool: Fixes ExitLoopTool by adding Schema and description (0099e5f)
  • Tracking headers not being added to default model use (2ab2065)
  • use a sentinel object instead of null to indicate removal of keys from state (f1c0602)

Documentation

  • Adjust heading levels in WebMojo Javadoc (62ed9d8)
  • Clarify Code Format and Single Commit on ADK Java CONTRIBUTING (d094cc2)
  • remove stale TODO. #non-breaking (5117b8d)