Published 26 March 2026
New Features
- Bedrock prompt caching: Added
CacheControlproperty on Assistant, User, and System messages within the Prompt and integrated explicit cache blocks in the Bedrock Converse API (#1583)
Bug Fixes
- Agent deadlock fix: Fixed deadlock when
agent.run()is called from withinexecutor.submit— when the agent was invoked from a worker thread of the configuredExecutorService,runBlocking(context)would dispatch the coroutine back onto that executor and park the calling thread (KG-750, #1716) - AIAgentTool for simple agents: Fixed
AIAgentToolto support simple agents that accept primitives as input by introducingAIAgentToolInputwrapper (#1729) - MCP custom transport: Fixed runtime crash when using non-default custom MCP transports in
MCPToolRegistryProvider(#1740) - Anthropic tool error reporting: Added
is_errorflag for failed tool calls in the Anthropic client so the model is properly informed of tool execution failures (#1700) - DeepSeek reasoning with tool calls: Ensured
reasoningContentis preserved and merged with tool calls to satisfy DeepSeek API requirements (#1614)
Breaking Changes
- ToolRegistry.Builder removed: Unified everything under
expect/actualToolRegistryBuilder. Removedtools(Any)overload that was interfering withtools(List)and causing unexpected bugs (#1746)
Build
- Removed stale
coreLibrariesVersionoverride: The convention plugins were settingcoreLibrariesVersion = "2.1.21"which made published POMs declare kotlin-stdlib 2.1.21, mismatching the actual 2.3.x compiler version. Removed the override so the POM picks up the real compiler version (#1697, #1722)
Documentation
- Updated serialization documentation with Java snippets (#1732)
- Added Java implementation for custom subgraphs documentation (KG-770, #1730)
- Added Java implementation for OpenTelemetry, Langfuse, and Weave integration documentation (KG-760, #1696)
- Moved "Chat agent with memory" tutorial under "Chat memory" feature section (#1686)