pydantic/pydantic (pydantic)
### [`v2.8.2`](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.2): (2024-07-03)
[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.8.1...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)
**Full Changelog**: https://github.com/pydantic/pydantic/compare/v2.8.1...v2.8.2
### [`v2.8.1`](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.1): (2024-07-03)
[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.8.0...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 [https://github.com/pydantic/pydantic/pull/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 [https://github.com/pydantic/pydantic/pull/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 [https://github.com/pydantic/pydantic/pull/9812](https://togithub.com/pydantic/pydantic/pull/9812)
- Fix list constraint json schema application by [@sydney-runkle](https://togithub.com/sydney-runkle) in [https://github.com/pydantic/pydantic/pull/9818](https://togithub.com/pydantic/pydantic/pull/9818)
- Fix issue with assertion caused by pluggable schema validator by [@dmontagu](https://togithub.com/dmontagu) in [https://github.com/pydantic/pydantic/pull/9838](https://togithub.com/pydantic/pydantic/pull/9838)
#### New Contributors
- [@kwint](https://togithub.com/kwint) made their first contribution in [https://github.com/pydantic/pydantic/pull/9787](https://togithub.com/pydantic/pydantic/pull/9787)
- [@seekinginfiniteloop](https://togithub.com/seekinginfiniteloop) made their first contribution in [https://github.com/pydantic/pydantic/pull/9822](https://togithub.com/pydantic/pydantic/pull/9822)
**Full Changelog**: https://github.com/pydantic/pydantic/compare/v2.8.0...v2.8.1
### [`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/amitschang) in [#9344](https://togithub.com/pydantic/pydantic/pull/9344)
- Hide private attributes (`PrivateAttr`) from `__init__` signature in type checkers by [@idan22moral](https://togithub.com/idan22moral) in [#9293](https://togithub.com/pydantic/pydantic/pull/9293)
- Make detection of `TypeVar` defaults robust to the CPython `PEP-696` implementation by [@AlexWaygood](https://togithub.com/AlexWaygood) in [#9426](https://togithub.com/pydantic/pydantic/pull/9426)
- Fix usage of `PlainSerializer` with builtin types by [@Viicos](https://togithub.com/Viicos) in [#9450](https://togithub.com/pydantic/pydantic/pull/9450)
- Add more robust custom validation examples by [@ChrisPappalardo](https://togithub.com/ChrisPappalardo) in [#9468](https://togithub.com/pydantic/pydantic/pull/9468)
- Fix ignored `strict` specification for `StringConstraint(strict=False)` by [@vbmendes](https://togithub.com/vbmendes) in [#9476](https://togithub.com/pydantic/pydantic/pull/9476)
- Use `Self` where possible by [@Viicos](https://togithub.com/Viicos) in [#9479](https://togithub.com/pydantic/pydantic/pull/9479)
- Do not alter `RootModel.model_construct` signature in the `mypy` plugin by [@Viicos](https://togithub.com/Viicos) in [#9480](https://togithub.com/pydantic/pydantic/pull/9480)
- Fixed type hint of `validation_context` by [@OhioDschungel6](https://togithub.com/OhioDschungel6) in [#9508](https://togithub.com/pydantic/pydantic/pull/9508)
- Support context being passed to TypeAdapter's `dump_json`/`dump_python` by [@alexcouper](https://togithub.com/alexcouper) in [#9495](https://togithub.com/pydantic/pydantic/pull/9495)
- Updates type signature for `Field()` constructor by [@bjmc](https://togithub.com/bjmc) in [#9484](https://togithub.com/pydantic/pydantic/pull/9484)
- Improve builtin alias generators by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9561](https://togithub.com/pydantic/pydantic/pull/9561)
- Fix typing of `TypeAdapter` by [@Viicos](https://togithub.com/Viicos) in [#9570](https://togithub.com/pydantic/pydantic/pull/9570)
- Add fallback default value for private fields in `__setstate__` of BaseModel by [@anhpham1509](https://togithub.com/anhpham1509) in [#9584](https://togithub.com/pydantic/pydantic/pull/9584)
- Support `PEP 746` by [@adriangb](https://togithub.com/adriangb) in [#9587](https://togithub.com/pydantic/pydantic/pull/9587)
- Allow validator and serializer functions to have default values by [@Viicos](https://togithub.com/Viicos) in [#9478](https://togithub.com/pydantic/pydantic/pull/9478)
- Fix bug with mypy plugin's handling of covariant `TypeVar` fields by [@dmontagu](https://togithub.com/dmontagu) in [#9606](https://togithub.com/pydantic/pydantic/pull/9606)
- Fix multiple annotation / constraint application logic by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9623](https://togithub.com/pydantic/pydantic/pull/9623)
- Respect `regex` flags in validation and json schema by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9591](https://togithub.com/pydantic/pydantic/pull/9591)
- Fix type hint on `IpvAnyAddress` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9640](https://togithub.com/pydantic/pydantic/pull/9640)
- Allow a field specifier on `__pydantic_extra__` by [@dmontagu](https://togithub.com/dmontagu) in [#9659](https://togithub.com/pydantic/pydantic/pull/9659)
- Use normalized case for file path comparison by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9737](https://togithub.com/pydantic/pydantic/pull/9737)
- Modify constraint application logic to allow field constraints on `Optional[Decimal]` by [@lazyhope](https://togithub.com/lazyhope) in [#9754](https://togithub.com/pydantic/pydantic/pull/9754)
- `validate_call` type params fix by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9760](https://togithub.com/pydantic/pydantic/pull/9760)
- Check all warnings returned by pytest.warns() by [@s-t-e-v-e-n-k](https://togithub.com/s-t-e-v-e-n-k) in [#9702](https://togithub.com/pydantic/pydantic/pull/9702)
- Reuse `re.Pattern` object in regex patterns to allow for regex flags by [@sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1318](https://togithub.com/pydantic/pydantic-core/pull/1318)
##### New Contributors
- [@idan22moral](https://togithub.com/idan22moral) made their first contribution in [#9294](https://togithub.com/pydantic/pydantic/pull/9294)
- [@anesmemisevic](https://togithub.com/anesmemisevic) made their first contribution in [#9303](https://togithub.com/pydantic/pydantic/pull/9303)
- [@max-muoto](https://togithub.com/max-muoto) made their first contribution in [#9338](https://togithub.com/pydantic/pydantic/pull/9338)
- [@amitschang](https://togithub.com/amitschang) made their first contribution in [#9344](https://togithub.com/pydantic/pydantic/pull/9344)
- [@paulmartin91](https://togithub.com/paulmartin91) made their first contribution in [#9410](https://togithub.com/pydantic/pydantic/pull/9410)
- [@OhioDschungel6](https://togithub.com/OhioDschungel6) made their first contribution in [#9405](https://togithub.com/pydantic/pydantic/pull/9405)
- [@AlexWaygood](https://togithub.com/AlexWaygood) made their first contribution in [#9426](https://togithub.com/pydantic/pydantic/pull/9426)
- [@kinuax](https://togithub.com/kinuax) made their first contribution in [#9433](https://togithub.com/pydantic/pydantic/pull/9433)
- [@antoni-jamiolkowski](https://togithub.com/antoni-jamiolkowski) made their first contribution in [#9431](https://togithub.com/pydantic/pydantic/pull/9431)
- [@candleindark](https://togithub.com/candleindark) made their first contribution in [#9448](https://togithub.com/pydantic/pydantic/pull/9448)
- [@nix010](https://togithub.com/nix010) made their first contribution in [#9170](https://togithub.com/pydantic/pydantic/pull/9170)
- [@tomy0000000](https://togithub.com/tomy0000000) made their first contribution in [#9457](https://togithub.com/pydantic/pydantic/pull/9457)
- [@vbmendes](https://togithub.com/vbmendes) made their first contribution in [#9470](https://togithub.com/pydantic/pydantic/pull/9470)
- [@micheleAlberto](https://togithub.com/micheleAlberto) made their first contribution in [#9471](https://togithub.com/pydantic/pydantic/pull/9471)
- [@ChrisPappalardo](https://togithub.com/ChrisPappalardo) made their first contribution in [#9468](https://togithub.com/pydantic/pydantic/pull/9468)
- [@blueTurtz](https://togithub.com/blueTurtz) made their first contribution in [#9475](https://togithub.com/pydantic/pydantic/pull/9475)
- [@WinterBlue16](https://togithub.com/WinterBlue16) made their first contribution in [#9477](https://togithub.com/pydantic/pydantic/pull/9477)
- [@bittner](https://togithub.com/bittner) made their first contribution in [#9500](https://togithub.com/pydantic/pydantic/pull/9500)
- [@alexcouper](https://togithub.com/alexcouper) made their first contribution in [#9495](https://togithub.com/pydantic/pydantic/pull/9495)
- [@bjmc](https://togithub.com/bjmc) made their first contribution in [#9484](https://togithub.com/pydantic/pydantic/pull/9484)
- [@pjvv](https://togithub.com/pjvv) made their first contribution in [#9529](https://togithub.com/pydantic/pydantic/pull/9529)
- [@nedbat](https://togithub.com/nedbat) made their first contribution in [#9530](https://togithub.com/pydantic/pydantic/pull/9530)
- [@gunnellEvan](https://togithub.com/gunnellEvan) made their first contribution in [#9469](https://togithub.com/pydantic/pydantic/pull/9469)
- [@jaymbans](https://togithub.com/jaymbans) made their first contribution in [#9531](https://togithub.com/pydantic/pydantic/pull/9531)
- [@MarcBresson](https://togithub.com/MarcBresson) made their first contribution in [#9534](https://togithub.com/pydantic/pydantic/pull/9534)
- [@anhpham1509](https://togithub.com/anhpham1509) made their first contribution in [#9584](https://togithub.com/pydantic/pydantic/pull/9584)
- [@K-dash](https://togithub.com/K-dash) made their first contribution in [#9595](https://togithub.com/pydantic/pydantic/pull/9595)
- [@s-t-e-v-e-n-k](https://togithub.com/s-t-e-v-e-n-k) made their first contribution in [#9527](https://togithub.com/pydantic/pydantic/pull/9527)
- [@airwoodix](https://togithub.com/airwoodix) made their first contribution in [#9506](https://togithub.com/pydantic/pydantic/pull/9506)
- [@misrasaurabh1](https://togithub.com/misrasaurabh1) made their first contribution in [#9653](https://togithub.com/pydantic/pydantic/pull/9653)
- [@AlessandroMiola](https://togithub.com/AlessandroMiola) made their first contribution in [#9740](https://togithub.com/pydantic/pydantic/pull/9740)
- [@mylapallilavanyaa](https://togithub.com/mylapallilavanyaa) made their first contribution in [#9746](https://togithub.com/pydantic/pydantic/pull/9746)
- [@lazyhope](https://togithub.com/lazyhope) made their first contribution in [#9754](https://togithub.com/pydantic/pydantic/pull/9754)
- [@YassinNouh21](https://togithub.com/YassinNouh21) made their first contribution in [#9759](https://togithub.com/pydantic/pydantic/pull/9759)
Configuration
📅 Schedule: Branch creation - "every weekend" in timezone US/Eastern, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
2.7.4
->2.8.2
Release Notes
pydantic/pydantic (pydantic)
### [`v2.8.2`](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.2): (2024-07-03) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.8.1...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) **Full Changelog**: https://github.com/pydantic/pydantic/compare/v2.8.1...v2.8.2 ### [`v2.8.1`](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.1): (2024-07-03) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.8.0...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 [https://github.com/pydantic/pydantic/pull/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 [https://github.com/pydantic/pydantic/pull/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 [https://github.com/pydantic/pydantic/pull/9812](https://togithub.com/pydantic/pydantic/pull/9812) - Fix list constraint json schema application by [@sydney-runkle](https://togithub.com/sydney-runkle) in [https://github.com/pydantic/pydantic/pull/9818](https://togithub.com/pydantic/pydantic/pull/9818) - Fix issue with assertion caused by pluggable schema validator by [@dmontagu](https://togithub.com/dmontagu) in [https://github.com/pydantic/pydantic/pull/9838](https://togithub.com/pydantic/pydantic/pull/9838) #### New Contributors - [@kwint](https://togithub.com/kwint) made their first contribution in [https://github.com/pydantic/pydantic/pull/9787](https://togithub.com/pydantic/pydantic/pull/9787) - [@seekinginfiniteloop](https://togithub.com/seekinginfiniteloop) made their first contribution in [https://github.com/pydantic/pydantic/pull/9822](https://togithub.com/pydantic/pydantic/pull/9822) **Full Changelog**: https://github.com/pydantic/pydantic/compare/v2.8.0...v2.8.1 ### [`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/amitschang) in [#9344](https://togithub.com/pydantic/pydantic/pull/9344) - Hide private attributes (`PrivateAttr`) from `__init__` signature in type checkers by [@idan22moral](https://togithub.com/idan22moral) in [#9293](https://togithub.com/pydantic/pydantic/pull/9293) - Make detection of `TypeVar` defaults robust to the CPython `PEP-696` implementation by [@AlexWaygood](https://togithub.com/AlexWaygood) in [#9426](https://togithub.com/pydantic/pydantic/pull/9426) - Fix usage of `PlainSerializer` with builtin types by [@Viicos](https://togithub.com/Viicos) in [#9450](https://togithub.com/pydantic/pydantic/pull/9450) - Add more robust custom validation examples by [@ChrisPappalardo](https://togithub.com/ChrisPappalardo) in [#9468](https://togithub.com/pydantic/pydantic/pull/9468) - Fix ignored `strict` specification for `StringConstraint(strict=False)` by [@vbmendes](https://togithub.com/vbmendes) in [#9476](https://togithub.com/pydantic/pydantic/pull/9476) - Use `Self` where possible by [@Viicos](https://togithub.com/Viicos) in [#9479](https://togithub.com/pydantic/pydantic/pull/9479) - Do not alter `RootModel.model_construct` signature in the `mypy` plugin by [@Viicos](https://togithub.com/Viicos) in [#9480](https://togithub.com/pydantic/pydantic/pull/9480) - Fixed type hint of `validation_context` by [@OhioDschungel6](https://togithub.com/OhioDschungel6) in [#9508](https://togithub.com/pydantic/pydantic/pull/9508) - Support context being passed to TypeAdapter's `dump_json`/`dump_python` by [@alexcouper](https://togithub.com/alexcouper) in [#9495](https://togithub.com/pydantic/pydantic/pull/9495) - Updates type signature for `Field()` constructor by [@bjmc](https://togithub.com/bjmc) in [#9484](https://togithub.com/pydantic/pydantic/pull/9484) - Improve builtin alias generators by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9561](https://togithub.com/pydantic/pydantic/pull/9561) - Fix typing of `TypeAdapter` by [@Viicos](https://togithub.com/Viicos) in [#9570](https://togithub.com/pydantic/pydantic/pull/9570) - Add fallback default value for private fields in `__setstate__` of BaseModel by [@anhpham1509](https://togithub.com/anhpham1509) in [#9584](https://togithub.com/pydantic/pydantic/pull/9584) - Support `PEP 746` by [@adriangb](https://togithub.com/adriangb) in [#9587](https://togithub.com/pydantic/pydantic/pull/9587) - Allow validator and serializer functions to have default values by [@Viicos](https://togithub.com/Viicos) in [#9478](https://togithub.com/pydantic/pydantic/pull/9478) - Fix bug with mypy plugin's handling of covariant `TypeVar` fields by [@dmontagu](https://togithub.com/dmontagu) in [#9606](https://togithub.com/pydantic/pydantic/pull/9606) - Fix multiple annotation / constraint application logic by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9623](https://togithub.com/pydantic/pydantic/pull/9623) - Respect `regex` flags in validation and json schema by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9591](https://togithub.com/pydantic/pydantic/pull/9591) - Fix type hint on `IpvAnyAddress` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9640](https://togithub.com/pydantic/pydantic/pull/9640) - Allow a field specifier on `__pydantic_extra__` by [@dmontagu](https://togithub.com/dmontagu) in [#9659](https://togithub.com/pydantic/pydantic/pull/9659) - Use normalized case for file path comparison by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9737](https://togithub.com/pydantic/pydantic/pull/9737) - Modify constraint application logic to allow field constraints on `Optional[Decimal]` by [@lazyhope](https://togithub.com/lazyhope) in [#9754](https://togithub.com/pydantic/pydantic/pull/9754) - `validate_call` type params fix by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9760](https://togithub.com/pydantic/pydantic/pull/9760) - Check all warnings returned by pytest.warns() by [@s-t-e-v-e-n-k](https://togithub.com/s-t-e-v-e-n-k) in [#9702](https://togithub.com/pydantic/pydantic/pull/9702) - Reuse `re.Pattern` object in regex patterns to allow for regex flags by [@sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1318](https://togithub.com/pydantic/pydantic-core/pull/1318) ##### New Contributors - [@idan22moral](https://togithub.com/idan22moral) made their first contribution in [#9294](https://togithub.com/pydantic/pydantic/pull/9294) - [@anesmemisevic](https://togithub.com/anesmemisevic) made their first contribution in [#9303](https://togithub.com/pydantic/pydantic/pull/9303) - [@max-muoto](https://togithub.com/max-muoto) made their first contribution in [#9338](https://togithub.com/pydantic/pydantic/pull/9338) - [@amitschang](https://togithub.com/amitschang) made their first contribution in [#9344](https://togithub.com/pydantic/pydantic/pull/9344) - [@paulmartin91](https://togithub.com/paulmartin91) made their first contribution in [#9410](https://togithub.com/pydantic/pydantic/pull/9410) - [@OhioDschungel6](https://togithub.com/OhioDschungel6) made their first contribution in [#9405](https://togithub.com/pydantic/pydantic/pull/9405) - [@AlexWaygood](https://togithub.com/AlexWaygood) made their first contribution in [#9426](https://togithub.com/pydantic/pydantic/pull/9426) - [@kinuax](https://togithub.com/kinuax) made their first contribution in [#9433](https://togithub.com/pydantic/pydantic/pull/9433) - [@antoni-jamiolkowski](https://togithub.com/antoni-jamiolkowski) made their first contribution in [#9431](https://togithub.com/pydantic/pydantic/pull/9431) - [@candleindark](https://togithub.com/candleindark) made their first contribution in [#9448](https://togithub.com/pydantic/pydantic/pull/9448) - [@nix010](https://togithub.com/nix010) made their first contribution in [#9170](https://togithub.com/pydantic/pydantic/pull/9170) - [@tomy0000000](https://togithub.com/tomy0000000) made their first contribution in [#9457](https://togithub.com/pydantic/pydantic/pull/9457) - [@vbmendes](https://togithub.com/vbmendes) made their first contribution in [#9470](https://togithub.com/pydantic/pydantic/pull/9470) - [@micheleAlberto](https://togithub.com/micheleAlberto) made their first contribution in [#9471](https://togithub.com/pydantic/pydantic/pull/9471) - [@ChrisPappalardo](https://togithub.com/ChrisPappalardo) made their first contribution in [#9468](https://togithub.com/pydantic/pydantic/pull/9468) - [@blueTurtz](https://togithub.com/blueTurtz) made their first contribution in [#9475](https://togithub.com/pydantic/pydantic/pull/9475) - [@WinterBlue16](https://togithub.com/WinterBlue16) made their first contribution in [#9477](https://togithub.com/pydantic/pydantic/pull/9477) - [@bittner](https://togithub.com/bittner) made their first contribution in [#9500](https://togithub.com/pydantic/pydantic/pull/9500) - [@alexcouper](https://togithub.com/alexcouper) made their first contribution in [#9495](https://togithub.com/pydantic/pydantic/pull/9495) - [@bjmc](https://togithub.com/bjmc) made their first contribution in [#9484](https://togithub.com/pydantic/pydantic/pull/9484) - [@pjvv](https://togithub.com/pjvv) made their first contribution in [#9529](https://togithub.com/pydantic/pydantic/pull/9529) - [@nedbat](https://togithub.com/nedbat) made their first contribution in [#9530](https://togithub.com/pydantic/pydantic/pull/9530) - [@gunnellEvan](https://togithub.com/gunnellEvan) made their first contribution in [#9469](https://togithub.com/pydantic/pydantic/pull/9469) - [@jaymbans](https://togithub.com/jaymbans) made their first contribution in [#9531](https://togithub.com/pydantic/pydantic/pull/9531) - [@MarcBresson](https://togithub.com/MarcBresson) made their first contribution in [#9534](https://togithub.com/pydantic/pydantic/pull/9534) - [@anhpham1509](https://togithub.com/anhpham1509) made their first contribution in [#9584](https://togithub.com/pydantic/pydantic/pull/9584) - [@K-dash](https://togithub.com/K-dash) made their first contribution in [#9595](https://togithub.com/pydantic/pydantic/pull/9595) - [@s-t-e-v-e-n-k](https://togithub.com/s-t-e-v-e-n-k) made their first contribution in [#9527](https://togithub.com/pydantic/pydantic/pull/9527) - [@airwoodix](https://togithub.com/airwoodix) made their first contribution in [#9506](https://togithub.com/pydantic/pydantic/pull/9506) - [@misrasaurabh1](https://togithub.com/misrasaurabh1) made their first contribution in [#9653](https://togithub.com/pydantic/pydantic/pull/9653) - [@AlessandroMiola](https://togithub.com/AlessandroMiola) made their first contribution in [#9740](https://togithub.com/pydantic/pydantic/pull/9740) - [@mylapallilavanyaa](https://togithub.com/mylapallilavanyaa) made their first contribution in [#9746](https://togithub.com/pydantic/pydantic/pull/9746) - [@lazyhope](https://togithub.com/lazyhope) made their first contribution in [#9754](https://togithub.com/pydantic/pydantic/pull/9754) - [@YassinNouh21](https://togithub.com/YassinNouh21) made their first contribution in [#9759](https://togithub.com/pydantic/pydantic/pull/9759)Configuration
📅 Schedule: Branch creation - "every weekend" in timezone US/Eastern, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.