Changelog (v0.9.0...v0.10.0)
- bug #2190 [Platform] Throw clear error on incomplete OpenResponses non-stream response (@chr-hertel)
- bug #2189 [Platform] Fix OpenRouter speech example and model catalog (@chr-hertel)
- bug #2170 [Platform] Parse SSE streams that omit the text/event-stream content type (@fabpot)
- bug #2188 [Platform] Fix OpenResponses null tool-call id and refresh deprecated example models (@chr-hertel)
- feature #2179 [Agent] Default maxToolCalls to 50 in AgentProcessor (@chr-hertel)
- feature #2185 [Platform] Add MessageBag::withoutToolMessages() and use it in demo chats (@chr-hertel)
- bug #2181 [Agent] Fix Filesystem sandbox escape via prefix check in PathValidator (@chr-hertel)
- bug #2184 [Platform][Cerebras] Throw ModelNotFoundException on 404 responses (@chr-hertel)
- bug #2180 [Store] Harden remove() against query injection in SurrealDb, Typesense and Milvus bridges (@chr-hertel)
- bug #2182 [Mate] Bound PCRE backtracking in monolog-search regex matching (@chr-hertel)
- bug #2183 [Chat] Whitelist content type in UserMessage denormalization (@chr-hertel)
- bug #2178 [Platform] Fix double-counting of Anthropic streaming prompt and cache tokens (@fabpot)
- data #2176 [Platform] Update model catalogs (@github-actions[bot])
- bug #2169 [Platform] Throw IncompleteStreamException in more streaming bridges (@chr-hertel)
- feature #2167 [Platform] Throw ExceedContextSizeException across remaining LLM bridges (@chr-hertel)
- bug #2168 [Platform] Replace malformed UTF-8 in request bodies of the remaining LLM model clients (@chr-hertel)
- bug #2163 [Platform] Replace malformed UTF-8 in request bodies instead of abort… (@fabpot)
- bug #2162 Fix incomplete stream terminal events (@fabpot)
- feature #2165 [Platform] Throw ExceedContextSizeException when a request exceeds the model's context window (@fabpot)
- feature #2157 [AI Bundle] Make agent tools opt-in instead of opt-out (@chr-hertel)
- bug #2009 [Agent][Platform] Mutate the message bag in place in SystemPromptInputProcessor / MemoryInputProcessor (@Amoifr, @chr-hertel)
- bug #1729 [Platform][Bedrock] Add match statement to determine bedrock inference profile region (@rrigby)
- feature #2139 [Platform] Accept Model instance in Platform::invoke() (@chr-hertel)
- feature #2155 [Agent] Add SystemPromptInputProcessor::getSystemPrompt() (@tacman, @chr-hertel)
- feature #2117 [Platform][Anthropic] Support cache_control on system prompt block (@4lxndr)
- data #2153 [Platform][Anthropic] Add support for claude-fable-5 (@vinceAmstoutz)
- data #2141 [Platform] Update model catalogs (@github-actions[bot])
- bug #2150 [AI Bundle] Fix data_collector template for tool parameter union types (@ngrie, @chr-hertel)
- bug #1708 [AI Bundle] Defer DataCollector to lateCollect (@Spomky)
- feature #2131 [Platform][Generic] Request usage stats for streamed responses (@ineersa)
- feature #2099 [Platform][Anthropic] Allow overriding
tool_choicefrom caller options (@4lxndr) - bug #2138 [Platform] Fix red CI: gpt-5.5-pro capabilities mismatch and class_exists() on Validator interface (@chr-hertel)
- bug #2120 [Platform][OpenRouter] Add the latest capabilities changes to the static model catalog (@lochmueller)
- bug #2122 [Platform][VertexAi] Use SSE format for streaming to avoid partial-JSON parsing (@ottaviano)