v1.100.0

pydantic/pydantic-aiv1.100.0May 21, 2026by DouweM

AI Summary

This release addresses a security vulnerability related to IPv6 transition forms and deprecates several API elements in preparation for v2.

Key Highlights

  • Fixed SSRF bypass via IPv6 transition forms (Security).
  • Supported Bedrock native JSON output and strict tool calls.
  • Deprecated `gateway/gemini:` prefix for `gateway/google-cloud:`.
  • Deprecated method-style `StreamedResponse.usage()`.

New Features

  • Support Bedrock native JSON output + strict tool calls
  • Deprecate `gateway/gemini:` prefix

Full Release Notes

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

## What's Changed
### 🛡️ Security
* Normalize IPv6 transition forms in URL validation by @DouweM in https://github.com/pydantic/pydantic-ai/pull/5528
	* Security advisory: SSRF cloud-metadata blocklist bypass via IPv6-encoded address forms https://github.com/pydantic/pydantic-ai/security/advisories/GHSA-cqp8-fcvh-x7r3
	* This fix went out in yesterday's [v1.99.0](https://github.com/pydantic/pydantic-ai/releases/tag/v1.99.0).
	* You are affected **only** if your application explicitly opts a `FileUrl` into `force_download='allow-local'` on a URL that is, or could be, influenced by untrusted input.
	* You are **not** affected if you use any of the bundled integrations to ingest user input: `Agent.to_web` / `clai web`; `VercelAIAdapter`; `AGUIAdapter` / `Agent.to_ag_ui`
### 🚀 Features
* Support Bedrock native JSON output + strict tool calls by @shailendher in https://github.com/pydantic/pydantic-ai/pull/4237
### 🐛 Bug Fixes
* Ignore signatures on incomplete incoming thinking parts when Vercel AI by @pydanty[bot] in https://github.com/pydantic/pydantic-ai/pull/5534
### :new: V2 Preparation
* Deprecate `gateway/gemini:` prefix in favor of `gateway/google-cloud:` by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/5543
* Deprecate method-style `StreamedResponse.usage()`; raise on region-less Gateway API keys by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/5546
* Deprecate positional construction of evals classes ahead of v2 kw-only flip by @dmontagu in https://github.com/pydantic/pydantic-ai/pull/5547
* Deprecate `evaluation_name` / `evaluator_version` attribute pattern in favor of explicit accessor methods by @dmontagu in https://github.com/pydantic/pydantic-ai/pull/5554

## New Contributors
* @shailendher made their first contribution in https://github.com/pydantic/pydantic-ai/pull/4237

**Full Changelog**: https://github.com/pydantic/pydantic-ai/compare/v1.99.0...v1.100.0