Skip to content

Commit acbfe02

Browse files
fix(deps): Update dependency pydantic to v2.10.2 (#16)
This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | dependencies | minor | `2.4.2` -> `2.10.2` | `2.10.3` | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.10.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2102-2024-11-25) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.10.1...v2.10.2) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.10.2) ##### What's Changed ##### Fixes - Only evaluate FieldInfo annotations if required during schema building by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10769](https://togithub.com/pydantic/pydantic/pull/10769) - Do not evaluate annotations for private fields by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10962](https://togithub.com/pydantic/pydantic/pull/10962) - Support serialization as any for `Secret` types and `Url` types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10947](https://togithub.com/pydantic/pydantic/pull/10947) - Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10972](https://togithub.com/pydantic/pydantic/pull/10972) - Add hashing support for URL types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10975](https://togithub.com/pydantic/pydantic/pull/10975) - Hide `BaseModel.__replace__` definition from type checkers by [@&#8203;Viicos](https://togithub.com/Viicos) in [10979](https://togithub.com/pydantic/pydantic/pull/10979) ### [`v2.10.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2101-2024-11-21) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.10.0...v2.10.1) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.10.1) ##### What's Changed ##### Packaging - Bump `pydantic-core` version to `v2.27.1` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10938](https://togithub.com/pydantic/pydantic/pull/10938) ##### Fixes - Use the correct frame when instantiating a parametrized `TypeAdapter` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10893](https://togithub.com/pydantic/pydantic/pull/10893) - Relax check for validated data in `default_factory` utils by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10909](https://togithub.com/pydantic/pydantic/pull/10909) - Fix type checking issue with `model_fields` and `model_computed_fields` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10911](https://togithub.com/pydantic/pydantic/pull/10911) - Use the parent configuration during schema generation for stdlib `dataclass`es by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10928](https://togithub.com/pydantic/pydantic/pull/10928) - Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10929](https://togithub.com/pydantic/pydantic/pull/10929) - Fix URL constraint application by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10922](https://togithub.com/pydantic/pydantic/pull/10922) - Fix URL equality with different validation methods by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10934](https://togithub.com/pydantic/pydantic/pull/10934) - Fix JSON schema title when specified as `''` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10936](https://togithub.com/pydantic/pydantic/pull/10936) - Fix `python` mode serialization for `complex` inference by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic-core#1549](https://togithub.com/pydantic/pydantic-core/pull/1549) ##### New Contributors ### [`v2.10.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.9.2...v2.10.0) The code released in v2.10.0 is practically identical to that of v2.10.0b2. [GitHub release](https://togithub.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 [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10825](https://togithub.com/pydantic/pydantic/pull/10825) - Replaced pdm with uv by [@&#8203;frfahim](https://togithub.com/frfahim) in [#&#8203;10727](https://togithub.com/pydantic/pydantic/pull/10727) ##### New Features - Support `fractions.Fraction` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10318](https://togithub.com/pydantic/pydantic/pull/10318) - Support `Hashable` for json validation by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10324](https://togithub.com/pydantic/pydantic/pull/10324) - Add a `SocketPath` type for `linux` systems by [@&#8203;theunkn0wn1](https://togithub.com/theunkn0wn1) in [#&#8203;10378](https://togithub.com/pydantic/pydantic/pull/10378) - Allow arbitrary refs in JSON schema `examples` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10417](https://togithub.com/pydantic/pydantic/pull/10417) - Support `defer_build` for Pydantic dataclasses by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10313](https://togithub.com/pydantic/pydantic/pull/10313) - Adding v1 / v2 incompatibility warning for nested v1 model by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10431](https://togithub.com/pydantic/pydantic/pull/10431) - Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10416](https://togithub.com/pydantic/pydantic/pull/10416) - Support compiled patterns in `protected_namespaces` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10522](https://togithub.com/pydantic/pydantic/pull/10522) - Add support for `propertyNames` in JSON schema by [@&#8203;FlorianSW](https://togithub.com/FlorianSW) in [#&#8203;10478](https://togithub.com/pydantic/pydantic/pull/10478) - Adding `__replace__` protocol for Python 3.13+ support by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10596](https://togithub.com/pydantic/pydantic/pull/10596) - Expose public `sort` method for JSON schema generation by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10595](https://togithub.com/pydantic/pydantic/pull/10595) - Add runtime validation of `@validate_call` callable argument by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10627](https://togithub.com/pydantic/pydantic/pull/10627) - Add `experimental_allow_partial` support by [@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in [#&#8203;10748](https://togithub.com/pydantic/pydantic/pull/10748) - Support default factories taking validated data as an argument by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10678](https://togithub.com/pydantic/pydantic/pull/10678) - Allow subclassing `ValidationError` and `PydanticCustomError` by [@&#8203;Youssefares](https://togithub.com/Youssefares) in [pydantic/pydantic-core#1413](https://togithub.com/pydantic/pydantic-core/pull/1413) - Add `trailing-strings` support to `experimental_allow_partial` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10825](https://togithub.com/pydantic/pydantic/pull/10825) - Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10537](https://togithub.com/pydantic/pydantic/pull/10537) - Improve `TypeAdapter` instance repr by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10872](https://togithub.com/pydantic/pydantic/pull/10872) ##### Changes - Don't allow customization of `SchemaGenerator` until interface is more stable by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10303](https://togithub.com/pydantic/pydantic/pull/10303) - Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10329](https://togithub.com/pydantic/pydantic/pull/10329) - Fix `mro` of generic subclass by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10100](https://togithub.com/pydantic/pydantic/pull/10100) - Strip whitespaces on JSON Schema title generation by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10404](https://togithub.com/pydantic/pydantic/pull/10404) - Use `b64decode` and `b64encode` for `Base64Bytes` type by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10486](https://togithub.com/pydantic/pydantic/pull/10486) - Relax protected namespace config default by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10441](https://togithub.com/pydantic/pydantic/pull/10441) - Revalidate parametrized generics if instance's origin is subclass of OG class by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10666](https://togithub.com/pydantic/pydantic/pull/10666) - Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10406](https://togithub.com/pydantic/pydantic/pull/10406) - Recommend against using `Ellipsis` (...) with `Field` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10661](https://togithub.com/pydantic/pydantic/pull/10661) - Migrate to subclassing instead of annotated approach for pydantic url types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10662](https://togithub.com/pydantic/pydantic/pull/10662) - Change JSON schema generation of `Literal`s and `Enums` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10692](https://togithub.com/pydantic/pydantic/pull/10692) - Simplify unions involving `Any` or `Never` when replacing type variables by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10338](https://togithub.com/pydantic/pydantic/pull/10338) - Do not require padding when decoding `base64` bytes by [@&#8203;bschoenmaeckers](https://togithub.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://togithub.com/pydantic/pydantic-core/pull/1448) - Support dates all the way to 1BC by [@&#8203;changhc](https://togithub.com/changhc) in [pydantic/speedate#77](https://togithub.com/pydantic/speedate/pull/77) ##### Performance - Schema cleaning: skip unnecessary copies during schema walking by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10286](https://togithub.com/pydantic/pydantic/pull/10286) - Refactor namespace logic for annotations evaluation by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10530](https://togithub.com/pydantic/pydantic/pull/10530) - Improve email regexp on edge cases by [@&#8203;AlekseyLobanov](https://togithub.com/AlekseyLobanov) in [#&#8203;10601](https://togithub.com/pydantic/pydantic/pull/10601) - `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10675](https://togithub.com/pydantic/pydantic/pull/10675) ##### Fixes - Remove guarding check on `computed_field` with `field_serializer` by [@&#8203;nix010](https://togithub.com/nix010) in [#&#8203;10390](https://togithub.com/pydantic/pydantic/pull/10390) - Fix `Predicate` issue in `v2.9.0` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10321](https://togithub.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10327](https://togithub.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@&#8203;jakob-keller](https://togithub.com/jakob-keller) in [#&#8203;10331](https://togithub.com/pydantic/pydantic/pull/10331) - Use correct types namespace when building `namedtuple` core schemas by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10337](https://togithub.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10347](https://togithub.com/pydantic/pydantic/pull/10347) - Fix `IncEx` type alias definition by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10339](https://togithub.com/pydantic/pydantic/pull/10339) - Do not error when trying to evaluate annotations of private attributes by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10358](https://togithub.com/pydantic/pydantic/pull/10358) - Fix nested type statement by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10369](https://togithub.com/pydantic/pydantic/pull/10369) - Improve typing of `ModelMetaclass.mro` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10372](https://togithub.com/pydantic/pydantic/pull/10372) - Fix class access of deprecated `computed_field`s by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10391](https://togithub.com/pydantic/pydantic/pull/10391) - Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@&#8203;MovisLi](https://togithub.com/MovisLi) in [#&#8203;10374](https://togithub.com/pydantic/pydantic/pull/10374) - Fix `NameError` when using `validate_call` with PEP 695 on a class by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10380](https://togithub.com/pydantic/pydantic/pull/10380) - Fix `ZoneInfo` with various invalid types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10408](https://togithub.com/pydantic/pydantic/pull/10408) - Fix `PydanticUserError` on empty `model_config` with annotations by [@&#8203;cdwilson](https://togithub.com/cdwilson) in [#&#8203;10412](https://togithub.com/pydantic/pydantic/pull/10412) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10414](https://togithub.com/pydantic/pydantic/pull/10414) - Fix serialization schema generation when using `PlainValidator` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10427](https://togithub.com/pydantic/pydantic/pull/10427) - Fix schema generation error when serialization schema holds references by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10444](https://togithub.com/pydantic/pydantic/pull/10444) - Inline references if possible when generating schema for `json_schema_input_type` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10439](https://togithub.com/pydantic/pydantic/pull/10439) - Fix recursive arguments in `Representation` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10480](https://togithub.com/pydantic/pydantic/pull/10480) - Fix representation for builtin function types by [@&#8203;kschwab](https://togithub.com/kschwab) in [#&#8203;10479](https://togithub.com/pydantic/pydantic/pull/10479) - Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10506](https://togithub.com/pydantic/pydantic/pull/10506) - Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10518](https://togithub.com/pydantic/pydantic/pull/10518) - Fix `stacklevel` on deprecation warnings for `BaseModel` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10520](https://togithub.com/pydantic/pydantic/pull/10520) - Fix warning `stacklevel` in `BaseModel.__init__` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10526](https://togithub.com/pydantic/pydantic/pull/10526) - Improve error handling for in-evaluable refs for discriminator application by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10440](https://togithub.com/pydantic/pydantic/pull/10440) - Change the signature of `ConfigWrapper.core_config` to take the title directly by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10562](https://togithub.com/pydantic/pydantic/pull/10562) - Do not use the previous config from the stack for dataclasses without config by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10576](https://togithub.com/pydantic/pydantic/pull/10576) - Fix serialization for IP types with `mode='python'` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10594](https://togithub.com/pydantic/pydantic/pull/10594) - Support constraint application for `Base64Etc` types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10584](https://togithub.com/pydantic/pydantic/pull/10584) - Fix `validate_call` ignoring `Field` in `Annotated` by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10610](https://togithub.com/pydantic/pydantic/pull/10610) - Raise an error when `Self` is invalid by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10609](https://togithub.com/pydantic/pydantic/pull/10609) - Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10523](https://togithub.com/pydantic/pydantic/pull/10523) - Tweak type alias logic by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10643](https://togithub.com/pydantic/pydantic/pull/10643) - Support usage of `type` with `typing.Self` and type aliases by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10621](https://togithub.com/pydantic/pydantic/pull/10621) - Use overloads for `Field` and `PrivateAttr` functions by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10651](https://togithub.com/pydantic/pydantic/pull/10651) - Clean up the `mypy` plugin implementation by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10669](https://togithub.com/pydantic/pydantic/pull/10669) - Properly check for `typing_extensions` variant of `TypeAliasType` by [@&#8203;Daraan](https://togithub.com/Daraan) in [#&#8203;10713](https://togithub.com/pydantic/pydantic/pull/10713) - Allow any mapping in `BaseModel.model_copy()` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10751](https://togithub.com/pydantic/pydantic/pull/10751) - Fix `isinstance` behavior for urls by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10766](https://togithub.com/pydantic/pydantic/pull/10766) - Ensure `cached_property` can be set on Pydantic models by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10774](https://togithub.com/pydantic/pydantic/pull/10774) - Fix equality checks for primitives in literals by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://togithub.com/pydantic/pydantic-core/pull/1459) - Properly enforce `host_required` for URLs by [@&#8203;Viicos](https://togithub.com/Viicos) in [pydantic/pydantic-core#1488](https://togithub.com/pydantic/pydantic-core/pull/1488) - Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@&#8203;andrey-berenda](https://togithub.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://togithub.com/pydantic/pydantic-core/pull/1515) - Fix serializing `complex` values in `Enum`s by [@&#8203;changhc](https://togithub.com/changhc) in [pydantic/pydantic-core#1524](https://togithub.com/pydantic/pydantic-core/pull/1524) - Refactor `_typing_extra` module by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10725](https://togithub.com/pydantic/pydantic/pull/10725) - Support intuitive equality for urls by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10798](https://togithub.com/pydantic/pydantic/pull/10798) - Add `bytearray` to `TypeAdapter.validate_json` signature by [@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in [#&#8203;10802](https://togithub.com/pydantic/pydantic/pull/10802) - Ensure class access of method descriptors is performed when used as a default with `Field` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10816](https://togithub.com/pydantic/pydantic/pull/10816) - Fix circular import with `validate_call` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10807](https://togithub.com/pydantic/pydantic/pull/10807) - Fix error when using type aliases referencing other type aliases by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10809](https://togithub.com/pydantic/pydantic/pull/10809) - Fix `IncEx` type alias to be compatible with mypy by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10813](https://togithub.com/pydantic/pydantic/pull/10813) - Make `__signature__` a lazy property, do not deepcopy defaults by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10818](https://togithub.com/pydantic/pydantic/pull/10818) - Make `__signature__` lazy for dataclasses, too by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10832](https://togithub.com/pydantic/pydantic/pull/10832) - Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10856](https://togithub.com/pydantic/pydantic/pull/10856) ##### New Contributors - [@&#8203;jakob-keller](https://togithub.com/jakob-keller) made their first contribution in [#&#8203;10331](https://togithub.com/pydantic/pydantic/pull/10331) - [@&#8203;MovisLi](https://togithub.com/MovisLi) made their first contribution in [#&#8203;10374](https://togithub.com/pydantic/pydantic/pull/10374) - [@&#8203;joaopalmeiro](https://togithub.com/joaopalmeiro) made their first contribution in [#&#8203;10405](https://togithub.com/pydantic/pydantic/pull/10405) - [@&#8203;theunkn0wn1](https://togithub.com/theunkn0wn1) made their first contribution in [#&#8203;10378](https://togithub.com/pydantic/pydantic/pull/10378) - [@&#8203;cdwilson](https://togithub.com/cdwilson) made their first contribution in [#&#8203;10412](https://togithub.com/pydantic/pydantic/pull/10412) - [@&#8203;dlax](https://togithub.com/dlax) made their first contribution in [#&#8203;10421](https://togithub.com/pydantic/pydantic/pull/10421) - [@&#8203;kschwab](https://togithub.com/kschwab) made their first contribution in [#&#8203;10479](https://togithub.com/pydantic/pydantic/pull/10479) - [@&#8203;santibreo](https://togithub.com/santibreo) made their first contribution in [#&#8203;10453](https://togithub.com/pydantic/pydantic/pull/10453) - [@&#8203;FlorianSW](https://togithub.com/FlorianSW) made their first contribution in [#&#8203;10478](https://togithub.com/pydantic/pydantic/pull/10478) - [@&#8203;tkasuz](https://togithub.com/tkasuz) made their first contribution in [#&#8203;10555](https://togithub.com/pydantic/pydantic/pull/10555) - [@&#8203;AlekseyLobanov](https://togithub.com/AlekseyLobanov) made their first contribution in [#&#8203;10601](https://togithub.com/pydantic/pydantic/pull/10601) - [@&#8203;NiclasvanEyk](https://togithub.com/NiclasvanEyk) made their first contribution in [#&#8203;10667](https://togithub.com/pydantic/pydantic/pull/10667) - [@&#8203;mschoettle](https://togithub.com/mschoettle) made their first contribution in [#&#8203;10677](https://togithub.com/pydantic/pydantic/pull/10677) - [@&#8203;Daraan](https://togithub.com/Daraan) made their first contribution in [#&#8203;10713](https://togithub.com/pydantic/pydantic/pull/10713) - [@&#8203;k4nar](https://togithub.com/k4nar) made their first contribution in [#&#8203;10736](https://togithub.com/pydantic/pydantic/pull/10736) - [@&#8203;UriyaHarpeness](https://togithub.com/UriyaHarpeness) made their first contribution in [#&#8203;10740](https://togithub.com/pydantic/pydantic/pull/10740) - [@&#8203;frfahim](https://togithub.com/frfahim) made their first contribution in [#&#8203;10727](https://togithub.com/pydantic/pydantic/pull/10727) ### [`v2.9.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v292-2024-09-17) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.9.1...v2.9.2) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.9.2) ##### What's Changed ##### Fixes - Do not error when trying to evaluate annotations of private attributes by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10358](https://togithub.com/pydantic/pydantic/pull/10358) - Adding notes on designing sound `Callable` discriminators by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10400](https://togithub.com/pydantic/pydantic/pull/10400) - Fix serialization schema generation when using `PlainValidator` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10427](https://togithub.com/pydantic/pydantic/pull/10427) - Fix `Union` serialization warnings by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1449](https://togithub.com/pydantic/pydantic-core/pull/1449) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10414](https://togithub.com/pydantic/pydantic/pull/10414) - Fix `ZoneInfo` validation with various invalid types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10408](https://togithub.com/pydantic/pydantic/pull/10408) ### [`v2.9.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v291-2024-09-09) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.9.0...v2.9.1) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.9.1) ##### What's Changed ##### Fixes - Fix Predicate issue in v2.9.0 by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10321](https://togithub.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound to `>=0.6.0` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10327](https://togithub.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@&#8203;jakob-keller](https://togithub.com/jakob-keller) in [#&#8203;10331](https://togithub.com/pydantic/pydantic/pull/10331) - Fix `IncExc` type alias definition by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10339](https://togithub.com/pydantic/pydantic/pull/10339) - Use correct types namespace when building namedtuple core schemas by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10337](https://togithub.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10347](https://togithub.com/pydantic/pydantic/pull/10347) - Fix tagged union serialization with alias generators by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1442](https://togithub.com/pydantic/pydantic-core/pull/1442) ### [`v2.9.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v290-2024-09-05) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.8.2...v2.9.0) [GitHub release](https://togithub.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 [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9801](https://togithub.com/pydantic/pydantic/pull/9801) - Bump `pydantic-extra-types` to `v2.9.0` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9832](https://togithub.com/pydantic/pydantic/pull/9832) - Support compatibility with `pdm v2.18.1` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10138](https://togithub.com/pydantic/pydantic/pull/10138) - Bump `v1` version stub to `v1.10.18` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10214](https://togithub.com/pydantic/pydantic/pull/10214) - Bump `pydantic-core` to `v2.23.2` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10311](https://togithub.com/pydantic/pydantic/pull/10311) ##### New Features - Add support for `ZoneInfo` by [@&#8203;Youssefares](https://togithub.com/Youssefares) in [#&#8203;9896](https://togithub.com/pydantic/pydantic/pull/9896) - Add `Config.val_json_bytes` by [@&#8203;josh-newman](https://togithub.com/josh-newman) in [#&#8203;9770](https://togithub.com/pydantic/pydantic/pull/9770) - Add DSN for Snowflake by [@&#8203;aditkumar72](https://togithub.com/aditkumar72) in [#&#8203;10128](https://togithub.com/pydantic/pydantic/pull/10128) - Support `complex` number by [@&#8203;changhc](https://togithub.com/changhc) in [#&#8203;9654](https://togithub.com/pydantic/pydantic/pull/9654) - Add support for `annotated_types.Not` by [@&#8203;aditkumar72](https://togithub.com/aditkumar72) in [#&#8203;10210](https://togithub.com/pydantic/pydantic/pull/10210) - Allow `WithJsonSchema` to inject `$ref`s w/ `http` or `https` links by [@&#8203;dAIsySHEng1](https://togithub.com/dAIsySHEng1) in [#&#8203;9863](https://togithub.com/pydantic/pydantic/pull/9863) - Allow validators to customize validation JSON schema by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10094](https://togithub.com/pydantic/pydantic/pull/10094) - Support parametrized `PathLike` types by [@&#8203;nix010](https://togithub.com/nix010) in [#&#8203;9764](https://togithub.com/pydantic/pydantic/pull/9764) - Add tagged union serializer that attempts to use `str` or `callable` discriminators to select the correct serializer by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in in [pydantic/pydantic-core#1397](https://togithub.com/pydantic/pydantic-core/pull/1397) ##### Changes - Breaking Change: Merge `dict` type `json_schema_extra` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9792](https://togithub.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 [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9979](https://togithub.com/pydantic/pydantic/pull/9979) - Move annotation compatibility errors to validation phase by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9999](https://togithub.com/pydantic/pydantic/pull/9999) - Improve runtime errors for string constraints like `pattern` for incompatible types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10158](https://togithub.com/pydantic/pydantic/pull/10158) - Remove `'allOf'` JSON schema workarounds by [@&#8203;dpeachey](https://togithub.com/dpeachey) in [#&#8203;10029](https://togithub.com/pydantic/pydantic/pull/10029) - Remove `typed_dict_cls` data from `CoreMetadata` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10180](https://togithub.com/pydantic/pydantic/pull/10180) - Deprecate passing a dict to the `Examples` class by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10181](https://togithub.com/pydantic/pydantic/pull/10181) - Remove `initial_metadata` from internal metadata construct by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10194](https://togithub.com/pydantic/pydantic/pull/10194) - Use `re.Pattern.search` instead of `re.Pattern.match` for consistency with `rust` behavior by [@&#8203;tinez](https://togithub.com/tinez) in [pydantic/pydantic-core#1368](https://togithub.com/pydantic/pydantic-core/pull/1368) - Show value of wrongly typed data in `pydantic-core` serialization warning by [@&#8203;BoxyUwU](https://togithub.com/BoxyUwU) in [pydantic/pydantic-core#1377](https://togithub.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 [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1411](https://togithub.com/pydantic/pydantic-core/pull/1411) - Raise helpful warning when `self` isn't returned from model validator by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10255](https://togithub.com/pydantic/pydantic/pull/10255) ##### Performance - Initial start at improving import times for modules, using caching primarily by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10009](https://togithub.com/pydantic/pydantic/pull/10009) - Using cached internal import for `BaseModel` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10013](https://togithub.com/pydantic/pydantic/pull/10013) - Simplify internal generics logic - remove generator overhead by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10059](https://togithub.com/pydantic/pydantic/pull/10059) - Remove default module globals from types namespace by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10123](https://togithub.com/pydantic/pydantic/pull/10123) - Performance boost: skip caching parent namespaces in most cases by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10113](https://togithub.com/pydantic/pydantic/pull/10113) - Update ns stack with already copied ns by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10267](https://togithub.com/pydantic/pydantic/pull/10267) ##### Minor Internal Improvements - ⚡️ Speed up `multiple_of_validator()` by 31% in `pydantic/_internal/_validators.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9839](https://togithub.com/pydantic/pydantic/pull/9839) - ⚡️ Speed up `ModelPrivateAttr.__set_name__()` by 18% in `pydantic/fields.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9841](https://togithub.com/pydantic/pydantic/pull/9841) - ⚡️ Speed up `dataclass()` by 7% in `pydantic/dataclasses.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9843](https://togithub.com/pydantic/pydantic/pull/9843) - ⚡️ Speed up function `_field_name_for_signature` by 37% in `pydantic/_internal/_signature.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9951](https://togithub.com/pydantic/pydantic/pull/9951) - ⚡️ Speed up method `GenerateSchema._unpack_refs_defs` by 26% in `pydantic/_internal/_generate_schema.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9949](https://togithub.com/pydantic/pydantic/pull/9949) - ⚡️ Speed up function `apply_each_item_validators` by 100% in `pydantic/_internal/_generate_schema.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9950](https://togithub.com/pydantic/pydantic/pull/9950) - ⚡️ Speed up method `ConfigWrapper.core_config` by 28% in `pydantic/_internal/_config.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9953](https://togithub.com/pydantic/pydantic/pull/9953) ##### Fixes - Respect `use_enum_values` on `Literal` types by [@&#8203;kwint](https://togithub.com/kwint) in [#&#8203;9787](https://togithub.com/pydantic/pydantic/pull/9787) - Prevent type error for exotic `BaseModel/RootModel` inheritance by [@&#8203;dmontagu](https://togithub.com/dmontagu) in [#&#8203;9913](https://togithub.com/pydantic/pydantic/pull/9913) - Fix typing issue with field_validator-decorated methods by [@&#8203;dmontagu](https://togithub.com/dmontagu) in [#&#8203;9914](https://togithub.com/pydantic/pydantic/pull/9914) - Replace `str` type annotation with `Any` in validator factories in documentation on validators by [@&#8203;maximilianfellhuber](https://togithub.com/maximilianfellhuber) in [#&#8203;9885](https://togithub.com/pydantic/pydantic/pull/9885) - Fix `ComputedFieldInfo.wrapped_property` pointer when a property setter is assigned by [@&#8203;tlambert03](https://togithub.com/tlambert03) in [#&#8203;9892](https://togithub.com/pydantic/pydantic/pull/9892) - Fix recursive typing of `main.IncEnx` by [@&#8203;tlambert03](https://togithub.com/tlambert03) in [#&#8203;9924](https://togithub.com/pydantic/pydantic/pull/9924) - Allow usage of `type[Annotated[...]]` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;9932](https://togithub.com/pydantic/pydantic/pull/9932) - `mypy` plugin: handle frozen fields on a per-field basis by [@&#8203;dmontagu](https://togithub.com/dmontagu) in [#&#8203;9935](https://togithub.com/pydantic/pydantic/pull/9935) - Fix typo in `invalid-annotated-type` error code by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9948](https://togithub.com/pydantic/pydantic/pull/9948) - Simplify schema generation for `uuid`, `url`, and `ip` types by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9975](https://togithub.com/pydantic/pydantic/pull/9975) - Move `date` schemas to `_generate_schema.py` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9976](https://togithub.com/pydantic/pydantic/pull/9976) - Move `decimal.Decimal` validation to `_generate_schema.py` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9977](https://togithub.com/pydantic/pydantic/pull/9977) - Simplify IP address schema in `_std_types_schema.py` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9959](https://togithub.com/pydantic/pydantic/pull/9959) - Fix type annotations for some potentially generic `GenerateSchema.match_type` options by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9961](https://togithub.com/pydantic/pydantic/pull/9961) - Add class name to "has conflict" warnings by [@&#8203;msabramo](https://togithub.com/msabramo) in [#&#8203;9964](https://togithub.com/pydantic/pydantic/pull/9964) - Fix `dataclass` ignoring `default_factory` passed in Annotated by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;9971](https://togithub.com/pydantic/pydantic/pull/9971) - Fix `Sequence` ignoring `discriminator` by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;9980](https://togithub.com/pydantic/pydantic/pull/9980) - Fix typing for `IPvAnyAddress` and `IPvAnyInterface` by [@&#8203;haoyun](https://togithub.com/haoyun) in [#&#8203;9990](https://togithub.com/pydantic/pydantic/pull/9990) - Fix false positives on v1 models in `mypy` plugin for `from_orm` check requiring from_attributes=True config by [@&#8203;radekwlsk](https://togithub.com/radekwlsk) in [#&#8203;9938](https://togithub.com/pydantic/pydantic/pull/9938) - Apply `strict=True` to `__init__` in `mypy` plugin by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;9998](https://togithub.com/pydantic/pydantic/pull/9998) - Refactor application of `deque` annotations by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10018](https://togithub.com/pydantic/pydantic/pull/10018) - Raise a better user error when failing to evaluate a forward reference by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10030](https://togithub.com/pydantic/pydantic/pull/10030) - Fix evaluation of `__pydantic_extra__` annotation in specific circumstances by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10070](https://togithub.com/pydantic/pydantic/pull/10070) - Fix `frozen` enforcement for `dataclasses` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10066](https://togithub.com/pydantic/pydantic/pull/10066) - Remove logic to handle unused `__get_pydantic_core_schema__` signature by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10075](https://togithub.com/pydantic/pydantic/pull/10075) - Use `is_annotated` consistently by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10095](https://togithub.com/pydantic/pydantic/pull/10095) - Fix `PydanticDeprecatedSince26` typo by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10101](https://togithub.com/pydantic/pydantic/pull/10101) - Improve `pyright` tests, refactor model decorators signatures by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10092](https://togithub.com/pydantic/pydantic/pull/10092) - Fix `ip` serialization logic by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10112](https://togithub.com/pydantic/pydantic/pull/10112) - Warn when frozen defined twice for `dataclasses` by [@&#8203;mochi22](https://togithub.com/mochi22) in [#&#8203;10082](https://togithub.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 [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10121](https://togithub.com/pydantic/pydantic/pull/10121) - Fix `ImportString` special cases by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10137](https://togithub.com/pydantic/pydantic/pull/10137) - Blacklist default globals to support exotic user code with `__` prefixed annotations by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10136](https://togithub.com/pydantic/pydantic/pull/10136) - Handle `nullable` schemas with `serialization` schema available during JSON Schema generation by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10132](https://togithub.com/pydantic/pydantic/pull/10132) - Reorganize `BaseModel` annotations by [@&#8203;kc0506](https://togithub.com/kc0506) in [#&#8203;10110](https://togithub.com/pydantic/pydantic/pull/10110) - Fix core schema simplification when serialization schemas are involved in specific scenarios by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10155](https://togithub.com/pydantic/pydantic/pull/10155) - Add support for stringified annotations when using `PrivateAttr` with `Annotated` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10157](https://togithub.com/pydantic/pydantic/pull/10157) - Fix JSON Schema `number` type for literal and enum schemas by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10172](https://togithub.com/pydantic/pydantic/pull/10172) - Fix JSON Schema generation of fields with plain validators in serialization mode by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10167](https://togithub.com/pydantic/pydantic/pull/10167) - Fix invalid JSON Schemas being generated for functions in certain scenarios by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10188](https://togithub.com/pydantic/pydantic/pull/10188) - Make sure generated JSON Schemas are valid in tests by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10182](https://togithub.com/pydantic/pydantic/pull/10182) - Fix key error with custom serializer by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10200](https://togithub.com/pydantic/pydantic/pull/10200) - Add 'wss' for allowed schemes in NatsDsn by [@&#8203;swelborn](https://togithub.com/swelborn) in [#&#8203;10224](https://togithub.com/pydantic/pydantic/pull/10224) - Fix `Mapping` and `MutableMapping` annotations to use mapping schema instead of dict schema by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10020](https://togithub.com/pydantic/pydantic/pull/10020) - Fix JSON Schema generation for constrained dates by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10185](https://togithub.com/pydantic/pydantic/pull/10185) - Fix discriminated union bug regression when using enums by [@&#8203;kfreezen](https://togithub.com/kfreezen) in [pydantic/pydantic-core#1286](https://togithub.com/pydantic/pydantic-core/pull/1286) - Fix `field_serializer` with computed field when using `*` by [@&#8203;nix010](https://togithub.com/nix010) in [pydantic/pydantic-core#1349](https://togithub.com/pydantic/pydantic-core/pull/1349) - Try each option in `Union` serializer before inference by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1398](https://togithub.com/pydantic/pydantic-core/pull/1398) - Fix `float` serialization behavior in `strict` mode by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1400](https://togithub.com/pydantic/pydantic-core/pull/1400) - Introduce `exactness` into Decimal validation logic to improve union validation behavior by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in in [pydantic/pydantic-core#1405](https://togithub.com/pydantic/pydantic-core/pull/1405) - Fix new warnings assertions to use `pytest.warns()` by [@&#8203;mgorny](https://togithub.com/mgorny) in [#&#8203;10241](https://togithub.com/pydantic/pydantic/pull/10241) - Fix a crash when cleaning the namespace in `ModelMetaclass` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10242](https://togithub.com/pydantic/pydantic/pull/10242) - Fix parent namespace issue with model rebuilds by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10257](https://togithub.com/pydantic/pydantic/pull/10257) - Remove defaults filter for namespace by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10261](https://togithub.com/pydantic/pydantic/pull/10261) - Use identity instead of equality after validating model in `__init__` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10264](https://togithub.com/pydantic/pydantic/pull/10264) - Support `BigInt` serialization for `int` subclasses by [@&#8203;kxx317](https://togithub.com/kxx317) in [pydantic/pydantic-core#1417](https://togithub.com/pydantic/pydantic-core/pull/1417) - Support signature for wrap validators without `info` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10277](https://togithub.com/pydantic/pydantic/pull/10277) - Ensure `__pydantic_complete__` is set when rebuilding `dataclasses` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;10291](https://togithub.com/pydantic/pydantic/pull/10291) - Respect `schema_generator` config value in `TypeAdapter` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;10300](https://togithub.com/pydantic/pydantic/pull/10300) ##### New Contributors ##### `pydantic` - [@&#8203;kwint](https://togithub.com/kwint) made their first contribution in [#&#8203;9787](https://togithub.com/pydantic/pydantic/pull/9787) - [@&#8203;seekinginfiniteloop](https://togithub.com/seekinginfiniteloop) made their first contribution in [#&#8203;9822](https://togithub.com/pydantic/pydantic/pull/9822) - [@&#8203;a-alexander](https://togithub.com/a-alexander) made their first contribution in [#&#8203;9848](https://togithub.com/pydantic/pydantic/pull/9848) - [@&#8203;maximilianfellhuber](https://togithub.com/maximilianfellhuber) made their first contribution in [#&#8203;9885](https://togithub.com/pydantic/pydantic/pull/9885) - [@&#8203;karmaBonfire](https://togithub.com/karmaBonfire) made their first contribution in [#&#8203;9945](https://togithub.com/pydantic/pydantic/pull/9945) - [@&#8203;s-rigaud](https://togithub.com/s-rigaud) made their first contribution in [#&#8203;9958](https://togithub.com/pydantic/pydantic/pull/9958) - [@&#8203;msabramo](https://togithub.com/msabramo) made their first contribution in [#&#8203;9964](https://togithub.com/pydantic/pydantic/pull/9964) - [@&#8203;DimaCybr](https://togithub.com/DimaCybr) made their first contribution in [#&#8203;9972](https://togithub.com/pydantic/pydantic/pull/9972) - [@&#8203;kc0506](https://togithub.com/kc0506) made their first contribution in [#&#8203;9971](https://togithub.com/pydantic/pydantic/pull/9971) - [@&#8203;haoyun](https://togithub.com/haoyun) made their first contribution in [#&#8203;9990](https://togithub.com/pydantic/pydantic/pull/9990) - [@&#8203;radekwlsk](https://togithub.com/radekwlsk) made their first contribution in [#&#8203;9938](https://togithub.com/pydantic/pydantic/pull/9938) - [@&#8203;dpeachey](https://togithub.com/dpeachey) made their first contribution in [#&#8203;10029](https://togithub.com/pydantic/pydantic/pull/10029) - [@&#8203;BoxyUwU](https://togithub.com/BoxyUwU) made their first contribution in [#&#8203;10085](https://togithub.com/pydantic/pydantic/pull/10085) - [@&#8203;mochi22](https://togithub.com/mochi22) made their first contribution in [#&#8203;10082](https://togithub.com/pydantic/pydantic/pull/10082) - [@&#8203;aditkumar72](https://togithub.com/aditkumar72) made their first contribution in [#&#8203;10128](https://togithub.com/pydantic/pydantic/pull/10128) - [@&#8203;changhc](https://togithub.com/changhc) made their first contribution in [#&#8203;9654](https://togithub.com/pydantic/pydantic/pull/9654) - [@&#8203;insumanth](https://togithub.com/insumanth) made their first contribution in [#&#8203;10229](https://togithub.com/pydantic/pydantic/pull/10229) - [@&#8203;AdolfoVillalobos](https://togithub.com/AdolfoVillalobos) made their first contribution in [#&#8203;10240](https://togithub.com/pydantic/pydantic/pull/10240) - [@&#8203;bllchmbrs](https://togithub.com/bllchmbrs) made their first contribution in [#&#8203;10270](https://togithub.com/pydantic/pydantic/pull/10270) ##### `pydantic-core` - [@&#8203;kfreezen](https://togithub.com/kfreezen) made their first contribution in [pydantic/pydantic-core#1286](https://togithub.com/pydantic/pydantic-core/pull/1286) - [@&#8203;tinez](https://togithub.com/tinez) made their first contribution in [pydantic/pydantic-core#1368](https://togithub.com/pydantic/pydantic-core/pull/1368) - [@&#8203;fft001](https://togithub.com/fft001) made their first contribution in [pydantic/pydantic-core#1362](https://togithub.com/pydantic/pydantic-core/pull/1362) - [@&#8203;nix010](https://togithub.com/nix010) made their first contribution in [pydantic/pydantic-core#1349](https://togithub.com/pydantic/pydantic-core/pull/1349) - [@&#8203;BoxyUwU](https://togithub.com/BoxyUwU) made their first contribution in [pydantic/pydantic-core#1379](https://togithub.com/pydantic/pydantic-core/pull/1379) - [@&#8203;candleindark](https://togithub.com/candleindark) made their first contribution in [pydantic/pydantic-core#1404](https://togithub.com/pydantic/pydantic-core/pull/1404) - [@&#8203;changhc](https://togithub.com/changhc) made their first contribution in [pydantic/pydantic-core#1331](https://togithub.com/pydantic/pydantic-core/pull/1331) ### [`v2.8.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v282-2024-07-03) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.8.1...v2.8.2) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.2) ##### What's Changed ##### Fixes - Fix issue with assertion caused by pluggable schema validator by [@&#8203;dmontagu](https://togithub.com/dmontagu) in [#&#8203;9838](https://togithub.com/pydantic/pydantic/pull/9838) ### [`v2.8.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v281-2024-07-03) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.8.0...v2.8.1) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.1) ##### What's Changed ##### Packaging - Bump `ruff` to `v0.5.0` and `pyright` to `v1.1.369` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9801](https://togithub.com/pydantic/pydantic/pull/9801) - Bump `pydantic-core` to `v2.20.1`, `pydantic-extra-types` to `v2.9.0` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9832](https://togithub.com/pydantic/pydantic/pull/9832) ##### Fixes - Fix breaking change in `to_snake` from v2.7 -> v2.8 by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9812](https://togithub.com/pydantic/pydantic/pull/9812) - Fix list constraint json schema application by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9818](https://togithub.com/pydantic/pydantic/pull/9818) - Support time duration more than 23 by [@&#8203;nix010](https://togithub.com/nix010) in [pydantic/speedate#64](https://togithub.com/pydantic/speedate/pull/64) - Fix millisecond fraction being handled with the wrong scale by [@&#8203;davidhewitt](https://togithub.com/davidhewitt) in [pydantic/speedate#65](https://togithub.com/pydantic/speedate/pull/65) - Handle negative fractional durations correctly by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/speedate#71](https://togithub.com/pydantic/speedate/pull/71) ### [`v2.8.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v280-2024-07-01) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.4...v2.8.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.0) The code released in v2.8.0 is functionally identical to that of v2.8.0b1. ##### What's Changed ##### Packaging - Update citation version automatically with new releases by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9673](https://togithub.com/pydantic/pydantic/pull/9673) - Bump pyright to `v1.1.367` and add type checking tests for pipeline API by [@&#8203;adriangb](https://togithub.com/adriangb) in [#&#8203;9674](https://togithub.com/pydantic/pydantic/pull/9674) - Update `pydantic.v1` stub to `v1.10.17` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9707](https://togithub.com/pydantic/pydantic/pull/9707) - General package updates to prep for `v2.8.0b1` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9741](https://togithub.com/pydantic/pydantic/pull/9741) - Bump `pydantic-core` to `v2.20.0` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9745](https://togithub.com/pydantic/pydantic/pull/9745) - Add support for Python 3.13 by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9743](https://togithub.com/pydantic/pydantic/pull/9743) - Update `pdm` version used for `pdm.lock` to v2.16.1 by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9761](https://togithub.com/pydantic/pydantic/pull/9761) - Update to `ruff` `v0.4.8` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;9585](https://togithub.com/pydantic/pydantic/pull/9585) ##### New Features - Experimental: support `defer_build` for `TypeAdapter` by [@&#8203;MarkusSintonen](https://togithub.com/MarkusSintonen) in [#&#8203;8939](https://togithub.com/pydantic/pydantic/pull/8939) - Implement `deprecated` field in json schema by [@&#8203;NeevCohen](https://togithub.com/NeevCohen) in [#&#8203;9298](https://togithub.com/pydantic/pydantic/pull/9298) - Experimental: Add pipeline API by [@&#8203;adriangb](https://togithub.com/adriangb) in [#&#8203;9459](https://togithub.com/pydantic/pydantic/pull/9459) - Add support for programmatic title generation by [@&#8203;NeevCohen](https://togithub.com/NeevCohen) in [#&#8203;9183](https://togithub.com/pydantic/pydantic/pull/9183) - Implement `fail_fast` feature by [@&#8203;uriyyo](https://togithub.com/uriyyo) in [#&#8203;9708](https://togithub.com/pydantic/pydantic/pull/9708) - Add `ser_json_inf_nan='strings'` mode to produce valid JSON by [@&#8203;josh-newman](https://togithub.com/josh-newman) in [pydantic/pydantic-core#1307](https://togithub.com/pydantic/pydantic-core/pull/1307) ##### Changes - Add warning when "alias" is set in ignored `Annotated` field by [@&#8203;nix010](https://togithub.com/nix010) in [#&#8203;9170](https://togithub.com/pydantic/pydantic/pull/9170) - Support serialization of some serializable defaults in JSON schema by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9624](https://togithub.com/pydantic/pydantic/pull/9624) - Relax type specification for `__validators__` values in `create_model` by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [#&#8203;9697](https://togithub.com/pydantic/pydantic/pull/9697) - **Breaking Change:** Improve `smart` union matching logic by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1322](https://togithub.com/pydantic/pydantic-core/pull/1322) You can read more about our `smart` union matching logic [here](https://docs.pydantic.dev/dev/concepts/unions/#smart-mode). In some cases, if the old behavior is desired, you can switch to `left-to-right` mode and change the order of your `Union` members. ##### Performance ##### Internal Improvements - ⚡️ Speed up `_display_error_loc()` by 25% in `pydantic/v1/error_wrappers.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9653](https://togithub.com/pydantic/pydantic/pull/9653) - ⚡️ Speed up `_get_all_json_refs()` by 34% in `pydantic/json_schema.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9650](https://togithub.com/pydantic/pydantic/pull/9650) - ⚡️ Speed up `is_pydantic_dataclass()` by 41% in `pydantic/dataclasses.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9652](https://togithub.com/pydantic/pydantic/pull/9652) - ⚡️ Speed up `to_snake()` by 27% in `pydantic/alias_generators.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9747](https://togithub.com/pydantic/pydantic/pull/9747) - ⚡️ Speed up `unwrap_wrapped_function()` by 93% in `pydantic/_internal/_decorators.py` by [@&#8203;misrasaurabh1](https://togithub.com/misrasaurabh1) in [#&#8203;9727](https://togithub.com/pydantic/pydantic/pull/9727) ##### Fixes - Replace `__spec__.parent` with `__package__` by [@&#8203;hramezani](https://togithub.com/hramezani) in [#&#8203;9331](https://togithub.com/pydantic/pydantic/pull/9331) - Fix Outputted Model JSON Schema for `Sequence` type by [@&#8203;anesmemisevic](https://togithub.com/anesmemisevic) in [#&#8203;9303](https://togithub.com/pydantic/pydantic/pull/9303) - Fix typing of `_frame_depth` by [@&#8203;Viicos](https://togithub.com/Viicos) in [#&#8203;9353](https://togithub.com/pydantic/pydantic/pull/9353) - Make `ImportString` json schema compatible by [@&#8203;amitschang](https://togithub.com/am </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImF1dG9tZXJnZSJdfQ==-->
2 parents 6f86bcf + 700b90f commit acbfe02

File tree

1 file changed

+114
-119
lines changed

1 file changed

+114
-119
lines changed

0 commit comments

Comments
 (0)