All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.0 - 2026-03-05
Added
Core
ADKfacade module withnew/2,run/3,chat/3,sequential/2ADK.Agentbehaviour for building custom agentsADK.Event— universal event struct (text, tool calls, tool results, errors)ADK.EventActions— state deltas, agent transfers, escalationADK.Context— immutable invocation context with state scopesADK.Runner— orchestration layerADK.Runner.Async— background agent execution with message-based results
Agents
ADK.Agent.LlmAgent— LLM agent with tool call loopADK.Agent.SequentialAgent— sequential pipeline agentADK.Agent.ParallelAgent— concurrent agent executionADK.Agent.LoopAgent— iterative agent with termination conditionsADK.Agent.Custom— build-your-own agent behaviour
Tools
ADK.ToolbehaviourADK.Tool.FunctionTool— wrap any function as a toolADK.Tool.Declarative—@toolmacro for declarative tool definitionsADK.Tool.ModuleTool— module-based toolsADK.Tool.TransferTool/ADK.Tool.TransferToAgent— agent-to-agent transfersADK.Tool.SearchMemoryTool— search agent memoryADK.Tool.LongRunningTool— async tools with progress updates via supervised BEAM processes
LLM Backends
ADK.LLMbehaviourADK.LLM.Mock— deterministic testing backendADK.LLM.Gemini— Google Gemini APIADK.LLM.OpenAI— OpenAI-compatible APIADK.LLM.Anthropic— Anthropic Claude APIADK.LLM.Retry— automatic retry with backoffADK.LLM.CircuitBreaker— circuit breaker pattern for LLM calls
Sessions & State
ADK.Session— GenServer per session with state trackingADK.Session.StorebehaviourADK.Session.Store.InMemory— ETS-backed storeADK.Session.Store.JsonFile— file-based persistenceADK.Session.Store.Ecto— database-backed storeADK.State.Delta— immutable state diffingADK.RunConfig— per-run configuration (streaming mode, max LLM calls, output config)
Auth
ADK.Auth.Config— auth configuration structADK.Auth.Credential— credential managementADK.Auth.CredentialStorebehaviourADK.Auth.InMemoryStore— in-memory credential storage- OAuth2 support via
ADK.Auth.OAuth2
Memory
ADK.Memory.StorebehaviourADK.Memory.InMemory— in-memory vector-less memory store
A2A Protocol
ADK.A2A.Server— expose agents as A2A servers (Plug-based)ADK.A2A.Client— call remote A2A agentsADK.A2A.RemoteAgentTool— use remote agents as toolsADK.A2A.AgentCard— agent capability discovery
Phoenix Integration
ADK.Phoenix.Controller— REST/SSE endpointsADK.Phoenix.Channel— WebSocket real-time communicationADK.Phoenix.LiveHandler— LiveView event handlingADK.Phoenix.ChatLive— drop-in chat LiveView componentADK.Phoenix.WebRouter— preconfigured router
Plugins & Policies
ADK.Pluginbehaviour withADK.Plugin.RegistryADK.Plugin.ReflectRetry— automatic retry on reflectionADK.Policybehaviour withADK.Policy.DefaultPolicy
Context Compression
ADK.Context.Compressorbehaviour- Truncate, SlidingWindow, and Summarize strategies
Artifacts
ADK.Artifact.Storebehaviour- In-memory and GCS backends
MCP
ADK.MCP.Client— Model Context Protocol clientADK.MCP.ToolAdapter— adapt MCP tools to ADK tools
Eval Framework
ADK.Eval— test harness for agent evaluationADK.Eval.Case— structured test casesADK.Eval.Result/ADK.Eval.Report— results and reportsADK.Eval.Scorerbehaviour with built-in scorers:ExactMatch,Contains,ToolUsed,ResponseLength
Observability
ADK.Telemetry—:telemetryevent emissionsADK.Telemetry.SpanStore— span tracking for tracesADK.Telemetry.DebugHandler— debug logging handler- Optional OpenTelemetry integration
Supervision
- Production-ready OTP supervision tree
ADK.Application— supervised application with session registry and store pool- Graceful crash recovery with restart strategies
Mix Tasks
mix adk.new— project generatormix adk.gen.migration— Ecto migration generator