Skip to content

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Oct 4, 2025

This PR updates pydantic from 1.4 to 2.11.10.

Changelog

2.11.7

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.7)

What's Changed

Fixes

* Copy `FieldInfo` instance if necessary during `FieldInfo` build by Viicos in [11898](https://github.com/pydantic/pydantic/pull/11898)

2.11.6

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.6)

What's Changed

Fixes

* Rebuild dataclass fields before schema generation by Viicos in [11949](https://github.com/pydantic/pydantic/pull/11949)
* Always store the original field assignment on `FieldInfo` by Viicos in [11946](https://github.com/pydantic/pydantic/pull/11946)

2.11.5

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.5)

What's Changed

Fixes

* Check if `FieldInfo` is complete after applying type variable map by Viicos in [11855](https://github.com/pydantic/pydantic/pull/11855)
* Do not delete mock validator/serializer in `model_rebuild()` by Viicos in [11890](https://github.com/pydantic/pydantic/pull/11890)
* Do not duplicate metadata on model rebuild by Viicos in [11902](https://github.com/pydantic/pydantic/pull/11902)

2.11.4

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.4)

What's Changed

Packaging

* Bump `mkdocs-llmstxt` to v0.2.0 by Viicos in [11725](https://github.com/pydantic/pydantic/pull/11725)

Changes

* Allow config and bases to be specified together in `create_model()` by Viicos in [11714](https://github.com/pydantic/pydantic/pull/11714).
This change was backported as it was previously possible (although not meant to be supported)
to provide `model_config` as a field, which would make it possible to provide both configuration
and bases.

Fixes

* Remove generics cache workaround by Viicos in [11755](https://github.com/pydantic/pydantic/pull/11755)
* Remove coercion of decimal constraints by Viicos in [11772](https://github.com/pydantic/pydantic/pull/11772)
* Fix crash when expanding root type in the mypy plugin by Viicos in [11735](https://github.com/pydantic/pydantic/pull/11735)
* Fix issue with recursive generic models by Viicos in [11775](https://github.com/pydantic/pydantic/pull/11775)
* Traverse `function-before` schemas during schema gathering by Viicos in [11801](https://github.com/pydantic/pydantic/pull/11801)

2.11.3

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.3)

What's Changed

Packaging

* Update V1 copy to v1.10.21 by Viicos in [11706](https://github.com/pydantic/pydantic/pull/11706)

Fixes

* Preserve field description when rebuilding model fields by Viicos in [11698](https://github.com/pydantic/pydantic/pull/11698)

2.11.2

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.2)

What's Changed

Fixes

* Bump `pydantic-core` to v2.33.1 by Viicos in [11678](https://github.com/pydantic/pydantic/pull/11678)
* Make sure `__pydantic_private__` exists before setting private attributes by Viicos in [11666](https://github.com/pydantic/pydantic/pull/11666)
* Do not override `FieldInfo._complete` when using field from parent class by Viicos in [11668](https://github.com/pydantic/pydantic/pull/11668)
* Provide the available definitions when applying discriminated unions by Viicos in [11670](https://github.com/pydantic/pydantic/pull/11670)
* Do not expand root type in the mypy plugin for variables by Viicos in [11676](https://github.com/pydantic/pydantic/pull/11676)
* Mention the attribute name in model fields deprecation message by Viicos in [11674](https://github.com/pydantic/pydantic/pull/11674)
* Properly validate parameterized mappings by Viicos in [11658](https://github.com/pydantic/pydantic/pull/11658)

2.11.1

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.1)

What's Changed

Fixes

* Do not override `'definitions-ref'` schemas containing serialization schemas or metadata by Viicos in [11644](https://github.com/pydantic/pydantic/pull/11644)

2.11.0

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0)

What's Changed

Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general).
See the [blog post](https://pydantic.dev/articles/pydantic-v2-11-release) for more details.

Packaging

* Bump `pydantic-core` to v2.33.0 by Viicos in [11631](https://github.com/pydantic/pydantic/pull/11631)

New Features

* Add `encoded_string()` method to the URL types by YassinNouh21 in [11580](https://github.com/pydantic/pydantic/pull/11580)
* Add support for `defer_build` with `validate_call` decorator by Viicos in [11584](https://github.com/pydantic/pydantic/pull/11584)
* Allow `with_config` decorator to be used with keyword arguments by Viicos in [11608](https://github.com/pydantic/pydantic/pull/11608)
* Simplify customization of default value inclusion in JSON Schema generation by Viicos in [11634](https://github.com/pydantic/pydantic/pull/11634)
* Add `generate_arguments_schema()` function by Viicos in [11572](https://github.com/pydantic/pydantic/pull/11572)

Fixes

* Allow generic typed dictionaries to be used for unpacked variadic keyword parameters by Viicos in [11571](https://github.com/pydantic/pydantic/pull/11571)
* Fix runtime error when computing model string representation involving cached properties and self-referenced models by Viicos in [11579](https://github.com/pydantic/pydantic/pull/11579)
* Preserve other steps when using the ellipsis in the pipeline API by Viicos in [11626](https://github.com/pydantic/pydantic/pull/11626)
* Fix deferred discriminator application logic by Viicos in [11591](https://github.com/pydantic/pydantic/pull/11591)

New Contributors

* cmenon12 made their first contribution in [11562](https://github.com/pydantic/pydantic/pull/11562)
* Jeukoh made their first contribution in [11611](https://github.com/pydantic/pydantic/pull/11611)

2.11.0b2

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0b2)

What's Changed

Packaging

* Bump `pydantic-core` to v2.32.0 by Viicos in [11567](https://github.com/pydantic/pydantic/pull/11567)

New Features

* Add experimental support for free threading by Viicos in [11516](https://github.com/pydantic/pydantic/pull/11516)

Fixes

* Fix `NotRequired` qualifier not taken into account in stringified annotation by Viicos in [11559](https://github.com/pydantic/pydantic/pull/11559)

New Contributors

* joren485 made their first contribution in [11547](https://github.com/pydantic/pydantic/pull/11547)

2.11.0b1

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0b1)

What's Changed

Packaging

* Add a `check_pydantic_core_version()` function by Viicos in https://github.com/pydantic/pydantic/pull/11324
* Remove `greenlet` development dependency by Viicos in https://github.com/pydantic/pydantic/pull/11351
* Use the `typing-inspection` library by Viicos in https://github.com/pydantic/pydantic/pull/11479
* Bump `pydantic-core` to `v2.31.1` by sydney-runkle in https://github.com/pydantic/pydantic/pull/11526

New Features

* Support unsubstituted type variables with both a default and a bound or constraints by FyZzyss in https://github.com/pydantic/pydantic/pull/10789
* Add a `default_factory_takes_validated_data` property to `FieldInfo` by Viicos in https://github.com/pydantic/pydantic/pull/11034
* Raise a better error when a generic alias is used inside `type[]` by Viicos in https://github.com/pydantic/pydantic/pull/11088
* Properly support PEP 695 generics syntax by Viicos in https://github.com/pydantic/pydantic/pull/11189
* Properly support type variable defaults by Viicos in https://github.com/pydantic/pydantic/pull/11332
* Add support for validating v6, v7, v8 UUIDs by astei in https://github.com/pydantic/pydantic/pull/11436
* Improve alias configuration APIs by sydney-runkle in https://github.com/pydantic/pydantic/pull/11468

Changes

* Rework `create_model` field definitions format by Viicos in https://github.com/pydantic/pydantic/pull/11032
* Raise a deprecation warning when a field is annotated as final with a default value by Viicos in https://github.com/pydantic/pydantic/pull/11168
* Deprecate accessing `model_fields` and `model_computed_fields` on instances by Viicos in https://github.com/pydantic/pydantic/pull/11169
* **Breaking Change:** Move core schema generation logic for path types inside the `GenerateSchema` class by sydney-runkle in https://github.com/pydantic/pydantic/pull/10846
* Remove Python 3.8 Support by sydney-runkle in https://github.com/pydantic/pydantic/pull/11258
* Optimize calls to `get_type_ref` by Viicos in https://github.com/pydantic/pydantic/pull/10863
* Disable `pydantic-core` core schema validation by sydney-runkle in https://github.com/pydantic/pydantic/pull/11271

Performance

* Only evaluate `FieldInfo` annotations if required during schema building by Viicos in https://github.com/pydantic/pydantic/pull/10769
* Improve `__setattr__` performance of Pydantic models by caching setter functions by MarkusSintonen in https://github.com/pydantic/pydantic/pull/10868
* Improve annotation application performance by Viicos in https://github.com/pydantic/pydantic/pull/11186
* Improve performance of `_typing_extra` module by Viicos in https://github.com/pydantic/pydantic/pull/11255
* Refactor and optimize schema cleaning logic by Viicos in https://github.com/pydantic/pydantic/pull/11244
* Create a single dictionary when creating a `CoreConfig` instance by sydney-runkle in https://github.com/pydantic/pydantic/pull/11384
* Bump `pydantic-core` and thus use `SchemaValidator` and `SchemaSerializer` caching by sydney-runkle in https://github.com/pydantic/pydantic/pull/11402
* Reuse cached core schemas for parametrized generic Pydantic models by MarkusSintonen in https://github.com/pydantic/pydantic/pull/11434

Fixes

* Improve `TypeAdapter` instance repr by sydney-runkle in https://github.com/pydantic/pydantic/pull/10872
* Use the correct frame when instantiating a parametrized `TypeAdapter` by Viicos in https://github.com/pydantic/pydantic/pull/10893
* Infer final fields with a default value as class variables in the mypy plugin by Viicos in https://github.com/pydantic/pydantic/pull/11121
* Recursively unpack `Literal` values if using PEP 695 type aliases by Viicos in https://github.com/pydantic/pydantic/pull/11114
* Override `__subclasscheck__` on `ModelMetaclass` to avoid memory leak and performance issues by Viicos in https://github.com/pydantic/pydantic/pull/11116
* Remove unused `_extract_get_pydantic_json_schema()` parameter by Viicos in https://github.com/pydantic/pydantic/pull/11155
* Improve discriminated union error message for invalid union variants by Viicos in https://github.com/pydantic/pydantic/pull/11161
* Unpack PEP 695 type aliases if using the `Annotated` form by Viicos in https://github.com/pydantic/pydantic/pull/11109
* Add missing stacklevel in `deprecated_instance_property` warning by Viicos in https://github.com/pydantic/pydantic/pull/11200
* Copy `WithJsonSchema` schema to avoid sharing mutated data by thejcannon in https://github.com/pydantic/pydantic/pull/11014
* Do not cache parametrized models when in the process of parametrizing another model by Viicos in https://github.com/pydantic/pydantic/pull/10704
* Add discriminated union related metadata entries to the `CoreMetadata` definition by Viicos in https://github.com/pydantic/pydantic/pull/11216
* Consolidate schema definitions logic in the `_Definitions` class by Viicos in https://github.com/pydantic/pydantic/pull/11208
* Support initializing root model fields with values of the `root` type in the mypy plugin by Viicos in https://github.com/pydantic/pydantic/pull/11212
* Fix various issues with dataclasses and `use_attribute_docstrings` by Viicos in https://github.com/pydantic/pydantic/pull/11246
* Only compute normalized decimal places if necessary in `decimal_places_validator` by misrasaurabh1 in https://github.com/pydantic/pydantic/pull/11281
* Add support for `validation_alias` in the mypy plugin by Viicos in https://github.com/pydantic/pydantic/pull/11295
* Fix JSON Schema reference collection with `"examples"` keys by Viicos in https://github.com/pydantic/pydantic/pull/11305
* Do not transform model serializer functions as class methods in the mypy plugin by Viicos in https://github.com/pydantic/pydantic/pull/11298
* Simplify `GenerateJsonSchema.literal_schema()` implementation by misrasaurabh1 in https://github.com/pydantic/pydantic/pull/11321
* Add additional allowed schemes for `ClickHouseDsn` by Maze21127 in https://github.com/pydantic/pydantic/pull/11319
* Coerce decimal constraints to `Decimal` instances by Viicos in https://github.com/pydantic/pydantic/pull/11350
* Use the correct JSON Schema mode when handling function schemas by Viicos in https://github.com/pydantic/pydantic/pull/11367
* Improve exception message when encountering recursion errors during type evaluation by Viicos in https://github.com/pydantic/pydantic/pull/11356
* Always include `additionalProperties: True` for arbitrary dictionary schemas by austinyu in https://github.com/pydantic/pydantic/pull/11392
* Expose `fallback` parameter in serialization methods by Viicos in https://github.com/pydantic/pydantic/pull/11398
* Fix path serialization behavior by sydney-runkle in https://github.com/pydantic/pydantic/pull/11416
* Do not reuse validators and serializers during model rebuild by Viicos in https://github.com/pydantic/pydantic/pull/11429
* Collect model fields when rebuilding a model by Viicos in https://github.com/pydantic/pydantic/pull/11388
* Allow cached properties to be altered on frozen models by Viicos in https://github.com/pydantic/pydantic/pull/11432
* Fix tuple serialization for `Sequence` types by sydney-runkle in https://github.com/pydantic/pydantic/pull/11435
* Fix: do not check for `__get_validators__` on classes where `__get_pydantic_core_schema__` is also defined by tlambert03 in https://github.com/pydantic/pydantic/pull/11444
* Allow callable instances to be used as serializers by Viicos in https://github.com/pydantic/pydantic/pull/11451
* Improve error thrown when overriding field with a property by sydney-runkle in https://github.com/pydantic/pydantic/pull/11459
* Fix JSON Schema generation with referenceable core schemas holding JSON metadata by Viicos in https://github.com/pydantic/pydantic/pull/11475
* Support strict specification on union member types by sydney-runkle in https://github.com/pydantic/pydantic/pull/11481
* Implicitly set `validate_by_name` to `True` when `validate_by_alias` is `False` by sydney-runkle in https://github.com/pydantic/pydantic/pull/11503
* Change type of `Any` when synthesizing `BaseSettings.__init__` signature in the mypy plugin by Viicos in https://github.com/pydantic/pydantic/pull/11497
* Support type variable defaults referencing other type variables by Viicos in https://github.com/pydantic/pydantic/pull/11520
* Fix `ValueError` on year zero by davidhewitt in https://github.com/pydantic/pydantic-core/pull/1583
* `dataclass` `InitVar` shouldn't be required on serialization by sydney-runkle in https://github.com/pydantic/pydantic-core/pull/1602

New Contributors

* FyZzyss made their first contribution in https://github.com/pydantic/pydantic/pull/10789
* tamird made their first contribution in https://github.com/pydantic/pydantic/pull/10948
* felixxm made their first contribution in https://github.com/pydantic/pydantic/pull/11077
* alexprabhat99 made their first contribution in https://github.com/pydantic/pydantic/pull/11082
* Kharianne made their first contribution in https://github.com/pydantic/pydantic/pull/11111
* mdaffad made their first contribution in https://github.com/pydantic/pydantic/pull/11177
* thejcannon made their first contribution in https://github.com/pydantic/pydantic/pull/11014
* thomasfrimannkoren made their first contribution in https://github.com/pydantic/pydantic/pull/11251
* usernameMAI made their first contribution in https://github.com/pydantic/pydantic/pull/11275
* ananiavito made their first contribution in https://github.com/pydantic/pydantic/pull/11302
* pawamoy made their first contribution in https://github.com/pydantic/pydantic/pull/11311
* Maze21127 made their first contribution in https://github.com/pydantic/pydantic/pull/11319
* kauabh made their first contribution in https://github.com/pydantic/pydantic/pull/11369
* jaceklaskowski made their first contribution in https://github.com/pydantic/pydantic/pull/11353
* tmpbeing made their first contribution in https://github.com/pydantic/pydantic/pull/11375
* petyosi made their first contribution in https://github.com/pydantic/pydantic/pull/11405
* austinyu made their first contribution in https://github.com/pydantic/pydantic/pull/11392
* mikeedjones made their first contribution in https://github.com/pydantic/pydantic/pull/11402
* astei made their first contribution in https://github.com/pydantic/pydantic/pull/11436
* dsayling made their first contribution in https://github.com/pydantic/pydantic/pull/11522
* sobolevn made their first contribution in https://github.com/pydantic/pydantic-core/pull/1645

2.11.0a2

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0a2)

What's Changed

Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general).
This is another early alpha release, meant to collect early feedback from users having issues with core schema builds.

Packaging

* Bump `ruff` from 0.9.2 to 0.9.5 by Viicos in [11407](https://github.com/pydantic/pydantic/pull/11407)
* Bump `pydantic-core` to v2.29.0 by mikeedjones in [11402](https://github.com/pydantic/pydantic/pull/11402)
* Use locally-built rust with symbols & pgo by davidhewitt in [11403](https://github.com/pydantic/pydantic/pull/11403)

Performance

* Create a single dictionary when creating a `CoreConfig` instance by sydney-runkle in [11384](https://github.com/pydantic/pydantic/pull/11384)

Fixes

* Use the correct JSON Schema mode when handling function schemas by Viicos in [11367](https://github.com/pydantic/pydantic/pull/11367)
* Fix JSON Schema reference logic with `examples` keys by Viicos in [11366](https://github.com/pydantic/pydantic/pull/11366)
* Improve exception message when encountering recursion errors during type evaluation by Viicos in [11356](https://github.com/pydantic/pydantic/pull/11356)
* Always include `additionalProperties: True` for arbitrary dictionary schemas by austinyu in [11392](https://github.com/pydantic/pydantic/pull/11392)
* Expose `fallback` parameter in serialization methods by Viicos in [11398](https://github.com/pydantic/pydantic/pull/11398)
* Fix path serialization behavior by sydney-runkle in [11416](https://github.com/pydantic/pydantic/pull/11416)

New Contributors

* kauabh made their first contribution in [11369](https://github.com/pydantic/pydantic/pull/11369)
* jaceklaskowski made their first contribution in [11353](https://github.com/pydantic/pydantic/pull/11353)
* tmpbeing made their first contribution in [11375](https://github.com/pydantic/pydantic/pull/11375)
* petyosi made their first contribution in [11405](https://github.com/pydantic/pydantic/pull/11405)
* austinyu made their first contribution in [11392](https://github.com/pydantic/pydantic/pull/11392)
* mikeedjones made their first contribution in [11402](https://github.com/pydantic/pydantic/pull/11402)

2.11.0a1

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0a1)

What's Changed

Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general).
This is an early alpha release, meant to collect early feedback from users having issues with core schema builds.

Packaging

* Bump dawidd6/action-download-artifact from 6 to 7 by dependabot in [11018](https://github.com/pydantic/pydantic/pull/11018)
* Re-enable memray related tests on Python 3.12+ by Viicos in [11191](https://github.com/pydantic/pydantic/pull/11191)
* Bump astral-sh/setup-uv to 5 by dependabot in [11205](https://github.com/pydantic/pydantic/pull/11205)
* Bump `ruff` to v0.9.0 by sydney-runkle in [11254](https://github.com/pydantic/pydantic/pull/11254)
* Regular `uv.lock` deps update by sydney-runkle in [11333](https://github.com/pydantic/pydantic/pull/11333)
* Add a `check_pydantic_core_version()` function by Viicos in [11324](https://github.com/pydantic/pydantic/pull/11324)
* Remove `greenlet` development dependency by Viicos in [11351](https://github.com/pydantic/pydantic/pull/11351)
* Bump `pydantic-core` to v2.28.0 by Viicos in [11364](https://github.com/pydantic/pydantic/pull/11364)

New Features

* Support unsubstituted type variables with both a default and a bound or constraints by FyZzyss in [10789](https://github.com/pydantic/pydantic/pull/10789)
* Add a `default_factory_takes_validated_data` property to `FieldInfo` by Viicos in [11034](https://github.com/pydantic/pydantic/pull/11034)
* Raise a better error when a generic alias is used inside `type[]` by Viicos in [11088](https://github.com/pydantic/pydantic/pull/11088)
* Properly support PEP 695 generics syntax by Viicos in [11189](https://github.com/pydantic/pydantic/pull/11189)
* Properly support type variable defaults by Viicos in [11332](https://github.com/pydantic/pydantic/pull/11332)

Changes

* Rework `create_model` field definitions format by Viicos in [11032](https://github.com/pydantic/pydantic/pull/11032)
* Raise a deprecation warning when a field is annotated as final with a default value by Viicos in [11168](https://github.com/pydantic/pydantic/pull/11168)
* Deprecate accessing `model_fields` and `model_computed_fields` on instances by Viicos in [11169](https://github.com/pydantic/pydantic/pull/11169)
* Move core schema generation logic for path types inside the `GenerateSchema` class by sydney-runkle in [10846](https://github.com/pydantic/pydantic/pull/10846)
* Move `deque` schema gen to `GenerateSchema` class by sydney-runkle in [11239](https://github.com/pydantic/pydantic/pull/11239)
* Move `Mapping` schema gen to `GenerateSchema` to complete removal of `prepare_annotations_for_known_type` workaround by sydney-runkle in [11247](https://github.com/pydantic/pydantic/pull/11247)
* Remove Python 3.8 Support by sydney-runkle in [11258](https://github.com/pydantic/pydantic/pull/11258)
* Disable `pydantic-core` core schema validation by sydney-runkle in [11271](https://github.com/pydantic/pydantic/pull/11271)

Performance

* Only evaluate `FieldInfo` annotations if required during schema building by Viicos in [10769](https://github.com/pydantic/pydantic/pull/10769)
* Optimize calls to `get_type_ref` by Viicos in [10863](https://github.com/pydantic/pydantic/pull/10863)
* Improve `__setattr__` performance of Pydantic models by caching setter functions by MarkusSintonen in [10868](https://github.com/pydantic/pydantic/pull/10868)
* Improve annotation application performance by Viicos in [11186](https://github.com/pydantic/pydantic/pull/11186)
* Improve performance of `_typing_extra` module by Viicos in [11255](https://github.com/pydantic/pydantic/pull/11255)
* Refactor and optimize schema cleaning logic by Viicos and MarkusSintonen in [11244](https://github.com/pydantic/pydantic/pull/11244)

Fixes

* Add validation tests for `_internal/_validators.py` by tkasuz in [10763](https://github.com/pydantic/pydantic/pull/10763)
* Improve `TypeAdapter` instance repr by sydney-runkle in [10872](https://github.com/pydantic/pydantic/pull/10872)
* Revert "ci: use locally built pydantic-core with debug symbols by sydney-runkle in [10942](https://github.com/pydantic/pydantic/pull/10942)
* Re-enable all FastAPI tests by tamird in [10948](https://github.com/pydantic/pydantic/pull/10948)
* Fix typo in HISTORY.md. by felixxm in [11077](https://github.com/pydantic/pydantic/pull/11077)
* Infer final fields with a default value as class variables in the mypy plugin by Viicos in [11121](https://github.com/pydantic/pydantic/pull/11121)
* Recursively unpack `Literal` values if using PEP 695 type aliases by Viicos in [11114](https://github.com/pydantic/pydantic/pull/11114)
* Override `__subclasscheck__` on `ModelMetaclass` to avoid memory leak and performance issues by Viicos in [11116](https://github.com/pydantic/pydantic/pull/11116)
* Remove unused `_extract_get_pydantic_json_schema()` parameter by Viicos in [11155](https://github.com/pydantic/pydantic/pull/11155)
* Add FastAPI and SQLModel to third-party tests by sydney-runkle in [11044](https://github.com/pydantic/pydantic/pull/11044)
* Fix conditional expressions syntax for third-party tests by Viicos in [11162](https://github.com/pydantic/pydantic/pull/11162)
* Move FastAPI tests to third-party workflow by Viicos in [11164](https://github.com/pydantic/pydantic/pull/11164)
* Improve discriminated union error message for invalid union variants by Viicos in [11161](https://github.com/pydantic/pydantic/pull/11161)
* Unpack PEP 695 type aliases if using the `Annotated` form by Viicos in [11109](https://github.com/pydantic/pydantic/pull/11109)
* Include `openapi-python-client` check in issue creation for third-party failures, use `main` branch by sydney-runkle in [11182](https://github.com/pydantic/pydantic/pull/11182)
* Add pandera third-party tests by Viicos in [11193](https://github.com/pydantic/pydantic/pull/11193)
* Add ODMantic third-party tests by sydney-runkle in [11197](https://github.com/pydantic/pydantic/pull/11197)
* Add missing stacklevel in `deprecated_instance_property` warning by Viicos in [11200](https://github.com/pydantic/pydantic/pull/11200)
* Copy `WithJsonSchema` schema to avoid sharing mutated data by thejcannon in [11014](https://github.com/pydantic/pydantic/pull/11014)
* Do not cache parametrized models when in the process of parametrizing another model by Viicos in [10704](https://github.com/pydantic/pydantic/pull/10704)
* Re-enable Beanie third-party tests by Viicos in [11214](https://github.com/pydantic/pydantic/pull/11214)
* Add discriminated union related metadata entries to the `CoreMetadata` definition by Viicos in [11216](https://github.com/pydantic/pydantic/pull/11216)
* Consolidate schema definitions logic in the `_Definitions` class by Viicos in [11208](https://github.com/pydantic/pydantic/pull/11208)
* Support initializing root model fields with values of the `root` type in the mypy plugin by Viicos in [11212](https://github.com/pydantic/pydantic/pull/11212)
* Fix various issues with dataclasses and `use_attribute_docstrings` by Viicos in [11246](https://github.com/pydantic/pydantic/pull/11246)
* Only compute normalized decimal places if necessary in `decimal_places_validator` by misrasaurabh1 in [11281](https://github.com/pydantic/pydantic/pull/11281)
* Fix two misplaced sentences in validation errors documentation by ananiavito in [11302](https://github.com/pydantic/pydantic/pull/11302)
* Fix mkdocstrings inventory example in documentation by pawamoy in [11311](https://github.com/pydantic/pydantic/pull/11311)
* Add support for `validation_alias` in the mypy plugin by Viicos in [11295](https://github.com/pydantic/pydantic/pull/11295)
* Do not transform model serializer functions as class methods in the mypy plugin by Viicos in [11298](https://github.com/pydantic/pydantic/pull/11298)
* Simplify `GenerateJsonSchema.literal_schema()` implementation by misrasaurabh1 in [11321](https://github.com/pydantic/pydantic/pull/11321)
* Add additional allowed schemes for `ClickHouseDsn` by Maze21127 in [11319](https://github.com/pydantic/pydantic/pull/11319)
* Coerce decimal constraints to `Decimal` instances by Viicos in [11350](https://github.com/pydantic/pydantic/pull/11350)
* Fix `ValueError` on year zero by davidhewitt in [pydantic-core1583](https://github.com/pydantic/pydantic-core/pull/1583)

New Contributors

* FyZzyss made their first contribution in [10789](https://github.com/pydantic/pydantic/pull/10789)
* tamird made their first contribution in [10948](https://github.com/pydantic/pydantic/pull/10948)
* felixxm made their first contribution in [11077](https://github.com/pydantic/pydantic/pull/11077)
* alexprabhat99 made their first contribution in [11082](https://github.com/pydantic/pydantic/pull/11082)
* Kharianne made their first contribution in [11111](https://github.com/pydantic/pydantic/pull/11111)
* mdaffad made their first contribution in [11177](https://github.com/pydantic/pydantic/pull/11177)
* thejcannon made their first contribution in [11014](https://github.com/pydantic/pydantic/pull/11014)
* thomasfrimannkoren made their first contribution in [11251](https://github.com/pydantic/pydantic/pull/11251)
* usernameMAI made their first contribution in [11275](https://github.com/pydantic/pydantic/pull/11275)
* ananiavito made their first contribution in [11302](https://github.com/pydantic/pydantic/pull/11302)
* pawamoy made their first contribution in [11311](https://github.com/pydantic/pydantic/pull/11311)
* Maze21127 made their first contribution in [11319](https://github.com/pydantic/pydantic/pull/11319)

2.10.6

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.6)

What's Changed

Fixes

* Fix JSON Schema reference collection with `'examples'` keys by Viicos in [11325](https://github.com/pydantic/pydantic/pull/11325)
* Fix url python serialization by sydney-runkle in [11331](https://github.com/pydantic/pydantic/pull/11331)

2.10.5

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.5)

What's Changed

Fixes

* Remove custom MRO implementation of Pydantic models by Viicos in [11184](https://github.com/pydantic/pydantic/pull/11184)
* Fix URL serialization for unions by sydney-runkle in [11233](https://github.com/pydantic/pydantic/pull/11233)

2.10.4

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.4)

What's Changed

Packaging

* Bump `pydantic-core` to v2.27.2 by davidhewitt in [11138](https://github.com/pydantic/pydantic/pull/11138)

Fixes

* Fix for comparison of `AnyUrl` objects by alexprabhat99 in [11082](https://github.com/pydantic/pydantic/pull/11082)
* Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by Viicos in [11093](https://github.com/pydantic/pydantic/pull/11093)
* Include JSON Schema input core schema in function schemas by Viicos in [11085](https://github.com/pydantic/pydantic/pull/11085)
* Add `len` to `_BaseUrl` to avoid TypeError by Kharianne in [11111](https://github.com/pydantic/pydantic/pull/11111)
* Make sure the type reference is removed from the seen references by Viicos in [11143](https://github.com/pydantic/pydantic/pull/11143)

New Contributors

* FyZzyss made their first contribution in [10789](https://github.com/pydantic/pydantic/pull/10789)
* tamird made their first contribution in [10948](https://github.com/pydantic/pydantic/pull/10948)
* felixxm made their first contribution in [11077](https://github.com/pydantic/pydantic/pull/11077)
* alexprabhat99 made their first contribution in [11082](https://github.com/pydantic/pydantic/pull/11082)
* Kharianne made their first contribution in [11111](https://github.com/pydantic/pydantic/pull/11111)

2.10.3

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.3)

What's Changed

Fixes

* Set fields when `defer_build` is set on Pydantic dataclasses by Viicos in [10984](https://github.com/pydantic/pydantic/pull/10984)
* Do not resolve the JSON Schema reference for `dict` core schema keys by Viicos in [10989](https://github.com/pydantic/pydantic/pull/10989)
* Use the globals of the function when evaluating the return type for `PlainSerializer` and `WrapSerializer` functions by Viicos in [11008](https://github.com/pydantic/pydantic/pull/11008)
* Fix host required enforcement for urls to be compatible with v2.9 behavior by sydney-runkle in [11027](https://github.com/pydantic/pydantic/pull/11027)
* Add a `default_factory_takes_validated_data` property to `FieldInfo` by Viicos in [11034](https://github.com/pydantic/pydantic/pull/11034)
* Fix url json schema in `serialization` mode by sydney-runkle in [11035](https://github.com/pydantic/pydantic/pull/11035)

2.10.2

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.2)

What's Changed

Fixes

* Only evaluate FieldInfo annotations if required during schema building by Viicos in [10769](https://github.com/pydantic/pydantic/pull/10769)
* Do not evaluate annotations for private fields by Viicos in [10962](https://github.com/pydantic/pydantic/pull/10962)
* Support serialization as any for `Secret` types and `Url` types by sydney-runkle in [10947](https://github.com/pydantic/pydantic/pull/10947)
* Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by Viicos in [10972](https://github.com/pydantic/pydantic/pull/10972)
* Add hashing support for URL types by sydney-runkle in [10975](https://github.com/pydantic/pydantic/pull/10975)
* Hide `BaseModel.__replace__` definition from type checkers by Viicos in [10979](https://github.com/pydantic/pydantic/pull/10979)

2.10.1

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.1)

What's Changed

Packaging

* Bump `pydantic-core` version to `v2.27.1` by sydney-runkle in [10938](https://github.com/pydantic/pydantic/pull/10938)

Fixes

* Use the correct frame when instantiating a parametrized `TypeAdapter` by Viicos in [10893](https://github.com/pydantic/pydantic/pull/10893)
* Relax check for validated data in `default_factory` utils by sydney-runkle in [10909](https://github.com/pydantic/pydantic/pull/10909)
* Fix type checking issue with `model_fields` and `model_computed_fields` by sydney-runkle in [10911](https://github.com/pydantic/pydantic/pull/10911)
* Use the parent configuration during schema generation for stdlib `dataclass`es by sydney-runkle in [10928](https://github.com/pydantic/pydantic/pull/10928)
* Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by Viicos in [10929](https://github.com/pydantic/pydantic/pull/10929)
* Fix URL constraint application by sydney-runkle in [10922](https://github.com/pydantic/pydantic/pull/10922)
* Fix URL equality with different validation methods by sydney-runkle in [10934](https://github.com/pydantic/pydantic/pull/10934)
* Fix JSON schema title when specified as `''` by sydney-runkle in [10936](https://github.com/pydantic/pydantic/pull/10936)
* Fix `python` mode serialization for `complex` inference by sydney-runkle in [pydantic-core1549](https://github.com/pydantic/pydantic-core/pull/1549)

New Contributors

2.10.0

The code released in v2.10.0 is practically identical to that of v2.10.0b2.

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.0)

See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights!

What's Changed

Packaging

* Bump `pydantic-core` to `v2.27.0` by sydney-runkle in [10825](https://github.com/pydantic/pydantic/pull/10825)
* Replaced pdm with uv by frfahim in [10727](https://github.com/pydantic/pydantic/pull/10727)

New Features

* Support `fractions.Fraction` by sydney-runkle in [10318](https://github.com/pydantic/pydantic/pull/10318)
* Support `Hashable` for json validation by sydney-runkle in [10324](https://github.com/pydantic/pydantic/pull/10324)
* Add a `SocketPath` type for `linux` systems by theunkn0wn1 in [10378](https://github.com/pydantic/pydantic/pull/10378)
* Allow arbitrary refs in JSON schema `examples` by sydney-runkle in [10417](https://github.com/pydantic/pydantic/pull/10417)
* Support `defer_build` for Pydantic dataclasses by Viicos in [10313](https://github.com/pydantic/pydantic/pull/10313)
* Adding v1 / v2 incompatibility warning for nested v1 model by sydney-runkle in [10431](https://github.com/pydantic/pydantic/pull/10431)
* Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `validate_call` by Viicos in [10416](https://github.com/pydantic/pydantic/pull/10416)
* Support compiled patterns in `protected_namespaces` by sydney-runkle in [10522](https://github.com/pydantic/pydantic/pull/10522)
* Add support for `propertyNames` in JSON schema by FlorianSW in [10478](https://github.com/pydantic/pydantic/pull/10478)
* Adding `__replace__` protocol for Python 3.13+ support by sydney-runkle in [10596](https://github.com/pydantic/pydantic/pull/10596)
* Expose public `sort` method for JSON schema generation by sydney-runkle in [10595](https://github.com/pydantic/pydantic/pull/10595)
* Add runtime validation of `validate_call` callable argument by kc0506 in [10627](https://github.com/pydantic/pydantic/pull/10627)
* Add `experimental_allow_partial` support by samuelcolvin in [10748](https://github.com/pydantic/pydantic/pull/10748)
* Support default factories taking validated data as an argument by Viicos in [10678](https://github.com/pydantic/pydantic/pull/10678)
* Allow subclassing `ValidationError` and `PydanticCustomError` by Youssefares in [pydantic/pydantic-core1413](https://github.com/pydantic/pydantic-core/pull/1413)
* Add `trailing-strings` support to `experimental_allow_partial` by sydney-runkle in [10825](https://github.com/pydantic/pydantic/pull/10825)
* Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by sydney-runkle in [10537](https://github.com/pydantic/pydantic/pull/10537)
* Improve `TypeAdapter` instance repr by sydney-runkle in [10872](https://github.com/pydantic/pydantic/pull/10872)

Changes

* Don't allow customization of `SchemaGenerator` until interface is more stable by sydney-runkle in [10303](https://github.com/pydantic/pydantic/pull/10303)
* Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by sydney-runkle in [10329](https://github.com/pydantic/pydantic/pull/10329)
* Fix `mro` of generic subclass  by kc0506 in [10100](https://github.com/pydantic/pydantic/pull/10100)
* Strip whitespaces on JSON Schema title generation by sydney-runkle in [10404](https://github.com/pydantic/pydantic/pull/10404)
* Use `b64decode` and `b64encode` for `Base64Bytes` type by sydney-runkle in [10486](https://github.com/pydantic/pydantic/pull/10486)
* Relax protected namespace config default by sydney-runkle in [10441](https://github.com/pydantic/pydantic/pull/10441)
* Revalidate parametrized generics if instance's origin is subclass of OG class by sydney-runkle in [10666](https://github.com/pydantic/pydantic/pull/10666)
* Warn if configuration is specified on the `dataclass` decorator and with the `__pydantic_config__` attribute by sydney-runkle in [10406](https://github.com/pydantic/pydantic/pull/10406)
* Recommend against using `Ellipsis` (...) with `Field` by Viicos in [10661](https://github.com/pydantic/pydantic/pull/10661)
* Migrate to subclassing instead of annotated approach for pydantic url types by sydney-runkle in [10662](https://github.com/pydantic/pydantic/pull/10662)
* Change JSON schema generation of `Literal`s and `Enums` by Viicos in [10692](https://github.com/pydantic/pydantic/pull/10692)
* Simplify unions involving `Any` or `Never` when replacing type variables by Viicos in [10338](https://github.com/pydantic/pydantic/pull/10338)
* Do not require padding when decoding `base64` bytes by bschoenmaeckers in [pydantic/pydantic-core1448](https://github.com/pydantic/pydantic-core/pull/1448)
* Support dates all the way to 1BC by changhc in [pydantic/speedate77](https://github.com/pydantic/speedate/pull/77)

Performance

* Schema cleaning: skip unnecessary copies during schema walking by Viicos in [10286](https://github.com/pydantic/pydantic/pull/10286)
* Refactor namespace logic for annotations evaluation by Viicos in [10530](https://github.com/pydantic/pydantic/pull/10530)
* Improve email regexp on edge cases by AlekseyLobanov in [10601](https://github.com/pydantic/pydantic/pull/10601)
* `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by sydney-runkle in [10675](https://github.com/pydantic/pydantic/pull/10675)

Fixes

* Remove guarding check on `computed_field` with `field_serializer` by nix010 in [10390](https://github.com/pydantic/pydantic/pull/10390)
* Fix `Predicate` issue in `v2.9.0` by sydney-runkle in [10321](https://github.com/pydantic/pydantic/pull/10321)
* Fixing `annotated-types` bound by sydney-runkle in [10327](https://github.com/pydantic/pydantic/pull/10327)
* Turn `tzdata` install requirement into optional `timezone` dependency by jakob-keller in [10331](https://github.com/pydantic/pydantic/pull/10331)
* Use correct types namespace when building `namedtuple` core schemas by Viicos in [10337](https://github.com/pydantic/pydantic/pull/10337)
* Fix evaluation of stringified annotations during namespace inspection by Viicos in [10347](https://github.com/pydantic/pydantic/pull/10347)
* Fix `IncEx` type alias definition by Viicos in [10339](https://github.com/pydantic/pydantic/pull/10339)
* Do not error when trying to evaluate annotations of private attributes by Viicos in [10358](https://github.com/pydantic/pydantic/pull/10358)
* Fix nested type statement by kc0506 in [10369](https://github.com/pydantic/pydantic/pull/10369)
* Improve typing of `ModelMetaclass.mro` by Viicos in [10372](https://github.com/pydantic/pydantic/pull/10372)
* Fix class access of deprecated `computed_field`s by Viicos in [10391](https://github.com/pydantic/pydantic/pull/10391)
* Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `validate_call` by MovisLi in [10374](https://github.com/pydantic/pydantic/pull/10374)
* Fix `NameError` when using `validate_call` with PEP 695 on a class by kc0506 in [10380](https://github.com/pydantic/pydantic/pull/10380)
* Fix `ZoneInfo` with various invalid types by sydney-runkle in [10408](https://github.com/pydantic/pydantic/pull/10408)
* Fix `PydanticUserError` on empty `model_config` with annotations by cdwilson in [10412](https://github.com/pydantic/pydantic/pull/10412)
* Fix variance issue in `_IncEx` type alias, only allow `True` by Viicos in [10414](https://github.com/pydantic/pydantic/pull/10414)
* Fix serialization schema generation when using `PlainValidator` by Viicos in [10427](https://github.com/pydantic/pydantic/pull/10427)
* Fix schema generation error when serialization schema holds references by Viicos in [10444](https://github.com/pydantic/pydantic/pull/10444)
* Inline references if possible when generating schema for `json_schema_input_type` by Viicos in [10439](https://github.com/pydantic/pydantic/pull/10439)
* Fix recursive arguments in `Representation` by Viicos in [10480](https://github.com/pydantic/pydantic/pull/10480)
* Fix representation for builtin function types by kschwab in [10479](https://github.com/pydantic/pydantic/pull/10479)
* Add python validators for decimal constraints (`max_digits` and `decimal_places`) by sydney-runkle in [10506](https://github.com/pydantic/pydantic/pull/10506)
* Only fetch `__pydantic_core_schema__` from the current class during schema generation by Viicos in [10518](https://github.com/pydantic/pydantic/pull/10518)
* Fix `stacklevel` on deprecation warnings for `BaseModel` by sydney-runkle in [10520](https://github.com/pydantic/pydantic/pull/10520)
* Fix warning `stacklevel` in `BaseModel.__init__` by Viicos in [10526](https://github.com/pydantic/pydantic/pull/10526)
* Improve error handling for in-evaluable refs for discriminator application by sydney-runkle in [10440](https://github.com/pydantic/pydantic/pull/10440)
* Change the signature of `ConfigWrapper.core_config` to take the title directly by Viicos in [10562](https://github.com/pydantic/pydantic/pull/10562)
* Do not use the previous config from the stack for dataclasses without config by Viicos in [10576](https://github.com/pydantic/pydantic/pull/10576)
* Fix serialization for IP types with `mode='python'` by sydney-runkle in [10594](https://github.com/pydantic/pydantic/pull/10594)
* Support constraint application for `Base64Etc` types by sydney-runkle in [10584](https://github.com/pydantic/pydantic/pull/10584)
* Fix `validate_call` ignoring `Field` in `Annotated` by kc0506 in [10610](https://github.com/pydantic/pydantic/pull/10610)
* Raise an error when `Self` is invalid by kc0506 in [10609](https://github.com/pydantic/pydantic/pull/10609)
* Using `core_schema.InvalidSchema` instead of metadata injection + checks by sydney-runkle in [10523](https://github.com/pydantic/pydantic/pull/10523)
* Tweak type alias logic by kc0506 in [10643](https://github.com/pydantic/pydantic/pull/10643)
* Support usage of `type` with `typing.Self` and type aliases by kc0506 in [10621](https://github.com/pydantic/pydantic/pull/10621)
* Use overloads for `Field` and `PrivateAttr` functions by Viicos in [10651](https://github.com/pydantic/pydantic/pull/10651)
* Clean up the `mypy` plugin implementation by Viicos in [10669](https://github.com/pydantic/pydantic/pull/10669)
* Properly check for `typing_extensions` variant of `TypeAliasType` by Daraan in [10713](https://github.com/pydantic/pydantic/pull/10713)
* Allow any mapping in `BaseModel.model_copy()` by Viicos in [10751](https://github.com/pydantic/pydantic/pull/10751)
* Fix `isinstance` behavior for urls by sydney-runkle in [10766](https://github.com/pydantic/pydantic/pull/10766)
* Ensure `cached_property` can be set on Pydantic models by Viicos in [10774](https://github.com/pydantic/pydantic/pull/10774)
* Fix equality checks for primitives in literals by sydney-runkle in [pydantic/pydantic-core1459](https://github.com/pydantic/pydantic-core/pull/1459)
* Properly enforce `host_required` for URLs by Viicos in [pydantic/pydantic-core1488](https://github.com/pydantic/pydantic-core/pull/1488)
* Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by andrey-berenda in [pydantic/pydantic-core1515](https://github.com/pydantic/pydantic-core/pull/1515)
* Fix serializing `complex` values in `Enum`s by changhc in [pydantic/pydantic-core1524](https://github.com/pydantic/pydantic-core/pull/1524)
* Refactor `_typing_extra` module by Viicos in [10725](https://github.com/pydantic/pydantic/pull/10725)
* Support intuitive equality for urls by sydney-runkle in [10798](https://github.com/pydantic/pydantic/pull/10798)
* Add `bytearray` to `TypeAdapter.validate_json` signature by samuelcolvin in [10802](https://github.com/pydantic/pydantic/pull/10802)
* Ensure class access of method descriptors is performed when used as a default with `Field` by Viicos in [10816](https://github.com/pydantic/pydantic/pull/10816)
* Fix circular import with `validate_call` by sydney-runkle in [10807](https://github.com/pydantic/pydantic/pull/10807)
* Fix error when using type aliases referencing other type aliases by Viicos in [10809](https://github.com/pydantic/pydantic/pull/10809)
* Fix `IncEx` type alias to be compatible with mypy by Viicos in [10813](https://github.com/pydantic/pydantic/pull/10813)
* Make `__signature__` a lazy property, do not deepcopy defaults by Viicos in [10818](https://github.com/pydantic/pydantic/pull/10818)
* Make `__signature__` lazy for dataclasses, too by sydney-runkle in [10832](https://github.com/pydantic/pydantic/pull/10832)
* Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by sydney-runkle in [10856](https://github.com/pydantic/pydantic/pull/10856)

New Contributors

* jakob-keller made their first contribution in [10331](https://github.com/pydantic/pydantic/pull/10331)
* MovisLi made their first contribution in [10374](https://github.com/pydantic/pydantic/pull/10374)
* joaopalmeiro made their first contribution in [10405](https://github.com/pydantic/pydantic/pull/10405)
* theunkn0wn1 made their first contribution in [10378](https://github.com/pydantic/pydantic/pull/10378)
* cdwilson made their first contribution in [10412](https://github.com/pydantic/pydantic/pull/10412)
* dlax made their first contribution in [10421](https://github.com/pydantic/pydantic/pull/10421)
* kschwab made their first contribution in [10479](https://github.com/pydantic/pydantic/pull/10479)
* santibreo made their first contribution in [10453](https://github.com/pydantic/pydantic/pull/10453)
* FlorianSW made their first contribution in [10478](https://github.com/pydantic/pydantic/pull/10478)
* tkasuz made their first contribution in [10555](https://github.com/pydantic/pydantic/pull/10555)
* AlekseyLobanov made their first contribution in [10601](https://github.com/pydantic/pydantic/pull/10601)
* NiclasvanEyk made their first contribution in [10667](https://github.com/pydantic/pydantic/pull/10667)
* mschoettle made their first contribution in [10677](https://github.com/pydantic/pydantic/pull/10677)
* Daraan made their first contribution in [10713](https://github.com/pydantic/pydantic/pull/10713)
* k4nar made their first contribution in [10736](https://github.com/pydantic/pydantic/pull/10736)
* UriyaHarpeness made their first contribution in [10740](https://github.com/pydantic/pydantic/pull/10740)
* frfahim made their first contribution in [10727](https://github.com/pydantic/pydantic/pull/10727)

2.10.0b2

Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.0b2) for details.

2.10.0b1

Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.0b1) for details.

<!-- package description limit -->

2.9.2

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.9.2)

What's Changed

Fixes

* Do not error when trying to evaluate annotations of private attributes by Viicos in [10358](https://github.com/pydantic/pydantic/pull/10358)
* Adding notes on designing sound `Callable` discriminators by sydney-runkle in [10400](https://github.com/pydantic/pydantic/pull/10400)
* Fix serialization schema generation when using `PlainValidator` by Viicos in [10427](https://github.com/pydantic/pydantic/pull/10427)
* Fix `Union` serialization warnings by sydney-runkle in [pydantic/pydantic-core1449](https://github.com/pydantic/pydantic-core/pull/1449)
* Fix variance issue in `_IncEx` type alias, only allow `True` by Viicos in [10414](https://github.com/pydantic/pydantic/pull/10414)
* Fix `ZoneInfo` validation with various invalid types by sydney-runkle in [10408](https://github.com/pydantic/pydantic/pull/10408)

2.9.1

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.9.1)

What's Changed

Fixes

* Fix Predicate issue in v2.9.0 by sydney-runkle in [10321](https://github.com/pydantic/pydantic/pull/10321)
* Fixing `annotated-types` bound to `>=0.6.0` by sydney-runkle in [10327](https://github.com/pydantic/pydantic/pull/10327)
* Turn `tzdata` install requirement into optional `timezone` dependency by jakob-keller in [10331](https://github.com/pydantic/pydantic/pull/10331)
* Fix `IncExc` type alias definition by Viicos in [10339](https://github.com/pydantic/pydantic/pull/10339)
* Use correct types namespace when building namedtuple core schemas by Viicos in [10337](https://github.com/pydantic/pydantic/pull/10337)
* Fix evaluation of stringified annotations during namespace inspection by Viicos in [10347](https://github.com/pydantic/pydantic/pull/10347)
* Fix tagged union serialization with alias generators by sydney-runkle in [pydantic/pydantic-core1442](https://github.com/pydantic/pydantic-core/pull/1442)

2.9.0

[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.9.0)

The code released in v2.9.0 is practically identical to that of v2.9.0b2.

What's Changed

Packaging

* Bump `ruff` to `v0.5.0` and `pyright` to `v1.1.369` by sydney-runkle in [9801](https://github.com/pydantic/pydantic/pull/9801)
* Bump `pydantic-extra-types` to `v2.9.0` by sydney-runkle in [9832](https://github.com/pydantic/pydantic/pull/9832)
* Support compatibility with `pdm v2.18.1` by Viicos in [10138](https://github.com/pydantic/pydantic/pull/10138)
* Bump `v1` version stub to `v1.10.18` by sydney-runkle in [10214](https://github.com/pydantic/pydantic/pull/10214)
* Bump `pydantic-core` to `v2.23.2` by sydney-runkle in [10311](https://github.com/pydantic/pydantic/pull/10311)

New Features

* Add support for `ZoneInfo` by Youssefares in [9896](https://github.com/pydantic/pydantic/pull/9896)
* Add `Config.val_json_bytes` by josh-newman in [9770](https://github.com/pydantic/pydantic/pull/9770)
* Add DSN for Snowflake by aditkumar72 in [10128](https://github.com/pydantic/pydantic/pull/10128)
* Support `complex` number by changhc in [9654](https://github.com/pydantic/pydantic/pull/9654)
* Add support for `annotated_types.Not` by aditkumar72 in [10210](https://github.com/pydantic/pydantic/pull/10210)
* Allow `WithJsonSchema` to inject `$ref`s w/ `http` or `https` links by dAIsySHEng1 in [9863](https://github.com/pydantic/pydantic/pull/9863)
* Allow validators to customize validation JSON schema by Viicos in [10094](https://github.com/pydantic/pydantic/pull/10094)
* Support parametrized `PathLike` types by nix010 in [9764](https://github.com/pydantic/pydantic/pull/9764)
* Add tagged union serializer that attempts to use `str` or `callable` discriminators to select the correct serializer by sydney-runkle in in [pydantic/pydantic-core1397](https://github.com/pydantic/pydantic-core/pull/1397)

Changes

* Breaking Change: Merge `dict` type `json_schema_extra` by sydney-runkle in [9792](https://github.com/pydantic/pydantic/pull/9792)
 * For more info (how to replicate old behavior) on this change, see [here](https://docs.pydantic.dev/dev/concepts/json_schema/#merging-json_schema_extra)
* Refactor annotation injection for known (often generic) types by sydney-runkle in [9979](https://github.com/pydantic/pydantic/pull/9979)
* Move annotation compatibility errors to validation phase by sydney-runkle in [9999](https://github.com/pydantic/pydantic/pull/9999)
* Improve runtime errors for string constraints like `pattern` for incompatible types by sydney-runkle in [10158](https://github.com/pydantic/pydantic/pull/10158)
* Remove `'allOf'` JSON schema workarounds by dpeachey in [10029](https://github.com/pydantic/pydantic/pull/10029)
* Remove `typed_dict_cls` data from `CoreMetadata` by sydney-runkle in [10180](https://github.com/pydantic/pydantic/pull/10180)
* Deprecate passing a dict to the `Examples` class by Viicos in [10181](https://github.com/pydantic/pydantic/pull/10181)
* Remove `initial_metadata` from internal metadata construct by sydney-runkle in [10194](https://github.com/pydantic/pydantic/pull/10194)
* Use `re.Pattern.search` instead of `re.Pattern.match` for consistency with `rust` behavior by tinez in [pydantic/pydantic-core1368](https://github.com/pydantic/pydantic-core/pull/1368)
* Show value of wrongly typed data in `pydantic-core` serialization warning by BoxyUwU in [pydantic/pydantic-core1377](https://github.com/pydantic/pydantic-core/pull/1377)
* Breaking Change: in `pydantic-core`, change `metadata` type hint in core schemas from `Any` -> `Dict[str, Any] | None` by sydney-runkle in [pydantic/pydantic-core1411](https://github.com/pydantic/pydantic-core/pull/1411)
* Raise helpful warning when `self` isn't returned from model validator by sydney-runkle in [10255](https://github.com/pydantic/pydantic/pull/10255)

Performance

* Initial start at improving import times for modules, using caching primarily by sydney-runkle in [10009](https://github.com/pydantic/pydantic/pull/10009)
* Using cached internal import for `BaseModel` by sydney-runkle in [10013](https://github.com/pydantic/pydantic/pull/10013)
* Simplify internal generics logic - remove generator overhead by sydney-runkle in [10059](https://github.com/pydantic/pydantic/pull/10059)
* Remove default module globals from types namespace by sydney-runkle in [10123](https://github.com/pydantic/pydantic/pull/10123)
* Performance boost: skip caching parent namespaces in most cases by sydney-runkle in [10113](https://github.com/pydantic/pydantic/pull/10113)
* Update ns stack with already copied ns by sydney-runkle in [10267](https://github.com/pydantic/pydantic/pull/10267)

Minor Internal Improvements

* ⚡️ Speed up `multiple_of_validator()` by 31% in `pydantic/_internal/_validators.py` by misrasaurabh1 in [9839](https://github.com/pydantic/pydantic/pull/9839)
* ⚡️ Speed up `ModelPrivateAttr.__set_name__()` by 18% in `pydantic/fields.py` by misrasaurabh1 in [9841](https://github.com/pydantic/pydantic/pull/9841)
* ⚡️ Speed up `dataclass()` by 7% in `pydantic/dataclasses.py` by misrasaurabh1 in [9843](https://github.com/pydantic/pydantic/pull/9843)
* ⚡️ Speed up function `_field_name_for_signature` by 37% in `pydantic/_internal/_signature.py` by misrasaurabh1 in [9951](https://github.com/pydantic/pydantic/pull/9951)
* ⚡️ Speed up method `GenerateSchema._unpack_refs_defs` by 26% in `pydantic/_internal/_generate_schema.py` by misrasaurabh1 in [9949](https://github.com/pydantic/pydantic/pull/9949)
* ⚡️ Speed up function `apply_each_item_validators` by 100% in `pydantic/_internal/_generate_schema.py` by misrasaurabh1 in [9950](https://github.com/pydantic/pydantic/pull/9950)
* ⚡️ Speed up method `ConfigWrapper.core_config` by 28% in `pydantic/_internal/_config.py` by misrasaurabh1 in [9953](https://github.com/pydantic/pydantic/pull/9953)

Fixes

* Respect `use_enum_values` on `Literal` types by kwint in [9787](https://github.com/pydantic/pydantic/pull/9787)
* Prevent type error for exotic `BaseModel/RootModel` inheritance by dmontagu in [9913](https://github.com/pydantic/pydantic/pull/9913)
* Fix typing issue with field_validator-decorated methods by dmontagu in [9914](https://github.com/pydantic/pydantic/pull/9914)
* Replace `str` type annotation with `Any` in validator factories in documentation on validators by maximilianfellhuber in [9885](https://github.com/pydantic/pydantic/pull/9885)
* Fix `ComputedFieldInfo.wrapped_property` pointer when a property setter is assigned by tlambert03 in [9892](https://github.com/pydantic/pydantic/pull/9892)
* Fix recursive typing of `main.IncEnx` by tlambert03 in [9924](https://github.com/pydantic/pydantic/pull/9924)
* Allow usage of `type[Annotated[...]]` by Viicos in [9932](https://github.com/pydantic/pydantic/pull/9932)
* `mypy` plugin: handle frozen fields on a per-field basis by dmontagu in [9935](https://github.com/pydantic/pydantic/pull/9935)
* Fix typo in `invalid-annotated-type` error code by sydney-runkle in [9948](https://github.com/pydantic/pydantic/pull/9948)
* Simplify schema generation for `uuid`, `url`, and `ip` types by sydney-runkle in [9975](https://github.com/pydantic/pydantic/pull/9975)
* Move `date` schemas to `_generate_schema.py` by sydney-runkle in [9976](https://github.com/pydantic/pydantic/pull/9976)
* Move `decimal.Decimal` validation to `_generate_schema.py` by sydney-runkle in [9977](https://github.com/pydantic/pydantic/pull/9977)
* Simplify IP address schema in `_std_types_schema.py` by sydney-runkle in [9959](https://github.com/pydantic/pydantic/pull/9959)
* Fix type annotations for some potentially generic `GenerateSchema.match_type` options by sydney-runkle in [9961](https://github.com/pydantic/pydantic/pull/9961)
* Add class name to "has conflict" warnings by msabramo in [9964](https://github.com/pydantic/pydantic/pull/9964)
* Fix `dataclass` ignoring `default_factory` passed in Annotated by kc0506 in [9971](https://github.com/pydantic/pydantic/pull/9971)
* Fix `Sequence` ignoring `discriminator` by kc0506 in [9980](https://github.com/pydantic/pydantic/pull/9980)
* Fix typing for `IPvAnyAddress` and `IPvAnyInterface` by haoyun in [9990](https://github.com/pydantic/pydantic/pull/9990)
* Fix false positives on v1 models in `mypy` plugin for `from_orm` check requiring from_attributes=True config by radekwlsk in [9938](https://github.com/pydantic/pydantic/pull/9938)
* Apply `strict=True` to `__init__` in `mypy` plugin by kc0506 in [9998](https://github.com/pydantic/pydantic/pull/9998)
* Refactor application of `deque` annotations by sydney-runkle in [10018](https://github.com/pydantic/pydantic/pull/10018)
* Raise a better user error when failing to evaluate a forward reference by Viicos in [10030](https://github.com/pydantic/pydantic/pull/10030)
* Fix evaluation of `__pydantic_extra__` annotation in specific circumstances by Viicos in [10070](https://github.com/pydantic/pydantic/pull/10070)
* Fix `frozen` enforcement for `dataclasses` by sydney-runkle in [10066](https://github.com/pydantic/pydantic/pull/10066)
* Remove logic to handle unused `__get_pydantic_core_schema__` signature by Viicos in [10075](https://github.com/pydantic/pydantic/pull/10075)
* Use `is_annotated` consistently by Viicos in [10095](https://github.com/pydantic/pydantic/pull/10095)
* Fix `PydanticDeprecatedSince26` typo by kc0506 in [10101](https://github.com/pydantic/pydantic/pull/10101)
* Improve `pyright` tests, refactor model decorators signatures by Viicos in [10092](https://github.com/pydantic/pydantic/pull/10092)
* Fix `ip` serialization logic by sydney-runkle in [10112](https://github.com/pydantic/pydantic/pull/10112)
* Warn when frozen defined twice for `dataclasses` by mochi22 in [10082](https://github.com/pydantic/pydantic/pull/10082)
* Do not compute JSON Schema default when plain serializers are used with `when_used` set to `'json-unless-none'` and the default value is `None` by Viicos in [10121](https://github.com/pydantic/pydantic/pull/10121)
* Fix `ImportString` special cases by sydney-runkle in [10137](https://github.com/pydantic/pydantic/pull/10137)
* Blacklist default globals to support exotic user code with `__` prefixed annotations by sydney-runkle in [10136](https://github.com/pydantic/pydantic/pull/10136)
* Handle `nullable` schemas with `serialization` schema available during JSON Schema generation by Viicos in [10132](https://github.com/pydantic/pydantic/pull/10132)
* Reorganize `BaseModel` annotations by kc0506 in [10110](https://github.com/pydantic/pydantic/pull/10110)
* Fix core schema simplification when serialization schemas are involved in specific scenarios by Viicos in [10155](https://github.com/pydantic/pydantic/pull/10155)
* Add support for stringified annotations when using `PrivateAttr` with `Annotated` by Viicos in [10157](https://github.com/pydantic/pydantic/pull/10157)
* Fix JSON Schema `number` type for literal and enum schemas by Viicos in [10172](https://github.com/pydantic/pydantic/pull/10172)
* Fix JSON Schema generation of fields with plain validators in serialization mode by Viicos in [10167](https://github.com/pydantic/pydantic/pull/10167)
* Fix invalid JSON Schemas being generated for functions in certain scenarios by Viicos in [10188](https://github.com/pydantic/pydantic/pull/10188)
* Make sure generated JSON Schemas are valid in tests by Viicos in [10182](https://github.com/pydantic/pydantic/pull/10182)
* Fix key error with custom serializer by sydney-runkle in [10200](https://github.com/pydantic/pydantic/pull/10200)
* Add 'wss' for allowed schemes in NatsDsn by swelborn in [10224](https://github.com/pydantic/pydantic/pull/10224)
* Fix `Mapping` and `MutableMapping` annotations to use mapping schema instead of dict schema by sydney-runkle in [10020](https://github.com/pydantic/pydantic/pull/10020)
* Fix JSON Schema generation for constrained dates by Viicos in [10185](https://github.com/pydantic/pydantic/pull/10185)
* Fix discriminated union bug regression when using enums by kfreezen in [pydantic/pydantic-core1286](https://github.com/pydantic/pydantic-core/pull/1286)
* Fix `field_serializer` with computed field when using `*` by nix010 in [pydantic/pydantic-core1349](https://github.com/pydantic/pydantic-core/pull/1349)
* Try each option in `Union` serializer before inference by sydney-runkle in [pydantic/pydantic-core1398](https://github.com/pydantic/pydantic-core/pull/1398)
* Fix `float` serialization behavior in `strict` mode by sydney-runkle in [pydantic/pydantic-core1400](https://github.com/pydantic/pydantic-core/pull/1400)
* Introduce `exactness` into Decimal validation logic to improve union validation behavior by sydney-runkle in in [pydantic/pydantic-core1405](https://github.com/pydantic/pydantic-core/pull/1405)
* Fix new warnings assertions to use `pytest.warns()` by mgorny in [10241](https://github.com/pydantic/pydantic/pull/

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented Oct 7, 2025

Closing this in favor of #458

@pyup-bot pyup-bot closed this Oct 7, 2025
@nilakshdas nilakshdas deleted the pyup-update-pydantic-1.4-to-2.11.10 branch October 7, 2025 16:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant