This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
Affected surfaces
ReleasePort's take
Moderate signalpydantic-ai v1.100.0 patches SSRF bypass via IPv6-encoded addresses in URL validation and deprecates four API patterns (gateway/gemini prefix, StreamedResponse.usage(), positional evals construction, evaluation attributes) ahead of v2.
Why it matters: SSRF fix closes cloud-metadata blocklist bypass; patch immediately if relying on SSRF protection. Four deprecations signal v2 breaking changesβaudit usage in dev, plan migrations before major version bump.
Summary
AI summaryUpdates π‘οΈ Security, new: V2 Preparation, and π Features across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Medium |
Normalize IPv6 transition forms in URL validation to prevent SSRF cloud-metadata blocklist bypass via IPv6-encoded address forms. Normalize IPv6 transition forms in URL validation to prevent SSRF cloud-metadata blocklist bypass via IPv6-encoded address forms. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
β |
| Feature | Medium |
Support Bedrock native JSON output and strict tool calls. Support Bedrock native JSON output and strict tool calls. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
β |
| Deprecation | Medium |
Deprecate `gateway/gemini:` prefix, use `gateway/google-cloud:` instead. Deprecate `gateway/gemini:` prefix, use `gateway/google-cloud:` instead. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
β |
| Deprecation | Medium |
Deprecate method-style `StreamedResponse.usage()`, raise on region-less Gateway API keys. Deprecate method-style `StreamedResponse.usage()`, raise on region-less Gateway API keys. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
β |
| Deprecation | Medium |
Deprecate positional construction of evals classes ahead of v2 keyword-only flip. Deprecate positional construction of evals classes ahead of v2 keyword-only flip. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
β |
| Deprecation | Medium |
Deprecate `evaluation_name` / `evaluator_version` attribute pattern, use explicit accessor methods instead. Deprecate `evaluation_name` / `evaluator_version` attribute pattern, use explicit accessor methods instead. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
β |
| Bugfix | Medium |
Ignore signatures on incomplete incoming thinking parts when using Vercel AI. Ignore signatures on incomplete incoming thinking parts when using Vercel AI. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
β |
Full changelog
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.
- You are affected only if your application explicitly opts a
FileUrlintoforce_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 ofgateway/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_versionattribute 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
Security Fixes
- GHSA-cqp8-fcvh-x7r3 β Normalize IPv6 transition forms in URL validation to block SSRF cloudβmetadata bypass
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Earlier breaking changes
- v1.95.0 rename βbuilt-in toolsβ to βnative toolsβ, deprecate old fields, register via capabilities=[NativeTool(...)]
Beta — feedback welcome: [email protected]