v1.99.0

pydantic/pydantic-aiv1.99.0May 20, 2026by DouweM

AI Summary

This release focuses on security by fixing an IPv6 transition form bypass and adds support for the new Gemini 3.5 Flash model.

Key Highlights

  • Fixed SSRF bypass via IPv6 transition forms (Security).
  • Added support for `gemini-3.5-flash` model.
  • Fixed OpenAI strict schemas with regex lookarounds.

New Features

  • Add `gemini-3.5-flash` model
  • Avoid OpenAI strict schemas with regex lookarounds

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
	* 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
* Add `gemini-3.5-flash` model by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/5527
### 🐛 Bug Fixes
* Avoid OpenAI strict schemas with regex lookarounds by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/5519


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