KEMBAR78
Release 0.5.0 · JetBrains/koog · GitHub
Skip to content

0.5.0

Choose a tag to compare

@Ololoshechkin Ololoshechkin released this 02 Oct 18:37
6a60078

Published 2 Oct 2025

Major Features

  • Full Agent-to-Agent (A2A) Protocol Support:
    • Multiplatform Kotlin A2A SDK: Including server and client with JSON-RPC HTTP support.
    • A2A Agent Feature: seamlessly integrate A2A in your Koog agents
  • Non-Graph API for Strategies: Introduced non-graph API for creating AI Agent strategies as Kotlin extension functions with most of Koog's features supported (#560)
  • Agent Persistence and Checkpointing:
    • Roll back Tool Side-Effects: Add RollbackToolRegistry in the Persistence feature in order to roll back tool calls with side effects when checkpointing.
    • State-Machine Persistence / Message History Switch: Support switching between full state-machine persistence and message history persistence (#856)
  • Tool API Improvements:
    • Make ToolDescriptor auto-generated for class-based tools (#791)
    • Get rid of ToolArgs and ToolResult limitations for Tool<*, *> class (#791)
  • subgraphWithTask Simplification: Get rid of required finishTool and support tools as functions in subgraphWithTask, deduce final step automatically by data class (#791)
  • AIAgentService Introduced: Make AIAgent state-manageable and single-run explicitly, introduce AIAgentService to manage multiple uniform running agents.
  • New components:
    • Add LLM as a Judge component (#866)
    • Tool Calling loop with Structured Output strategy (#829)

Improvements

  • Make Koog-based tools exportable via MCP server (KG-388)
  • Add additionalProperties to LLM clients in order to support custom LLM configurations (#836)
  • Allow adjusting context window sizes for Ollama dynamically (#883)
  • Refactor streaming api to support tool calls (#747)
  • Provide an ability to collect and send a list of nodes and edges out of AIAgentStrategy to the client when running an agent (KG-160)
  • Add excludedProperties to inline createJsonStructure too, update KDocs (#826)
  • Refactor binary attachment handling and introduce Base64 serializer (#838)
  • In JsonStructuredData.defaultJson instance rename class discriminator from #type to kind to align with common practices (#772, KG-384)
  • Make standard json generator default when creating JsonStructuredData (it was basic before) (#772, KG-384)
  • Add default audio configuration and modalities (#817)
  • Add GptAudio model in OpenAI client (#818)
  • Allow re-running of finished agents that have Persistence feature installed (#828, KG-193)
  • Allow ideomatic node transformations with .transform { ...} lambda function (#684)
  • Add ability to filter messages for every agent feature (KG-376)
  • Add support for trace-level attributes in Langfuse integration (#860, KG-427)
  • Keep all system messages when compressing message history of the agent(#857)
  • Add support for Anthropic's Sonnet 4.5 model in Anthropic/Bedrock providers (#885)
  • Refactored LLM client auto-configuration in Spring Boot integration, to modular provider-specific classes with improved validation and security (#886)
  • Add LLM Streaming agent events (KG-148)

Bug Fixes

  • Fix broken Anthropic models support via Amazon Bedrock (#789)
  • Make AIAgentStorageKey in agent storage actually unique by removing data modifier (#825)
  • Fix rerun for agents with Persistence (#828, KG-193)
  • Update mcp version to 0.7.2 with fix for Android target (#835)
  • Do not include an empty system message in Anthropic request (#887, KG-317)
  • Use maxTokens from params in Google models (#734)
  • Fix finishReason nullability (#771)

Deprecations

  • Rename agent interceptors in EventHandler and related feature events (KG-376)
  • Deprecate concurrent unsafe AIAgent.asTool in favor of AIAgentService.createAgentTool (#873)
  • Rename Persistency to Persistence everywhere (#896)
  • Add agentId argument to all Persistence methods instead of persistencyId class field (#904)

Examples

  • Add a basic code-agent example (#808, KG-227)
  • Add iOS and Web targets for demo-compose-app (#779, #780)