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)
### [`v2.7.4`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v274-2024-06-12)
[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.3...v2.7.4)
[Github release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.4)
##### What's Changed
##### Packaging
- Bump `pydantic.v1` to `v1.10.16` reference by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9639](https://togithub.com/pydantic/pydantic/pull/9639)
##### Fixes
- Specify `recursive_guard` as kwarg in `FutureRef._evaluate` by [@vfazio](https://togithub.com/vfazio) in [#9612](https://togithub.com/pydantic/pydantic/pull/9612)
### [`v2.7.3`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v273-2024-06-03)
[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.2...v2.7.3)
[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.3)
##### What's Changed
##### Packaging
- Bump `pydantic-core` to `v2.18.4` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9550](https://togithub.com/pydantic/pydantic/pull/9550)
##### Fixes
- Fix u style unicode strings in python [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#110](https://togithub.com/pydantic/jiter/pull/110)
### [`v2.7.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v272-2024-05-28)
[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.1...v2.7.2)
[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.2)
##### What's Changed
##### Packaging
- Bump `pydantic-core` to `v2.18.3` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9515](https://togithub.com/pydantic/pydantic/pull/9515)
##### Fixes
- Replace `__spec__.parent` with `__package__` by [@hramezani](https://togithub.com/hramezani) in [#9331](https://togithub.com/pydantic/pydantic/pull/9331)
- Fix validation of `int`s with leading unary minus by [@RajatRajdeep](https://togithub.com/RajatRajdeep) in [pydantic/pydantic-core#1291](https://togithub.com/pydantic/pydantic-core/pull/1291)
- Fix `str` subclass validation for enums by [@sydney-runkle](https://togithub.com/sydney-runkle) in \[[pydantic/pydantic-core#1273](https://togithub.com/pydantic/pydantic-core/issues/1273)][https://github.com/pydantic/pydantic-core/pull/1273](https://togithub.com/pydantic/pydantic-core/pull/1273)
- Support `BigInt`s in `Literal`s and `Enum`s by [@samuelcolvin](https://togithub.com/samuelcolvin) in \[[pydantic/pydantic-core#1297](https://togithub.com/pydantic/pydantic-core/issues/1297)][https://github.com/pydantic/pydantic-core/pull/1297](https://togithub.com/pydantic/pydantic-core/pull/1297)
- Fix: uuid - allow `str` subclass as input by [@davidhewitt](https://togithub.com/davidhewitt) in \[[pydantic/pydantic-core#1296](https://togithub.com/pydantic/pydantic-core/issues/1296)][https://github.com/pydantic/pydantic-core/pull/1296](https://togithub.com/pydantic/pydantic-core/pull/1296)
### [`v2.7.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v271-2024-04-23)
[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.0...v2.7.1)
[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.1)
##### What's Changed
##### Packaging
- Bump `pydantic-core` to `v2.18.2` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9307](https://togithub.com/pydantic/pydantic/pull/9307)
##### New Features
- Ftp and Websocket connection strings support by [@CherrySuryp](https://togithub.com/CherrySuryp) in [#9205](https://togithub.com/pydantic/pydantic/pull/9205)
##### Changes
- Use field description for RootModel schema description when there is `…` by [@LouisGobert](https://togithub.com/LouisGobert) in [#9214](https://togithub.com/pydantic/pydantic/pull/9214)
##### Fixes
- Fix `validation_alias` behavior with `model_construct` for `AliasChoices` and `AliasPath` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9223](https://togithub.com/pydantic/pydantic/pull/9223)
- Revert `typing.Literal` and import it outside the TYPE_CHECKING block by [@frost-nzcr4](https://togithub.com/frost-nzcr4) in [#9232](https://togithub.com/pydantic/pydantic/pull/9232)
- Fix `Secret` serialization schema, applicable for unions by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9240](https://togithub.com/pydantic/pydantic/pull/9240)
- Fix `strict` application to `function-after` with `use_enum_values` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9279](https://togithub.com/pydantic/pydantic/pull/9279)
- Address case where `model_construct` on a class which defines `model_post_init` fails with `AttributeError` by [@babygrimes](https://togithub.com/babygrimes) in [#9168](https://togithub.com/pydantic/pydantic/pull/9168)
- Fix `model_json_schema` with config types by [@NeevCohen](https://togithub.com/NeevCohen) in [#9287](https://togithub.com/pydantic/pydantic/pull/9287)
- Support multiple zeros as an `int` by [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1269](https://togithub.com/pydantic/pydantic-core/pull/1269)
- Fix validation of `int`s with leading unary plus by [@cknv](https://togithub.com/cknv) in [pydantic/pydantic-core#1272](https://togithub.com/pydantic/pydantic-core/pull/1272)
- Fix interaction between `extra != 'ignore'` and `from_attributes=True` by [@davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1276](https://togithub.com/pydantic/pydantic-core/pull/1276)
- Handle error from `Enum`'s `missing` function as `ValidationError` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1274](https://togithub.com/pydantic/pydantic-core/pull/1754)
- Fix memory leak with `Iterable` validation by [@davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1271](https://togithub.com/pydantic/pydantic-core/pull/1751)
##### New Contributors
- [@zzstoatzz](https://togithub.com/zzstoatzz) made their first contribution in [#9219](https://togithub.com/pydantic/pydantic/pull/9219)
- [@frost-nzcr4](https://togithub.com/frost-nzcr4) made their first contribution in [#9232](https://togithub.com/pydantic/pydantic/pull/9232)
- [@CherrySuryp](https://togithub.com/CherrySuryp) made their first contribution in [#9205](https://togithub.com/pydantic/pydantic/pull/9205)
- [@vagenas](https://togithub.com/vagenas) made their first contribution in [#9268](https://togithub.com/pydantic/pydantic/pull/9268)
- [@ollz272](https://togithub.com/ollz272) made their first contribution in [#9262](https://togithub.com/pydantic/pydantic/pull/9262)
- [@babygrimes](https://togithub.com/babygrimes) made their first contribution in [#9168](https://togithub.com/pydantic/pydantic/pull/9168)
- [@swelborn](https://togithub.com/swelborn) made their first contribution in [#9296](https://togithub.com/pydantic/pydantic/pull/9296)
- [@kf-novi](https://togithub.com/kf-novi) made their first contribution in [#9236](https://togithub.com/pydantic/pydantic/pull/9236)
- [@lgeiger](https://togithub.com/lgeiger) made their first contribution in [#9288](https://togithub.com/pydantic/pydantic/pull/9288)
### [`v2.7.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v270-2024-04-11)
[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.4...v2.7.0)
[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.0)
The code released in v2.7.0 is practically identical to that of v2.7.0b1.
##### What's Changed
##### Packaging
- Reorganize `pyproject.toml` sections by [@Viicos](https://togithub.com/Viicos) in [#8899](https://togithub.com/pydantic/pydantic/pull/8899)
- Bump `pydantic-core` to `v2.18.1` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9211](https://togithub.com/pydantic/pydantic/pull/9211)
- Adopt `jiter` `v0.2.0` by [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1250](https://togithub.com/pydantic/pydantic-core/pull/1250)
##### New Features
- Extract attribute docstrings from `FieldInfo.description` by [@Viicos](https://togithub.com/Viicos) in [#6563](https://togithub.com/pydantic/pydantic/pull/6563)
- Add a `with_config` decorator to comply with typing spec by [@Viicos](https://togithub.com/Viicos) in [#8611](https://togithub.com/pydantic/pydantic/pull/8611)
- Allow an optional separator splitting the value and unit of the result of `ByteSize.human_readable` by [@jks15satoshi](https://togithub.com/jks15satoshi) in [#8706](https://togithub.com/pydantic/pydantic/pull/8706)
- Add generic `Secret` base type by [@conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) in [#8519](https://togithub.com/pydantic/pydantic/pull/8519)
- Make use of `Sphinx` inventories for cross references in docs by [@Viicos](https://togithub.com/Viicos) in [#8682](https://togithub.com/pydantic/pydantic/pull/8682)
- Add environment variable to disable plugins by [@geospackle](https://togithub.com/geospackle) in [#8767](https://togithub.com/pydantic/pydantic/pull/8767)
- Add support for `deprecated` fields by [@Viicos](https://togithub.com/Viicos) in [#8237](https://togithub.com/pydantic/pydantic/pull/8237)
- Allow `field_serializer('*')` by [@ornariece](https://togithub.com/ornariece) in [#9001](https://togithub.com/pydantic/pydantic/pull/9001)
- Handle a case when `model_config` is defined as a model property by [@alexeyt101](https://togithub.com/alexeyt101) in [#9004](https://togithub.com/pydantic/pydantic/pull/9004)
- Update `create_model()` to support `typing.Annotated` as input by [@wannieman98](https://togithub.com/wannieman98) in [#8947](https://togithub.com/pydantic/pydantic/pull/8947)
- Add `ClickhouseDsn` support by [@solidguy7](https://togithub.com/solidguy7) in [#9062](https://togithub.com/pydantic/pydantic/pull/9062)
- Add support for `re.Pattern[str]` to `pattern` field by [@jag-k](https://togithub.com/jag-k) in [#9053](https://togithub.com/pydantic/pydantic/pull/9053)
- Support for `serialize_as_any` runtime setting by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8830](https://togithub.com/pydantic/pydantic/pull/8830)
- Add support for `typing.Self` by [@Youssefares](https://togithub.com/Youssefares) in [#9023](https://togithub.com/pydantic/pydantic/pull/9023)
- Ability to pass `context` to serialization by [@ornariece](https://togithub.com/ornariece) in [#8965](https://togithub.com/pydantic/pydantic/pull/8965)
- Add feedback widget to docs with flarelytics integration by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9129](https://togithub.com/pydantic/pydantic/pull/9129)
- Support for parsing partial JSON strings in Python by [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#66](https://togithub.com/pydantic/jiter/pull/66)
**Finalized in v2.7.0, rather than v2.7.0b1:**
- Add support for field level number to str coercion option by [@NeevCohen](https://togithub.com/NeevCohen) in [#9137](https://togithub.com/pydantic/pydantic/pull/9137)
- Update `warnings` parameter for serialization utilities to allow raising a warning by [@Lance-Drane](https://togithub.com/Lance-Drane) in [#9166](https://togithub.com/pydantic/pydantic/pull/9166)
##### Changes
- Correct docs, logic for `model_construct` behavior with `extra` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8807](https://togithub.com/pydantic/pydantic/pull/8807)
- Improve error message for improper `RootModel` subclasses by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8857](https://togithub.com/pydantic/pydantic/pull/8857)
- Use `PEP570` syntax by [@Viicos](https://togithub.com/Viicos) in [#8940](https://togithub.com/pydantic/pydantic/pull/8940)
- Add `enum` and `type` to the JSON schema for single item literals by [@dmontagu](https://togithub.com/dmontagu) in [#8944](https://togithub.com/pydantic/pydantic/pull/8944)
- Deprecate `update_json_schema` internal function by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9125](https://togithub.com/pydantic/pydantic/pull/9125)
- Serialize duration to hour minute second, instead of just seconds by [@kakilangit](https://togithub.com/kakilangit) in [pydantic/speedate#50](https://togithub.com/pydantic/speedate/pull/50)
- Trimming str before parsing to int and float by [@hungtsetse](https://togithub.com/hungtsetse) in [pydantic/pydantic-core#1203](https://togithub.com/pydantic/pydantic-core/pull/1203)
##### Performance
- `enum` validator improvements by [@samuelcolvin](https://togithub.com/samuelcolvin) in [#9045](https://togithub.com/pydantic/pydantic/pull/9045)
- Move `enum` validation and serialization to Rust by [@samuelcolvin](https://togithub.com/samuelcolvin) in [#9064](https://togithub.com/pydantic/pydantic/pull/9064)
- Improve schema generation for nested dataclasses by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9114](https://togithub.com/pydantic/pydantic/pull/9114)
- Fast path for ASCII python string creation in JSON by [@samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#72](https://togithub.com/pydantic/jiter/pull/72)
- SIMD integer and string JSON parsing on `aarch64`(**Note:** SIMD on x86 will be implemented in a future release) by [@samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#65](https://togithub.com/pydantic/jiter/pull/65)
- Support JSON `Cow` from `jiter` by [@davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1231](https://togithub.com/pydantic/pydantic-core/pull/1231)
- MAJOR performance improvement: update to PyO3 0.21 final by [@davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1248](https://togithub.com/pydantic/pydantic-core/pull/1248)
- cache Python strings by [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1240](https://togithub.com/pydantic/pydantic-core/pull/1240)
##### Fixes
- Fix strict parsing for some `Sequence`s by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8614](https://togithub.com/pydantic/pydantic/pull/8614)
- Add a check on the existence of `__qualname__` by [@anci3ntr0ck](https://togithub.com/anci3ntr0ck) in [#8642](https://togithub.com/pydantic/pydantic/pull/8642)
- Handle `__pydantic_extra__` annotation being a string or inherited by [@alexmojaki](https://togithub.com/alexmojaki) in [#8659](https://togithub.com/pydantic/pydantic/pull/8659)
- Fix json validation for `NameEmail` by [@Holi0317](https://togithub.com/Holi0317) in [#8650](https://togithub.com/pydantic/pydantic/pull/8650)
- Fix type-safety of attribute access in `BaseModel` by [@bluenote10](https://togithub.com/bluenote10) in [#8651](https://togithub.com/pydantic/pydantic/pull/8651)
- Fix bug with `mypy` plugin and `no_strict_optional = True` by [@dmontagu](https://togithub.com/dmontagu) in [#8666](https://togithub.com/pydantic/pydantic/pull/8666)
- Fix `ByteSize` error `type` change by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8681](https://togithub.com/pydantic/pydantic/pull/8681)
- Fix inheriting annotations in dataclasses by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8679](https://togithub.com/pydantic/pydantic/pull/8679)
- Fix regression in core schema generation for indirect definition references by [@dmontagu](https://togithub.com/dmontagu) in [#8702](https://togithub.com/pydantic/pydantic/pull/8702)
- Fix unsupported types bug with plain validator by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8710](https://togithub.com/pydantic/pydantic/pull/8710)
- Reverting problematic fix from 2.6 release, fixing schema building bug by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8718](https://togithub.com/pydantic/pydantic/pull/8718)
- fixes `__pydantic_config__` ignored for TypeDict by [@13sin](https://togithub.com/13sin) in [#8734](https://togithub.com/pydantic/pydantic/pull/8734)
- Fix test failures with `pytest v8.0.0` due to `pytest.warns()` starting to work inside `pytest.raises()` by [@mgorny](https://togithub.com/mgorny) in [#8678](https://togithub.com/pydantic/pydantic/pull/8678)
- Use `is_valid_field` from 1.x for `mypy` plugin by [@DanielNoord](https://togithub.com/DanielNoord) in [#8738](https://togithub.com/pydantic/pydantic/pull/8738)
- Better-support `mypy` strict equality flag by [@dmontagu](https://togithub.com/dmontagu) in [#8799](https://togithub.com/pydantic/pydantic/pull/8799)
- model_json_schema export with Annotated types misses 'required' parameters by [@LouisGobert](https://togithub.com/LouisGobert) in [#8793](https://togithub.com/pydantic/pydantic/pull/8793)
- Fix default inclusion in `FieldInfo.__repr_args__` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8801](https://togithub.com/pydantic/pydantic/pull/8801)
- Fix resolution of forward refs in dataclass base classes that are not present in the subclass module namespace by [@matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) in [#8751](https://togithub.com/pydantic/pydantic/pull/8751)
- Fix `BaseModel` type annotations to be resolvable by `typing.get_type_hints` by [@devmonkey22](https://togithub.com/devmonkey22) in [#7680](https://togithub.com/pydantic/pydantic/pull/7680)
- Fix: allow empty string aliases with `AliasGenerator` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8810](https://togithub.com/pydantic/pydantic/pull/8810)
- Fix test along with `date` -> `datetime` timezone assumption fix by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8823](https://togithub.com/pydantic/pydantic/pull/8823)
- Fix deprecation warning with usage of `ast.Str` by [@Viicos](https://togithub.com/Viicos) in [#8837](https://togithub.com/pydantic/pydantic/pull/8837)
- Add missing `deprecated` decorators by [@Viicos](https://togithub.com/Viicos) in [#8877](https://togithub.com/pydantic/pydantic/pull/8877)
- Fix serialization of `NameEmail` if name includes an email address by [@NeevCohen](https://togithub.com/NeevCohen) in [#8860](https://togithub.com/pydantic/pydantic/pull/8860)
- Add information about class in error message of schema generation by [@Czaki](https://togithub.com/Czaki) in [#8917](https://togithub.com/pydantic/pydantic/pull/8917)
- Make `TypeAdapter`'s typing compatible with special forms by [@adriangb](https://togithub.com/adriangb) in [#8923](https://togithub.com/pydantic/pydantic/pull/8923)
- Fix issue with config behavior being baked into the ref schema for `enum`s by [@dmontagu](https://togithub.com/dmontagu) in [#8920](https://togithub.com/pydantic/pydantic/pull/8920)
- More helpful error re wrong `model_json_schema` usage by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8928](https://togithub.com/pydantic/pydantic/pull/8928)
- Fix nested discriminated union schema gen, pt 2 by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8932](https://togithub.com/pydantic/pydantic/pull/8932)
- Fix schema build for nested dataclasses / TypedDicts with discriminators by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8950](https://togithub.com/pydantic/pydantic/pull/8950)
- Remove unnecessary logic for definitions schema gen with discriminated unions by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8951](https://togithub.com/pydantic/pydantic/pull/8951)
- Fix handling of optionals in `mypy` plugin by [@dmontagu](https://togithub.com/dmontagu) in [#9008](https://togithub.com/pydantic/pydantic/pull/9008)
- Fix `PlainSerializer` usage with std type constructor by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9031](https://togithub.com/pydantic/pydantic/pull/9031)
- Remove unnecessary warning for config in plugin by [@dmontagu](https://togithub.com/dmontagu) in [#9039](https://togithub.com/pydantic/pydantic/pull/9039)
- Fix default value serializing by [@NeevCohen](https://togithub.com/NeevCohen) in [#9066](https://togithub.com/pydantic/pydantic/pull/9066)
- Fix extra fields check in `Model.__getattr__()` by [@NeevCohen](https://togithub.com/NeevCohen) in [#9082](https://togithub.com/pydantic/pydantic/pull/9082)
- Fix `ClassVar` forward ref inherited from parent class by [@alexmojaki](https://togithub.com/alexmojaki) in [#9097](https://togithub.com/pydantic/pydantic/pull/9097)
- fix sequence like validator with strict `True` by [@andresliszt](https://togithub.com/andresliszt) in [#8977](https://togithub.com/pydantic/pydantic/pull/8977)
- Improve warning message when a field name shadows a field in a parent model by [@chan-vince](https://togithub.com/chan-vince) in [#9105](https://togithub.com/pydantic/pydantic/pull/9105)
- Do not warn about shadowed fields if they are not redefined in a child class by [@chan-vince](https://togithub.com/chan-vince) in [#9111](https://togithub.com/pydantic/pydantic/pull/9111)
- Fix discriminated union bug with unsubstituted type var by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9124](https://togithub.com/pydantic/pydantic/pull/9124)
- Support serialization of `deque` when passed to `Sequence[blah blah blah]` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9128](https://togithub.com/pydantic/pydantic/pull/9128)
- Init private attributes from super-types in `model_post_init` by [@Viicos](https://togithub.com/Viicos) in [#9134](https://togithub.com/pydantic/pydantic/pull/9134)
- fix `model_construct` with `validation_alias` by [@ornariece](https://togithub.com/ornariece) in [#9144](https://togithub.com/pydantic/pydantic/pull/9144)
- Ensure json-schema generator handles `Literal` `null` types by [@bruno-f-cruz](https://togithub.com/bruno-f-cruz) in [#9135](https://togithub.com/pydantic/pydantic/pull/9135)
- **Fixed in v2.7.0**: Fix allow extra generic by [@dmontagu](https://togithub.com/dmontagu) in [#9193](https://togithub.com/pydantic/pydantic/pull/9193)
##### New Contributors
- [@hungtsetse](https://togithub.com/hungtsetse) made their first contribution in [#8546](https://togithub.com/pydantic/pydantic/pull/8546)
- [@StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) made their first contribution in [#8583](https://togithub.com/pydantic/pydantic/pull/8583)
- [@anci3ntr0ck](https://togithub.com/anci3ntr0ck) made their first contribution in [#8642](https://togithub.com/pydantic/pydantic/pull/8642)
- [@Holi0317](https://togithub.com/Holi0317) made their first contribution in [#8650](https://togithub.com/pydantic/pydantic/pull/8650)
- [@bluenote10](https://togithub.com/bluenote10) made their first contribution in [#8651](https://togithub.com/pydantic/pydantic/pull/8651)
- [@ADSteele916](https://togithub.com/ADSteele916) made their first contribution in [#8703](https://togithub.com/pydantic/pydantic/pull/8703)
- [@musicinmybrain](https://togithub.com/musicinmybrain) made their first contribution in [#8731](https://togithub.com/pydantic/pydantic/pull/8731)
- [@jks15satoshi](https://togithub.com/jks15satoshi) made their first contribution in [#8706](https://togithub.com/pydantic/pydantic/pull/8706)
- [@13sin](https://togithub.com/13sin) made their first contribution in [#8734](https://togithub.com/pydantic/pydantic/pull/8734)
- [@DanielNoord](https://togithub.com/DanielNoord) made their first contribution in [#8738](https://togithub.com/pydantic/pydantic/pull/8738)
- [@conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) made their first contribution in [#8519](https://togithub.com/pydantic/pydantic/pull/8519)
- [@chris-griffin](https://togithub.com/chris-griffin) made their first contribution in [#8775](https://togithub.com/pydantic/pydantic/pull/8775)
- [@LouisGobert](https://togithub.com/LouisGobert) made their first contribution in [#8793](https://togithub.com/pydantic/pydantic/pull/8793)
- [@matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) made their first contribution in [#8751](https://togithub.com/pydantic/pydantic/pull/8751)
- [@devmonkey22](https://togithub.com/devmonkey22) made their first contribution in [#7680](https://togithub.com/pydantic/pydantic/pull/7680)
- [@adamency](https://togithub.com/adamency) made their first contribution in [#8847](https://togithub.com/pydantic/pydantic/pull/8847)
- [@MamfTheKramf](https://togithub.com/MamfTheKramf) made their first contribution in [#8851](https://togithub.com/pydantic/pydantic/pull/8851)
- [@ornariece](https://togithub.com/ornariece) made their first contribution in [#9001](https://togithub.com/pydantic/pydantic/pull/9001)
- [@alexeyt101](https://togithub.com/alexeyt101) made their first contribution in [#9004](https://togithub.com/pydantic/pydantic/pull/9004)
- [@wannieman98](https://togithub.com/wannieman98) made their first contribution in [#8947](https://togithub.com/pydantic/pydantic/pull/8947)
- [@solidguy7](https://togithub.com/solidguy7) made their first contribution in [#9062](https://togithub.com/pydantic/pydantic/pull/9062)
- [@kloczek](https://togithub.com/kloczek) made their first contribution in [#9047](https://togithub.com/pydantic/pydantic/pull/9047)
- [@jag-k](https://togithub.com/jag-k) made their first contribution in [#9053](https://togithub.com/pydantic/pydantic/pull/9053)
- [@priya-gitTest](https://togithub.com/priya-gitTest) made their first contribution in [#9088](https://togithub.com/pydantic/pydantic/pull/9088)
- [@Youssefares](https://togithub.com/Youssefares) made their first contribution in [#9023](https://togithub.com/pydantic/pydantic/pull/9023)
- [@chan-vince](https://togithub.com/chan-vince) made their first contribution in [#9105](https://togithub.com/pydantic/pydantic/pull/9105)
- [@bruno-f-cruz](https://togithub.com/bruno-f-cruz) made their first contribution in [#9135](https://togithub.com/pydantic/pydantic/pull/9135)
- [@Lance-Drane](https://togithub.com/Lance-Drane) made their first contribution in [#9166](https://togithub.com/pydantic/pydantic/pull/9166)
### [`v2.6.4`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v264-2024-03-12)
[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.3...v2.6.4)
[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.4)
##### What's Changed
##### Fixes
- Fix usage of `AliasGenerator` with `computed_field` decorator by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8806](https://togithub.com/pydantic/pydantic/pull/8806)
- Fix nested discriminated union schema gen, pt 2 by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8932](https://togithub.com/pydantic/pydantic/pull/8932)
- Fix bug with no_strict_optional=True caused by API deferral by [@dmontagu](https://togithub.com/dmontagu) in [#8826](https://togithub.com/pydantic/pydantic/pull/8826)
### [`v2.6.3`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v263-2024-02-27)
[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.2...v2.6.3)
[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.3)
##### What's Changed
##### Packaging
- Update `pydantic-settings` version in the docs by [@hramezani](https://togithub.com/hramezani) in [#8906](https://togithub.com/pydantic/pydantic/pull/8906)
##### Fixes
- Fix discriminated union schema gen bug by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8904](https://togithub.com/pydantic/pydantic/pull/8904)
### [`v2.6.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v262-2024-02-23)
[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.1...v2.6.2)
[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.2)
##### What's Changed
##### Packaging
- Upgrade to `pydantic-core` 2.16.3 by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8879](https://togithub.com/pydantic/pydantic/pull/8879)
##### Fixes
- 'YYYY-MM-DD' date string coerced to datetime shouldn't infer timezone by [@sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1193](https://togithub.com/pydantic/pydantic-core/pull/1193)
### [`v2.6.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v261-2024-02-05)
[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.0...v2.6.1)
[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.1)
##### What's Changed
##### Packaging
- Upgrade to `pydantic-core` 2.16.2 by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8717](https://togithub.com/pydantic/pydantic/pull/8717)
##### Fixes
- Fix bug with `mypy` plugin and `no_strict_optional = True` by [@dmontagu](https://togithub.com/dmontagu) in [#8666](https://togithub.com/pydantic/pydantic/pull/8666)
- Fix `ByteSize` error `type` change by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8681](https://togithub.com/pydantic/pydantic/pull/8681)
- Fix inheriting `Field` annotations in dataclasses by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8679](https://togithub.com/pydantic/pydantic/pull/8679)
- Fix regression in core schema generation for indirect definition references by [@dmontagu](https://togithub.com/dmontagu) in [#8702](https://togithub.com/pydantic/pydantic/pull/8702)
- Fix unsupported types bug with `PlainValidator` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8710](https://togithub.com/pydantic/pydantic/pull/8710)
- Reverting problematic fix from 2.6 release, fixing schema building bug by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8718](https://togithub.com/pydantic/pydantic/pull/8718)
- Fix warning for tuple of wrong size in `Union` by [@davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1174](https://togithub.com/pydantic/pydantic-core/pull/1174)
- Fix `computed_field` JSON serializer `exclude_none` behavior by [@sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1187](https://togithub.com/pydantic/pydantic-core/pull/1187)
### [`v2.6.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v260-2024-01-23)
[Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.5.3...v2.6.0)
[GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.0)
The code released in v2.6.0 is practically identical to that of v2.6.0b1.
##### What's Changed
##### Packaging
- Check for `email-validator` version >= 2.0 by [@commonism](https://togithub.com/commonism) in [#6033](https://togithub.com/pydantic/pydantic/pull/6033)
- Upgrade \`ruff\`\` target version to Python 3.8 by [@Elkiwa](https://togithub.com/Elkiwa) in [#8341](https://togithub.com/pydantic/pydantic/pull/8341)
- Update to `pydantic-extra-types==2.4.1` by [@yezz123](https://togithub.com/yezz123) in [#8478](https://togithub.com/pydantic/pydantic/pull/8478)
- Update to `pyright==1.1.345` by [@Viicos](https://togithub.com/Viicos) in [#8453](https://togithub.com/pydantic/pydantic/pull/8453)
- Update pydantic-core from 2.14.6 to 2.16.1, significant changes from these updates are described below, full changelog [here](https://togithub.com/pydantic/pydantic-core/compare/v2.14.6...v2.16.1)
##### New Features
- Add `NatsDsn` by [@ekeew](https://togithub.com/ekeew) in [#6874](https://togithub.com/pydantic/pydantic/pull/6874)
- Add `ConfigDict.ser_json_inf_nan` by [@davidhewitt](https://togithub.com/davidhewitt) in [#8159](https://togithub.com/pydantic/pydantic/pull/8159)
- Add `types.OnErrorOmit` by [@adriangb](https://togithub.com/adriangb) in [#8222](https://togithub.com/pydantic/pydantic/pull/8222)
- Support `AliasGenerator` usage by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8282](https://togithub.com/pydantic/pydantic/pull/8282)
- Add Pydantic People Page to docs by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8345](https://togithub.com/pydantic/pydantic/pull/8345)
- Support `yyyy-MM-DD` datetime parsing by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8404](https://togithub.com/pydantic/pydantic/pull/8404)
- Added bits conversions to the `ByteSize` class [#8415](https://togithub.com/pydantic/pydantic/issues/8415) by [@luca-matei](https://togithub.com/luca-matei) in [#8507](https://togithub.com/pydantic/pydantic/pull/8507)
- Enable json schema creation with type `ByteSize` by [@geospackle](https://togithub.com/geospackle) in [#8537](https://togithub.com/pydantic/pydantic/pull/8537)
- Add `eval_type_backport` to handle union operator and builtin generic subscripting in older Pythons by [@alexmojaki](https://togithub.com/alexmojaki) in [#8209](https://togithub.com/pydantic/pydantic/pull/8209)
- Add support for `dataclass` fields `init` by [@dmontagu](https://togithub.com/dmontagu) in [#8552](https://togithub.com/pydantic/pydantic/pull/8552)
- Implement pickling for `ValidationError` by [@davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1119](https://togithub.com/pydantic/pydantic-core/pull/1119)
- Add unified tuple validator that can handle "variadic" tuples via PEP-646 by [@dmontagu](https://togithub.com/dmontagu) in [pydantic/pydantic-core#865](https://togithub.com/pydantic/pydantic-core/pull/865)
##### Changes
- Drop Python3.7 support by [@hramezani](https://togithub.com/hramezani) in [#7188](https://togithub.com/pydantic/pydantic/pull/7188)
- Drop Python 3.7, and PyPy 3.7 and 3.8 by [@davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1129](https://togithub.com/pydantic/pydantic-core/pull/1129)
- Use positional-only `self` in `BaseModel` constructor, so no field name can ever conflict with it by [@ariebovenberg](https://togithub.com/ariebovenberg) in [#8072](https://togithub.com/pydantic/pydantic/pull/8072)
- Make `@validate_call` return a function instead of a custom descriptor - fixes binding issue with inheritance and adds `self/cls` argument to validation errors by [@alexmojaki](https://togithub.com/alexmojaki) in [#8268](https://togithub.com/pydantic/pydantic/pull/8268)
- Exclude `BaseModel` docstring from JSON schema description by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8352](https://togithub.com/pydantic/pydantic/pull/8352)
- Introducing `classproperty` decorator for `model_computed_fields` by [@Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) in [#8437](https://togithub.com/pydantic/pydantic/pull/8437)
- Explicitly raise an error if field names clashes with types by [@Viicos](https://togithub.com/Viicos) in [#8243](https://togithub.com/pydantic/pydantic/pull/8243)
- Use stricter serializer for unions of simple types by [@alexdrydew](https://togithub.com/alexdrydew) [pydantic/pydantic-core#1132](https://togithub.com/pydantic/pydantic-core/pull/1132)
##### Performance
- Add Codspeed profiling Actions workflow by [@lambertsbennett](https://togithub.com/lambertsbennett) in [#8054](https://togithub.com/pydantic/pydantic/pull/8054)
- Improve `int` extraction by [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1155](https://togithub.com/pydantic/pydantic-core/pull/1155)
- Improve performance of recursion guard by [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1156](https://togithub.com/pydantic/pydantic-core/pull/1156)
- `dataclass` serialization speedups by [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1162](https://togithub.com/pydantic/pydantic-core/pull/1162)
- Avoid `HashMap` creation when looking up small JSON objects in `LazyIndexMaps` by [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#55](https://togithub.com/pydantic/jiter/pull/55)
- use hashbrown to speedup python string caching by [@davidhewitt](https://togithub.com/davidhewitt) in [pydantic/jiter#51](https://togithub.com/pydantic/jiter/pull/51)
- Replace `Peak` with more efficient `Peek` by [@davidhewitt](https://togithub.com/davidhewitt) in [pydantic/jiter#48](https://togithub.com/pydantic/jiter/pull/48)
##### Fixes
- Move `getattr` warning in deprecated `BaseConfig` by [@tlambert03](https://togithub.com/tlambert03) in [#7183](https://togithub.com/pydantic/pydantic/pull/7183)
- Only hash `model_fields`, not whole `__dict__` by [@alexmojaki](https://togithub.com/alexmojaki) in [#7786](https://togithub.com/pydantic/pydantic/pull/7786)
- Fix mishandling of unions while freezing types in the `mypy` plugin by [@dmontagu](https://togithub.com/dmontagu) in [#7411](https://togithub.com/pydantic/pydantic/pull/7411)
- Fix `mypy` error on untyped `ClassVar` by [@vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) in [#8138](https://togithub.com/pydantic/pydantic/pull/8138)
- Only compare pydantic fields in `BaseModel.__eq__` instead of whole `__dict__` by [@QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia) in [#7825](https://togithub.com/pydantic/pydantic/pull/7825)
- Update `strict` docstring in `model_validate` method. by [@LukeTonin](https://togithub.com/LukeTonin) in [#8223](https://togithub.com/pydantic/pydantic/pull/8223)
- Fix overload position of `computed_field` by [@Viicos](https://togithub.com/Viicos) in [#8227](https://togithub.com/pydantic/pydantic/pull/8227)
- Fix custom type type casting used in multiple attributes by [@ianhfc](https://togithub.com/ianhfc) in [#8066](https://togithub.com/pydantic/pydantic/pull/8066)
- Fix issue not allowing `validate_call` decorator to be
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), 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.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
^1.10.13
->^2.0.0
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) ### [`v2.7.4`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v274-2024-06-12) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.3...v2.7.4) [Github release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.4) ##### What's Changed ##### Packaging - Bump `pydantic.v1` to `v1.10.16` reference by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9639](https://togithub.com/pydantic/pydantic/pull/9639) ##### Fixes - Specify `recursive_guard` as kwarg in `FutureRef._evaluate` by [@vfazio](https://togithub.com/vfazio) in [#9612](https://togithub.com/pydantic/pydantic/pull/9612) ### [`v2.7.3`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v273-2024-06-03) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.2...v2.7.3) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.3) ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.18.4` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9550](https://togithub.com/pydantic/pydantic/pull/9550) ##### Fixes - Fix u style unicode strings in python [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#110](https://togithub.com/pydantic/jiter/pull/110) ### [`v2.7.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v272-2024-05-28) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.1...v2.7.2) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.2) ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.18.3` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9515](https://togithub.com/pydantic/pydantic/pull/9515) ##### Fixes - Replace `__spec__.parent` with `__package__` by [@hramezani](https://togithub.com/hramezani) in [#9331](https://togithub.com/pydantic/pydantic/pull/9331) - Fix validation of `int`s with leading unary minus by [@RajatRajdeep](https://togithub.com/RajatRajdeep) in [pydantic/pydantic-core#1291](https://togithub.com/pydantic/pydantic-core/pull/1291) - Fix `str` subclass validation for enums by [@sydney-runkle](https://togithub.com/sydney-runkle) in \[[pydantic/pydantic-core#1273](https://togithub.com/pydantic/pydantic-core/issues/1273)][https://github.com/pydantic/pydantic-core/pull/1273](https://togithub.com/pydantic/pydantic-core/pull/1273) - Support `BigInt`s in `Literal`s and `Enum`s by [@samuelcolvin](https://togithub.com/samuelcolvin) in \[[pydantic/pydantic-core#1297](https://togithub.com/pydantic/pydantic-core/issues/1297)][https://github.com/pydantic/pydantic-core/pull/1297](https://togithub.com/pydantic/pydantic-core/pull/1297) - Fix: uuid - allow `str` subclass as input by [@davidhewitt](https://togithub.com/davidhewitt) in \[[pydantic/pydantic-core#1296](https://togithub.com/pydantic/pydantic-core/issues/1296)][https://github.com/pydantic/pydantic-core/pull/1296](https://togithub.com/pydantic/pydantic-core/pull/1296) ### [`v2.7.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v271-2024-04-23) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.0...v2.7.1) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.1) ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.18.2` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9307](https://togithub.com/pydantic/pydantic/pull/9307) ##### New Features - Ftp and Websocket connection strings support by [@CherrySuryp](https://togithub.com/CherrySuryp) in [#9205](https://togithub.com/pydantic/pydantic/pull/9205) ##### Changes - Use field description for RootModel schema description when there is `…` by [@LouisGobert](https://togithub.com/LouisGobert) in [#9214](https://togithub.com/pydantic/pydantic/pull/9214) ##### Fixes - Fix `validation_alias` behavior with `model_construct` for `AliasChoices` and `AliasPath` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9223](https://togithub.com/pydantic/pydantic/pull/9223) - Revert `typing.Literal` and import it outside the TYPE_CHECKING block by [@frost-nzcr4](https://togithub.com/frost-nzcr4) in [#9232](https://togithub.com/pydantic/pydantic/pull/9232) - Fix `Secret` serialization schema, applicable for unions by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9240](https://togithub.com/pydantic/pydantic/pull/9240) - Fix `strict` application to `function-after` with `use_enum_values` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9279](https://togithub.com/pydantic/pydantic/pull/9279) - Address case where `model_construct` on a class which defines `model_post_init` fails with `AttributeError` by [@babygrimes](https://togithub.com/babygrimes) in [#9168](https://togithub.com/pydantic/pydantic/pull/9168) - Fix `model_json_schema` with config types by [@NeevCohen](https://togithub.com/NeevCohen) in [#9287](https://togithub.com/pydantic/pydantic/pull/9287) - Support multiple zeros as an `int` by [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1269](https://togithub.com/pydantic/pydantic-core/pull/1269) - Fix validation of `int`s with leading unary plus by [@cknv](https://togithub.com/cknv) in [pydantic/pydantic-core#1272](https://togithub.com/pydantic/pydantic-core/pull/1272) - Fix interaction between `extra != 'ignore'` and `from_attributes=True` by [@davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1276](https://togithub.com/pydantic/pydantic-core/pull/1276) - Handle error from `Enum`'s `missing` function as `ValidationError` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1274](https://togithub.com/pydantic/pydantic-core/pull/1754) - Fix memory leak with `Iterable` validation by [@davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1271](https://togithub.com/pydantic/pydantic-core/pull/1751) ##### New Contributors - [@zzstoatzz](https://togithub.com/zzstoatzz) made their first contribution in [#9219](https://togithub.com/pydantic/pydantic/pull/9219) - [@frost-nzcr4](https://togithub.com/frost-nzcr4) made their first contribution in [#9232](https://togithub.com/pydantic/pydantic/pull/9232) - [@CherrySuryp](https://togithub.com/CherrySuryp) made their first contribution in [#9205](https://togithub.com/pydantic/pydantic/pull/9205) - [@vagenas](https://togithub.com/vagenas) made their first contribution in [#9268](https://togithub.com/pydantic/pydantic/pull/9268) - [@ollz272](https://togithub.com/ollz272) made their first contribution in [#9262](https://togithub.com/pydantic/pydantic/pull/9262) - [@babygrimes](https://togithub.com/babygrimes) made their first contribution in [#9168](https://togithub.com/pydantic/pydantic/pull/9168) - [@swelborn](https://togithub.com/swelborn) made their first contribution in [#9296](https://togithub.com/pydantic/pydantic/pull/9296) - [@kf-novi](https://togithub.com/kf-novi) made their first contribution in [#9236](https://togithub.com/pydantic/pydantic/pull/9236) - [@lgeiger](https://togithub.com/lgeiger) made their first contribution in [#9288](https://togithub.com/pydantic/pydantic/pull/9288) ### [`v2.7.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v270-2024-04-11) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.4...v2.7.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.0) The code released in v2.7.0 is practically identical to that of v2.7.0b1. ##### What's Changed ##### Packaging - Reorganize `pyproject.toml` sections by [@Viicos](https://togithub.com/Viicos) in [#8899](https://togithub.com/pydantic/pydantic/pull/8899) - Bump `pydantic-core` to `v2.18.1` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9211](https://togithub.com/pydantic/pydantic/pull/9211) - Adopt `jiter` `v0.2.0` by [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1250](https://togithub.com/pydantic/pydantic-core/pull/1250) ##### New Features - Extract attribute docstrings from `FieldInfo.description` by [@Viicos](https://togithub.com/Viicos) in [#6563](https://togithub.com/pydantic/pydantic/pull/6563) - Add a `with_config` decorator to comply with typing spec by [@Viicos](https://togithub.com/Viicos) in [#8611](https://togithub.com/pydantic/pydantic/pull/8611) - Allow an optional separator splitting the value and unit of the result of `ByteSize.human_readable` by [@jks15satoshi](https://togithub.com/jks15satoshi) in [#8706](https://togithub.com/pydantic/pydantic/pull/8706) - Add generic `Secret` base type by [@conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) in [#8519](https://togithub.com/pydantic/pydantic/pull/8519) - Make use of `Sphinx` inventories for cross references in docs by [@Viicos](https://togithub.com/Viicos) in [#8682](https://togithub.com/pydantic/pydantic/pull/8682) - Add environment variable to disable plugins by [@geospackle](https://togithub.com/geospackle) in [#8767](https://togithub.com/pydantic/pydantic/pull/8767) - Add support for `deprecated` fields by [@Viicos](https://togithub.com/Viicos) in [#8237](https://togithub.com/pydantic/pydantic/pull/8237) - Allow `field_serializer('*')` by [@ornariece](https://togithub.com/ornariece) in [#9001](https://togithub.com/pydantic/pydantic/pull/9001) - Handle a case when `model_config` is defined as a model property by [@alexeyt101](https://togithub.com/alexeyt101) in [#9004](https://togithub.com/pydantic/pydantic/pull/9004) - Update `create_model()` to support `typing.Annotated` as input by [@wannieman98](https://togithub.com/wannieman98) in [#8947](https://togithub.com/pydantic/pydantic/pull/8947) - Add `ClickhouseDsn` support by [@solidguy7](https://togithub.com/solidguy7) in [#9062](https://togithub.com/pydantic/pydantic/pull/9062) - Add support for `re.Pattern[str]` to `pattern` field by [@jag-k](https://togithub.com/jag-k) in [#9053](https://togithub.com/pydantic/pydantic/pull/9053) - Support for `serialize_as_any` runtime setting by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8830](https://togithub.com/pydantic/pydantic/pull/8830) - Add support for `typing.Self` by [@Youssefares](https://togithub.com/Youssefares) in [#9023](https://togithub.com/pydantic/pydantic/pull/9023) - Ability to pass `context` to serialization by [@ornariece](https://togithub.com/ornariece) in [#8965](https://togithub.com/pydantic/pydantic/pull/8965) - Add feedback widget to docs with flarelytics integration by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9129](https://togithub.com/pydantic/pydantic/pull/9129) - Support for parsing partial JSON strings in Python by [@samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#66](https://togithub.com/pydantic/jiter/pull/66) **Finalized in v2.7.0, rather than v2.7.0b1:** - Add support for field level number to str coercion option by [@NeevCohen](https://togithub.com/NeevCohen) in [#9137](https://togithub.com/pydantic/pydantic/pull/9137) - Update `warnings` parameter for serialization utilities to allow raising a warning by [@Lance-Drane](https://togithub.com/Lance-Drane) in [#9166](https://togithub.com/pydantic/pydantic/pull/9166) ##### Changes - Correct docs, logic for `model_construct` behavior with `extra` by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8807](https://togithub.com/pydantic/pydantic/pull/8807) - Improve error message for improper `RootModel` subclasses by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#8857](https://togithub.com/pydantic/pydantic/pull/8857) - Use `PEP570` syntax by [@Viicos](https://togithub.com/Viicos) in [#8940](https://togithub.com/pydantic/pydantic/pull/8940) - Add `enum` and `type` to the JSON schema for single item literals by [@dmontagu](https://togithub.com/dmontagu) in [#8944](https://togithub.com/pydantic/pydantic/pull/8944) - Deprecate `update_json_schema` internal function by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9125](https://togithub.com/pydantic/pydantic/pull/9125) - Serialize duration to hour minute second, instead of just seconds by [@kakilangit](https://togithub.com/kakilangit) in [pydantic/speedate#50](https://togithub.com/pydantic/speedate/pull/50) - Trimming str before parsing to int and float by [@hungtsetse](https://togithub.com/hungtsetse) in [pydantic/pydantic-core#1203](https://togithub.com/pydantic/pydantic-core/pull/1203) ##### Performance - `enum` validator improvements by [@samuelcolvin](https://togithub.com/samuelcolvin) in [#9045](https://togithub.com/pydantic/pydantic/pull/9045) - Move `enum` validation and serialization to Rust by [@samuelcolvin](https://togithub.com/samuelcolvin) in [#9064](https://togithub.com/pydantic/pydantic/pull/9064) - Improve schema generation for nested dataclasses by [@sydney-runkle](https://togithub.com/sydney-runkle) in [#9114](https://togithub.com/pydantic/pydantic/pull/9114) - Fast path for ASCII python string creation in JSON by [@samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#72](https://togithub.com/pydantic/jiter/pull/72) - SIMD integer and string JSON parsing on `aarch64`(**Note:** SIMD on x86 will be implemented in a future release) by [@samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#65](https://togithub.com/pydantic/jiter/pull/65) - Support JSON `CowConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), 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.
This PR was generated by Mend Renovate. View the repository job log.