v0.11.0
What's Changed
- docs(changelog): 0.11.0 — model & voice discovery, reasoning, SDK updates
- style(test): ruff-format test_openai.py
- fix(azure): add the sampling config fields Azure inherits from OpenAI
- chore(example): default the local realtime example to gpt-realtime-2
- refactor(openai): dedupe sampling kwargs; quiet dynamic-kwargs overload
- fix(anthropic): capture and round-trip thinking block signatures
- fix(openai): drop reasoning_effort when the turn carries tools
- fix(anthropic): adaptive thinking + drop temperature for newer models
- feat(openai): map reasoning_effort for OpenAI reasoning models
- fix(openai): omit temperature for models that only accept the default
- fix(openai): send max_completion_tokens for OpenAI's newer models
- fix(gemini): record usage and round-trip thought_signatures with tools
- fix(mistral): emit canonical input_tokens/output_tokens usage keys
- feat(ai): ModelInfo.capabilities + live Ollama capability probe
- style(voice): drop "legacy" from voice-catalog docstrings
- feat(voice): realtime voice catalog (available_voices/list_voices)
- fix(neonize): guard the event_global_loop workaround for neonize 0.3.18
- feat(ai): surface reasoning/thinking across all providers
- test: fix order-dependent event-loop tests; restore mistral import guard
- chore(deps): update AI/provider SDKs to latest
- chore(deps): update mistralai SDK to 2.x
- feat(ai): provider model discovery + image data-URI handling
Full Changelog: v0.10.0...v0.11.0