Skip to content

pydantic-ai

v2.4.0 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

βœ“ 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

Summary

AI summary

Updates πŸ› Bug Fixes, πŸš€ Features, and πŸ“¦ Dependencies across a mixed release.

Full changelog

What's Changed

πŸš€ Features

  • Split preserve_file_data into allow_uploaded_files (inbound security) and an AG-UI representation opt-in by @DouweM in https://github.com/pydantic/pydantic-ai/pull/6232
  • Add GEval evaluator and standard quality metric rubrics for LLMJudge by @dmontagu in https://github.com/pydantic/pydantic-ai/pull/5129
  • Add agentic span-based evaluators (ToolCorrectness, TrajectoryMatch, ArgumentCorrectness, MaxToolCalls, MaxModelRequests) by @dmontagu in https://github.com/pydantic/pydantic-ai/pull/5130

πŸ› Bug Fixes

  • fix(xai): update XSearchTool handle limit by @gyx09212214-prog in https://github.com/pydantic/pydantic-ai/pull/5979
  • Handle None metadata in Gradio weather agent example by @hramezani in https://github.com/pydantic/pydantic-ai/pull/6214
  • fix(mistral): preserve extended usage fields from API response by @felipebridge in https://github.com/pydantic/pydantic-ai/pull/5693
  • Avoid mutable default argument in process_tool_calls by @kratos0718 in https://github.com/pydantic/pydantic-ai/pull/6189
  • feat: forward WebSearchTool.user_location to xAI web search by @manan-tech in https://github.com/pydantic/pydantic-ai/pull/6181
  • Clean up the pending task and streams on KeyboardInterrupt in synchronous run_until_complete wrappers by @DouweM in https://github.com/pydantic/pydantic-ai/pull/6198
  • fix(tool-search): drop redundant description from ToolSearchMatch by @serozhenka in https://github.com/pydantic/pydantic-ai/pull/5654
  • fix(temporal): pass through genai_prices and httpx2 for workflow cost() by @syf2211 in https://github.com/pydantic/pydantic-ai/pull/6219
  • fix(evals): reject non-positive max_concurrency by @VectorPeak in https://github.com/pydantic/pydantic-ai/pull/6228
  • Lazy-start run_stream_events() background task on first event iteration by @DouweM in https://github.com/pydantic/pydantic-ai/pull/6234

πŸ“¦ Dependencies

  • Bump genai-prices to >=0.0.69 by @adtyavrdhn in https://github.com/pydantic/pydantic-ai/pull/6212

New Contributors

  • @raullenchai made their first contribution in https://github.com/pydantic/pydantic-ai/pull/5008
  • @gyx09212214-prog made their first contribution in https://github.com/pydantic/pydantic-ai/pull/5979
  • @felipebridge made their first contribution in https://github.com/pydantic/pydantic-ai/pull/5693
  • @kratos0718 made their first contribution in https://github.com/pydantic/pydantic-ai/pull/6189
  • @serozhenka made their first contribution in https://github.com/pydantic/pydantic-ai/pull/5654

Full Changelog: https://github.com/pydantic/pydantic-ai/compare/v2.3.0...v2.4.0

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]