v2.12.4 (2025-11-05)
This is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the build() method
of the AnyUrl and Dsn types.
This patch release also fixes an issue with the serialization of IP address types, when serialize_as_any is used. The next patch release
will try to address the remaining issues with serialize as any behavior by introducing a new polymorphic serialization feature, that
should be used in most cases in place of serialize as any.
-
Fix issue with forward references in parent
TypedDictclasses by @Viicos in #12427.This issue is only relevant on Python 3.14 and greater.
-
Exclude fields with
exclude_iffrom JSON Schema required fields by @Viicos in #12430 -
Revert URL percent-encoding of credentials in the
build()method of theAnyUrland Dsn types by @davidhewitt in pydantic-core#1833.This was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include
an opt-in option to percent-encode components of the URL. -
Add type inference for IP address types by @davidhewitt in pydantic-core#1868.
The 2.12 changes to the
serialize_as_anybehavior made it so that IP address types could not properly serialize to JSON. -
Avoid getting default values from defaultdict by @davidhewitt in pydantic-core#1853.
This fixes a subtle regression in the validation behavior of the
collections.defaultdict
type. -
Fix issue with field serializers on nested typed dictionaries by @davidhewitt in pydantic-core#1879.
-
Add more
pydantic-corebuilds for the three-threaded version of Python 3.14 by @davidhewitt in pydantic-core#1864.
Full Changelog: v2.12.3...v2.12.4