# pydantic changelog > pydantic release notes. - Vendor: pydantic - Category: Frameworks & Libraries - Official site: https://github.com/pydantic/pydantic - Tracked by: What's New (https://whatsnew.fyi/product/pydantic) - Harvested from: GitHub (pydantic/pydantic) - Entries below: 10 (newest first) 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. ## Releases ### v2.14.0a1 — v2.14.0a1 2026-05-22 - Date: 2026-05-22 - Version: v2.14.0a1 - Original notes: https://github.com/pydantic/pydantic/releases/tag/v2.14.0a1 - Permalink: https://whatsnew.fyi/product/pydantic/releases/v2.14.0a1 - Labels: Pre-release ##### v2.14.0a1 (2026-05-22) ###### What's Changed ###### Packaging * Add PyEmscripten platform tag support by @Viicos, @greateggsgreg and @sinaatalay in [#13199](https://github.com/pydantic/pydantic/pull/13199): `pydantic-core` now has a 3.14 wheel published with the [`pyemscripten_2026_0` platform tag](https://pyodide.org/en/latest/development/abi/314.html). Note that this wheel can only be used with [Pyodide 314.0](https://github.com/pyodide/pyodide/issues/6233) and greater, still in development. It is recommended to wait for the final 314.0 release (and for Pydantic to publish a new wheel in a future 2.14 release). ###### Changes * Accept `None` in `MultiHostUrl.build()`'s `hosts` parameter by @Viicos in [#13068](https://github.com/pydantic/pydantic/pull/13068) * Drop support for Python 3.9 by @Viicos in [#13070](https://github.com/pydantic/pydantic/pull/13070) * Remove support for `eval_type_backport()` by @Viicos in [#13133](https://github.com/pydantic/pydantic/pull/13133) * Only deepcopy non-updated fields in `model_copy()` by @connorcarpenter15 in [#13087](https://github.com/pydantic/pydantic/pull/13087) ###### Fixes * Add Mypy plugin workaround for dynamic models defined in functions by @ilevkivskyi in [#13177](https://github.com/pydantic/pydantic/pull/13177) * Fallback to `create_model()` overload definition when `__base__` is set to a type variable in the Mypy plugin by @cyphercodes in [#13146](https://github.com/pydantic/pydantic/pull/13146) ###### New Contributors * @ilevkivskyi made their first contribution in [#13177](https://github.com/pydantic/pydantic/pull/13177) * @cyphercodes made their first contribution in [#13146](https://github.com/pydantic/pydantic/pull/13146) * @connorcarpenter15 made their first contribution in [#13087](https://github.com/pydantic/pydantic/pull/13087) **Full Changelog**: https://github.com/pydantic/pydantic/compare/v2.13.4...v2.14.0a1 ### 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 ##### 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 ##### 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 ##### 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 ##### 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 ##### 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 ### v2.13.0b3 — v2.13.0b3 2026-03-31 - Date: 2026-04-01 - Version: v2.13.0b3 - Original notes: https://github.com/pydantic/pydantic/releases/tag/v2.13.0b3 - Permalink: https://whatsnew.fyi/product/pydantic/releases/v2.13.0b3 - Labels: Pre-release ##### What's Changed ###### Packaging * Add riscv64 build target for manylinux by @boosterl in [#12723](https://github.com/pydantic/pydantic/pull/12723) ###### New Features * Add `ascii_only` option to `StringConstraints` by @ai-man-codes in [#12907](https://github.com/pydantic/pydantic/pull/12907) * Support `exclude_if` in computed fields by @andresliszt in [#12748](https://github.com/pydantic/pydantic/pull/12748) * Push down constraints in unions involving `MISSING` sentinel by @Viicos in [#12908](https://github.com/pydantic/pydantic/pull/12908) ###### Changes * Track extra fields set after init in `model_fields_set` by @navalprakhar in [#12817](https://github.com/pydantic/pydantic/pull/12817) * Do not include annotations that are not part of named tuple fields by @galuszkak in [#12951](https://github.com/pydantic/pydantic/pull/12951) * No longer fall back to trying all union members when the variant selected by discriminator fails to serialize by @navalprakhar in [#12825](https://github.com/pydantic/pydantic/pull/12825) ###### Fixes * Support discriminator metadata outside union type alias by @Viicos in [#12785](https://github.com/pydantic/pydantic/pull/12785) * Respect `extras_schema` when only `extra_fields_behavior` is set on the config in JSON Schema generation for typed dictionaries by @Viicos in [#12810](https://github.com/pydantic/pydantic/pull/12810) * Ensure `__pydantic_private__` is set in `model_construct()` with user-defined `model_post_init()` by @nightcityblade in [#12816](https://github.com/pydantic/pydantic/pull/12816) * Handle all schema generation errors in `InstanceOf` by @Viicos in [#12705](https://github.com/pydantic/pydantic/pull/12705) * Allow dynamic models created with `create_model()` to be used as annotations in the Mypy plugin by @Br1an67 in [#12879](https://github.com/pydantic/pydantic/pull/12879) * Check for `PlaceholderNode` in Mypy plugin by @Viicos in [#12929](https://github.com/pydantic/pydantic/pull/12929) * Try other branches in smart union in case of omit errors by @mikeedjones in [#12758](https://github.com/pydantic/pydantic/pull/12758) * Patch unset attributes with `MISSING` during model serialization with `exclude_unset` by @davidhewitt in [#12905](https://github.com/pydantic/pydantic/pull/12905) * Ensure custom `__init__()` is called when using `model_validate_strings()` by @siewcapital in [#12897](https://github.com/pydantic/pydantic/pull/12897) ##### New Contributors * @kelsonbrito50 made their first contribution in [#12860](https://github.com/pydantic/pydantic/pull/12860) * @boosterl made their first contribution in [#12723](https://github.com/pydantic/pydantic/pull/12723) * @adityagiri3600 made their first contribution in [#12868](https://github.com/pydantic/pydantic/pull/12868) * @navalprakhar made their first contribution in [#12817](https://github.com/pydantic/pydantic/pull/12817) * @Br1an67 made their first contribution in [#12879](https://github.com/pydantic/pydantic/pull/12879) * @rmorshea made their first contribution in [#12910](https://github.com/pydantic/pydantic/pull/12910) * @N3XT3R1337 made their first contribution in [#12922](https://github.com/pydantic/pydantic/pull/12922) * @ai-man-codes made their first contribution in [#12907](https://github.com/pydantic/pydantic/pull/12907) * @Yume05-dev made their first contribution in [#12953](https://github.com/pydantic/pydantic/pull/12953) * @galuszkak made their first contribution in [#12951](https://github.com/pydantic/pydantic/pull/12951) * @siewcapital made their first contribution in [#12897](https://github.com/pydantic/pydantic/pull/12897) **Full Changelog**: https://github.com/pydantic/pydantic/compare/v2.13.0b2...v2.13.0b3 ### v2.13.0b2 — v2.13.0b2 2026-02-24 - Date: 2026-02-24 - Version: v2.13.0b2 - Original notes: https://github.com/pydantic/pydantic/releases/tag/v2.13.0b2 - Permalink: https://whatsnew.fyi/product/pydantic/releases/v2.13.0b2 - Labels: Pre-release ##### What's Changed ###### Fixes * Fix backported V1 namespace by @Viicos in [#12855](https://github.com/pydantic/pydantic/pull/12855) * Allow any type form to be used in `validate_as()` by @bledden in [#12846](https://github.com/pydantic/pydantic/pull/12846) * Fix walrus operator precedence in `UrlConstraints.__get_pydantic_core_schema__()` by @bysiber in [#12826](https://github.com/pydantic/pydantic/pull/12826) ##### New Contributors * @bledden made their first contribution in [#12846](https://github.com/pydantic/pydantic/pull/12846) * @bysiber made their first contribution in [#12827](https://github.com/pydantic/pydantic/pull/12827) ### v2.13.0b1 — v2.13.0b1 2026-02-23 - Date: 2026-02-23 - Version: v2.13.0b1 - Original notes: https://github.com/pydantic/pydantic/releases/tag/v2.13.0b1 - Permalink: https://whatsnew.fyi/product/pydantic/releases/v2.13.0b1 - Labels: Pre-release This is the first beta release of the 2.13 version, mainly providing bug fixes and performance improvements for validation and serialization. Notable changes include: * Add a new `polymorphic_serialization` option, solving issues with `serialize_as_any` introduced in 2.12. * Latest V1.10.26 release under the `pydantic.v1` namespace. This version includes support for Python 3.14. * The [`pydantic-core`](https://github.com/pydantic/pydantic-core/) repository was merged inside the main `pydantic` one. ##### What's Changed ###### Packaging * Bump Rust url dependency from 2.5.4 to 2.5.7 in `pydantic-core` by @dependabot[bot] in [#12508](https://github.com/pydantic/pydantic/pull/12508) * Bump Rust minimum version to 1.88, use edition 2024 by @davidhewitt and @Viicos in [#12551](https://github.com/pydantic/pydantic/pull/12551) and [#12752](https://github.com/pydantic/pydantic/pull/12752) * Bump PyO3 to 0.28, jiter to 0.13 by @davidhewitt in [#12767](https://github.com/pydantic/pydantic/pull/12767) ###### New Features * Add `polymorphic_serialization` option by @davidhewitt in [#12518](https://github.com/pydantic/pydantic/pull/12518) * Support Root models with `Literal` root types as discriminator field types by @YassinNouh21 in [#12680](https://github.com/pydantic/pydantic/pull/12680) ###### Changes * Migrate `pydantic-core` CI by @Viicos in [#12752](https://github.com/pydantic/pydantic/pull/12752) * Import `pydantic-core` into pydantic by @davidhewitt in [#12481](https://github.com/pydantic/pydantic/pull/12481) * Backport V1 changes up to v1.10.26 by @Viicos in [#12663](https://github.com/pydantic/pydantic/pull/12663) * Use the `complex()` constructor unconditionally when validating `complex` Python data by @tanmaymunjal in [#12498](https://github.com/pydantic/pydantic/pull/12498) * Add support for three-tuple input for `Decimal` by @tanmaymunjal in [#12500](https://github.com/pydantic/pydantic/pull/12500) * Align `@field_serializer` logic with `@field_validator` by @Viicos in [#12577](https://github.com/pydantic/pydantic/pull/12577) * Make `PydanticUserError` a `RuntimeError` instead of a `TypeError` by @poliakovva in [#12579](https://github.com/pydantic/pydantic/pull/12579) * Remove redundant serialization attempts in nested unions by @davidhewitt in [#12604](https://github.com/pydantic/pydantic/pull/12604) * Copy `root` value when making root model shallow copies by @YassinNouh21 in [#12679](https://github.com/pydantic/pydantic/pull/12679) * Ensure deterministic JSON schema defaults by sorting sets by @drshvik in [#12760](https://github.com/pydantic/pydantic/pull/12760) ###### Performance * Refactor `DecoratorInfos.build()` implementation by @Viicos in [#12536](https://github.com/pydantic/pydantic/pull/12536) * Cache compiled regex in `pydantic-core` by @Viicos in [#12549](https://github.com/pydantic/pydantic/pull/12549) * Optimize creation of `Literal` validators by @davidhewitt in [#12569](https://github.com/pydantic/pydantic/pull/12569) * Optimize implementation of `LookupKey` by @davidhewitt in [#12571](https://github.com/pydantic/pydantic/pull/12571) * Use python strings for field names by @davidhewitt in [#12631](https://github.com/pydantic/pydantic/pull/12631) * Optimize datetime formatting code by @davidhewitt in [#12626](https://github.com/pydantic/pydantic/pull/12626) * Validate JSON model data by iteration by @davidhewitt in [#12550](https://github.com/pydantic/pydantic/pull/12550) * Optimize annotations evaluation of Pydantic models by @Viicos in [#12681](https://github.com/pydantic/pydantic/pull/12681) * Optimize `FieldInfo._copy()` by @Viicos in [#12727](https://github.com/pydantic/pydantic/pull/12727) ###### Fixes * Fix `FieldInfo` rebuilding when parameterizing generic models with an `Annotated` type by @Viicos in [#12463](https://github.com/pydantic/pydantic/pull/12463) * Fix nested model schema deduplication in JSON schema generation by @marwan-allor _[Truncated at 4000 characters — full notes: https://github.com/pydantic/pydantic/releases/tag/v2.13.0b1]_ ### v1.10.26 — v1.10.26 2025-12-18 - Date: 2025-12-18 - Version: v1.10.26 - Original notes: https://github.com/pydantic/pydantic/releases/tag/v1.10.26 - Permalink: https://whatsnew.fyi/product/pydantic/releases/v1.10.26 ##### What's Changed * Fix syntax error under Python 3.7 by @Viicos in https://github.com/pydantic/pydantic/pull/12643 **Full Changelog**: https://github.com/pydantic/pydantic/compare/v1.10.25...v1.10.26