Skip to content

Releases: pydantic/pydantic-ai

v1.0.14 (2025-10-02)

02 Oct 23:55
4e60e9d
Compare
Choose a tag to compare

What's Changed

  • Remove leftover debug print statement by @KostyaGukish in #3070
  • Fix duplicate output tool return part when concatenating first run messages with follow-up new_messages by @DouweM in #3075

New Contributors

Full Changelog: v1.0.13...v1.0.14

v1.0.13 (2025-10-01)

02 Oct 01:12
51fec9f
Compare
Choose a tag to compare

What's Changed

  • feat: Otel instrumentation version 3 by @bitnahian in #3021
  • Don't send strict to HuggingFace API as it's not supported by their types and at least some models by @DouweM in #3062
  • Correctly merge Model.settings with model_settings in direct mode by @moritzwilksch in #2980
  • Expose server_info in MCPServer by @Whadup in #3055
  • Support contextually overriding agent instructions by @mwildehahn in #2926
  • Update evals attributes by @dmontagu in #2924

New Contributors

Full Changelog: v1.0.12...v1.0.13

v1.0.12 (2025-09-30)

01 Oct 00:14
3164cb2
Compare
Choose a tag to compare

What's Changed

  • Support Anthropic built-in memory tool by @DouweM in #3042
  • Support text, JSON, XML and YAML DocumentUrl and BinaryContent on OpenAI by @pulphix in #2851
  • Prefer structuredContent MCP tool result when present by @shaheerzaman in #2854
  • Expose .messages, .toolsets types in top-level pydantic_ai to aid IDE auto-import by @moritzwilksch in #2957
  • Add cost metric to the pydantic-evals output by @dmontagu in #2984
  • Add retry args to pydantic_evals.Dataset.evaluate_sync by @m7mdhka in #3022
  • Change type of common_tools to work with agent with any deps type by @lukekh in #3037
  • Don't error when Gemini returns more than one candidate response by @DouweM in #3043
  • Handle Ollama responses without finish_reason and document Ollama Cloud by @DouweM in #3045
  • Add custom Vertex AI Model Garden example by @stefannae in #2868
  • Fix StructuredDict with nested JSON schemas using $ref by @ChiaXinLiang in #2570

New Contributors

Full Changelog: v1.0.11...v1.0.12

v1.0.11 (2025-09-29)

30 Sep 00:25
bf03ed6
Compare
Choose a tag to compare

What's Changed

  • Support OpenAI image detail on ImageUrl and BinaryContent via vendor_metadata by @moritzwilksch in #2987
  • Support callable classes as history processors by @bitnahian in #2988
  • Add claude-sonnet-4-5 to known model names by @DouweM in #3033
  • Add operation.cost metric to instrumented models by @alexmojaki in #3013
  • Fix streaming gpt-oss using Ollama by @DouweM in #3035
  • Raise error when using Anthropic thinking with output tools by @DouweM in #3025
  • Make OutputObjectDefinition public on pydantic_ai.output by @moritzwilksch in #2991
  • Update pyproject.toml to be PEP639 compliant by @Kludex in #3001
  • Bump temporalio to 1.18.0 by @DouweM in #3027
  • Bump genai-prices to 0.0.28 by @DouweM in #3030
  • Document that Gemini requires native or prompted output mode for structured output streaming by @DouweM in #3032
  • Update Ollama docs instructions by @slkoo-cc in #2993
  • Update docs and tests for DBOS v2.0 by @qianl15 in #3004

New Contributors

Full Changelog: v1.0.10...v1.0.11

v1.0.10 (2025-09-19)

20 Sep 00:08
556bf56
Compare
Choose a tag to compare

What's Changed

  • Fix OTel for built-in tools returning a list (e.g. Anthropic web search) by @DouweM in #2959
  • Drop assertion that Google streaming chunk has candidates by @DouweM in #2960
  • Retry model request that produced an empty response by @DouweM in #2961
  • Clarify Agent(retries=...) description by @DouweM in #2963
  • Stop redundantly encoding binary data as base64 when sending to Google genai SDK by @DouweM in #2962
  • Use model class names as tags in format_as_xml and add option to include field titles and descriptions as attributes by @giacbrd in #2313

Full Changelog: v1.0.9...v1.0.10

v1.0.9 (2025-09-18)

18 Sep 23:37
f5231e8
Compare
Choose a tag to compare

What's Changed

  • Stream built-in tool calls from OpenAI, Google, Anthropic and return them on next request (required for OpenAI reasoning) by @DouweM in #2877
  • Include built-in tool calls and results in OTel messages by @DouweM in #2954
  • Add RunContext.max_retries and .last_attempt by @DouweM in #2952
  • Fix StreamedResponse.model_name for Azure OpenAI with content filter by @DouweM in #2951
  • Fix TemporalAgent dropping model-specific ModelSettings (e.g. openai_reasoning_effort) by @DouweM in #2938
  • Don't send item IDs to Responses API for non-reasoning models by @DouweM in #2950
  • Update DBOS version by @qianl15 in #2939

Full Changelog: v1.0.8...v1.0.9

v1.0.8 (2025-09-16)

17 Sep 01:14
c028211
Compare
Choose a tag to compare

What's Changed

  • Tools can now return AG-UI events separate from result sent to model by @DouweM in #2922
  • Fix bug causing doubled reasoning tokens usage by deepcopying by @DouweM in #2920
  • Fix auto-detection of HTTP proxy settings by @maxnilz in #2917
  • Fix new_messages() and capture_run_messages() when history processors are used by @DouweM in #2921
  • chore: Remove 'text' from RunUsage docstrings by @alexmojaki in #2919

New Contributors

Full Changelog: v1.0.7...v1.0.8

v1.0.7 (2025-09-15)

15 Sep 23:37
ccd5e6a
Compare
Choose a tag to compare

What's Changed

  • Added MCP metadata and annotations to ToolDefinition.metadata for use in filtering by @ChuckJonas in #2880
  • When starting run with message history ending in ModelRequest, make its content available in RunContext.prompt by @DouweM in #2891
  • Let FunctionToolset take default values for strict, sequential, requires_approval, metadata by @DouweM in #2909
  • Don't require mcp or logfire to use Temporal or DBOS by @DouweM in #2908
  • Combine consecutive AG-UI user and assistant messages into the same model request/response by @DouweM in #2912
  • Fix new_messages() when deferred_tool_results is used with message_history ending in ToolReturnParts by @DouweM in #2913

Full Changelog: v1.0.6...v1.0.7

v1.0.6 (2025-09-12)

12 Sep 23:12
ff0fbe3
Compare
Choose a tag to compare

What's Changed

  • Add support for previous_response_id from Responses API by @GDaamn in #2756
  • Let MCP servers be loaded from file by @Kludex in #2698
  • Fix how thinking summaries are sent back to Responses API by @DouweM in #2883
  • Bump Cohere SDK and remove incorrect typing workaround by @DouweM in #2886
  • Update MCP tool call customisation docs by @MasterOdin in #2817

New Contributors

Full Changelog: v1.0.5...v1.0.6

v1.0.5 (2025-09-11)

12 Sep 01:19
b00646d
Compare
Choose a tag to compare

What's Changed

  • Don't lose Azure OpenAI Responses encrypted_content if no summary was included by @DouweM in #2874
  • Store OpenAI Responses text part ID to prevent error with reasoning by @DouweM in #2882
  • Make OpenAIResponsesModel work with reasoning from other models and modified history by @DouweM in #2881

Full Changelog: v1.0.4...v1.0.5