Skip to content

fix: relax pydantic-core upper bound from <2.44.0 to <3#23

Open
vapi-tasker[bot] wants to merge 1 commit into
mainfrom
tasker/PRO-2816-fix-pydantic-core-version-conflict
Open

fix: relax pydantic-core upper bound from <2.44.0 to <3#23
vapi-tasker[bot] wants to merge 1 commit into
mainfrom
tasker/PRO-2816-fix-pydantic-core-version-conflict

Conversation

@vapi-tasker
Copy link
Copy Markdown

@vapi-tasker vapi-tasker Bot commented May 20, 2026

Summary

  • Relaxes pydantic-core version constraint from >=2.18.2,<2.44.0 to >=2.18.2,<3 in both pyproject.toml and requirements.txt
  • The <2.44.0 upper bound was auto-generated by the Fern SDK generator (fernapi/fern-python-sdk v5.3.3) in commit 7a070a7 and was not based on any actual API incompatibility
  • Users with pydantic>=2.13.3 (which requires pydantic-core==2.46.3) were unable to install SDK v1.11.0, forcing them to downgrade to v1.9.0

Root Cause

The SDK only uses three stable pydantic-core APIs:

  • PydanticUndefined (sentinel value comparison)
  • core_schema (schema building in Rfc2822DateTime)
  • to_jsonable_python (JSON serialization)

None of these APIs have changed across pydantic-core 2.x releases. The <2.44.0 cap was an artifact of the Fern code generator, not a deliberate compatibility boundary.

Changes

File Change
pyproject.toml pydantic-core = ">=2.18.2,<3"
requirements.txt pydantic-core>=2.18.2,<3
poetry.lock Regenerated (cosmetic metadata from Poetry 2.4.1)
tests/test_pydantic_core_compat.py 14 new tests verifying all pydantic-core usage patterns

Test plan

  • All 14 new pydantic-core compatibility tests pass, covering every pydantic_core import in the SDK
  • Full test suite passes (63 passed, 4 skipped for optional aiohttp)
  • mypy type checking passes (2069 source files, no issues)
  • ruff linting passes

Linear Issue

PRO-2816


Note for maintainers: The Fern SDK generator may re-introduce this constraint on the next regeneration. Consider adding pyproject.toml and requirements.txt to .fernignore, or configuring the Fern generator to not pin pydantic-core with a restrictive upper bound.

🤖 Generated with Claude Code

The pydantic-core<2.44.0 constraint was auto-generated by the Fern SDK
generator (fernapi/fern-python-sdk v5.3.3) in commit 7a070a7 and was not
based on any actual incompatibility. The SDK only uses stable pydantic-core
APIs (PydanticUndefined, core_schema, to_jsonable_python) that have been
unchanged across all 2.x releases.

This constraint caused a dependency conflict for users with pydantic>=2.13.3,
which requires pydantic-core==2.46.3, forcing them to downgrade to SDK v1.9.0.

The new constraint >=2.18.2,<3 allows all pydantic-core 2.x versions while
guarding against a hypothetical 3.0 breaking change.

Resolves: PRO-2816

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants