Version 1.0.0
Release notes- Improved
Run Vertex Claude integration tests without blocking the release (#547)
- Fixed
Meta: Ground web search in every returned search result (#546)
- New
Add the decision modality with TypeSafe Jev models (#545)
- Improved
Test: stabilize the BFL flux-dev and web-search integration cases (#543)
- Fixed
ElevenLabs: Apply the default timeout to streamed speech (#544)
All 212 changes
- Fixed
Remove retired Moonshot and HuggingFace text registrations (#542)
- Fixed
Groq: Remove the shut-down llama-4-scout registration (#541)
- Fixed
Groq: Parse grounding from streamed executed_tools (#540)
- Improved
Prepare the 1.0.0 release gate (#539)
- Fixed
OpenAI: Remove the shut-down videos provider (#538)
- New
Meta: Accept META_API_KEY alongside MODEL_API_KEY (#537)
- Improved
Deps dev: Bump pre-commit from 4.6.2 to 4.7.0 in the uv group (#536)
- Fixed
Align SDK templates and response handling (#534)
- Improved
Replace the README logo with the Celeste sculpture mark (#532)
- Fixed
Anthropic: Drop the temperature step on claude-opus-4-6 (#530)
- New
Black Forest Labs: Add flux-3-image-klein to the images catalog (#531)
- New
ElevenLabs: Add scribe_v2_medical to the audio catalog (#486)
- Fixed
Anthropic: Return empty max_tokens responses instead of raising (#523)
- Fixed
Google: Add audio/mulaw and audio/alaw to Gemini 3.8 TTS output formats (#490)
- Fixed
ElevenLabs: Remove Thai from the v2.5 TTS languages (#522)
- Fixed
BytePlus: Label image outputs with their declared format instead of PNG (#520)
- Fixed
Anthropic: Lower the claude-opus-4-6 max_tokens minimum to 0 (#487)
- Fixed
ElevenLabs: Mark eleven_v3 as streaming (#491)
- Fixed
ElevenLabs: Add Bulgarian and Croatian to the v2.5 TTS languages (#489)
- New
Black Forest Labs: Add flux-3-image editing via per-model input image fields (#519)
- Fixed
Google: Skip kind in the Interactions WebSearch unsupported-field warning (#518)
- Fixed
Google: Stop sending google_search.exclude_domains on Interactions (#517)
- New
xAI: Add multi-image editing via reference images (#516)
- Fixed
Anthropic: Send the documented Claude on Google Cloud request body and basic web search (#515)
- New
Black Forest Labs: Add the grounding image parameter for flux-3-image (#513)
- Fixed
Black Forest Labs: Stop polling on the No Card Generated status (#512)
- Fixed
Black Forest Labs: Send native aspect_ratio for flux-3-image (#511)
- Improved
Test(audio): fix stream speak chunk content assertion (#510)
- Fixed
ElevenLabs: Replace the retired Rachel default voice with its documented replacement (#509)
- New
BytePlus: Add Seedream image editing and reference images (#508)
- New
xAI: Map quality to the images resolution field (#507)
- New
Black Forest Labs: Add flux-3-image to the images catalog (#506)
- New
Google: Add resolution support to gemini-omni-1.1-flash (#505)
- Fixed
ElevenLabs: Replace the expiring default voices with their documented replacements (#504)
- Fixed
Google: Drop Preview from the Lyria 3.5 display name (#503)
- New
Meta: Add Meta provider with Muse Wonder and Muse Spark 1.3 (#502)
- Improved
Text: Move reasoning effort strings from thinking_budget to thinking_level (#501)
- Fixed
Openresponses: Join every output message's text (#500)
- New
Google: Add Gemini 4 Argon text model (#499)
- Improved
Deps: Commit uv.lock and install it with --locked in CI (#498)
- Fixed
Types: Type output_schema as OutputSchema and drop the protocols mypy override (#497)
- Fixed
Google: End Interactions streams at interaction.completed (#496)
- New
Anthropic: Add Claude Haiku 5.5 text model (#495)
- New
Google: Add gemini-nano-banana-2.1 to the images catalog (#493)
- Improved
Deps: Pin mypy below 2.4 (#494)
- Fixed
ElevenLabs: Mark eleven_multilingual_v2 as streaming (#485)
- New
ElevenLabs: Add eleven_v4 to the audio catalog (#484)
- New
OpenAI: Add gpt-4o-transcribe-diarize to the audio catalog (#483)
- New
Add stream_post_bytes for binary stream framings (#480)
- New
OpenAI: Add GPT-6.1 Sol text model (#479)
- New
Live: Add the live modality with Gemini 3.8 Live and GPT-Live-1 (#477)
- New
Anthropic: Add Claude Sonnet 5.5 text model (#468)
- Fixed
Anthropic: Bound claude-opus-4-6 thinking_budget to 1024 and its 128K max output (#469)
- Fixed
Google: Add 512 image size to gemini-3.1-flash-lite-image (#472)
- Fixed
Google: Remove audio/mp3 from Gemini 3.1 and 3.8 TTS output formats (#470)
- Fixed
Google: Add 1:4, 1:8, 4:1 and 8:1 aspect ratios to gemini-3-pro-image (#471)
- Fixed
xAI: Add xhigh reasoning effort to grok-4.5 and grok-4.3 (#475)
- Fixed
Anthropic: Lower the max_tokens minimum to 0 on twelve Claude text models (#476)
- Fixed
Google: Add minimal thinking level to Gemini 3.5 Flash-Lite and 3.6 Flash (#473)
- Fixed
OpenAI: Enable streaming for gpt-image-1.5 (#474)
- New
OpenAI: Add gpt-image-2.5-sunburst to the images catalog (#455)
- New
Google: Add gemini-3.8-flash-tts to the audio catalog (#452)
- New
OpenAI: Add gpt-image-2.5-flare to the images catalog (#456)
- New
xAI: Add grok-4.7 to the text catalog (#458)
- Fixed
OpenAI: Replay the full output turn when it holds more than messages and calls (#465)
- Improved
Style(mistral): add the one-line docstring to _init_request (#467)
- Fixed
Google: Resend Interactions built-in tool steps and send dict results as the Vertex response (#464)
- Fixed
Anthropic: Carry toolset_name through tool calls and results (#459)
- Fixed
Mistral: Replay the ThinkChunk on reasoning turns (#463)
- Fixed
Moonshot: Send the tool name on tool result messages (#462)
- Fixed
DeepSeek: Send reasoning_content back on every assistant turn (#461)
- Fixed
Google: Accept Vertex function calls without an id (#460)
- Fixed
OpenAI: Add structured outputs to gpt-4o-mini (#457)
- Fixed
Google: Add medium thinking level to Gemini 3.5 Flash-Lite and 3.6 Flash (#453)
- New
Google: Add gemini-3.8-flash-lite-tts to the audio catalog (#451)
- Fixed
Google: Add 1:4, 1:8, 4:1 and 8:1 aspect ratios to gemini-3.1-flash-lite-image (#450)
- New
BytePlus: Add dola-seedream-5-0-flash-260915 to the images catalog (#449)
- Fixed
Anthropic: Raise thinking_budget ceiling to the 64K max output on Haiku 4.5 and Opus 4.5 (#447)
- Fixed
BytePlus: Enable streaming for seedream-4-5-251128 (#448)
- New
Anthropic: Add Claude Opus 5.5 text model (#446)
- New
OpenAI: Register GPT-6 Sol and Luna text models (#438)
- Fixed
Black Forest Labs: Correct image family contracts and reference limits (#436)
- Improved
Google: Remove unused Imagen backend (#435)
- Fixed
Anthropic: Align Messages request and response contracts (#428)
- Fixed
Google: Remove discontinued Imagen 4 registrations (#418)
- Fixed
OpenAI: Remove three shut-down direct API registrations (#432)
- Fixed
Black Forest Labs: Honor settled image costs and terminal polling states (#426)
- Fixed
OpenAI: Correct reasoning efforts and schema support (#394)
- Fixed
xAI: Preserve every image output and its metadata (#374)
- Fixed
Anthropic: Retain compaction state for continuation (#430)
- Fixed
Openresponses: Retain hosted tool billing markers (#431)
- New
OpenAI: Add GPT Transcribe with plural language hints (#413)
- Fixed
BytePlus: Accept unaligned Seedream Pro dimensions (#408)
- Fixed
Google: Complete Gemini TTS language metadata (#414)
- Fixed
Google: Rebase Interactions citations across text parts (#420)
- Fixed
OpenAI: Preserve applied speech format and support WAV (#412)
- Fixed
Google: Reconcile Lyria family and final song responses (#405)
- New
OpenAI: Register GPT-6 Astra text model (#433)
- Fixed
Black Forest Labs: Correct FLUX.2 multi-reference image limits (#399)
- Fixed
Google: Drop reference images from veo-3.1-lite-generate-preview (#402)
- New
Google: Add lyria-3.5 to the audio catalog (#400)
- Fixed
Close SDK transports and preserve provider response metadata (#401)a
- New
Google: Add the Lyria 3.5 music models to the audio catalog (#397)
- Fixed
Google: Add medium thinking level to Gemini 2.5 Pro and 2.5 Flash-Lite (#396)
- Fixed
Anthropic: Floor thinking_budget at 1024 on extended-only models (#395)
- Fixed
Anthropic: Allow forced tool use on claude-fable-5 (#393)
- New
Google: Register Gemini 3.8 Flash text model (#391)
- New
OpenAI: Add the gpt-4o-mini-transcribe-2025-12-15 snapshot to the audio catalog (#388)
- New
BytePlus: Add seedream-4-5-251128 to the images catalog (#390)
- Fixed
Google: Add referenceImages support to Veo 3.1 Fast (#389)
- Fixed
Anthropic: Raise Opus 4.6 and Sonnet 4.6 max output to the documented 128K (#387)
- Fixed
Google: Add the documented TTS languages to the audio catalog (#382)
- Fixed
BytePlus: Sync Seedream 5.0 pro size tiers with API reference (#386)
- Fixed
OpenAI: Narrow tts-1 and tts-1-hd voices to the documented set (#385)
- New
xAI: Add grok-imagine-image-2.0 and 21:9, 5:2 aspect ratios (#381)
- New
Google: Register gemini-omni-1.1-flash in the videos catalog (#383)
- New
Anthropic: Add Claude Fable 5.1 and Mythos 5.1 text models (#384)
- Fixed
Google: Preserve all Vertex text response parts (#373)
- Fixed
OpenAI: Preserve multiple image outputs (#356)
- New
Anthropic: Add Mythos 5 and Opus 5 models (#360)
- Fixed
OpenAI: Support transparent GPT Image 2 backgrounds (#357)
- New
OpenAI: Register chat-latest text model (#355)
- Improved
Remove OpenSpec remnants (#354)
- Fixed
Groq: Include usage in streamed chat completions (#351)
- New
Groq: Register Qwen 3.8 27B text model (#350)
- New
xAI: Register Grok 4.6 text model (#349)
- New
Google: Register Gemini 3.7 Flash text model (#347)
- Fixed
Google: Route mixed tools through Interactions (#342)
- New
Segmentation: Add fal SAM 3 image-RLE modality (#341)
- New
Images: Wire Operation.UPSCALE with Topaz Labs Gigapixel (#340)
- New
Audio: Add OpenAI, ElevenLabs, and Mistral transcription (#339)
- New
Audio: Add transcribe with Groq Whisper STT (#337)
- Fixed
Google: Fall back for mixed interaction tools (#336)
- Fixed
Google: Validate mixed interaction tools (#334)
- Fixed
Google: Constrain 3.5 Flash Lite / 3.6 Flash thinking to low|high (#332)
- Fixed
Models: Model-watch catalog corrections (#331)
- New
Google: Register Gemini 3.5 Flash Lite and 3.6 Flash (#330)
- Fixed
Google: Lyria music rejects response_format.mime_type — drop output_format (#329)
- Fixed
Google: Map audio/mp4 to the Interactions m4a literal (#328)
- Fixed
Google: Send Interactions tool results as typed content blocks (#327)
- New
Videos: Gemini Omni video generation + editing via Interactions (#326)
- New
Google: Seed parameter + UrlContext tool (#325)
- New
Audio: GENERATE operation + Google Lyria music models (#324)
- Fixed
Google: Restore generateContent parity on the Interactions path (#323)
- New
Google: Migrate to the Interactions API (#321)
- Fixed
Templates: _transform_output takes Unpack[{Modality}Parameters] in the dispatcher template (#322)
- Improved
API-addition playbook, naming rules, templates (#318)
- Improved
Test(core): dispatcher delegation guard (#317)
- Improved
Unify composition-layer conventions (#316)
- Improved
Commit agent guide and fix stale docs (#315)
- Fixed
Provider bugs and catalog corrections from model-watch findings (#314)
- New
Models: Sync provider catalogs and capabilities (#313)
- New
Models: Refresh catalogs and provider capabilities (#312)
- Fixed
Mistral: Align reasoning constraints and catalog with the live API (#311)
- Improved
Clean up test suite and remove legacy surfaces (#310)
- Fixed
Google: Replay native tool context across calls (#309)
- Improved
Add voice descriptions (#308)
- Improved
Exclude audio bytes from metadata (#307)
- Improved
Fix Gemini grounding source domains (#306)
- New
Models: Register GPT-5.6 models (#305)
- New
xAI: Add grok-4.5 text model (#304)
- Improved
Add BytePlus Seedream 5 Pro model (#302)
- Fixed
Streaming: Assemble raw_response so streamed usage is complete (#300)
- Fixed
Anthropic: Code-execution replay, max_tokens ceiling; tool kind discriminator (#299)
- Improved
Fix anthropic native replay (#298)
- New
Anthropic: Stream thinking summaries, fix haiku thinking budget, dynamic-filtering web search (#297)
- Fixed
Anthropic: Echo thinking-bearing assistant turns verbatim in tool loops (#296)
- Fixed
Anthropic: Move thinking effort to output_config (#295)
- New
Google: Add gemini-3.1-flash-lite-image and fix Gemini image catalog errors (#294)
- New
Anthropic: Add Claude Sonnet 5, Opus 4.8, and Fable 5 to catalog (#293)
- Fixed
Google: Add minimal thinking level to gemini-3.5-flash (#292)
- Improved
Update reasoning effort metadata (#291)
- New
Streaming: Surface native web-search activity per chunk (#290)
- Improved
Retry transient HTTP failures + require all properties in strict schemas (#288)
- New
Text: Add web search grounding (#287)
- Improved
Telemetry: Collapse 6 OpenTelemetry no-op stubs into one proxy (#286)
- Fixed
Google: Set includeServerSideToolInvocations for mixed tools (#285)
- New
Text: Add OpenRouter provider via OpenResponses (#284)
- Improved
Support multimodal text messages (#283)
- New
Models: Add high-priority provider models (#282)
- New
Google: Promote Gemini 3.1 Flash Lite to GA model id (#281)
- Improved
Models: Remove 17 retired provider models from catalogs (#280)
- New
Google: Add gemini-3.5-flash text model (#279)
- Improved
Validate returned tool call arguments (#278)
- Fixed
Telemetry: Drop use_span from _TracedStream.__anext__; eager-prime SSE under captured ctx (#277)
- New
Telemetry: Emit gen_ai.response.model from Output.metadata["model"] (#275)
- New
Telemetry: Widen usage attrs, add metrics histograms, opt-in content events (#273)
- New
Telemetry: Emit gen_ai.usage attrs on streaming spans (#272)
- New
Telemetry: GenAI OpenTelemetry spans on
_predictand_stream(#270) - New
Tools: ToolOutput / ToolError types + fix Pydantic content lowering (#267)
- New
DeepSeek: Register V4-Flash and V4-Pro models (#265)
- New
Models: Register 7 new provider models (#264)
- Fixed
Google: Send tool schemas via parametersJsonSchema (#262) (#263)
- New
Parameters: Describe Parameters TypedDicts and Constraint base (#261)
- Improved
Revert: AuthenticationContext ambient primitive (#259) (#260)
- New
Add AuthenticationContext ambient primitive (#259)
- Fixed
Drop call-arg exclusion from internal modality/provider mypy overrides (#258)
- Fixed
Add total=False to modality Parameters TypedDicts (#256)
- New
Add reasoning output support for text generation (#208) (#254)
- New
Add tool_choice parameter for forced tool calling (#253)
- Improved
Consolidate trivial parameter mapper wrappers (#252)
- Fixed
Correct URL handling for document and media input (#251)
- New
- Improved
Centralize operation methods on base modality clients (#248)
- New
Add multimodal embeddings with gemini-embedding-2-preview (#246)
- Improved
- Improved
Add unified CHANGELOG.md (#244)