Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update pydantic to 2.8.2 #7588

Open
wants to merge 1 commit into
base: rewrite
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Jul 4, 2024

This PR updates pydantic from 2.5.2 to 2.8.2.

Changelog

2.8.0

[GitHub release](https://github.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 in [9673](https://github.com/pydantic/pydantic/pull/9673)
* Bump pyright to `v1.1.367` and add type checking tests for pipeline API by adriangb in [9674](https://github.com/pydantic/pydantic/pull/9674)
* Update `pydantic.v1` stub to `v1.10.17` by sydney-runkle in [9707](https://github.com/pydantic/pydantic/pull/9707)
* General package updates to prep for `v2.8.0b1` by sydney-runkle in [9741](https://github.com/pydantic/pydantic/pull/9741)
* Bump `pydantic-core` to `v2.20.0` by sydney-runkle in [9745](https://github.com/pydantic/pydantic/pull/9745)
* Add support for Python 3.13 by sydney-runkle in [9743](https://github.com/pydantic/pydantic/pull/9743)
* Update `pdm` version used for `pdm.lock` to v2.16.1 by sydney-runkle in [9761](https://github.com/pydantic/pydantic/pull/9761)
* Update to `ruff` `v0.4.8` by Viicos in [9585](https://github.com/pydantic/pydantic/pull/9585)

New Features

* Experimental: support `defer_build` for `TypeAdapter` by MarkusSintonen in [8939](https://github.com/pydantic/pydantic/pull/8939)
* Implement `deprecated` field in json schema by NeevCohen in [9298](https://github.com/pydantic/pydantic/pull/9298)
* Experimental: Add pipeline API by adriangb in [9459](https://github.com/pydantic/pydantic/pull/9459)
* Add support for programmatic title generation by NeevCohen in [9183](https://github.com/pydantic/pydantic/pull/9183)
* Implement `fail_fast` feature by uriyyo in [9708](https://github.com/pydantic/pydantic/pull/9708)
* Add `ser_json_inf_nan='strings'` mode to produce valid JSON by josh-newman in [pydantic/pydantic-core1307](https://github.com/pydantic/pydantic-core/pull/1307)

Changes

* Add warning when "alias" is set in ignored `Annotated` field by nix010 in [9170](https://github.com/pydantic/pydantic/pull/9170)
* Support serialization of some serializable defaults in JSON schema by sydney-runkle in [9624](https://github.com/pydantic/pydantic/pull/9624)
* Relax type specification for `__validators__` values in `create_model` by sydney-runkle in [9697](https://github.com/pydantic/pydantic/pull/9697)
* **Breaking Change:** Improve `smart` union matching logic by sydney-runkle in [pydantic/pydantic-core1322](https://github.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 in [9653](https://github.com/pydantic/pydantic/pull/9653)
* ⚡️ Speed up `_get_all_json_refs()` by 34% in `pydantic/json_schema.py` by misrasaurabh1 in [9650](https://github.com/pydantic/pydantic/pull/9650)
* ⚡️ Speed up `is_pydantic_dataclass()` by 41% in `pydantic/dataclasses.py` by misrasaurabh1 in [9652](https://github.com/pydantic/pydantic/pull/9652)
* ⚡️ Speed up `to_snake()` by 27% in `pydantic/alias_generators.py` by misrasaurabh1 in [9747](https://github.com/pydantic/pydantic/pull/9747)
* ⚡️ Speed up `unwrap_wrapped_function()` by 93% in `pydantic/_internal/_decorators.py` by misrasaurabh1 in [9727](https://github.com/pydantic/pydantic/pull/9727)

Fixes

* Replace `__spec__.parent` with `__package__` by hramezani in [9331](https://github.com/pydantic/pydantic/pull/9331)
* Fix Outputted Model JSON Schema for `Sequence` type by anesmemisevic in [9303](https://github.com/pydantic/pydantic/pull/9303)
* Fix typing of `_frame_depth` by Viicos in [9353](https://github.com/pydantic/pydantic/pull/9353)
* Make `ImportString` json schema compatible by amitschang in [9344](https://github.com/pydantic/pydantic/pull/9344)
* Hide private attributes (`PrivateAttr`) from `__init__` signature in type checkers by idan22moral in [9293](https://github.com/pydantic/pydantic/pull/9293)
* Make detection of `TypeVar` defaults robust to the CPython `PEP-696` implementation by AlexWaygood in [9426](https://github.com/pydantic/pydantic/pull/9426)
* Fix usage of `PlainSerializer` with builtin types by Viicos in [9450](https://github.com/pydantic/pydantic/pull/9450)
* Add more robust custom validation examples by ChrisPappalardo in [9468](https://github.com/pydantic/pydantic/pull/9468)
* Fix ignored `strict` specification for `StringConstraint(strict=False)` by vbmendes in [9476](https://github.com/pydantic/pydantic/pull/9476)
* Use `Self` where possible by Viicos in [9479](https://github.com/pydantic/pydantic/pull/9479)
* Do not alter `RootModel.model_construct` signature in the `mypy` plugin by Viicos in [9480](https://github.com/pydantic/pydantic/pull/9480)
* Fixed type hint of `validation_context` by OhioDschungel6 in [9508](https://github.com/pydantic/pydantic/pull/9508)
* Support context being passed to TypeAdapter's `dump_json`/`dump_python` by alexcouper in [9495](https://github.com/pydantic/pydantic/pull/9495)
* Updates type signature for `Field()` constructor by bjmc in [9484](https://github.com/pydantic/pydantic/pull/9484)
* Improve builtin alias generators by sydney-runkle in [9561](https://github.com/pydantic/pydantic/pull/9561)
* Fix typing of `TypeAdapter` by Viicos in [9570](https://github.com/pydantic/pydantic/pull/9570)
* Add fallback default value for private fields in `__setstate__` of BaseModel by anhpham1509 in [9584](https://github.com/pydantic/pydantic/pull/9584)
* Support `PEP 746` by adriangb in [9587](https://github.com/pydantic/pydantic/pull/9587)
* Allow validator and serializer functions to have default values by Viicos in [9478](https://github.com/pydantic/pydantic/pull/9478)
* Fix bug with mypy plugin's handling of covariant `TypeVar` fields by dmontagu in [9606](https://github.com/pydantic/pydantic/pull/9606)
* Fix multiple annotation / constraint application logic by sydney-runkle in [9623](https://github.com/pydantic/pydantic/pull/9623)
* Respect `regex` flags in validation and json schema by sydney-runkle in [9591](https://github.com/pydantic/pydantic/pull/9591)
* Fix type hint on `IpvAnyAddress` by sydney-runkle in [9640](https://github.com/pydantic/pydantic/pull/9640)
* Allow a field specifier on `__pydantic_extra__` by dmontagu in [9659](https://github.com/pydantic/pydantic/pull/9659)
* Use normalized case for file path comparison by sydney-runkle in [9737](https://github.com/pydantic/pydantic/pull/9737)
* Modify constraint application logic to allow field constraints on `Optional[Decimal]` by lazyhope in [9754](https://github.com/pydantic/pydantic/pull/9754)
* `validate_call` type params fix by sydney-runkle in [9760](https://github.com/pydantic/pydantic/pull/9760)
* Check all warnings returned by pytest.warns() by s-t-e-v-e-n-k in [9702](https://github.com/pydantic/pydantic/pull/9702)
* Reuse `re.Pattern` object in regex patterns to allow for regex flags by sydney-runkle in [pydantic/pydantic-core1318](https://github.com/pydantic/pydantic-core/pull/1318)

New Contributors

* idan22moral made their first contribution in [9294](https://github.com/pydantic/pydantic/pull/9294)
* anesmemisevic made their first contribution in [9303](https://github.com/pydantic/pydantic/pull/9303)
* max-muoto made their first contribution in [9338](https://github.com/pydantic/pydantic/pull/9338)
* amitschang made their first contribution in [9344](https://github.com/pydantic/pydantic/pull/9344)
* paulmartin91 made their first contribution in [9410](https://github.com/pydantic/pydantic/pull/9410)
* OhioDschungel6 made their first contribution in [9405](https://github.com/pydantic/pydantic/pull/9405)
* AlexWaygood made their first contribution in [9426](https://github.com/pydantic/pydantic/pull/9426)
* kinuax made their first contribution in [9433](https://github.com/pydantic/pydantic/pull/9433)
* antoni-jamiolkowski made their first contribution in [9431](https://github.com/pydantic/pydantic/pull/9431)
* candleindark made their first contribution in [9448](https://github.com/pydantic/pydantic/pull/9448)
* nix010 made their first contribution in [9170](https://github.com/pydantic/pydantic/pull/9170)
* tomy0000000 made their first contribution in [9457](https://github.com/pydantic/pydantic/pull/9457)
* vbmendes made their first contribution in [9470](https://github.com/pydantic/pydantic/pull/9470)
* micheleAlberto made their first contribution in [9471](https://github.com/pydantic/pydantic/pull/9471)
* ChrisPappalardo made their first contribution in [9468](https://github.com/pydantic/pydantic/pull/9468)
* blueTurtz made their first contribution in [9475](https://github.com/pydantic/pydantic/pull/9475)
* WinterBlue16 made their first contribution in [9477](https://github.com/pydantic/pydantic/pull/9477)
* bittner made their first contribution in [9500](https://github.com/pydantic/pydantic/pull/9500)
* alexcouper made their first contribution in [9495](https://github.com/pydantic/pydantic/pull/9495)
* bjmc made their first contribution in [9484](https://github.com/pydantic/pydantic/pull/9484)
* pjvv made their first contribution in [9529](https://github.com/pydantic/pydantic/pull/9529)
* nedbat made their first contribution in [9530](https://github.com/pydantic/pydantic/pull/9530)
* gunnellEvan made their first contribution in [9469](https://github.com/pydantic/pydantic/pull/9469)
* jaymbans made their first contribution in [9531](https://github.com/pydantic/pydantic/pull/9531)
* MarcBresson made their first contribution in [9534](https://github.com/pydantic/pydantic/pull/9534)
* anhpham1509 made their first contribution in [9584](https://github.com/pydantic/pydantic/pull/9584)
* K-dash made their first contribution in [9595](https://github.com/pydantic/pydantic/pull/9595)
* s-t-e-v-e-n-k made their first contribution in [9527](https://github.com/pydantic/pydantic/pull/9527)
* airwoodix made their first contribution in [9506](https://github.com/pydantic/pydantic/pull/9506)
* misrasaurabh1 made their first contribution in [9653](https://github.com/pydantic/pydantic/pull/9653)
* AlessandroMiola made their first contribution in [9740](https://github.com/pydantic/pydantic/pull/9740)
* mylapallilavanyaa made their first contribution in [9746](https://github.com/pydantic/pydantic/pull/9746)
* lazyhope made their first contribution in [9754](https://github.com/pydantic/pydantic/pull/9754)
* YassinNouh21 made their first contribution in [9759](https://github.com/pydantic/pydantic/pull/9759)

2.8.0b1

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

2.7.4

[Github release](https://github.com/pydantic/pydantic/releases/tag/v2.7.4)

What's Changed

Packaging

* Bump `pydantic.v1` to `v1.10.16` reference by sydney-runkle in [9639](https://github.com/pydantic/pydantic/pull/9639)

Fixes

* Specify `recursive_guard` as kwarg in `FutureRef._evaluate` by vfazio in [9612](https://github.com/pydantic/pydantic/pull/9612)

2.7.3

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

What's Changed

Packaging

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

Fixes

* Fix u style unicode strings in python samuelcolvin in [pydantic/jiter110](https://github.com/pydantic/jiter/pull/110)

2.7.2

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

What's Changed

Packaging

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

Fixes

* Replace `__spec__.parent` with `__package__` by hramezani in [9331](https://github.com/pydantic/pydantic/pull/9331)
* Fix validation of `int`s with leading unary minus by RajatRajdeep in [pydantic/pydantic-core1291](https://github.com/pydantic/pydantic-core/pull/1291)
* Fix `str` subclass validation for enums by sydney-runkle in [pydantic/pydantic-core1273](https://github.com/pydantic/pydantic-core/pull/1273)
* Support `BigInt`s in `Literal`s and `Enum`s by samuelcolvin in [pydantic/pydantic-core1297](https://github.com/pydantic/pydantic-core/pull/1297)
* Fix: uuid - allow `str` subclass as input by davidhewitt in [pydantic/pydantic-core1296](https://github.com/pydantic/pydantic-core/pull/1296)

2.7.1

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

What's Changed

Packaging

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

New Features

* Ftp and Websocket connection strings support by CherrySuryp in [9205](https://github.com/pydantic/pydantic/pull/9205)

Changes

* Use field description for RootModel schema description when there is `…` by LouisGobert in [9214](https://github.com/pydantic/pydantic/pull/9214)

Fixes

* Fix `validation_alias` behavior with `model_construct` for `AliasChoices` and `AliasPath` by sydney-runkle in [9223](https://github.com/pydantic/pydantic/pull/9223)
* Revert `typing.Literal` and import it outside the TYPE_CHECKING block by frost-nzcr4 in [9232](https://github.com/pydantic/pydantic/pull/9232)
* Fix `Secret` serialization schema, applicable for unions by sydney-runkle in [9240](https://github.com/pydantic/pydantic/pull/9240)
* Fix `strict` application to `function-after` with `use_enum_values` by sydney-runkle in [9279](https://github.com/pydantic/pydantic/pull/9279)
* Address case where `model_construct` on a class which defines `model_post_init` fails with `AttributeError` by babygrimes in [9168](https://github.com/pydantic/pydantic/pull/9168)
* Fix `model_json_schema` with config types by NeevCohen in [9287](https://github.com/pydantic/pydantic/pull/9287)
* Support multiple zeros as an `int` by samuelcolvin in [pydantic/pydantic-core1269](https://github.com/pydantic/pydantic-core/pull/1269)
* Fix validation of `int`s with leading unary plus by cknv in [pydantic/pydantic-core1272](https://github.com/pydantic/pydantic-core/pull/1272)
* Fix interaction between `extra != 'ignore'` and `from_attributes=True` by davidhewitt in [pydantic/pydantic-core1276](https://github.com/pydantic/pydantic-core/pull/1276)
* Handle error from `Enum`'s `missing` function as `ValidationError` by sydney-runkle in [pydantic/pydantic-core1274](https://github.com/pydantic/pydantic-core/pull/1754)
* Fix memory leak with `Iterable` validation by davidhewitt in [pydantic/pydantic-core1271](https://github.com/pydantic/pydantic-core/pull/1751)

New Contributors

* zzstoatzz made their first contribution in [9219](https://github.com/pydantic/pydantic/pull/9219)
* frost-nzcr4 made their first contribution in [9232](https://github.com/pydantic/pydantic/pull/9232)
* CherrySuryp made their first contribution in [9205](https://github.com/pydantic/pydantic/pull/9205)
* vagenas made their first contribution in [9268](https://github.com/pydantic/pydantic/pull/9268)
* ollz272 made their first contribution in [9262](https://github.com/pydantic/pydantic/pull/9262)
* babygrimes made their first contribution in [9168](https://github.com/pydantic/pydantic/pull/9168)
* swelborn made their first contribution in [9296](https://github.com/pydantic/pydantic/pull/9296)
* kf-novi made their first contribution in [9236](https://github.com/pydantic/pydantic/pull/9236)
* lgeiger made their first contribution in [9288](https://github.com/pydantic/pydantic/pull/9288)

2.7.0

[GitHub release](https://github.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 in [8899](https://github.com/pydantic/pydantic/pull/8899)
* Bump `pydantic-core` to `v2.18.1` by sydney-runkle in [9211](https://github.com/pydantic/pydantic/pull/9211)
* Adopt `jiter` `v0.2.0` by samuelcolvin in [pydantic/pydantic-core1250](https://github.com/pydantic/pydantic-core/pull/1250)

New Features

* Extract attribute docstrings from `FieldInfo.description` by Viicos in [6563](https://github.com/pydantic/pydantic/pull/6563)
* Add a `with_config` decorator to comply with typing spec by Viicos in [8611](https://github.com/pydantic/pydantic/pull/8611)
* Allow an optional separator splitting the value and unit of the result of `ByteSize.human_readable` by jks15satoshi in [8706](https://github.com/pydantic/pydantic/pull/8706)
* Add generic `Secret` base type by conradogarciaberrotaran in [8519](https://github.com/pydantic/pydantic/pull/8519)
* Make use of `Sphinx` inventories for cross references in docs by Viicos in [8682](https://github.com/pydantic/pydantic/pull/8682)
* Add environment variable to disable plugins by geospackle in [8767](https://github.com/pydantic/pydantic/pull/8767)
* Add support for `deprecated` fields by Viicos in [8237](https://github.com/pydantic/pydantic/pull/8237)
* Allow `field_serializer('*')` by ornariece in [9001](https://github.com/pydantic/pydantic/pull/9001)
* Handle a case when `model_config` is defined as a model property by alexeyt101 in [9004](https://github.com/pydantic/pydantic/pull/9004)
* Update `create_model()` to support `typing.Annotated` as input by wannieman98 in [8947](https://github.com/pydantic/pydantic/pull/8947)
* Add `ClickhouseDsn` support by solidguy7 in [9062](https://github.com/pydantic/pydantic/pull/9062)
* Add support for `re.Pattern[str]` to `pattern` field by jag-k in [9053](https://github.com/pydantic/pydantic/pull/9053)
* Support for `serialize_as_any` runtime setting by sydney-runkle in [8830](https://github.com/pydantic/pydantic/pull/8830)
* Add support for `typing.Self` by Youssefares in [9023](https://github.com/pydantic/pydantic/pull/9023)
* Ability to pass `context` to serialization by ornariece in [8965](https://github.com/pydantic/pydantic/pull/8965)
* Add feedback widget to docs with flarelytics integration by sydney-runkle in [9129](https://github.com/pydantic/pydantic/pull/9129)
* Support for parsing partial JSON strings in Python by samuelcolvin in [pydantic/jiter66](https://github.com/pydantic/jiter/pull/66)

2.7.0b1

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

2.6.4

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

What's Changed

Fixes

* Fix usage of `AliasGenerator` with `computed_field` decorator by sydney-runkle in [8806](https://github.com/pydantic/pydantic/pull/8806)
* Fix nested discriminated union schema gen, pt 2 by sydney-runkle in [8932](https://github.com/pydantic/pydantic/pull/8932)
* Fix bug with no_strict_optional=True caused by API deferral by dmontagu in [8826](https://github.com/pydantic/pydantic/pull/8826)

2.6.3

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

What's Changed

Packaging

* Update `pydantic-settings` version in the docs by hramezani in [8906](https://github.com/pydantic/pydantic/pull/8906)

Fixes

* Fix discriminated union schema gen bug by sydney-runkle in [8904](https://github.com/pydantic/pydantic/pull/8904)

2.6.2

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

What's Changed

Packaging

* Upgrade to `pydantic-core` 2.16.3 by sydney-runkle in [8879](https://github.com/pydantic/pydantic/pull/8879)

Fixes

* 'YYYY-MM-DD' date string coerced to datetime shouldn't infer timezone by sydney-runkle in [pydantic/pydantic-core1193](https://github.com/pydantic/pydantic-core/pull/1193)

2.6.1

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

What's Changed

Packaging

* Upgrade to `pydantic-core` 2.16.2 by sydney-runkle in [8717](https://github.com/pydantic/pydantic/pull/8717)

Fixes

* Fix bug with `mypy` plugin and `no_strict_optional = True` by dmontagu in [8666](https://github.com/pydantic/pydantic/pull/8666)
* Fix `ByteSize` error `type` change by sydney-runkle in [8681](https://github.com/pydantic/pydantic/pull/8681)
* Fix inheriting `Field` annotations in dataclasses by sydney-runkle in [8679](https://github.com/pydantic/pydantic/pull/8679)
* Fix regression in core schema generation for indirect definition references by dmontagu in [8702](https://github.com/pydantic/pydantic/pull/8702)
* Fix unsupported types bug with `PlainValidator` by sydney-runkle in [8710](https://github.com/pydantic/pydantic/pull/8710)
* Reverting problematic fix from 2.6 release, fixing schema building bug by sydney-runkle in [8718](https://github.com/pydantic/pydantic/pull/8718)
* Fix warning for tuple of wrong size in `Union` by davidhewitt in [pydantic/pydantic-core1174](https://github.com/pydantic/pydantic-core/pull/1174)
* Fix `computed_field` JSON serializer `exclude_none` behavior by sydney-runkle in [pydantic/pydantic-core1187](https://github.com/pydantic/pydantic-core/pull/1187)

2.6.0

[GitHub release](https://github.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 in [6033](https://github.com/pydantic/pydantic/pull/6033)
* Upgrade `ruff`` target version to Python 3.8 by Elkiwa in [8341](https://github.com/pydantic/pydantic/pull/8341)
* Update to `pydantic-extra-types==2.4.1` by yezz123 in [8478](https://github.com/pydantic/pydantic/pull/8478)
* Update to `pyright==1.1.345` by Viicos in [8453](https://github.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://github.com/pydantic/pydantic-core/compare/v2.14.6...v2.16.1)

New Features

* Add `NatsDsn` by ekeew in [6874](https://github.com/pydantic/pydantic/pull/6874)
* Add `ConfigDict.ser_json_inf_nan` by davidhewitt in [8159](https://github.com/pydantic/pydantic/pull/8159)
* Add `types.OnErrorOmit` by adriangb in [8222](https://github.com/pydantic/pydantic/pull/8222)
* Support `AliasGenerator` usage by sydney-runkle in [8282](https://github.com/pydantic/pydantic/pull/8282)
* Add Pydantic People Page to docs by sydney-runkle in [8345](https://github.com/pydantic/pydantic/pull/8345)
* Support `yyyy-MM-DD` datetime parsing by sydney-runkle in [8404](https://github.com/pydantic/pydantic/pull/8404)
* Added bits conversions to the `ByteSize` class 8415 by luca-matei in [8507](https://github.com/pydantic/pydantic/pull/8507)
* Enable json schema creation with type `ByteSize` by geospackle in [8537](https://github.com/pydantic/pydantic/pull/8537)
* Add `eval_type_backport` to handle union operator and builtin generic subscripting in older Pythons by alexmojaki in [8209](https://github.com/pydantic/pydantic/pull/8209)
* Add support for `dataclass` fields `init` by dmontagu in [8552](https://github.com/pydantic/pydantic/pull/8552)
* Implement pickling for `ValidationError` by davidhewitt in [pydantic/pydantic-core1119](https://github.com/pydantic/pydantic-core/pull/1119)
* Add unified tuple validator that can handle "variadic" tuples via PEP-646 by dmontagu in [pydantic/pydantic-core865](https://github.com/pydantic/pydantic-core/pull/865)

Changes

* Drop Python3.7 support by hramezani in [7188](https://github.com/pydantic/pydantic/pull/7188)
* Drop Python 3.7, and PyPy 3.7 and 3.8 by davidhewitt in [pydantic/pydantic-core1129](https://github.com/pydantic/pydantic-core/pull/1129)
* Use positional-only `self` in `BaseModel` constructor, so no field name can ever conflict with it by ariebovenberg in [8072](https://github.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 in [8268](https://github.com/pydantic/pydantic/pull/8268)
* Exclude `BaseModel` docstring from JSON schema description by sydney-runkle in [8352](https://github.com/pydantic/pydantic/pull/8352)
* Introducing `classproperty` decorator for `model_computed_fields` by Jocelyn-Gas in [8437](https://github.com/pydantic/pydantic/pull/8437)
* Explicitly raise an error if field names clashes with types by Viicos in [8243](https://github.com/pydantic/pydantic/pull/8243)
* Use stricter serializer for unions of simple types by alexdrydew [pydantic/pydantic-core1132](https://github.com/pydantic/pydantic-core/pull/1132)

Performance

* Add Codspeed profiling Actions workflow  by lambertsbennett in [8054](https://github.com/pydantic/pydantic/pull/8054)
* Improve `int` extraction by samuelcolvin in [pydantic/pydantic-core1155](https://github.com/pydantic/pydantic-core/pull/1155)
* Improve performance of recursion guard by samuelcolvin in [pydantic/pydantic-core1156](https://github.com/pydantic/pydantic-core/pull/1156)
* `dataclass` serialization speedups by samuelcolvin in [pydantic/pydantic-core1162](https://github.com/pydantic/pydantic-core/pull/1162)
* Avoid `HashMap` creation when looking up small JSON objects in `LazyIndexMaps` by samuelcolvin in [pydantic/jiter55](https://github.com/pydantic/jiter/pull/55)
* use hashbrown to speedup python string caching by davidhewitt in [pydantic/jiter51](https://github.com/pydantic/jiter/pull/51)
* Replace `Peak` with more efficient `Peek` by davidhewitt in [pydantic/jiter48](https://github.com/pydantic/jiter/pull/48)

Fixes

* Move `getattr` warning in deprecated `BaseConfig` by tlambert03 in [7183](https://github.com/pydantic/pydantic/pull/7183)
* Only hash `model_fields`, not whole `__dict__` by alexmojaki in [7786](https://github.com/pydantic/pydantic/pull/7786)
* Fix mishandling of unions while freezing types in the `mypy` plugin by dmontagu in [7411](https://github.com/pydantic/pydantic/pull/7411)
* Fix `mypy` error on untyped `ClassVar` by vincent-hachin-wmx in [8138](https://github.com/pydantic/pydantic/pull/8138)
* Only compare pydantic fields in `BaseModel.__eq__` instead of whole `__dict__` by QuentinSoubeyranAqemia in [7825](https://github.com/pydantic/pydantic/pull/7825)
* Update `strict` docstring in `model_validate` method. by LukeTonin in [8223](https://github.com/pydantic/pydantic/pull/8223)
* Fix overload position of `computed_field` by Viicos in [8227](https://github.com/pydantic/pydantic/pull/8227)
* Fix custom type type casting used in multiple attributes by ianhfc in [8066](https://github.com/pydantic/pydantic/pull/8066)
* Fix issue not allowing `validate_call` decorator to be dynamically assigned to a class method by jusexton in [8249](https://github.com/pydantic/pydantic/pull/8249)
* Fix issue `unittest.mock` deprecation warnings  by ibleedicare in [8262](https://github.com/pydantic/pydantic/pull/8262)
* Added tests for the case `JsonValue` contains subclassed primitive values by jusexton in [8286](https://github.com/pydantic/pydantic/pull/8286)
* Fix `mypy` error on free before validator (classmethod) by sydney-runkle in [8285](https://github.com/pydantic/pydantic/pull/8285)
* Fix `to_snake` conversion by jevins09 in [8316](https://github.com/pydantic/pydantic/pull/8316)
* Fix type annotation of `ModelMetaclass.__prepare__` by slanzmich in [8305](https://github.com/pydantic/pydantic/pull/8305)
* Disallow `config` specification when initializing a `TypeAdapter` when the annotated type has config already by sydney-runkle in [8365](https://github.com/pydantic/pydantic/pull/8365)
* Fix a naming issue with JSON schema for generics parametrized by recursive type aliases by dmontagu in [8389](https://github.com/pydantic/pydantic/pull/8389)
* Fix type annotation in pydantic people script by shenxiangzhuang in [8402](https://github.com/pydantic/pydantic/pull/8402)
* Add support for field `alias` in `dataclass` signature by NeevCohen in [8387](https://github.com/pydantic/pydantic/pull/8387)
* Fix bug with schema generation with `Field(...)` in a forward ref by dmontagu in [8494](https://github.com/pydantic/pydantic/pull/8494)
* Fix ordering of keys in `__dict__` with `model_construct` call by sydney-runkle in [8500](https://github.com/pydantic/pydantic/pull/8500)
* Fix module `path_type` creation when globals does not contain `__name__` by hramezani in [8470](https://github.com/pydantic/pydantic/pull/8470)
* Fix for namespace issue with dataclasses with `from __future__ import annotations` by sydney-runkle in [8513](https://github.com/pydantic/pydantic/pull/8513)
* Fix: make function validator types positional-only by pmmmwh in [8479](https://github.com/pydantic/pydantic/pull/8479)
* Fix usage of `deprecated` by Viicos in [8294](https://github.com/pydantic/pydantic/pull/8294)
* Add more support for private attributes in `model_construct` call by sydney-runkle in [8525](https://github.com/pydantic/pydantic/pull/8525)
* Use a stack for the types namespace by dmontagu in [8378](https://github.com/pydantic/pydantic/pull/8378)
* Fix schema-building bug with `TypeAliasType` for types with refs by dmontagu in [8526](https://github.com/pydantic/pydantic/pull/8526)
* Support `pydantic.Field(repr=False)` in dataclasses by tigeryy2 in [8511](https://github.com/pydantic/pydantic/pull/8511)
* Override `dataclass_transform` behavior for `RootModel` by Viicos in [8163](https://github.com/pydantic/pydantic/pull/8163)
* Refactor signature generation for simplicity by sydney-runkle in [8572](https://github.com/pydantic/pydantic/pull/8572)
* Fix ordering bug of PlainValidator annotation by Anvil in [8567](https://github.com/pydantic/pydantic/pull/8567)
* Fix `exclude_none` for json serialization of `computed_field`s by sydney-runkle in [pydantic/pydantic-core1098](https://github.com/pydantic/pydantic-core/pull/1098)
* Support yyyy-MM-DD string for datetimes by sydney-runkle in [pydantic/pydantic-core1124](https://github.com/pydantic/pydantic-core/pull/1124)
* Tweak ordering of definitions in generated schemas by StrawHatDrag0n in [8583](https://github.com/pydantic/pydantic/pull/8583)


New Contributors

`pydantic`
* ekeew made their first contribution in [6874](https://github.com/pydantic/pydantic/pull/6874)
* lambertsbennett made their first contribution in [8054](https://github.com/pydantic/pydantic/pull/8054)
* vincent-hachin-wmx made their first contribution in [8138](https://github.com/pydantic/pydantic/pull/8138)
* QuentinSoubeyranAqemia made their first contribution in [7825](https://github.com/pydantic/pydantic/pull/7825)
* ariebovenberg made their first contribution in [8072](https://github.com/pydantic/pydantic/pull/8072)
* LukeTonin made their first contribution in [8223](https://github.com/pydantic/pydantic/pull/8223)
* denisart made their first contribution in [8231](https://github.com/pydantic/pydantic/pull/8231)
* ianhfc made their first contribution in [8066](https://github.com/pydantic/pydantic/pull/8066)
* eonu made their first contribution in [8255](https://github.com/pydantic/pydantic/pull/8255)
* amandahla made their first contribution in [8263](https://github.com/pydantic/pydantic/pull/8263)
* ibleedicare made their first contribution in [8262](https://github.com/pydantic/pydantic/pull/8262)
* jevins09 made their first contribution in [8316](https://github.com/pydantic/pydantic/pull/8316)
* cuu508 made their first contribution in [8322](https://github.com/pydantic/pydantic/pull/8322)
* slanzmich made their first contribution in [8305](https://github.com/pydantic/pydantic/pull/8305)
* jensenbox made their first contribution in [8331](https://github.com/pydantic/pydantic/pull/8331)
* szepeviktor made their first contribution in [8356](https://github.com/pydantic/pydantic/pull/8356)
* Elkiwa made their first contribution in [8341](https://github.com/pydantic/pydantic/pull/8341)
* parhamfh made their first contribution in [8395](https://github.com/pydantic/pydantic/pull/8395)
* shenxiangzhuang made their first contribution in [8402](https://github.com/pydantic/pydantic/pull/8402)
* NeevCohen made their first contribution in [8387](https://github.com/pydantic/pydantic/pull/8387)
* zby made their first contribution in [8497](https://github.com/pydantic/pydantic/pull/8497)
* patelnets made their first contribution in [8491](https://github.com/pydantic/pydantic/pull/8491)
* edwardwli made their first contribution in [8503](https://github.com/pydantic/pydantic/pull/8503)
* luca-matei made their first contribution in [8507](https://github.com/pydantic/pydantic/pull/8507)
* Jocelyn-Gas made their first contribution in [8437](https://github.com/pydantic/pydantic/pull/8437)
* bL34cHig0 made their first contribution in [8501](https://github.com/pydantic/pydantic/pull/8501)
* tigeryy2 made their first contribution in [8511](https://github.com/pydantic/pydantic/pull/8511)
* geospackle made their first contribution in [8537](https://github.com/pydantic/pydantic/pull/8537)
* Anvil made their first contribution in [8567](https://github.com/pydantic/pydantic/pull/8567)
* hungtsetse made their first contribution in [8546](https://github.com/pydantic/pydantic/pull/8546)
* StrawHatDrag0n made their first contribution in [8583](https://github.com/pydantic/pydantic/pull/8583)

`pydantic-core`
* mariuswinger made their first contribution in [pydantic/pydantic-core1087](https://github.com/pydantic/pydantic-core/pull/1087)
* adamchainz made their first contribution in [pydantic/pydantic-core1090](https://github.com/pydantic/pydantic-core/pull/1090)
* akx made their first contribution in [pydantic/pydantic-core1123](https://github.com/pydantic/pydantic-core/pull/1123)

2.6.0b1

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

2.5.3

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

What's Changed

Packaging

* uprev `pydantic-core` to 2.14.6

Fixes

* Fix memory leak with recursive definitions creating reference cycles by davidhewitt in [pydantic/pydantic-core1125](https://github.com/pydantic/pydantic-core/pull/1125)
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant