Skip to content

Releases: pydantic/pydantic-ai

v0.3.6 (2025-07-04)

04 Jul 15:20
d10f036
Compare
Choose a tag to compare

What's Changed

  • Deprecate {FunctionToolCallEvent,FunctionToolResultEvent}.call_id in favor of tool_call_id by @proever in #2028
  • Indicate to the model that a RetryPromptPart not tied to a tool call contains validation feedback rather than a user message by @hovi in #2008
  • Update starlette subdomain in docs by @alDuncanson in #2099
  • Update client.md - Typo by @kauabh in #2105
  • Add support for predicted outputs in OpenAIModelSettings by @webholics in #2106
  • Record tool response in tool run span by @alexmojaki in #2109
  • Use contextvars for agent overriding, rather than a local attribute by @dmontagu in #2118
  • Fix model parameters not being customized in fallback model request stream by @almeidaalajoel in #2120
  • simplify weather example by @samuelcolvin in #2129

New Contributors

Full Changelog: v0.3.5...v0.3.6

v0.3.5 (2025-06-30)

30 Jun 13:10
81bd32b
Compare
Choose a tag to compare

What's Changed

  • Add progress bar on evaluate by @davide-andreoli in #1871
  • Fix deprecation warning under Pydantic 2.11 by @medaminezghal in #2076
  • fix: async fixtures in conftest.py by @stevenh in #2068
  • fix: docs examples python version in tests by @stevenh in #2069
  • Set 'us-central1' by default on GoogleProvider by @Kludex in #2031
  • Move ThinkingPart to preceed TextPart in OpenAIResponsesModel by @Kludex in #2043
  • Fix deprecated kwargs validation to prevent silent failures by @svilupp in #2047
  • Support strict mode in NativeOutput by @severinh in #2084
  • Let tools return ToolReturn to pass additional content to model, or attach metadata that's not passed to the model by @Wh1isper in #2060
  • Add ability to include snippets in docs with inline-named sections for fragments and highlighting by @dmontagu in #2088
  • Add Slack Lead Qualifier example by @DouweM in #2079

New Contributors

Full Changelog: v0.3.4...v0.3.5

v0.3.4 (2025-06-26)

26 Jun 06:16
a341e56
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.3.3...v0.3.4

v0.3.3 (2025-06-24)

24 Jun 17:31
8039c20
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.3.2...v0.3.3

v0.3.2 (2025-06-21)

21 Jun 05:16
a25eb96
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.3.1...v0.3.2

v0.3.1 (2025-06-18)

18 Jun 09:00
f2646de
Compare
Choose a tag to compare

What's Changed

  • Update Google models by @tacoo in #2010
  • fix: update ThinkingPart when delta contains signature by @Kludex in #2012

New Contributors

Full Changelog: v0.3.0...v0.3.1

v0.3.0 (2025-06-18)

18 Jun 01:30
b487d60
Compare
Choose a tag to compare

Breaking Changes

See #1142 — Adds support for thinking parts.

We now convert the thinking blocks ("<think>..."</think>") in provider specific text parts to
PydanticAI ThinkingParts. Also, as part of this release, we made the choice to not send back the
ThinkingParts to the provider - the idea is to save costs on behalf of the user. In the future, we
intend to add a setting to customize this behavior.


What's Changed

Full Changelog: v0.2.20...v0.3.0

v0.2.20 (2025-06-18)

18 Jun 00:15
7fdd745
Compare
Choose a tag to compare

What's Changed

  • Handle McpError from MCP tool calls by @ppcantidio in #1999
  • Add process_tool_call hook to MCP servers to modify tool args, metadata, and return value by @stevenh in #2000
  • Respect ModelSettings.timeout in GoogleModel by @DouweM in #2006
  • feat: add RunContext support to history processors by @Wh1isper in #2002

New Contributors

Full Changelog: v0.2.19...v0.2.20

v0.2.19 (2025-06-16)

17 Jun 00:29
a953d34
Compare
Choose a tag to compare

What's Changed

  • Proper check if callable is async by @Kludex in #1972
  • More flexible method infer_provider by @hovi in #1945
  • Ignore dynamic instructions returning an empty string by @giacbrd in #1961
  • uprev Pyodide to 0.27.6 by @samuelcolvin in #1944
  • refactor: updated tools doc with function naming: roll_die → roll_dice by @yamanahlawat in #1986
  • Set Anthropic max_tokens to 4096 by default by @Kludex in #1994
  • feat: add history_processors parameter to Agent for message processing by @Kludex in #1970
  • Yield events for unknown tool calls by @proever in #1960
  • Always set a parameters schema on a Gemini function declaration, even when it's an empty object by @DouweM in #1998

New Contributors

Full Changelog: v0.2.18...v0.2.19

v0.2.18 (2025-06-13)

13 Jun 09:51
67c381e
Compare
Choose a tag to compare

What's Changed

  • Reuse last request from message history if no user prompt was provided by @DouweM in #1955
  • Prevent Anthropic API errors from empty message content by @mike-luabase in #1934
  • Add MCP Streamable HTTP implementation by @Kludex in #1965
  • feat(openai): expose Responses API id as vendor_id by @sarunas-zebra in #1949
  • Use GoogleModel instead of GeminiModel on inference by @Kludex in #1881

New Contributors

Full Changelog: v0.2.17...v0.2.18