-
Notifications
You must be signed in to change notification settings - Fork 0
Commit acbfe02
authored
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 [@​Viicos](https://togithub.com/Viicos) in [#​10769](https://togithub.com/pydantic/pydantic/pull/10769)
- Do not evaluate annotations for private fields by [@​Viicos](https://togithub.com/Viicos) in [#​10962](https://togithub.com/pydantic/pydantic/pull/10962)
- Support serialization as any for `Secret` types and `Url` types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​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 [@​Viicos](https://togithub.com/Viicos) in [#​10972](https://togithub.com/pydantic/pydantic/pull/10972)
- Add hashing support for URL types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10975](https://togithub.com/pydantic/pydantic/pull/10975)
- Hide `BaseModel.__replace__` definition from type checkers by [@​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 [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10938](https://togithub.com/pydantic/pydantic/pull/10938)
##### Fixes
- Use the correct frame when instantiating a parametrized `TypeAdapter` by [@​Viicos](https://togithub.com/Viicos) in [#​10893](https://togithub.com/pydantic/pydantic/pull/10893)
- Relax check for validated data in `default_factory` utils by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10909](https://togithub.com/pydantic/pydantic/pull/10909)
- Fix type checking issue with `model_fields` and `model_computed_fields` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10911](https://togithub.com/pydantic/pydantic/pull/10911)
- Use the parent configuration during schema generation for stdlib `dataclass`es by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​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 [@​Viicos](https://togithub.com/Viicos) in [#​10929](https://togithub.com/pydantic/pydantic/pull/10929)
- Fix URL constraint application by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10922](https://togithub.com/pydantic/pydantic/pull/10922)
- Fix URL equality with different validation methods by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10934](https://togithub.com/pydantic/pydantic/pull/10934)
- Fix JSON schema title when specified as `''` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10936](https://togithub.com/pydantic/pydantic/pull/10936)
- Fix `python` mode serialization for `complex` inference by [@​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 [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10825](https://togithub.com/pydantic/pydantic/pull/10825)
- Replaced pdm with uv by [@​frfahim](https://togithub.com/frfahim) in [#​10727](https://togithub.com/pydantic/pydantic/pull/10727)
##### New Features
- Support `fractions.Fraction` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10318](https://togithub.com/pydantic/pydantic/pull/10318)
- Support `Hashable` for json validation by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10324](https://togithub.com/pydantic/pydantic/pull/10324)
- Add a `SocketPath` type for `linux` systems by [@​theunkn0wn1](https://togithub.com/theunkn0wn1) in [#​10378](https://togithub.com/pydantic/pydantic/pull/10378)
- Allow arbitrary refs in JSON schema `examples` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10417](https://togithub.com/pydantic/pydantic/pull/10417)
- Support `defer_build` for Pydantic dataclasses by [@​Viicos](https://togithub.com/Viicos) in [#​10313](https://togithub.com/pydantic/pydantic/pull/10313)
- Adding v1 / v2 incompatibility warning for nested v1 model by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10431](https://togithub.com/pydantic/pydantic/pull/10431)
- Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@​Viicos](https://togithub.com/Viicos) in [#​10416](https://togithub.com/pydantic/pydantic/pull/10416)
- Support compiled patterns in `protected_namespaces` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10522](https://togithub.com/pydantic/pydantic/pull/10522)
- Add support for `propertyNames` in JSON schema by [@​FlorianSW](https://togithub.com/FlorianSW) in [#​10478](https://togithub.com/pydantic/pydantic/pull/10478)
- Adding `__replace__` protocol for Python 3.13+ support by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10596](https://togithub.com/pydantic/pydantic/pull/10596)
- Expose public `sort` method for JSON schema generation by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10595](https://togithub.com/pydantic/pydantic/pull/10595)
- Add runtime validation of `@validate_call` callable argument by [@​kc0506](https://togithub.com/kc0506) in [#​10627](https://togithub.com/pydantic/pydantic/pull/10627)
- Add `experimental_allow_partial` support by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​10748](https://togithub.com/pydantic/pydantic/pull/10748)
- Support default factories taking validated data as an argument by [@​Viicos](https://togithub.com/Viicos) in [#​10678](https://togithub.com/pydantic/pydantic/pull/10678)
- Allow subclassing `ValidationError` and `PydanticCustomError` by [@​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 [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10825](https://togithub.com/pydantic/pydantic/pull/10825)
- Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10537](https://togithub.com/pydantic/pydantic/pull/10537)
- Improve `TypeAdapter` instance repr by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10872](https://togithub.com/pydantic/pydantic/pull/10872)
##### Changes
- Don't allow customization of `SchemaGenerator` until interface is more stable by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10303](https://togithub.com/pydantic/pydantic/pull/10303)
- Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10329](https://togithub.com/pydantic/pydantic/pull/10329)
- Fix `mro` of generic subclass by [@​kc0506](https://togithub.com/kc0506) in [#​10100](https://togithub.com/pydantic/pydantic/pull/10100)
- Strip whitespaces on JSON Schema title generation by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10404](https://togithub.com/pydantic/pydantic/pull/10404)
- Use `b64decode` and `b64encode` for `Base64Bytes` type by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10486](https://togithub.com/pydantic/pydantic/pull/10486)
- Relax protected namespace config default by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10441](https://togithub.com/pydantic/pydantic/pull/10441)
- Revalidate parametrized generics if instance's origin is subclass of OG class by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10666](https://togithub.com/pydantic/pydantic/pull/10666)
- Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10406](https://togithub.com/pydantic/pydantic/pull/10406)
- Recommend against using `Ellipsis` (...) with `Field` by [@​Viicos](https://togithub.com/Viicos) in [#​10661](https://togithub.com/pydantic/pydantic/pull/10661)
- Migrate to subclassing instead of annotated approach for pydantic url types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10662](https://togithub.com/pydantic/pydantic/pull/10662)
- Change JSON schema generation of `Literal`s and `Enums` by [@​Viicos](https://togithub.com/Viicos) in [#​10692](https://togithub.com/pydantic/pydantic/pull/10692)
- Simplify unions involving `Any` or `Never` when replacing type variables by [@​Viicos](https://togithub.com/Viicos) in [#​10338](https://togithub.com/pydantic/pydantic/pull/10338)
- Do not require padding when decoding `base64` bytes by [@​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 [@​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 [@​Viicos](https://togithub.com/Viicos) in [#​10286](https://togithub.com/pydantic/pydantic/pull/10286)
- Refactor namespace logic for annotations evaluation by [@​Viicos](https://togithub.com/Viicos) in [#​10530](https://togithub.com/pydantic/pydantic/pull/10530)
- Improve email regexp on edge cases by [@​AlekseyLobanov](https://togithub.com/AlekseyLobanov) in [#​10601](https://togithub.com/pydantic/pydantic/pull/10601)
- `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10675](https://togithub.com/pydantic/pydantic/pull/10675)
##### Fixes
- Remove guarding check on `computed_field` with `field_serializer` by [@​nix010](https://togithub.com/nix010) in [#​10390](https://togithub.com/pydantic/pydantic/pull/10390)
- Fix `Predicate` issue in `v2.9.0` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10321](https://togithub.com/pydantic/pydantic/pull/10321)
- Fixing `annotated-types` bound by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10327](https://togithub.com/pydantic/pydantic/pull/10327)
- Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://togithub.com/jakob-keller) in [#​10331](https://togithub.com/pydantic/pydantic/pull/10331)
- Use correct types namespace when building `namedtuple` core schemas by [@​Viicos](https://togithub.com/Viicos) in [#​10337](https://togithub.com/pydantic/pydantic/pull/10337)
- Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://togithub.com/Viicos) in [#​10347](https://togithub.com/pydantic/pydantic/pull/10347)
- Fix `IncEx` type alias definition by [@​Viicos](https://togithub.com/Viicos) in [#​10339](https://togithub.com/pydantic/pydantic/pull/10339)
- Do not error when trying to evaluate annotations of private attributes by [@​Viicos](https://togithub.com/Viicos) in [#​10358](https://togithub.com/pydantic/pydantic/pull/10358)
- Fix nested type statement by [@​kc0506](https://togithub.com/kc0506) in [#​10369](https://togithub.com/pydantic/pydantic/pull/10369)
- Improve typing of `ModelMetaclass.mro` by [@​Viicos](https://togithub.com/Viicos) in [#​10372](https://togithub.com/pydantic/pydantic/pull/10372)
- Fix class access of deprecated `computed_field`s by [@​Viicos](https://togithub.com/Viicos) in [#​10391](https://togithub.com/pydantic/pydantic/pull/10391)
- Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@​MovisLi](https://togithub.com/MovisLi) in [#​10374](https://togithub.com/pydantic/pydantic/pull/10374)
- Fix `NameError` when using `validate_call` with PEP 695 on a class by [@​kc0506](https://togithub.com/kc0506) in [#​10380](https://togithub.com/pydantic/pydantic/pull/10380)
- Fix `ZoneInfo` with various invalid types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10408](https://togithub.com/pydantic/pydantic/pull/10408)
- Fix `PydanticUserError` on empty `model_config` with annotations by [@​cdwilson](https://togithub.com/cdwilson) in [#​10412](https://togithub.com/pydantic/pydantic/pull/10412)
- Fix variance issue in `_IncEx` type alias, only allow `True` by [@​Viicos](https://togithub.com/Viicos) in [#​10414](https://togithub.com/pydantic/pydantic/pull/10414)
- Fix serialization schema generation when using `PlainValidator` by [@​Viicos](https://togithub.com/Viicos) in [#​10427](https://togithub.com/pydantic/pydantic/pull/10427)
- Fix schema generation error when serialization schema holds references by [@​Viicos](https://togithub.com/Viicos) in [#​10444](https://togithub.com/pydantic/pydantic/pull/10444)
- Inline references if possible when generating schema for `json_schema_input_type` by [@​Viicos](https://togithub.com/Viicos) in [#​10439](https://togithub.com/pydantic/pydantic/pull/10439)
- Fix recursive arguments in `Representation` by [@​Viicos](https://togithub.com/Viicos) in [#​10480](https://togithub.com/pydantic/pydantic/pull/10480)
- Fix representation for builtin function types by [@​kschwab](https://togithub.com/kschwab) in [#​10479](https://togithub.com/pydantic/pydantic/pull/10479)
- Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10506](https://togithub.com/pydantic/pydantic/pull/10506)
- Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@​Viicos](https://togithub.com/Viicos) in [#​10518](https://togithub.com/pydantic/pydantic/pull/10518)
- Fix `stacklevel` on deprecation warnings for `BaseModel` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10520](https://togithub.com/pydantic/pydantic/pull/10520)
- Fix warning `stacklevel` in `BaseModel.__init__` by [@​Viicos](https://togithub.com/Viicos) in [#​10526](https://togithub.com/pydantic/pydantic/pull/10526)
- Improve error handling for in-evaluable refs for discriminator application by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10440](https://togithub.com/pydantic/pydantic/pull/10440)
- Change the signature of `ConfigWrapper.core_config` to take the title directly by [@​Viicos](https://togithub.com/Viicos) in [#​10562](https://togithub.com/pydantic/pydantic/pull/10562)
- Do not use the previous config from the stack for dataclasses without config by [@​Viicos](https://togithub.com/Viicos) in [#​10576](https://togithub.com/pydantic/pydantic/pull/10576)
- Fix serialization for IP types with `mode='python'` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10594](https://togithub.com/pydantic/pydantic/pull/10594)
- Support constraint application for `Base64Etc` types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10584](https://togithub.com/pydantic/pydantic/pull/10584)
- Fix `validate_call` ignoring `Field` in `Annotated` by [@​kc0506](https://togithub.com/kc0506) in [#​10610](https://togithub.com/pydantic/pydantic/pull/10610)
- Raise an error when `Self` is invalid by [@​kc0506](https://togithub.com/kc0506) in [#​10609](https://togithub.com/pydantic/pydantic/pull/10609)
- Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10523](https://togithub.com/pydantic/pydantic/pull/10523)
- Tweak type alias logic by [@​kc0506](https://togithub.com/kc0506) in [#​10643](https://togithub.com/pydantic/pydantic/pull/10643)
- Support usage of `type` with `typing.Self` and type aliases by [@​kc0506](https://togithub.com/kc0506) in [#​10621](https://togithub.com/pydantic/pydantic/pull/10621)
- Use overloads for `Field` and `PrivateAttr` functions by [@​Viicos](https://togithub.com/Viicos) in [#​10651](https://togithub.com/pydantic/pydantic/pull/10651)
- Clean up the `mypy` plugin implementation by [@​Viicos](https://togithub.com/Viicos) in [#​10669](https://togithub.com/pydantic/pydantic/pull/10669)
- Properly check for `typing_extensions` variant of `TypeAliasType` by [@​Daraan](https://togithub.com/Daraan) in [#​10713](https://togithub.com/pydantic/pydantic/pull/10713)
- Allow any mapping in `BaseModel.model_copy()` by [@​Viicos](https://togithub.com/Viicos) in [#​10751](https://togithub.com/pydantic/pydantic/pull/10751)
- Fix `isinstance` behavior for urls by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10766](https://togithub.com/pydantic/pydantic/pull/10766)
- Ensure `cached_property` can be set on Pydantic models by [@​Viicos](https://togithub.com/Viicos) in [#​10774](https://togithub.com/pydantic/pydantic/pull/10774)
- Fix equality checks for primitives in literals by [@​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 [@​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 [@​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 [@​changhc](https://togithub.com/changhc) in [pydantic/pydantic-core#1524](https://togithub.com/pydantic/pydantic-core/pull/1524)
- Refactor `_typing_extra` module by [@​Viicos](https://togithub.com/Viicos) in [#​10725](https://togithub.com/pydantic/pydantic/pull/10725)
- Support intuitive equality for urls by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10798](https://togithub.com/pydantic/pydantic/pull/10798)
- Add `bytearray` to `TypeAdapter.validate_json` signature by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​10802](https://togithub.com/pydantic/pydantic/pull/10802)
- Ensure class access of method descriptors is performed when used as a default with `Field` by [@​Viicos](https://togithub.com/Viicos) in [#​10816](https://togithub.com/pydantic/pydantic/pull/10816)
- Fix circular import with `validate_call` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10807](https://togithub.com/pydantic/pydantic/pull/10807)
- Fix error when using type aliases referencing other type aliases by [@​Viicos](https://togithub.com/Viicos) in [#​10809](https://togithub.com/pydantic/pydantic/pull/10809)
- Fix `IncEx` type alias to be compatible with mypy by [@​Viicos](https://togithub.com/Viicos) in [#​10813](https://togithub.com/pydantic/pydantic/pull/10813)
- Make `__signature__` a lazy property, do not deepcopy defaults by [@​Viicos](https://togithub.com/Viicos) in [#​10818](https://togithub.com/pydantic/pydantic/pull/10818)
- Make `__signature__` lazy for dataclasses, too by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10832](https://togithub.com/pydantic/pydantic/pull/10832)
- Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10856](https://togithub.com/pydantic/pydantic/pull/10856)
##### New Contributors
- [@​jakob-keller](https://togithub.com/jakob-keller) made their first contribution in [#​10331](https://togithub.com/pydantic/pydantic/pull/10331)
- [@​MovisLi](https://togithub.com/MovisLi) made their first contribution in [#​10374](https://togithub.com/pydantic/pydantic/pull/10374)
- [@​joaopalmeiro](https://togithub.com/joaopalmeiro) made their first contribution in [#​10405](https://togithub.com/pydantic/pydantic/pull/10405)
- [@​theunkn0wn1](https://togithub.com/theunkn0wn1) made their first contribution in [#​10378](https://togithub.com/pydantic/pydantic/pull/10378)
- [@​cdwilson](https://togithub.com/cdwilson) made their first contribution in [#​10412](https://togithub.com/pydantic/pydantic/pull/10412)
- [@​dlax](https://togithub.com/dlax) made their first contribution in [#​10421](https://togithub.com/pydantic/pydantic/pull/10421)
- [@​kschwab](https://togithub.com/kschwab) made their first contribution in [#​10479](https://togithub.com/pydantic/pydantic/pull/10479)
- [@​santibreo](https://togithub.com/santibreo) made their first contribution in [#​10453](https://togithub.com/pydantic/pydantic/pull/10453)
- [@​FlorianSW](https://togithub.com/FlorianSW) made their first contribution in [#​10478](https://togithub.com/pydantic/pydantic/pull/10478)
- [@​tkasuz](https://togithub.com/tkasuz) made their first contribution in [#​10555](https://togithub.com/pydantic/pydantic/pull/10555)
- [@​AlekseyLobanov](https://togithub.com/AlekseyLobanov) made their first contribution in [#​10601](https://togithub.com/pydantic/pydantic/pull/10601)
- [@​NiclasvanEyk](https://togithub.com/NiclasvanEyk) made their first contribution in [#​10667](https://togithub.com/pydantic/pydantic/pull/10667)
- [@​mschoettle](https://togithub.com/mschoettle) made their first contribution in [#​10677](https://togithub.com/pydantic/pydantic/pull/10677)
- [@​Daraan](https://togithub.com/Daraan) made their first contribution in [#​10713](https://togithub.com/pydantic/pydantic/pull/10713)
- [@​k4nar](https://togithub.com/k4nar) made their first contribution in [#​10736](https://togithub.com/pydantic/pydantic/pull/10736)
- [@​UriyaHarpeness](https://togithub.com/UriyaHarpeness) made their first contribution in [#​10740](https://togithub.com/pydantic/pydantic/pull/10740)
- [@​frfahim](https://togithub.com/frfahim) made their first contribution in [#​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 [@​Viicos](https://togithub.com/Viicos) in [#​10358](https://togithub.com/pydantic/pydantic/pull/10358)
- Adding notes on designing sound `Callable` discriminators by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10400](https://togithub.com/pydantic/pydantic/pull/10400)
- Fix serialization schema generation when using `PlainValidator` by [@​Viicos](https://togithub.com/Viicos) in [#​10427](https://togithub.com/pydantic/pydantic/pull/10427)
- Fix `Union` serialization warnings by [@​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 [@​Viicos](https://togithub.com/Viicos) in [#​10414](https://togithub.com/pydantic/pydantic/pull/10414)
- Fix `ZoneInfo` validation with various invalid types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​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 [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10321](https://togithub.com/pydantic/pydantic/pull/10321)
- Fixing `annotated-types` bound to `>=0.6.0` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10327](https://togithub.com/pydantic/pydantic/pull/10327)
- Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://togithub.com/jakob-keller) in [#​10331](https://togithub.com/pydantic/pydantic/pull/10331)
- Fix `IncExc` type alias definition by [@​Viicos](https://togithub.com/Viicos) in [#​10339](https://togithub.com/pydantic/pydantic/pull/10339)
- Use correct types namespace when building namedtuple core schemas by [@​Viicos](https://togithub.com/Viicos) in [#​10337](https://togithub.com/pydantic/pydantic/pull/10337)
- Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://togithub.com/Viicos) in [#​10347](https://togithub.com/pydantic/pydantic/pull/10347)
- Fix tagged union serialization with alias generators by [@​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 [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9801](https://togithub.com/pydantic/pydantic/pull/9801)
- Bump `pydantic-extra-types` to `v2.9.0` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9832](https://togithub.com/pydantic/pydantic/pull/9832)
- Support compatibility with `pdm v2.18.1` by [@​Viicos](https://togithub.com/Viicos) in [#​10138](https://togithub.com/pydantic/pydantic/pull/10138)
- Bump `v1` version stub to `v1.10.18` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10214](https://togithub.com/pydantic/pydantic/pull/10214)
- Bump `pydantic-core` to `v2.23.2` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10311](https://togithub.com/pydantic/pydantic/pull/10311)
##### New Features
- Add support for `ZoneInfo` by [@​Youssefares](https://togithub.com/Youssefares) in [#​9896](https://togithub.com/pydantic/pydantic/pull/9896)
- Add `Config.val_json_bytes` by [@​josh-newman](https://togithub.com/josh-newman) in [#​9770](https://togithub.com/pydantic/pydantic/pull/9770)
- Add DSN for Snowflake by [@​aditkumar72](https://togithub.com/aditkumar72) in [#​10128](https://togithub.com/pydantic/pydantic/pull/10128)
- Support `complex` number by [@​changhc](https://togithub.com/changhc) in [#​9654](https://togithub.com/pydantic/pydantic/pull/9654)
- Add support for `annotated_types.Not` by [@​aditkumar72](https://togithub.com/aditkumar72) in [#​10210](https://togithub.com/pydantic/pydantic/pull/10210)
- Allow `WithJsonSchema` to inject `$ref`s w/ `http` or `https` links by [@​dAIsySHEng1](https://togithub.com/dAIsySHEng1) in [#​9863](https://togithub.com/pydantic/pydantic/pull/9863)
- Allow validators to customize validation JSON schema by [@​Viicos](https://togithub.com/Viicos) in [#​10094](https://togithub.com/pydantic/pydantic/pull/10094)
- Support parametrized `PathLike` types by [@​nix010](https://togithub.com/nix010) in [#​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 [@​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 [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​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 [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9979](https://togithub.com/pydantic/pydantic/pull/9979)
- Move annotation compatibility errors to validation phase by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9999](https://togithub.com/pydantic/pydantic/pull/9999)
- Improve runtime errors for string constraints like `pattern` for incompatible types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10158](https://togithub.com/pydantic/pydantic/pull/10158)
- Remove `'allOf'` JSON schema workarounds by [@​dpeachey](https://togithub.com/dpeachey) in [#​10029](https://togithub.com/pydantic/pydantic/pull/10029)
- Remove `typed_dict_cls` data from `CoreMetadata` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10180](https://togithub.com/pydantic/pydantic/pull/10180)
- Deprecate passing a dict to the `Examples` class by [@​Viicos](https://togithub.com/Viicos) in [#​10181](https://togithub.com/pydantic/pydantic/pull/10181)
- Remove `initial_metadata` from internal metadata construct by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10194](https://togithub.com/pydantic/pydantic/pull/10194)
- Use `re.Pattern.search` instead of `re.Pattern.match` for consistency with `rust` behavior by [@​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 [@​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 [@​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 [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10255](https://togithub.com/pydantic/pydantic/pull/10255)
##### Performance
- Initial start at improving import times for modules, using caching primarily by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10009](https://togithub.com/pydantic/pydantic/pull/10009)
- Using cached internal import for `BaseModel` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10013](https://togithub.com/pydantic/pydantic/pull/10013)
- Simplify internal generics logic - remove generator overhead by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10059](https://togithub.com/pydantic/pydantic/pull/10059)
- Remove default module globals from types namespace by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10123](https://togithub.com/pydantic/pydantic/pull/10123)
- Performance boost: skip caching parent namespaces in most cases by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10113](https://togithub.com/pydantic/pydantic/pull/10113)
- Update ns stack with already copied ns by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10267](https://togithub.com/pydantic/pydantic/pull/10267)
##### Minor Internal Improvements
- ⚡️ Speed up `multiple_of_validator()` by 31% in `pydantic/_internal/_validators.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9839](https://togithub.com/pydantic/pydantic/pull/9839)
- ⚡️ Speed up `ModelPrivateAttr.__set_name__()` by 18% in `pydantic/fields.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9841](https://togithub.com/pydantic/pydantic/pull/9841)
- ⚡️ Speed up `dataclass()` by 7% in `pydantic/dataclasses.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9843](https://togithub.com/pydantic/pydantic/pull/9843)
- ⚡️ Speed up function `_field_name_for_signature` by 37% in `pydantic/_internal/_signature.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9951](https://togithub.com/pydantic/pydantic/pull/9951)
- ⚡️ Speed up method `GenerateSchema._unpack_refs_defs` by 26% in `pydantic/_internal/_generate_schema.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9949](https://togithub.com/pydantic/pydantic/pull/9949)
- ⚡️ Speed up function `apply_each_item_validators` by 100% in `pydantic/_internal/_generate_schema.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9950](https://togithub.com/pydantic/pydantic/pull/9950)
- ⚡️ Speed up method `ConfigWrapper.core_config` by 28% in `pydantic/_internal/_config.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9953](https://togithub.com/pydantic/pydantic/pull/9953)
##### Fixes
- Respect `use_enum_values` on `Literal` types by [@​kwint](https://togithub.com/kwint) in [#​9787](https://togithub.com/pydantic/pydantic/pull/9787)
- Prevent type error for exotic `BaseModel/RootModel` inheritance by [@​dmontagu](https://togithub.com/dmontagu) in [#​9913](https://togithub.com/pydantic/pydantic/pull/9913)
- Fix typing issue with field_validator-decorated methods by [@​dmontagu](https://togithub.com/dmontagu) in [#​9914](https://togithub.com/pydantic/pydantic/pull/9914)
- Replace `str` type annotation with `Any` in validator factories in documentation on validators by [@​maximilianfellhuber](https://togithub.com/maximilianfellhuber) in [#​9885](https://togithub.com/pydantic/pydantic/pull/9885)
- Fix `ComputedFieldInfo.wrapped_property` pointer when a property setter is assigned by [@​tlambert03](https://togithub.com/tlambert03) in [#​9892](https://togithub.com/pydantic/pydantic/pull/9892)
- Fix recursive typing of `main.IncEnx` by [@​tlambert03](https://togithub.com/tlambert03) in [#​9924](https://togithub.com/pydantic/pydantic/pull/9924)
- Allow usage of `type[Annotated[...]]` by [@​Viicos](https://togithub.com/Viicos) in [#​9932](https://togithub.com/pydantic/pydantic/pull/9932)
- `mypy` plugin: handle frozen fields on a per-field basis by [@​dmontagu](https://togithub.com/dmontagu) in [#​9935](https://togithub.com/pydantic/pydantic/pull/9935)
- Fix typo in `invalid-annotated-type` error code by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9948](https://togithub.com/pydantic/pydantic/pull/9948)
- Simplify schema generation for `uuid`, `url`, and `ip` types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9975](https://togithub.com/pydantic/pydantic/pull/9975)
- Move `date` schemas to `_generate_schema.py` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9976](https://togithub.com/pydantic/pydantic/pull/9976)
- Move `decimal.Decimal` validation to `_generate_schema.py` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9977](https://togithub.com/pydantic/pydantic/pull/9977)
- Simplify IP address schema in `_std_types_schema.py` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9959](https://togithub.com/pydantic/pydantic/pull/9959)
- Fix type annotations for some potentially generic `GenerateSchema.match_type` options by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9961](https://togithub.com/pydantic/pydantic/pull/9961)
- Add class name to "has conflict" warnings by [@​msabramo](https://togithub.com/msabramo) in [#​9964](https://togithub.com/pydantic/pydantic/pull/9964)
- Fix `dataclass` ignoring `default_factory` passed in Annotated by [@​kc0506](https://togithub.com/kc0506) in [#​9971](https://togithub.com/pydantic/pydantic/pull/9971)
- Fix `Sequence` ignoring `discriminator` by [@​kc0506](https://togithub.com/kc0506) in [#​9980](https://togithub.com/pydantic/pydantic/pull/9980)
- Fix typing for `IPvAnyAddress` and `IPvAnyInterface` by [@​haoyun](https://togithub.com/haoyun) in [#​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 [@​radekwlsk](https://togithub.com/radekwlsk) in [#​9938](https://togithub.com/pydantic/pydantic/pull/9938)
- Apply `strict=True` to `__init__` in `mypy` plugin by [@​kc0506](https://togithub.com/kc0506) in [#​9998](https://togithub.com/pydantic/pydantic/pull/9998)
- Refactor application of `deque` annotations by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10018](https://togithub.com/pydantic/pydantic/pull/10018)
- Raise a better user error when failing to evaluate a forward reference by [@​Viicos](https://togithub.com/Viicos) in [#​10030](https://togithub.com/pydantic/pydantic/pull/10030)
- Fix evaluation of `__pydantic_extra__` annotation in specific circumstances by [@​Viicos](https://togithub.com/Viicos) in [#​10070](https://togithub.com/pydantic/pydantic/pull/10070)
- Fix `frozen` enforcement for `dataclasses` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10066](https://togithub.com/pydantic/pydantic/pull/10066)
- Remove logic to handle unused `__get_pydantic_core_schema__` signature by [@​Viicos](https://togithub.com/Viicos) in [#​10075](https://togithub.com/pydantic/pydantic/pull/10075)
- Use `is_annotated` consistently by [@​Viicos](https://togithub.com/Viicos) in [#​10095](https://togithub.com/pydantic/pydantic/pull/10095)
- Fix `PydanticDeprecatedSince26` typo by [@​kc0506](https://togithub.com/kc0506) in [#​10101](https://togithub.com/pydantic/pydantic/pull/10101)
- Improve `pyright` tests, refactor model decorators signatures by [@​Viicos](https://togithub.com/Viicos) in [#​10092](https://togithub.com/pydantic/pydantic/pull/10092)
- Fix `ip` serialization logic by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10112](https://togithub.com/pydantic/pydantic/pull/10112)
- Warn when frozen defined twice for `dataclasses` by [@​mochi22](https://togithub.com/mochi22) in [#​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 [@​Viicos](https://togithub.com/Viicos) in [#​10121](https://togithub.com/pydantic/pydantic/pull/10121)
- Fix `ImportString` special cases by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10137](https://togithub.com/pydantic/pydantic/pull/10137)
- Blacklist default globals to support exotic user code with `__` prefixed annotations by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10136](https://togithub.com/pydantic/pydantic/pull/10136)
- Handle `nullable` schemas with `serialization` schema available during JSON Schema generation by [@​Viicos](https://togithub.com/Viicos) in [#​10132](https://togithub.com/pydantic/pydantic/pull/10132)
- Reorganize `BaseModel` annotations by [@​kc0506](https://togithub.com/kc0506) in [#​10110](https://togithub.com/pydantic/pydantic/pull/10110)
- Fix core schema simplification when serialization schemas are involved in specific scenarios by [@​Viicos](https://togithub.com/Viicos) in [#​10155](https://togithub.com/pydantic/pydantic/pull/10155)
- Add support for stringified annotations when using `PrivateAttr` with `Annotated` by [@​Viicos](https://togithub.com/Viicos) in [#​10157](https://togithub.com/pydantic/pydantic/pull/10157)
- Fix JSON Schema `number` type for literal and enum schemas by [@​Viicos](https://togithub.com/Viicos) in [#​10172](https://togithub.com/pydantic/pydantic/pull/10172)
- Fix JSON Schema generation of fields with plain validators in serialization mode by [@​Viicos](https://togithub.com/Viicos) in [#​10167](https://togithub.com/pydantic/pydantic/pull/10167)
- Fix invalid JSON Schemas being generated for functions in certain scenarios by [@​Viicos](https://togithub.com/Viicos) in [#​10188](https://togithub.com/pydantic/pydantic/pull/10188)
- Make sure generated JSON Schemas are valid in tests by [@​Viicos](https://togithub.com/Viicos) in [#​10182](https://togithub.com/pydantic/pydantic/pull/10182)
- Fix key error with custom serializer by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10200](https://togithub.com/pydantic/pydantic/pull/10200)
- Add 'wss' for allowed schemes in NatsDsn by [@​swelborn](https://togithub.com/swelborn) in [#​10224](https://togithub.com/pydantic/pydantic/pull/10224)
- Fix `Mapping` and `MutableMapping` annotations to use mapping schema instead of dict schema by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10020](https://togithub.com/pydantic/pydantic/pull/10020)
- Fix JSON Schema generation for constrained dates by [@​Viicos](https://togithub.com/Viicos) in [#​10185](https://togithub.com/pydantic/pydantic/pull/10185)
- Fix discriminated union bug regression when using enums by [@​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 [@​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 [@​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 [@​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 [@​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 [@​mgorny](https://togithub.com/mgorny) in [#​10241](https://togithub.com/pydantic/pydantic/pull/10241)
- Fix a crash when cleaning the namespace in `ModelMetaclass` by [@​Viicos](https://togithub.com/Viicos) in [#​10242](https://togithub.com/pydantic/pydantic/pull/10242)
- Fix parent namespace issue with model rebuilds by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10257](https://togithub.com/pydantic/pydantic/pull/10257)
- Remove defaults filter for namespace by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10261](https://togithub.com/pydantic/pydantic/pull/10261)
- Use identity instead of equality after validating model in `__init__` by [@​Viicos](https://togithub.com/Viicos) in [#​10264](https://togithub.com/pydantic/pydantic/pull/10264)
- Support `BigInt` serialization for `int` subclasses by [@​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 [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10277](https://togithub.com/pydantic/pydantic/pull/10277)
- Ensure `__pydantic_complete__` is set when rebuilding `dataclasses` by [@​Viicos](https://togithub.com/Viicos) in [#​10291](https://togithub.com/pydantic/pydantic/pull/10291)
- Respect `schema_generator` config value in `TypeAdapter` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10300](https://togithub.com/pydantic/pydantic/pull/10300)
##### New Contributors
##### `pydantic`
- [@​kwint](https://togithub.com/kwint) made their first contribution in [#​9787](https://togithub.com/pydantic/pydantic/pull/9787)
- [@​seekinginfiniteloop](https://togithub.com/seekinginfiniteloop) made their first contribution in [#​9822](https://togithub.com/pydantic/pydantic/pull/9822)
- [@​a-alexander](https://togithub.com/a-alexander) made their first contribution in [#​9848](https://togithub.com/pydantic/pydantic/pull/9848)
- [@​maximilianfellhuber](https://togithub.com/maximilianfellhuber) made their first contribution in [#​9885](https://togithub.com/pydantic/pydantic/pull/9885)
- [@​karmaBonfire](https://togithub.com/karmaBonfire) made their first contribution in [#​9945](https://togithub.com/pydantic/pydantic/pull/9945)
- [@​s-rigaud](https://togithub.com/s-rigaud) made their first contribution in [#​9958](https://togithub.com/pydantic/pydantic/pull/9958)
- [@​msabramo](https://togithub.com/msabramo) made their first contribution in [#​9964](https://togithub.com/pydantic/pydantic/pull/9964)
- [@​DimaCybr](https://togithub.com/DimaCybr) made their first contribution in [#​9972](https://togithub.com/pydantic/pydantic/pull/9972)
- [@​kc0506](https://togithub.com/kc0506) made their first contribution in [#​9971](https://togithub.com/pydantic/pydantic/pull/9971)
- [@​haoyun](https://togithub.com/haoyun) made their first contribution in [#​9990](https://togithub.com/pydantic/pydantic/pull/9990)
- [@​radekwlsk](https://togithub.com/radekwlsk) made their first contribution in [#​9938](https://togithub.com/pydantic/pydantic/pull/9938)
- [@​dpeachey](https://togithub.com/dpeachey) made their first contribution in [#​10029](https://togithub.com/pydantic/pydantic/pull/10029)
- [@​BoxyUwU](https://togithub.com/BoxyUwU) made their first contribution in [#​10085](https://togithub.com/pydantic/pydantic/pull/10085)
- [@​mochi22](https://togithub.com/mochi22) made their first contribution in [#​10082](https://togithub.com/pydantic/pydantic/pull/10082)
- [@​aditkumar72](https://togithub.com/aditkumar72) made their first contribution in [#​10128](https://togithub.com/pydantic/pydantic/pull/10128)
- [@​changhc](https://togithub.com/changhc) made their first contribution in [#​9654](https://togithub.com/pydantic/pydantic/pull/9654)
- [@​insumanth](https://togithub.com/insumanth) made their first contribution in [#​10229](https://togithub.com/pydantic/pydantic/pull/10229)
- [@​AdolfoVillalobos](https://togithub.com/AdolfoVillalobos) made their first contribution in [#​10240](https://togithub.com/pydantic/pydantic/pull/10240)
- [@​bllchmbrs](https://togithub.com/bllchmbrs) made their first contribution in [#​10270](https://togithub.com/pydantic/pydantic/pull/10270)
##### `pydantic-core`
- [@​kfreezen](https://togithub.com/kfreezen) made their first contribution in [pydantic/pydantic-core#1286](https://togithub.com/pydantic/pydantic-core/pull/1286)
- [@​tinez](https://togithub.com/tinez) made their first contribution in [pydantic/pydantic-core#1368](https://togithub.com/pydantic/pydantic-core/pull/1368)
- [@​fft001](https://togithub.com/fft001) made their first contribution in [pydantic/pydantic-core#1362](https://togithub.com/pydantic/pydantic-core/pull/1362)
- [@​nix010](https://togithub.com/nix010) made their first contribution in [pydantic/pydantic-core#1349](https://togithub.com/pydantic/pydantic-core/pull/1349)
- [@​BoxyUwU](https://togithub.com/BoxyUwU) made their first contribution in [pydantic/pydantic-core#1379](https://togithub.com/pydantic/pydantic-core/pull/1379)
- [@​candleindark](https://togithub.com/candleindark) made their first contribution in [pydantic/pydantic-core#1404](https://togithub.com/pydantic/pydantic-core/pull/1404)
- [@​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 [@​dmontagu](https://togithub.com/dmontagu) in [#​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 [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9801](https://togithub.com/pydantic/pydantic/pull/9801)
- Bump `pydantic-core` to `v2.20.1`, `pydantic-extra-types` to `v2.9.0` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9832](https://togithub.com/pydantic/pydantic/pull/9832)
##### Fixes
- Fix breaking change in `to_snake` from v2.7 -> v2.8 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9812](https://togithub.com/pydantic/pydantic/pull/9812)
- Fix list constraint json schema application by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9818](https://togithub.com/pydantic/pydantic/pull/9818)
- Support time duration more than 23 by [@​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 [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/speedate#65](https://togithub.com/pydantic/speedate/pull/65)
- Handle negative fractional durations correctly by [@​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 [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9673](https://togithub.com/pydantic/pydantic/pull/9673)
- Bump pyright to `v1.1.367` and add type checking tests for pipeline API by [@​adriangb](https://togithub.com/adriangb) in [#​9674](https://togithub.com/pydantic/pydantic/pull/9674)
- Update `pydantic.v1` stub to `v1.10.17` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9707](https://togithub.com/pydantic/pydantic/pull/9707)
- General package updates to prep for `v2.8.0b1` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9741](https://togithub.com/pydantic/pydantic/pull/9741)
- Bump `pydantic-core` to `v2.20.0` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9745](https://togithub.com/pydantic/pydantic/pull/9745)
- Add support for Python 3.13 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9743](https://togithub.com/pydantic/pydantic/pull/9743)
- Update `pdm` version used for `pdm.lock` to v2.16.1 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9761](https://togithub.com/pydantic/pydantic/pull/9761)
- Update to `ruff` `v0.4.8` by [@​Viicos](https://togithub.com/Viicos) in [#​9585](https://togithub.com/pydantic/pydantic/pull/9585)
##### New Features
- Experimental: support `defer_build` for `TypeAdapter` by [@​MarkusSintonen](https://togithub.com/MarkusSintonen) in [#​8939](https://togithub.com/pydantic/pydantic/pull/8939)
- Implement `deprecated` field in json schema by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9298](https://togithub.com/pydantic/pydantic/pull/9298)
- Experimental: Add pipeline API by [@​adriangb](https://togithub.com/adriangb) in [#​9459](https://togithub.com/pydantic/pydantic/pull/9459)
- Add support for programmatic title generation by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9183](https://togithub.com/pydantic/pydantic/pull/9183)
- Implement `fail_fast` feature by [@​uriyyo](https://togithub.com/uriyyo) in [#​9708](https://togithub.com/pydantic/pydantic/pull/9708)
- Add `ser_json_inf_nan='strings'` mode to produce valid JSON by [@​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 [@​nix010](https://togithub.com/nix010) in [#​9170](https://togithub.com/pydantic/pydantic/pull/9170)
- Support serialization of some serializable defaults in JSON schema by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9624](https://togithub.com/pydantic/pydantic/pull/9624)
- Relax type specification for `__validators__` values in `create_model` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9697](https://togithub.com/pydantic/pydantic/pull/9697)
- **Breaking Change:** Improve `smart` union matching logic by [@​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 [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9653](https://togithub.com/pydantic/pydantic/pull/9653)
- ⚡️ Speed up `_get_all_json_refs()` by 34% in `pydantic/json_schema.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9650](https://togithub.com/pydantic/pydantic/pull/9650)
- ⚡️ Speed up `is_pydantic_dataclass()` by 41% in `pydantic/dataclasses.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9652](https://togithub.com/pydantic/pydantic/pull/9652)
- ⚡️ Speed up `to_snake()` by 27% in `pydantic/alias_generators.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9747](https://togithub.com/pydantic/pydantic/pull/9747)
- ⚡️ Speed up `unwrap_wrapped_function()` by 93% in `pydantic/_internal/_decorators.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9727](https://togithub.com/pydantic/pydantic/pull/9727)
##### Fixes
- Replace `__spec__.parent` with `__package__` by [@​hramezani](https://togithub.com/hramezani) in [#​9331](https://togithub.com/pydantic/pydantic/pull/9331)
- Fix Outputted Model JSON Schema for `Sequence` type by [@​anesmemisevic](https://togithub.com/anesmemisevic) in [#​9303](https://togithub.com/pydantic/pydantic/pull/9303)
- Fix typing of `_frame_depth` by [@​Viicos](https://togithub.com/Viicos) in [#​9353](https://togithub.com/pydantic/pydantic/pull/9353)
- Make `ImportString` json schema compatible by [@​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==-->1 file changed
+114
-119
lines changed
0 commit comments