# Pydantic: what changed from 1 to 2 - Product: Pydantic (https://whatsnew.fyi/product/pydantic) - Vendor: Pydantic - Range: changelog entries numbered after v1.10.26 up to and including v2.13.5, stable releases only - Entries below: 6 releases (newest first) - Resolved: 1 is v1.10.26 and 2 is v2.13.5, the newest stable release of each major we track - Carrying security changes: 0 · CVEs mentioned: 0 · Mentioning breaking changes: 1 · Removing or deprecating something: 0 - Page: https://whatsnew.fyi/product/pydantic/compare/1...2 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## What changed (13 changes, grouped by kind) ### Added #### v2.13.0 (2026-04-13) - Allow default factories of private attributes to take validated model data ### Changed #### v2.13.0 (2026-04-13) - 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 #### v2.13.5 (2026-08-28) - 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 (2026-05-06) - Preserve RootModel core metadata #### v2.13.3 (2026-04-20) - Handle AttributeError subclasses with from_attributes #### v2.13.2 (2026-04-20) - Fix ValidationInfo.field_name missing with model_validate_json() #### v2.13.1 (2026-04-15) - Fix ValidationInfo.data missing with model_validate_json() #### v2.13.0 (2026-04-13) - Change type of Any when synthesizing _build_sources for BaseSettings.__init__() signature in the mypy plugin - Fix model equality when using runtime extra configuration ## Release notes ### v2.13.5 - Date: 2026-08-28 - Version: v2.13.5 - Original notes: https://github.com/pydantic/pydantic/releases/tag/v2.13.5 - Permalink: https://whatsnew.fyi/product/pydantic/releases/v2.13.5 - **fixed** — Allow reuse of validators when plugins are set - **fixed** — Fix missing GC traversal on some pydantic-core struct fields - **fixed** — Fix missing GC traversal in pydantic-core for GeneralFieldsSerializer - **fixed** — Count validated model fields once in smart unions ##### v2.13.5 (2026-08-28) ###### What's Changed ###### Fixes * Allow reuse of validators when plugins are set by @Viicos in [#13535](https://github.com/pydantic/pydantic/pull/13535) * Fix missing GC traversal on some `pydantic-core` struct fields by @Viicos in [#13624](https://github.com/pydantic/pydantic/pull/13624) * Fix missing GC traversal in `pydantic-core` for `GeneralFieldsSerializer` by @Viicos in [#13629](https://github.com/pydantic/pydantic/pull/13629) * Count validated model fields once in smart unions by @tamird in [#13731](https://github.com/pydantic/pydantic/pull/13731) ### v2.13.4 — v2.13.4 2026-05-06 - Date: 2026-05-06 - Version: v2.13.4 - Original notes: https://github.com/pydantic/pydantic/releases/tag/v2.13.4 - Permalink: https://whatsnew.fyi/product/pydantic/releases/v2.13.4 - **fixed** — Preserve RootModel core metadata ##### v2.13.4 (2026-05-06) ###### What's Changed ###### Packaging * Bump libc from 0.2.155 to 0.2.185 by @Viicos in [#13109](https://github.com/pydantic/pydantic/pull/13109) * Adapt `pydantic-core` linker flags on macOS by @washingtoneg and @Viicos in [#13147](https://github.com/pydantic/pydantic/pull/13147) ###### Fixes * Preserve `RootModel` core metadata by @Viicos in [#13129](https://github.com/pydantic/pydantic/pull/13129) **Full Changelog**: https://github.com/pydantic/pydantic/compare/v2.13.3...v2.13.4 ### v2.13.3 — v2.13.3 2026-04-20 - Date: 2026-04-20 - Version: v2.13.3 - Original notes: https://github.com/pydantic/pydantic/releases/tag/v2.13.3 - Permalink: https://whatsnew.fyi/product/pydantic/releases/v2.13.3 - **fixed** — Handle AttributeError subclasses with from_attributes ##### v2.13.3 (2026-04-20) ###### What's Changed ###### Fixes * Handle `AttributeError` subclasses with `from_attributes` by @Viicos in [#13096](https://github.com/pydantic/pydantic/pull/13096) **Full Changelog**: https://github.com/pydantic/pydantic/compare/v2.13.2...v2.13.3 ### v2.13.2 — v2.13.2 2026-04-17 - Date: 2026-04-20 - Version: v2.13.2 - Original notes: https://github.com/pydantic/pydantic/releases/tag/v2.13.2 - Permalink: https://whatsnew.fyi/product/pydantic/releases/v2.13.2 - **fixed** — Fix ValidationInfo.field_name missing with model_validate_json() ##### v2.13.2 (2026-04-17) ###### What's Changed ###### Fixes * Fix `ValidationInfo.field_name` missing with `model_validate_json()` by @Viicos in [#13084](https://github.com/pydantic/pydantic/pull/13084) **Full Changelog**: https://github.com/pydantic/pydantic/compare/v2.13.1...v2.13.2 ### v2.13.1 — v2.13.1 2026-04-15 - Date: 2026-04-15 - Version: v2.13.1 - Original notes: https://github.com/pydantic/pydantic/releases/tag/v2.13.1 - Permalink: https://whatsnew.fyi/product/pydantic/releases/v2.13.1 - **fixed** — Fix ValidationInfo.data missing with model_validate_json() ##### v2.13.1 (2026-04-15) ###### What's Changed ###### Fixes * Fix `ValidationInfo.data` missing with `model_validate_json()` by @davidhewitt in [#13079](https://github.com/pydantic/pydantic/pull/13079) **Full Changelog**: https://github.com/pydantic/pydantic/compare/v2.13.0...v2.13.1 ### v2.13.0 — v2.13.0 2026-04-13 - Date: 2026-04-13 - Version: v2.13.0 - Original notes: https://github.com/pydantic/pydantic/releases/tag/v2.13.0 - Permalink: https://whatsnew.fyi/product/pydantic/releases/v2.13.0 - **added** — Allow default factories of private attributes to take validated model data - **changed** — Warn when serializing fixed length tuples with too few items - **changed** — Update jiter to v0.14.0 to fix a segmentation fault on musl Linux - **fixed** — Change type of Any when synthesizing _build_sources for BaseSettings.__init__() signature in the mypy plugin - **fixed** — Fix model equality when using runtime extra configuration ##### v2.13.0 (2026-04-13) The highlights of the v2.13 release are available in the [blog post](https://pydantic.dev/articles/pydantic-v2-13-release). Several minor changes (considered non-breaking changes according to our [versioning policy](https://pydantic.dev/docs/validation/2.13/get-started/version-policy/#pydantic-v2)) 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](https://github.com/pydantic/pydantic/pull/13039) * Update jiter to v0.14.0 to fix a segmentation fault on musl Linux by @Viicos in [#13064](https://github.com/pydantic/pydantic/pull/13064) ###### New Features * Allow default factories of private attributes to take validated model data by @Viicos in [#13013](https://github.com/pydantic/pydantic/pull/13013) ###### Changes * Warn when serializing fixed length tuples with too few items by @arvindsaripalli in [#13016](https://github.com/pydantic/pydantic/pull/13016) ###### Fixes * Change type of `Any` when synthesizing `_build_sources` for `BaseSettings.__init__()` signature in the mypy plugin by @Viicos in [#13049](https://github.com/pydantic/pydantic/pull/13049) * Fix model equality when using runtime `extra` configuration by @Viicos in [#13062](https://github.com/pydantic/pydantic/pull/13062) ###### New Contributors * @arvindsaripalli made their first contribution in [#13016](https://github.com/pydantic/pydantic/pull/13016) **Full Changelog**: https://github.com/pydantic/pydantic/compare/v2.12.0...v2.13.0