Releases: google/adk-java
Releases Β· google/adk-java
v0.3.0
β 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
tocom.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
andresolveToolClass
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 topom.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](https://github.com/google/adk-java/c...
v0.2.0
0.2.0 (2025-06-30)
Features
- LangChain4j Integration: Added experimental integration with LangChain4j to support third-party and local models. (0d1bb89)
- Enabled
FunctionTools
to be created for methods that return aSingle
, improving support for asynchronous operations. (cb49092) FunctionTools
can now be created for object instances in addition to static methods. (71d7325)- Added an
endInvocation
field to Event Actions, allowing developers to interrupt or explicitly stop the agent loop after a tool call. (1909869, 07989e2) - Implemented
VertexAiRagRetrieval
using AI Platform APIs. (b5f17f3) - Added support for chained callbacks for
before
/after
model, agent, and tool execution events. (1cf889d, 2501dc1, b55ed61) - Add InMemoryMemoryService (c8fed2d)
- Development UI:
- Save and reuse evaluation thresholds across runs. (f71ee0f)
- Display the specific metric used in evaluation history. (cec9ef3)
- Render HTML artifacts directly in the chat window. (49e8d85)
- Added a button to export the current session to a JSON file. (0592dc5)
- Updated minified web files to include all the latest UI changes. (bab4bd9)
Bug Fixes
- Fixed an OpenTelemetry version mismatch caused by a Spring Boot dependency override. (94cadce)
- Correctly track state updates within callbacks. (8665637)
- Fixed a bug in
SessionUtils
that incorrectly filtered out previous events in chats for Vertex-stored sessions. (06529d2) - Fixed a bug where listing events would fail if the session list was empty. (d4ec143)
- Removed an incorrect
auto-value
dependency that was causing confusing annotation processing messages during builds. (d8e5629) - Fixed a bug when using
RunConfig
to save blob inputs as artifacts. (3762368) - Fixed artifact loading by refactoring
BaseLlmFlow
'spreprocess
andpostprocess
methods to be non-blocking and return aSingle
. (1331879, 94b061a) - The agent description check now correctly handles
null
or empty strings. (a62c37d) - Development UI:
Documentation
- Added JitPack to the README as an installation option. (04dd583)
- Fixed broken Javadoc comments in
InstructionUtils
. (9681380)
Chores
- Introduced a parent POM to simplify the project structure and build process. (dc02503)
- Added the Maven Wrapper (
./mvnw
) to ensure a consistent build environment for all contributors. (4a4007a) - Applied extensive reformatting, style fixes, and code clarity improvements across the entire codebase. (891acac, 471bddb, bc43a23, etc)
- Renamed all internal references from "Google ADK" to "ADK" for consistency. (c31b2ee)
- The library now dynamically loads the project version from a
version.properties
file. (8c98a38) - The process for creating Gemini model instances has been simplified. (fca01e7)
- Remove blocking calls from Runner and GcsArtifactService (79fc8a6)