Releases: pydantic/pydantic-ai
Releases · pydantic/pydantic-ai
v1.0.13 (2025-10-01)
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.settingswithmodel_settingsin direct mode by @moritzwilksch in #2980 - Expose
server_infoinMCPServerby @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)
What's Changed
- Support Anthropic built-in memory tool by @DouweM in #3042
- Support text, JSON, XML and YAML
DocumentUrlandBinaryContenton OpenAI by @pulphix in #2851 - Prefer
structuredContentMCP tool result when present by @shaheerzaman in #2854 - Expose
.messages,.toolsetstypes in top-levelpydantic_aito 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_syncby @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_reasonand 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
- @m7mdhka made their first contribution in #3022
- @lukekh made their first contribution in #3037
- @pulphix made their first contribution in #2851
- @stefannae made their first contribution in #2868
- @ChiaXinLiang made their first contribution in #2570
Full Changelog: v1.0.11...v1.0.12
v1.0.11 (2025-09-29)
What's Changed
- Support OpenAI image detail on
ImageUrlandBinaryContentviavendor_metadataby @moritzwilksch in #2987 - Support callable classes as history processors by @bitnahian in #2988
- Add
claude-sonnet-4-5to known model names by @DouweM in #3033 - Add
operation.costmetric 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
OutputObjectDefinitionpublic onpydantic_ai.outputby @moritzwilksch in #2991 - Update
pyproject.tomlto 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)
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_xmland 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)
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_retriesand.last_attemptby @DouweM in #2952 - Fix
StreamedResponse.model_namefor 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)
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()andcapture_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)
What's Changed
- Added MCP metadata and annotations to
ToolDefinition.metadatafor use in filtering by @ChuckJonas in #2880 - When starting run with message history ending in
ModelRequest, make its content available inRunContext.promptby @DouweM in #2891 - Let
FunctionToolsettake default values forstrict,sequential,requires_approval,metadataby @DouweM in #2909 - Don't require
mcporlogfireto 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()whendeferred_tool_resultsis used withmessage_historyending inToolReturnParts by @DouweM in #2913
Full Changelog: v1.0.6...v1.0.7
v1.0.6 (2025-09-12)
What's Changed
- Add support for
previous_response_idfrom 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
- @MasterOdin made their first contribution in #2817
Full Changelog: v1.0.5...v1.0.6
v1.0.5 (2025-09-11)
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
v1.0.4 (2025-09-11)
What's Changed
- Add Pydantic AI Gateway provider by @Kludex in #2816, #2863
- Fix OpenAI Responses API tool calls with reasoning by @DouweM in #2869
- Support OpenAI Responses API returning encrypted reasoning content without summary by @DouweM in #2866
- Don't ask for OpenAI Responses API to include encrypted reasoning content for models that don't support it by @DouweM in #2867
- docs: update builtin-tools md by @tberends in #2857
New Contributors
Full Changelog: v1.0.3...v1.0.4