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.
- 1 mentions breaking changes
13 changes across 6 releases
- Allow default factories of private attributes to take validated model data
- Warn when serializing fixed length tuples with too few items
- Update jiter to v0.14.0 to fix a segmentation fault on musl Linux
- 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
- Preserve RootModel core metadata
- Handle AttributeError subclasses with from_attributes
- Fix ValidationInfo.field_name missing with model_validate_json()
- Fix ValidationInfo.data missing with model_validate_json()
- 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-corestruct fields by @Viicos in #13624 - Fix missing GC traversal in
pydantic-coreforGeneralFieldsSerializerby @Viicos in #13629 - Count validated model fields once in smart unions by @tamird in #13731
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-corelinker flags on macOS by @washingtoneg and @Viicos in #13147
Fixes
- Preserve
RootModelcore metadata by @Viicos in #13129
Full Changelog: https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4
v2.13.3v2.13.3 2026-04-20
v2.13.3 (2026-04-20)
What's Changed
Fixes
- Handle
AttributeErrorsubclasses withfrom_attributesby @Viicos in #13096
Full Changelog: https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3
v2.13.2v2.13.2 2026-04-17
v2.13.2 (2026-04-17)
What's Changed
Fixes
- Fix
ValidationInfo.field_namemissing withmodel_validate_json()by @Viicos in #13084
Full Changelog: https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2
v2.13.1v2.13.1 2026-04-15
v2.13.1 (2026-04-15)
What's Changed
Fixes
- Fix
ValidationInfo.datamissing withmodel_validate_json()by @davidhewitt in #13079
Full Changelog: https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1
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
Anywhen synthesizing_build_sourcesforBaseSettings.__init__()signature in the mypy plugin by @Viicos in #13049 - Fix model equality when using runtime
extraconfiguration 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