v1.103.0
pydantic/pydantic-aiv1.103.0May 27, 2026by dsfaccini
AI Summary
This release enhances MCP server capabilities with prompt management, improves message timestamp handling, and adds streaming support for OpenRouter.
Key Highlights
- Added `list_prompts` and `get_prompt` functionality to `McpServer`.
- Round-tripped message timestamps through `UIMessage.metadata`.
- Added support for `anthropic_eager_input_streaming` in `OpenRouterModel`.
- Fixed Bedrock mapping of malformed output to FinishReason.error.
New Features
- Add `list_prompts` and `get_prompt` functionality to `McpServer`
- Round-trip message timestamps through `UIMessage.metadata`
- Support `anthropic_eager_input_streaming` in `OpenRouterModel`
Full Release Notes
<!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### 🚀 Features * Add `list_prompts` and `get_prompt` functionality to `McpServer` by @bdore in https://github.com/pydantic/pydantic-ai/pull/3889 * Round-trip message timestamps through `VercelAIAdapter`'s `UIMessage.metadata` by @Genmin in https://github.com/pydantic/pydantic-ai/pull/5279 * Support `anthropic_eager_input_streaming` in `OpenRouterModel` by @Alex-Resch in https://github.com/pydantic/pydantic-ai/pull/5656 ### 🐛 Bug Fixes * fix(bedrock): map `malformed_model_output` and `malformed_tool_use` to `FinishReason.error` by @kuishou68 in https://github.com/pydantic/pydantic-ai/pull/5640 * fix(bedrock): recognize `type='adaptive'` in `_is_thinking_enabled` by @sevakva in https://github.com/pydantic/pydantic-ai/pull/5651 * fix(ui): Strip `force_download` flag from client-submitted `FileUrl` parts in `UIAdapter.sanitize_messages` by @colesmcintosh in https://github.com/pydantic/pydantic-ai/pull/5571 * fix(toolsets): warn when prepare callbacks return `None` by @dfm88 in https://github.com/pydantic/pydantic-ai/pull/5188 ## New Contributors * @ejentum made their first contribution in https://github.com/pydantic/pydantic-ai/pull/5594 * @kuishou68 made their first contribution in https://github.com/pydantic/pydantic-ai/pull/5640 * @sevakva made their first contribution in https://github.com/pydantic/pydantic-ai/pull/5651 * @bdore made their first contribution in https://github.com/pydantic/pydantic-ai/pull/3889 * @Genmin made their first contribution in https://github.com/pydantic/pydantic-ai/pull/5279 * @aryanmotgi made their first contribution in https://github.com/pydantic/pydantic-ai/pull/5667 * @dfm88 made their first contribution in https://github.com/pydantic/pydantic-ai/pull/5188 **Full Changelog**: https://github.com/pydantic/pydantic-ai/compare/v1.102.0...v1.103.0