v2.51.0

mahimailabs/voicegatewayv2.51.0Sep 25, 2026by DouweM

Upgrading?

AI Summary

Introduces OpenAI GPT-Live support, exposes context window usage, and fixes multiple issues with realtime sessions, tool-call responses, and agent graph caching.

Key Highlights

  • Added OpenAI GPT-Live support with `OpenAILiveModel`
  • Exposed `context_window_used` on realtime sessions
  • Reduced `RunContext` copying overhead in hooks
  • Retained `provider_details` on tool-call responses
  • Cached agent graph instead of rebuilding on every run

Breaking Changes

  • Raises `UserError` for realtime `tool_choice` forcing tool calls on OpenAI/Azure/xAI

New Features

  • OpenAILiveModel support
  • context_window_used exposure

Full Release Notes

<!-- Release notes generated using configuration in .github/release.yml at 39328d5b0d4cce94d513b6afcd2b3191bd5708d5 -->

## What's Changed
### ⚠️ Compatibility Notes
* Match dated `gemini-3.8-live` ids, reject `google_affective_dialog` on Gemini 3.1 Flash Live and 3.8 Live at connect, and raise `RealtimeError` for Gemini Live close codes by @DouweM in https://github.com/pydantic/pydantic-ai/pull/8761
* Raise a `UserError` for a realtime `tool_choice` that forces a tool call on OpenAI, Azure OpenAI, and xAI by @DouweM in https://github.com/pydantic/pydantic-ai/pull/8755
### 🚀 Features
* Add OpenAI GPT-Live support with `OpenAILiveModel` by @DouweM in https://github.com/pydantic/pydantic-ai/pull/8390
* Expose `context_window_used` on realtime sessions, from GPT-Live's reported ratio or response usage by @DouweM in https://github.com/pydantic/pydantic-ai/pull/8803
### 🐛 Bug Fixes
* Reduce `RunContext` copying overhead in capability hooks by @Kludex in https://github.com/pydantic/pydantic-ai/pull/8775
* Keep `provider_details` on OpenAI Realtime tool-call responses and the response id on replies cut off by a drop or `close()` by @DouweM in https://github.com/pydantic/pydantic-ai/pull/8762
* Buffer text deltas in `CompletedStreamedResponse` replay by @Kludex in https://github.com/pydantic/pydantic-ai/pull/8799
* Resend a recent image with a typed Gemini Live turn, which doesn't see video frames by @DouweM in https://github.com/pydantic/pydantic-ai/pull/8756
* Cache the agent graph instead of rebuilding it on every `Agent.run()` by @Kludex in https://github.com/pydantic/pydantic-ai/pull/8658
* Stop spawning a task group when a toolset or capability fan-out has a single child by @Kludex in https://github.com/pydantic/pydantic-ai/pull/8774


**Full Changelog**: https://github.com/pydantic/pydantic-ai/compare/v2.50.0...v2.51.0

Related Repositories