v2.56.0
pydantic/pydantic-aiv2.56.0Oct 13, 2026by dsfaccini
Upgrading?
AI Summary
This release introduces major enhancements to the Skills layer, including support for Python 3.15 and the new Gemini 4 Argon model. It also adds a SmolSandbox for local microVM execution and integrates with Render Workflows for durable execution.
Key Highlights
- SmolSandbox: A new workspace that runs harness capabilities in a local smolvm microVM.
- Skills layer improvements: Allows project and personal libraries, directory naming, and host command rendering.
- New model support: Gemini 4 Argon with long decode capabilities.
- Infrastructure: Adds Render Workflows Integration for Durable Execution engines.
Breaking Changes
- BrowserUse now runs on the host model by default, with browser-use telemetry becoming opt-in.
New Features
- Add `base_url` argument to `ZaiProvider`.
- Add `PGTaskDurability` based on pgtask.
- Support Gemini 4 Argon (`gemini-4-argon`) on `GoogleModel` with long decode.
- Support Python 3.15.
- Allow list-form `tool_choice` to name output tools.
Full Release Notes
<!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### ⚠️ Compatibility Notes * Run `BrowserUse` on the host model by default and make browser-use telemetry opt-in by @mpfaffenberger in https://github.com/pydantic/pydantic-ai/pull/9506 ### 🚀 Features * Let `Skills` layer project and personal libraries, name each skill's directory, and render a skill for a host command by @DouweM in https://github.com/pydantic/pydantic-ai/pull/9802 * Add `base_url` argument to `ZaiProvider` by @aisk in https://github.com/pydantic/pydantic-ai/pull/10099 * Adds `PGTaskDurability` based on pgtask by @adtyavrdhn in https://github.com/pydantic/pydantic-ai/pull/10174 * Adds Render Workflows Integration for Durable Execution engines by @ojusave in https://github.com/pydantic/pydantic-ai/pull/9439 * Remove `WarnNearLimits` from the harness `Coder` capability by @adtyavrdhn in https://github.com/pydantic/pydantic-ai/pull/9969 * Add `SmolSandbox`: a workspace that runs harness capabilities in a local smolvm microVM by @mpfaffenberger in https://github.com/pydantic/pydantic-ai/pull/10148 * Support Gemini 4 Argon (`gemini-4-argon`) on `GoogleModel` with long decode past the per-request output cap, and raise the Google providers' default timeout to 20 minutes by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/10202 * Support Python 3.15 by @adtyavrdhn in https://github.com/pydantic/pydantic-ai/pull/10064 ### 🐛 Bug Fixes * Keep a `send_audio()` chunk whose send fails out of the realtime `SpeechPart.audio` recorded while it was sending by @DouweM in https://github.com/pydantic/pydantic-ai/pull/10058 * Explain the Bedrock data retention opt-in when Claude Fable 5 / 5.1 reject the default mode by @DouweM in https://github.com/pydantic/pydantic-ai/pull/10050 * Apply `auth` to requests through `MCPToolset(http_client=...)` and stop closing the user-supplied client by @DouweM in https://github.com/pydantic/pydantic-ai/pull/10051 * Allow list-form `tool_choice` to name output tools, and accept static lists that include one by @adtyavrdhn in https://github.com/pydantic/pydantic-ai/pull/8565 * Raise `ModelAPIError` when a 200 response from OpenAI Responses, Anthropic, Groq or OpenAI images has a `text/plain` body by @DouweM in https://github.com/pydantic/pydantic-ai/pull/10065 * Stop sending explicit prompt caching fields to the `openai-codex` backend by @aisk in https://github.com/pydantic/pydantic-ai/pull/10103 * Use `openai-decisions` pricing before matching the shared OpenAI base URL by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/10122 * Unwrap decorated partials when inferring evaluation task names by [@pydanty](https://github.com/apps/pydanty) in https://github.com/pydantic/pydantic-ai/pull/10121 * Stop harness context estimates double-counting changed instructions and tool-returned files by @mpfaffenberger in https://github.com/pydantic/pydantic-ai/pull/9929 * Support adjustable reasoning on `mistral-large-4` and `mistral-large-4-0` by [@pydanty](https://github.com/apps/pydanty) in https://github.com/pydantic/pydantic-ai/pull/9967 * Map every `UsageLimits` field to an explicit ACP stop reason by @mpfaffenberger in https://github.com/pydantic/pydantic-ai/pull/9497 * Record native tool events in `gh-aw` sessions by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/10000 * Retry stale thinking blocks with `drop_block` when Bedrock rejects them by @mpfaffenberger in https://github.com/pydantic/pydantic-ai/pull/9486 * Fix `import pydantic_ai.models` on Pyodide by skipping the eager `httpcore2` import on Emscripten by @adtyavrdhn in https://github.com/pydantic/pydantic-ai/pull/10134 * Replay xAI server-side tool results as tool turns paired with their calls by @kevinwmerritt in https://github.com/pydantic/pydantic-ai/pull/10043 * Keep one summary, receipt and system prompt copy across repeated `SummarizingCompaction` runs by @aweis89 in https://github.com/pydantic/pydantic-ai/pull/9716 * Run gathered `CodeMode` calls concurrently under `parallel_ordered_events` by @mpfaffenberger in https://github.com/pydantic/pydantic-ai/pull/10137 * Keep the `Memory` snapshot with the latest user prompt instead of after tool results by @mpfaffenberger in https://github.com/pydantic/pydantic-ai/pull/10192 * Stop `AnthropicModel` picking native structured output that Bedrock rejects on `AsyncAnthropicBedrock` by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/10207 * Propagate Exa 402 payment-required errors instead of retrying them by [@pydanty](https://github.com/apps/pydanty) in https://github.com/pydantic/pydantic-ai/pull/9816 * Raise `WorkspaceUnavailableError` when a Sprite is deleted during a command, whatever its exit code by @mpfaffenberger in https://github.com/pydantic/pydantic-ai/pull/10193 ### 📦 Dependencies * Bump `genai-prices` to 0.1.10 and keep tests passing on `rich` 15, `dbos` 3 and `e2b` 2.55 by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/10077 ## New Contributors * @kevinwmerritt made their first contribution in https://github.com/pydantic/pydantic-ai/pull/10043 * @ojusave made their first contribution in https://github.com/pydantic/pydantic-ai/pull/9439 * @sharosoo made their first contribution in https://github.com/pydantic/pydantic-ai/pull/9965 * @ninglinLiu made their first contribution in https://github.com/pydantic/pydantic-ai/pull/10171 **Full Changelog**: https://github.com/pydantic/pydantic-ai/compare/v2.55.0...v2.56.0
Related Repositories
public-apis/public-apis★ 491,131
A collective list of free APIs
NousResearch/hermes-agent★ 255,908
The agent that grows with you
yt-dlp/yt-dlp★ 200,005
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,481
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,700
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.