v1.60.0

pydantic/pydantic-aiv1.60.0Feb 17, 2026by DouweM

AI Summary

This release adds video_url support to OpenRouterModel and implements instrumentation version 4 to match OpenTelemetry GenAI semantic conventions for multimodal input. Bug fixes address AG-UI parent_message_id handling and streaming iteration issues.

Key Highlights

  • Add video_url support to OpenRouterModel
  • Add instrumentation version 4 to match OTel GenAI semantic conventions
  • Fix AG-UI parent_message_id for back-to-back builtin tool calls
  • Only suggest 'call a tool' in retry when tools are available
  • Wrap _stream_text_deltas with aclosing to prevent StopAsyncIteration on client disconnect

New Features

  • video_url support for OpenRouterModel
  • Instrumentation version 4 for OTel GenAI semantic conventions

Full Release Notes

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

## What's Changed
### 🚀 Features
* Add ‍`video_url` support to `OpenRouterModel` by @Adversarian in https://github.com/pydantic/pydantic-ai/pull/3824
* Add instrumentation version 4 to match OTel GenAI semantic conventions for multimodal input by @admackin in https://github.com/pydantic/pydantic-ai/pull/4219
### 🐛 Bug Fixes
* Fix AG-UI `parent_message_id` for back-to-back builtin tool calls by @DouweM in https://github.com/pydantic/pydantic-ai/pull/4332
* Only suggest 'call a tool' in retry when tools are available by @Baniskos in https://github.com/pydantic/pydantic-ai/pull/4234
* Wrap `_stream_text_deltas` with `aclosing` to prevent `StopAsyncIteration` on client disconnect by @sheginabo in https://github.com/pydantic/pydantic-ai/pull/4205

## New Contributors
* @SamKomesarook made their first contribution in https://github.com/pydantic/pydantic-ai/pull/4327
* @Baniskos made their first contribution in https://github.com/pydantic/pydantic-ai/pull/4234
* @Adversarian made their first contribution in https://github.com/pydantic/pydantic-ai/pull/3824
* @sheginabo made their first contribution in https://github.com/pydantic/pydantic-ai/pull/4205
* @admackin made their first contribution in https://github.com/pydantic/pydantic-ai/pull/4219

**Full Changelog**: https://github.com/pydantic/pydantic-ai/compare/v1.59.0...v1.60.0