Skip to content

pydantic-ai

v1.97.0 Breaking

This release includes 3 breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agent-framework genai llm pydantic python

Affected surfaces

auth breaking_upgrade

ReleasePort's take

Moderate signal
editorial:auto 9d

Release v1.97.0 splits GoogleProvider into GoogleProvider and GoogleCloudProvider, renaming provider IDs from google-gla: to google: and google-vertex: to google-cloud:, while deprecating the old names.

Why it matters: If your configuration uses `GoogleProvider(vertexai=...)` or the legacy provider IDs `google-gla:`/`google-vertex:`, update to the new classes and IDs before they are removed in a future release.

Summary

AI summary

Split GoogleProvider into two classes, rename provider IDs, and deprecate the old names.

Changes in this release

Feature Medium

add `OnlineEvaluator.run_on_errors` to opt into evaluating failed calls

add `OnlineEvaluator.run_on_errors` to opt into evaluating failed calls

Source: llm_adapter@2026-05-21

Confidence: high

Feature Medium

Add `MCPToolset` that uses `fastmcp-slim[client]`

Add `MCPToolset` that uses `fastmcp-slim[client]`

Source: llm_adapter@2026-05-21

Confidence: high

Deprecation Medium

Deprecate `stream_responses()` for `stream_response()`; new singular yields `ModelResponse` instead of `(ModelResponse, is_last)` tuple

Deprecate `stream_responses()` for `stream_response()`; new singular yields `ModelResponse` instead of `(ModelResponse, is_last)` tuple

Source: llm_adapter@2026-05-21

Confidence: high

Deprecation Medium

Rename provider IDs: `google-gla:` -> `google:`, `google-vertex:` -> `google-cloud:`

Rename provider IDs: `google-gla:` -> `google:`, `google-vertex:` -> `google-cloud:`

Source: granite4.1:30b@2026-05-22-audit

Confidence: high

Deprecation Medium

Deprecate `MCPServer*` and `FastMCPToolset`

Deprecate `MCPServer*` and `FastMCPToolset`

Source: granite4.1:30b@2026-05-22-audit

Confidence: high

Deprecation Medium

Deprecate `stream_responses()` in favor of `stream_response()`

Deprecate `stream_responses()` in favor of `stream_response()`

Source: granite4.1:30b@2026-05-22-audit

Confidence: high

Deprecation Medium

Split `GoogleProvider(vertexai=True|False)` into `GoogleProvider` + `GoogleCloudProvider`; rename provider ID `google-gla:` to `google:`, `google-vertex:` to `google-cloud:`; deprecate old names

Split `GoogleProvider(vertexai=True|False)` into `GoogleProvider` + `GoogleCloudProvider`; rename provider ID `google-gla:` to `google:`, `google-vertex:` to `google-cloud:`; deprecate old names

Source: llm_adapter@2026-05-21

Confidence: low

Deprecation Medium

Set `ModelResponse.state` to `incomplete` while response is still streaming

Set `ModelResponse.state` to `incomplete` while response is still streaming

Source: llm_adapter@2026-05-21

Confidence: low

Deprecation Medium

Deprecate `Agent.to_a2a()` and bundled `fasta2a` integration

Deprecate `Agent.to_a2a()` and bundled `fasta2a` integration

Source: llm_adapter@2026-05-21

Confidence: low

Refactor Medium

Move `pydantic_graph.beta` API out of beta, deprecate old API

Move `pydantic_graph.beta` API out of beta, deprecate old API

Source: llm_adapter@2026-05-21

Confidence: high

Refactor Medium

Split `GoogleProvider(vertexai=True|False)` into `GoogleProvider` and `GoogleCloudProvider`

Split `GoogleProvider(vertexai=True|False)` into `GoogleProvider` and `GoogleCloudProvider`

Source: granite4.1:30b@2026-05-22-audit

Confidence: high

Full changelog

What's Changed

🚀 Features

  • feat(evals): add OnlineEvaluator.run_on_errors to opt into evaluating failed calls by @dmontagu in https://github.com/pydantic/pydantic-ai/pull/5456
  • Split GoogleProvider(vertexai=True|False) into GoogleProvider + GoogleCloudProvider; rename provider ID google-gla: to google:, google-vertex: to google-cloud:; deprecate old names by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/5336
  • Add MCPToolset that uses fastmcp-slim[client], deprecate MCPServer* and FastMCPToolset by @DouweM in https://github.com/pydantic/pydantic-ai/pull/5325
  • Set ModelResponse.state to incomplete while response is still streaming by @adtyavrdhn in https://github.com/pydantic/pydantic-ai/pull/5455
  • Move pydantic_graph.beta API out of beta, deprecate old API by @dmontagu in https://github.com/pydantic/pydantic-ai/pull/5306

🆕 V2 Preparation

  • Deprecate stream_responses() for stream_response(); new singular yields ModelResponse instead of (ModelResponse, is_last) tuple by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/5296
  • Deprecate Agent.to_a2a() and bundled fasta2a integration; fasta2a has been adopted by DataLayer and users can use fasta2a.pydantic_ai (requires fasta2a v0.6.1) instead by @dsfaccini in https://github.com/pydantic/pydantic-ai/pull/5426

New Contributors

  • @Quratulain-bilal made their first contribution in https://github.com/pydantic/pydantic-ai/pull/5439

Full Changelog: https://github.com/pydantic/pydantic-ai/compare/v1.96.1...v1.97.0

Breaking Changes

  • Split `GoogleProvider(vertexai=True|False)` into two classes: `GoogleProvider` and `GoogleCloudProvider`.
  • Renamed provider IDs from `google-gla:` to `google:` and from `google-vertex:` to `google-cloud:`.
  • Deprecated the old `GoogleProvider` signature with `vertexai` flag and the corresponding provider IDs.

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

Track pydantic-ai

Get notified when new releases ship.

Sign up free

About pydantic-ai

AI Agent Framework, the Pydantic way

All releases →

Related context

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]