v2.15.0
pydantic/pydantic-aiv2.15.0Jul 22, 2026by dsfaccini
AI Summary
Adds explicit prompt caching for GPT-5.6, tool-retry budget override, and DynamicCapability toolsets support for durable execution. Deprecates Exa search common tools.
Key Highlights
- Support explicit prompt caching for `gpt-5.6`
- Support overriding the tool-retry budget at runtime
- Support `DynamicCapability` toolsets in durable execution
- Deprecate Exa search common tools
New Features
- Explicit prompt caching
- Tool-retry budget override
- DynamicCapability support
- OpenAI moderation results exposure
Full Release Notes
<!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### 🚀 Features * feat(openai): support explicit prompt caching for `gpt-5.6` by @Wh1isper in https://github.com/pydantic/pydantic-ai/pull/6423 * Inline text-like files in `MistralModel` prompts by @pulphix in https://github.com/pydantic/pydantic-ai/pull/6556 * Support overriding the tool-retry budget at `run`/`iter`/`override` time by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/6072 * Support `DynamicCapability` toolsets in durable execution and wrap `DynamicToolset` in DBOS steps and Prefect tasks by @DouweM in https://github.com/pydantic/pydantic-ai/pull/6623 * Add `openai_moderation` setting and expose OpenAI Responses API moderation results in `provider_details` by @pydanty[bot] in https://github.com/pydantic/pydantic-ai/pull/6628 * Deprecate the Exa search common tools in favor of the `ExaSearch` capability in Pydantic AI Harness by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/6644 ### 🐛 Bug Fixes * Fix hosted `tool_search` replay with null call IDs by @adtyavrdhn in https://github.com/pydantic/pydantic-ai/pull/6604 * Mark untyped arrays as not strict-compatible for OpenAI by @hramezani in https://github.com/pydantic/pydantic-ai/pull/6547 * Fix durability capability compatibility regressions by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/6631 * Fix OpenAI background retrieve 400 for `reasoning.encrypted_content` on persisted responses by @pydanty[bot] in https://github.com/pydantic/pydantic-ai/pull/6614 * Round-trip tool control-flow exceptions on DBOS/Prefect, fix Prefect replay edges, and add `register_legacy_workflows` to `DBOSDurability` for clean `DBOSAgent` migration by @DouweM in https://github.com/pydantic/pydantic-ai/pull/6640 **Full Changelog**: https://github.com/pydantic/pydantic-ai/compare/v2.14.1...v2.15.0