What changed in Pydantic from 1 to 2

6 releases numbered after v1.10.26 up to and including v2.13.5, stable releases only. v1.10.26 and v2.13.5 are the newest stable releases of 1 and 2 we track; this page follows them as new ones ship.

13 changes across 6 releases

Added 1

v2.13.0

  • Allow default factories of private attributes to take validated model data
Changed 2

v2.13.0

  • Warn when serializing fixed length tuples with too few items
  • Update jiter to v0.14.0 to fix a segmentation fault on musl Linux
Fixed 10

v2.13.5

  • Allow reuse of validators when plugins are set
  • Fix missing GC traversal on some pydantic-core struct fields
  • Fix missing GC traversal in pydantic-core for GeneralFieldsSerializer
  • Count validated model fields once in smart unions

v2.13.4

  • Preserve RootModel core metadata

v2.13.3

  • Handle AttributeError subclasses with from_attributes

v2.13.2

  • Fix ValidationInfo.field_name missing with model_validate_json()

v2.13.1

  • Fix ValidationInfo.data missing with model_validate_json()

v2.13.0

  • Change type of Any when synthesizing _build_sources for BaseSettings.__init__() signature in the mypy plugin
  • Fix model equality when using runtime extra configuration

Original release notes, newest first

The list above is our reading of these notes; the originals from Pydantic are here, one fold per release.

v2.13.5
v2.13.5 (2026-08-28)
What's Changed
Fixes
  • Allow reuse of validators when plugins are set by @Viicos in #13535
  • Fix missing GC traversal on some pydantic-core struct fields by @Viicos in #13624
  • Fix missing GC traversal in pydantic-core for GeneralFieldsSerializer by @Viicos in #13629
  • Count validated model fields once in smart unions by @tamird in #13731

View originalPermalink

v2.13.4v2.13.4 2026-05-06
v2.13.4 (2026-05-06)
What's Changed
Packaging
  • Bump libc from 0.2.155 to 0.2.185 by @Viicos in #13109
  • Adapt pydantic-core linker flags on macOS by @washingtoneg and @Viicos in #13147
Fixes
  • Preserve RootModel core metadata by @Viicos in #13129

Full Changelog: https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4

View originalPermalink

v2.13.3v2.13.3 2026-04-20
v2.13.3 (2026-04-20)
What's Changed
Fixes
  • Handle AttributeError subclasses with from_attributes by @Viicos in #13096

Full Changelog: https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3

View originalPermalink

v2.13.2v2.13.2 2026-04-17
v2.13.2 (2026-04-17)
What's Changed
Fixes
  • Fix ValidationInfo.field_name missing with model_validate_json() by @Viicos in #13084

Full Changelog: https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2

View originalPermalink

v2.13.1v2.13.1 2026-04-15
v2.13.1 (2026-04-15)
What's Changed
Fixes
  • Fix ValidationInfo.data missing with model_validate_json() by @davidhewitt in #13079

Full Changelog: https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1

View originalPermalink

v2.13.0v2.13.0 2026-04-13
v2.13.0 (2026-04-13)

The highlights of the v2.13 release are available in the blog post. Several minor changes (considered non-breaking changes according to our versioning policy) are also included in this release. Make sure to look into them before upgrading.

This release contains the updated pydantic.v1 namespace, matching version 1.10.26 which includes support for Python 3.14.

What's Changed

See the beta releases for all changes sinces 2.12.

Packaging
  • Add zizmor for GitHub Actions workflow linting by @Viicos in #13039
  • Update jiter to v0.14.0 to fix a segmentation fault on musl Linux by @Viicos in #13064
New Features
  • Allow default factories of private attributes to take validated model data by @Viicos in #13013
Changes
  • Warn when serializing fixed length tuples with too few items by @arvindsaripalli in #13016
Fixes
  • Change type of Any when synthesizing _build_sources for BaseSettings.__init__() signature in the mypy plugin by @Viicos in #13049
  • Fix model equality when using runtime extra configuration by @Viicos in #13062
New Contributors
  • @arvindsaripalli made their first contribution in #13016

Full Changelog: https://github.com/pydantic/pydantic/compare/v2.12.0...v2.13.0

View originalPermalink