Changelog (v0.10.0...v0.11.0)
- minor #2320 Prepare version constraints for release of v0.11.0 (@chr-hertel)
- minor #2329 [Examples] Fix Perplexity examples crashing on empty search metadata (@chr-hertel)
- feature #2326 [Platform] Fix Gemini and VertexAI streaming crash on thinking and multi-part parts (@chr-hertel)
- bug #2323 [Platform] Make Gemini and VertexAI tolerant of empty tool-call roundtrips (@chr-hertel)
- minor #2325 [Examples] Give the OpenAI token-metadata example room for reasoning tokens (@chr-hertel)
- minor #2327 [Examples] Update Hugging Face text-to-image example to a warm model (@chr-hertel)
- bug #2324 [Chat] Fix SurrealDB message store corrupting the message UUID (@chr-hertel)
- bug #2321 [Platform][ElevenLabs] Fix option precedence so invoke options override model defaults (@chr-hertel)
- feature #2272 [Platform][ElevenLabs] Implement speech-to-text functionality with support for additional formats and options (@khaperets)
- feature #2160 [Platform][Cache] Cache content-object inputs via CacheKeyGenerator strategy (@tacman)
- minor #2318 [MCP Bundle][Mate] Support mcp/sdk 0.7 (@chr-hertel)
- feature #2305 [Store] Add StoreInterface::clear() and implement it in all bridges (@chr-hertel)
- feature #2290 [Platform] Normalize finish_reason metadata across all bridges (@chr-hertel)
- feature #2316 [AI Bundle][Agent][Platform] Allow attaching metadata to tools (@chr-hertel)
- feature #2313 [Platform] Update model catalogs (@github-actions[bot])
- feature #2314 [Platform] Allow scoping generated JSON Schema to serializer groups (@chr-hertel)
- feature #2315 [AI Bundle] Pass the serializer to TemplateRendererListener (@chr-hertel)
- bug #2275 [Platform] Fix #2274: Preserve cache and reasoning tokens in Generic completions usage (@ineersa)
- minor #2312 [Platform] Harden VertexAI location handling and deduplicate endpoint building (@chr-hertel)
- feature #2284 [Platform] Derive VertexAI API host from location for regional and data-residency endpoints (@rserry)
- feature #2271 [Mate] Ask for the PHP binary in init and support containerized setups (@fatonh)
- minor #2311 [Store] Add integration tests for Pinecone and S3Vectors bridges (@chr-hertel)
- bug #2308 [Mate] Redact request/query parameters, raw body and headers in profiler request collector (@wachterjohannes)
- minor #2300 [Demo] Add Panther end-to-end test suite for use cases and profiler (@chr-hertel)
- feature #2310 [AI Bundle] Add AiAssertionsTrait to assert on AI usage in functional tests (@chr-hertel)
- bug #2302 [Demo] Fix streamed recipe/chat SSE session handling (@chr-hertel)
- feature #2304 [Platform] Add MessageBag::isLastMessageFrom() and use it in demo chats (@chr-hertel)
- bug #2247 [Mate] Create scaffolded secrets and log files with restrictive permissions (@wachterjohannes)
- feature #2237 [MCP Bundle] Add MCP Apps support (#[AsMcpApp] / #[AsMcpAppTool]) (@chr-hertel)
- bug #2267 [Mate] Redact sensitive context/extra in Monolog log entries (@wachterjohannes)
- bug #2268 [Mate] Scrub secrets from profiler exception collector messages (@wachterjohannes)
- bug #2269 [Mate] Redact sensitive log context in profiler logger collector (@wachterjohannes)
- bug #2288 [Mate] Improve cache isolation, recursive cleanup, and cross-platform compatibility (@wachterjohannes)
- minor #2298 [MCP Bundle] Extract HTTP middleware resolution into a factory (@chr-hertel)
- feature #2250 [MCP Bundle] Allow configuring DNS rebinding protection allowed hosts (@Amoifr)
- bug #2251 [Platform] Default tool_choice to "auto" in Generic completions when tools are provided (@Amoifr)
- feature #2291 [Platform] Add an exception is the
response_formatoption looks like a class, but is not (@lyrixx) - bug #2286 [Platform][Bedrock] Fix ClaudeResultConverter crash on thinking content blocks (@karpilin)
- feature #2281 [Platform] Throw when an Anthropic stream is truncated at the max output token limit (@fabpot)
- bug #2293 [Store][Postgres] Quote table and column name (@lyrixx)
- feature #2292 Add choices when selecting models in
ai:platform:invokecommand (@lyrixx) - bug #2289 [Agent][Platform] Fix parallel tool calls being dropped (@chr-hertel)
- bug #2273 Fix #2193: key streamed tool calls by provider index (@ineersa)
- feature #2276 [Platform][Generic] Fix #2194: expose streamed finish_reason as metadata (@ineersa)
- minor #2285 [Platform][Bedrock] Update model catalog (@karpilin)
- feature #2282 Register
StringToMessageBagListenerin DI (@lyrixx) - minor #2287 [Mate][Symfony][Monolog] Bump helgesverre/toon to ^3.2.1 (@HelgeSverre)
- minor #2270 [Demo] Fix PHPStan error in image Resampler (@wachterjohannes)
- minor #2277 [Platform] Update model catalogs (@github-actions[bot])
- bug #2260 [Mate] Fix profiler tools crash from lazy formatter proxies (@wachterjohannes)
- bug #2254 [Platform] Add queries in case the model issued multiple searches in a single call (@push-mann)
- minor #2253 [Platform] Update model catalogs (@github-actions[bot])
- bug #2246 [Mate] Escape package names when writing extensions.php (@wachterjohannes)
- bug #2245 [Mate] Guard extension paths against directory traversal (@wachterjohannes)
- feature #2248 [Platform] Convert OpenAI Responses built-in tool output items to typed results (@OskarStark)
- bug #2239 Fix profiler crash on tool message rendering (@chr-hertel)
- minor #2238 Detect test files by absolute path in php-cs-fixer void_return (@chr-hertel)
- minor #2233 [Demo] Add movie RAG chat with tool search and structured-output cards (@chr-hertel)
- minor #2234 [Demo] Stream recipe bot output step-by-step via SSE (@chr-hertel)
- feature #2094 [Store][SurrealDB] Introduce
StoreFactory(@Guikingone) - bug #2232 [Platform] Fix asObject() after partial consumption of streamed structured output (@chr-hertel)
- feature #2116 [Platform] Add streaming support for structured output (@wachterjohannes)
- feature #2231 [Store] Add DirectoryLoader with per-extension sub-loaders (@chr-hertel)
- feature #2215 [Platform][Store] Streamline base URL handling across bridges (@chr-hertel)
- bug #2230 [Platform][Store] Always batch embeddings, drop catalog coupling (@chr-hertel)
- minor #2229 [Examples] Streamline binary file handling (@chr-hertel)
- feature #2096 [Store][Cloudflare] Introduce
StoreFactory(@Guikingone) - feature #2224 [Platform] Replace retired OpenAI DALL-E with gpt-image (rename bridge to Image, add editing) (@chr-hertel)
- minor #2223 [Platform][OpenAI] Fold OpenAI GPT handling onto OpenResponses bridge (@chr-hertel)
- feature #2222 [Platform] Add ResultConvertedEvent and ResultErrorEvent (@chr-hertel)
- bug #2225 Harden error handling in Deepgram and MiniMax bridges (@chr-hertel)
- bug #2226 [Platform] Fix PHPStan errors in Schema attribute and TypeInfoDescriber (@wachterjohannes)
- feature #1905 [Platform] Add support for
Deepgram(@Guikingone) - feature #1463 [Platform] Add support for
MiniMax(@Guikingone) - bug #2221 [CI] Derive changelog validation diff base from the merge commit (@chr-hertel)
- feature #2024 [AI Bundle][Platform] Add #[Schema(provider: ...)] with SchemaProviderInterface for runtime JSON Schema fragments (@camilleislasse, @alpernuage, @chr-hertel)
- bug #2210 [Platform] Skip built-in tool-call output items in OpenAI result converters (@OskarStark)
- bug #2220 [Platform][Generic] Treat empty-string streamed tool-call id as a continuation (@soyuka)
- feature #2115 [Platform] Add DeferredResult::asPartialJsonStream() for streaming structured output (@wachterjohannes)
- minor #2218 [Platform] Update model catalogs (@github-actions[bot])
- bug #2206 [Platform] Add a retryable ServerException for transient 5xx and Anthropic overloaded errors (@fabpot)
- minor #2217 Add CI validation for CHANGELOG.md and UPGRADE.md entries (@chr-hertel)
- minor #2219 [Demo] Composer Update on demo/ triggering Flex (@chr-hertel)
- feature #2212 [Platform] Add multimodal tool results for Anthropic, Vertex, Bedrock (@fabpot)
- minor #2216 Fix UPGRADE.md component ordering and duplicate entries (@chr-hertel)
- feature #2161 [Platform][Mistral] Add OCR support via the /v1/ocr endpoint (@tacman, @chr-hertel)
- bug #2203 [Anthropic] Skip the interleaved-thinking beta header for adaptive thinking (@fabpot)
- bug #2204 [Platform][Anthropic] Merge structured output into a caller-supplied output_config (@fabpot)
- feature #2208 [Platform][Anthropic] Extract prompt-caching injection into a reusable trait (@fabpot)
- feature #2209 [Platform][Anthropic] Add a configurable base URL to target compatible endpoints (@fabpot)
- feature #2123 [Platform] Add Mock test provider for routing-aware, any-result-type mocks (@wachterjohannes, @chr-hertel)
- feature #2113 [Platform] Add PartialJsonParser for streaming structured output (@wachterjohannes)
- minor #2101 [Mate][Platform] Make AGENTS.md the canonical AI-agent guidance, slim CLAUDE.md (@wachterjohannes)
- minor #2207 Bump actions/checkout from 6 to 7 (@dependabot[bot])
- bug #2197 [Platform] Raise an error on unhandled HTTP statuses before streaming (@fabpot)
- bug #2202 [Store][S3Vectors] Avoid auto-pagination when iterating query results (@wachterjohannes)
- bug #2174 [Platform][Anthropic] Move unsupported schema features to
description(@valtzu) - feature #2097 [Store][Typesense] Introduce
StoreFactory(@Guikingone)