v2.39.0

pydantic/pydantic-aiv2.39.0Sep 4, 2026by dsfaccini

AI Summary

This release introduces support for the new OpenAI `gpt-6-astra` model and includes several bug fixes related to instrumentation, context export caching, and Azure content filtering. It also restores specific configuration options for the Instrumentation spec.

Key Highlights

  • Add OpenAI `gpt-6-astra` model support
  • Fix `context_subtree()` exporter cache and span-processor leaks
  • Restore `Instrumentation` spec option `include_model_request_parameters`
  • Detect Azure content-filter errors for `AzureProvider`
  • Emit speech finalized by a tool call on `stream_transcripts()`

New Features

  • Add OpenAI `gpt-6-astra` model support

Full Release Notes

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

## What's Changed
### 🚀 Features
* Add OpenAI `gpt-6-astra` model support by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/8055
### 🐛 Bug Fixes
* Fix the `context_subtree()` exporter cache and its span-processor leaks by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/7667
* Restore the `Instrumentation` spec option `include_model_request_parameters` and sharpen the undeclared-attribute merge error by @DouweM in https://github.com/pydantic/pydantic-ai/pull/8046
* Detect Azure content-filter errors for `AzureProvider` and for `AsyncAzureOpenAI` clients on `OpenAIProvider` by @quinnarnold in https://github.com/pydantic/pydantic-ai/pull/7922
* Emit speech finalized by a tool call on `stream_transcripts()` by @DouweM in https://github.com/pydantic/pydantic-ai/pull/8062
* Attribute tool-returned media to its originating tool call when it can't ride the tool result by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/7830
* Restore capability composition invariants by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/8047


**Full Changelog**: https://github.com/pydantic/pydantic-ai/compare/v2.38.0...v2.39.0