8000 Release v0.3.0 · google/adk-java · GitHub
[go: up one dir, main page]

Skip to content

v0.3.0

Latest
Compare
Choose a tag to compare
@Doris26 Doris26 released this 18 Sep 04:03
· 35 commits to main since this release

⚠ 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)
0