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
Use stricter serializer for unions of simple types #1132
Use stricter serializer for unions of simple types #1132
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #1132 +/- ##
==========================================
+ Coverage 89.88% 89.95% +0.06%
==========================================
Files 106 106
Lines 16436 16438 +2
Branches 35 36 +1
==========================================
+ Hits 14773 14786 +13
+ Misses 1656 1645 -11
Partials 7 7
... and 3 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
CodSpeed Performance ReportMerging #1132 will degrade performances by 18.75%Comparing Summary
Benchmarks breakdown
|
please review |
@samuelcolvin class Model(BaseModel):
value: Union[int, Literal['False']]
assert Model(value=False).model_dump() == {'value': 0} For now I've made a PR that just removes conflicting test cases: pydantic/pydantic#8436 |
Don't worry about that, we can fix once pydantic-core is released. I'll look at this asap, might be after Christmas. |
Also potentially related: pydantic/pydantic#7946 |
1 similar comment
Also potentially related: pydantic/pydantic#7946 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your contribution here. This looks great. Thanks for adding some comprehensive tests and a great description of the changes overall.
I'd like to get this into the next pydantic-core
minor release, then we can modify the tests on the pydantic
end as well.
Again, great work!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR! I agree this is correct, but I think a little extra code & test is needed for an edge case...
SerCheck::Strict => Err(PydanticSerializationUnexpectedValue::new_err(None)), | ||
SerCheck::Lax | SerCheck::None => match extra.mode { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think by introducing this you need to implement retry_with_lax_check
for these serializers.
I think a test which attempts to serialize an int subclass in a Union[bool, int]
would show this to be necessary.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right, such test fails due to falling back to infer_to_python
. I've implemented retry_with_lax_check
which is always false
for bool type (as there should be no bool subtypes in python) and true
for int type
…rrect_serializer_for_simple_unions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, this looks solid to me now 👍
Hi pydantic team, in what version will this fix be released? and when? |
Great question! This should be out now with |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `2.5.3` -> `2.6.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`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 dynamically assigned to a class method by [@​jusexton](https://togithub.com/jusexton) in [#​8249](https://togithub.com/pydantic/pydantic/pull/8249) - Fix issue `unittest.mock` deprecation warnings by [@​ibleedicare](https://togithub.com/ibleedicare) in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - Added tests for the case `JsonValue` contains subclassed primitive values by [@​jusexton](https://togithub.com/jusexton) in [#​8286](https://togithub.com/pydantic/pydantic/pull/8286) - Fix `mypy` error on free before validator (classmethod) by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8285](https://togithub.com/pydantic/pydantic/pull/8285) - Fix `to_snake` conversion by [@​jevins09](https://togithub.com/jevins09) in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - Fix type annotation of `ModelMetaclass.__prepare__` by [@​slanzmich](https://togithub.com/slanzmich) in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - Disallow `config` specification when initializing a `TypeAdapter` when the annotated type has config already by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8365](https://togithub.com/pydantic/pydantic/pull/8365) - Fix a naming issue with JSON schema for generics parametrized by recursive type aliases by [@​dmontagu](https://togithub.com/dmontagu) in [#​8389](https://togithub.com/pydantic/pydantic/pull/8389) - Fix type annotation in pydantic people script by [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - Add support for field `alias` in `dataclass` signature by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - Fix bug with schema generation with `Field(...)` in a forward ref by [@​dmontagu](https://togithub.com/dmontagu) in [#​8494](https://togithub.com/pydantic/pydantic/pull/8494) - Fix ordering of keys in `__dict__` with `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8500](https://togithub.com/pydantic/pydantic/pull/8500) - Fix module `path_type` creation when globals does not contain `__name__` by [@​hramezani](https://togithub.com/hramezani) in [#​8470](https://togithub.com/pydantic/pydantic/pull/8470) - Fix for namespace issue with dataclasses with `from __future__ import annotations` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8513](https://togithub.com/pydantic/pydantic/pull/8513) - Fix: make function validator types positional-only by [@​pmmmwh](https://togithub.com/pmmmwh) in [#​8479](https://togithub.com/pydantic/pydantic/pull/8479) - Fix usage of `@deprecated` by [@​Viicos](https://togithub.com/Viicos) in [#​8294](https://togithub.com/pydantic/pydantic/pull/8294) - Add more support for private attributes in `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8525](https://togithub.com/pydantic/pydantic/pull/8525) - Use a stack for the types namespace by [@​dmontagu](https://togithub.com/dmontagu) in [#​8378](https://togithub.com/pydantic/pydantic/pull/8378) - Fix schema-building bug with `TypeAliasType` for types with refs by [@​dmontagu](https://togithub.com/dmontagu) in [#​8526](https://togithub.com/pydantic/pydantic/pull/8526) - Support `pydantic.Field(repr=False)` in dataclasses by [@​tigeryy2](https://togithub.com/tigeryy2) in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - Override `dataclass_transform` behavior for `RootModel` by [@​Viicos](https://togithub.com/Viicos) in [#​8163](https://togithub.com/pydantic/pydantic/pull/8163) - Refactor signature generation for simplicity by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8572](https://togithub.com/pydantic/pydantic/pull/8572) - Fix ordering bug of PlainValidator annotation by [@​Anvil](https://togithub.com/Anvil) in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - Fix `exclude_none` for json serialization of `computed_field`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1098](https://togithub.com/pydantic/pydantic-core/pull/1098) - Support yyyy-MM-DD string for datetimes by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1124](https://togithub.com/pydantic/pydantic-core/pull/1124) - Tweak ordering of definitions in generated schemas by [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) ##### New Contributors ##### `pydantic` - [@​ekeew](https://togithub.com/ekeew) made their first contribution in [#​6874](https://togithub.com/pydantic/pydantic/pull/6874) - [@​lambertsbennett](https://togithub.com/lambertsbennett) made their first contribution in [#​8054](https://togithub.com/pydantic/pydantic/pull/8054) - [@​vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) made their first contribution in [#​8138](https://togithub.com/pydantic/pydantic/pull/8138) - [@​QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia) made their first contribution in [#​7825](https://togithub.com/pydantic/pydantic/pull/7825) - [@​ariebovenberg](https://togithub.com/ariebovenberg) made their first contribution in [#​8072](https://togithub.com/pydantic/pydantic/pull/8072) - [@​LukeTonin](https://togithub.com/LukeTonin) made their first contribution in [#​8223](https://togithub.com/pydantic/pydantic/pull/8223) - [@​denisart](https://togithub.com/denisart) made their first contribution in [#​8231](https://togithub.com/pydantic/pydantic/pull/8231) - [@​ianhfc](https://togithub.com/ianhfc) made their first contribution in [#​8066](https://togithub.com/pydantic/pydantic/pull/8066) - [@​eonu](https://togithub.com/eonu) made their first contribution in [#​8255](https://togithub.com/pydantic/pydantic/pull/8255) - [@​amandahla](https://togithub.com/amandahla) made their first contribution in [#​8263](https://togithub.com/pydantic/pydantic/pull/8263) - [@​ibleedicare](https://togithub.com/ibleedicare) made their first contribution in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - [@​jevins09](https://togithub.com/jevins09) made their first contribution in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - [@​cuu508](https://togithub.com/cuu508) made their first contribution in [#​8322](https://togithub.com/pydantic/pydantic/pull/8322) - [@​slanzmich](https://togithub.com/slanzmich) made their first contribution in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - [@​jensenbox](https://togithub.com/jensenbox) made their first contribution in [#​8331](https://togithub.com/pydantic/pydantic/pull/8331) - [@​szepeviktor](https://togithub.com/szepeviktor) made their first contribution in [#​8356](https://togithub.com/pydantic/pydantic/pull/8356) - [@​Elkiwa](https://togithub.com/Elkiwa) made their first contribution in [#​8341](https://togithub.com/pydantic/pydantic/pull/8341) - [@​parhamfh](https://togithub.com/parhamfh) made their first contribution in [#​8395](https://togithub.com/pydantic/pydantic/pull/8395) - [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) made their first contribution in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - [@​NeevCohen](https://togithub.com/NeevCohen) made their first contribution in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - [@​zby](https://togithub.com/zby) made their first contribution in [#​8497](https://togithub.com/pydantic/pydantic/pull/8497) - [@​patelnets](https://togithub.com/patelnets) made their first contribution in [#​8491](https://togithub.com/pydantic/pydantic/pull/8491) - [@​edwardwli](https://togithub.com/edwardwli) made their first contribution in [#​8503](https://togithub.com/pydantic/pydantic/pull/8503) - [@​luca-matei](https://togithub.com/luca-matei) made their first contribution in [#​8507](https://togithub.com/pydantic/pydantic/pull/8507) - [@​Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) made their first contribution in [#​8437](https://togithub.com/pydantic/pydantic/pull/8437) - [@​bL34cHig0](https://togithub.com/bL34cHig0) made their first contribution in [#​8501](https://togithub.com/pydantic/pydantic/pull/8501) - [@​tigeryy2](https://togithub.com/tigeryy2) made their first contribution in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - [@​geospackle](https://togithub.com/geospackle) made their first contribution in [#​8537](https://togithub.com/pydantic/pydantic/pull/8537) - [@​Anvil](https://togithub.com/Anvil) made their first contribution in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - [@​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) ##### `pydantic-core` - [@​mariuswinger](https://togithub.com/mariuswinger) made their first contribution in [pydantic/pydantic-core#1087](https://togithub.com/pydantic/pydantic-core/pull/1087) - [@​adamchainz](https://togithub.com/adamchainz) made their first contribution in [pydantic/pydantic-core#1090](https://togithub.com/pydantic/pydantic-core/pull/1090) - [@​akx](https://togithub.com/akx) made their first contribution in [pydantic/pydantic-core#1123](https://togithub.com/pydantic/pydantic-core/pull/1123) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/fulcrum-so/ziggy-pydust). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `==2.5.3` -> `==2.6.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`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 dynamically assigned to a class method by [@​jusexton](https://togithub.com/jusexton) in [#​8249](https://togithub.com/pydantic/pydantic/pull/8249) - Fix issue `unittest.mock` deprecation warnings by [@​ibleedicare](https://togithub.com/ibleedicare) in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - Added tests for the case `JsonValue` contains subclassed primitive values by [@​jusexton](https://togithub.com/jusexton) in [#​8286](https://togithub.com/pydantic/pydantic/pull/8286) - Fix `mypy` error on free before validator (classmethod) by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8285](https://togithub.com/pydantic/pydantic/pull/8285) - Fix `to_snake` conversion by [@​jevins09](https://togithub.com/jevins09) in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - Fix type annotation of `ModelMetaclass.__prepare__` by [@​slanzmich](https://togithub.com/slanzmich) in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - Disallow `config` specification when initializing a `TypeAdapter` when the annotated type has config already by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8365](https://togithub.com/pydantic/pydantic/pull/8365) - Fix a naming issue with JSON schema for generics parametrized by recursive type aliases by [@​dmontagu](https://togithub.com/dmontagu) in [#​8389](https://togithub.com/pydantic/pydantic/pull/8389) - Fix type annotation in pydantic people script by [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - Add support for field `alias` in `dataclass` signature by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - Fix bug with schema generation with `Field(...)` in a forward ref by [@​dmontagu](https://togithub.com/dmontagu) in [#​8494](https://togithub.com/pydantic/pydantic/pull/8494) - Fix ordering of keys in `__dict__` with `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8500](https://togithub.com/pydantic/pydantic/pull/8500) - Fix module `path_type` creation when globals does not contain `__name__` by [@​hramezani](https://togithub.com/hramezani) in [#​8470](https://togithub.com/pydantic/pydantic/pull/8470) - Fix for namespace issue with dataclasses with `from __future__ import annotations` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8513](https://togithub.com/pydantic/pydantic/pull/8513) - Fix: make function validator types positional-only by [@​pmmmwh](https://togithub.com/pmmmwh) in [#​8479](https://togithub.com/pydantic/pydantic/pull/8479) - Fix usage of `@deprecated` by [@​Viicos](https://togithub.com/Viicos) in [#​8294](https://togithub.com/pydantic/pydantic/pull/8294) - Add more support for private attributes in `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8525](https://togithub.com/pydantic/pydantic/pull/8525) - Use a stack for the types namespace by [@​dmontagu](https://togithub.com/dmontagu) in [#​8378](https://togithub.com/pydantic/pydantic/pull/8378) - Fix schema-building bug with `TypeAliasType` for types with refs by [@​dmontagu](https://togithub.com/dmontagu) in [#​8526](https://togithub.com/pydantic/pydantic/pull/8526) - Support `pydantic.Field(repr=False)` in dataclasses by [@​tigeryy2](https://togithub.com/tigeryy2) in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - Override `dataclass_transform` behavior for `RootModel` by [@​Viicos](https://togithub.com/Viicos) in [#​8163](https://togithub.com/pydantic/pydantic/pull/8163) - Refactor signature generation for simplicity by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8572](https://togithub.com/pydantic/pydantic/pull/8572) - Fix ordering bug of PlainValidator annotation by [@​Anvil](https://togithub.com/Anvil) in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - Fix `exclude_none` for json serialization of `computed_field`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1098](https://togithub.com/pydantic/pydantic-core/pull/1098) - Support yyyy-MM-DD string for datetimes by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1124](https://togithub.com/pydantic/pydantic-core/pull/1124) - Tweak ordering of definitions in generated schemas by [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) ##### New Contributors ##### `pydantic` - [@​ekeew](https://togithub.com/ekeew) made their first contribution in [#​6874](https://togithub.com/pydantic/pydantic/pull/6874) - [@​lambertsbennett](https://togithub.com/lambertsbennett) made their first contribution in [#​8054](https://togithub.com/pydantic/pydantic/pull/8054) - [@​vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) made their first contribution in [#​8138](https://togithub.com/pydantic/pydantic/pull/8138) - [@​QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia) made their first contribution in [#​7825](https://togithub.com/pydantic/pydantic/pull/7825) - [@​ariebovenberg](https://togithub.com/ariebovenberg) made their first contribution in [#​8072](https://togithub.com/pydantic/pydantic/pull/8072) - [@​LukeTonin](https://togithub.com/LukeTonin) made their first contribution in [#​8223](https://togithub.com/pydantic/pydantic/pull/8223) - [@​denisart](https://togithub.com/denisart) made their first contribution in [#​8231](https://togithub.com/pydantic/pydantic/pull/8231) - [@​ianhfc](https://togithub.com/ianhfc) made their first contribution in [#​8066](https://togithub.com/pydantic/pydantic/pull/8066) - [@​eonu](https://togithub.com/eonu) made their first contribution in [#​8255](https://togithub.com/pydantic/pydantic/pull/8255) - [@​amandahla](https://togithub.com/amandahla) made their first contribution in [#​8263](https://togithub.com/pydantic/pydantic/pull/8263) - [@​ibleedicare](https://togithub.com/ibleedicare) made their first contribution in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - [@​jevins09](https://togithub.com/jevins09) made their first contribution in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - [@​cuu508](https://togithub.com/cuu508) made their first contribution in [#​8322](https://togithub.com/pydantic/pydantic/pull/8322) - [@​slanzmich](https://togithub.com/slanzmich) made their first contribution in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - [@​jensenbox](https://togithub.com/jensenbox) made their first contribution in [#​8331](https://togithub.com/pydantic/pydantic/pull/8331) - [@​szepeviktor](https://togithub.com/szepeviktor) made their first contribution in [#​8356](https://togithub.com/pydantic/pydantic/pull/8356) - [@​Elkiwa](https://togithub.com/Elkiwa) made their first contribution in [#​8341](https://togithub.com/pydantic/pydantic/pull/8341) - [@​parhamfh](https://togithub.com/parhamfh) made their first contribution in [#​8395](https://togithub.com/pydantic/pydantic/pull/8395) - [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) made their first contribution in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - [@​NeevCohen](https://togithub.com/NeevCohen) made their first contribution in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - [@​zby](https://togithub.com/zby) made their first contribution in [#​8497](https://togithub.com/pydantic/pydantic/pull/8497) - [@​patelnets](https://togithub.com/patelnets) made their first contribution in [#​8491](https://togithub.com/pydantic/pydantic/pull/8491) - [@​edwardwli](https://togithub.com/edwardwli) made their first contribution in [#​8503](https://togithub.com/pydantic/pydantic/pull/8503) - [@​luca-matei](https://togithub.com/luca-matei) made their first contribution in [#​8507](https://togithub.com/pydantic/pydantic/pull/8507) - [@​Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) made their first contribution in [#​8437](https://togithub.com/pydantic/pydantic/pull/8437) - [@​bL34cHig0](https://togithub.com/bL34cHig0) made their first contribution in [#​8501](https://togithub.com/pydantic/pydantic/pull/8501) - [@​tigeryy2](https://togithub.com/tigeryy2) made their first contribution in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - [@​geospackle](https://togithub.com/geospackle) made their first contribution in [#​8537](https://togithub.com/pydantic/pydantic/pull/8537) - [@​Anvil](https://togithub.com/Anvil) made their first contribution in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - [@​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) ##### `pydantic-core` - [@​mariuswinger](https://togithub.com/mariuswinger) made their first contribution in [pydantic/pydantic-core#1087](https://togithub.com/pydantic/pydantic-core/pull/1087) - [@​adamchainz](https://togithub.com/adamchainz) made their first contribution in [pydantic/pydantic-core#1090](https://togithub.com/pydantic/pydantic-core/pull/1090) - [@​akx](https://togithub.com/akx) made their first contribution in [pydantic/pydantic-core#1123](https://togithub.com/pydantic/pydantic-core/pull/1123) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/allenporter/flux-local). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `>=2.5.0,<2.6` -> `>=2.5.0,<2.7` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`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 dynamically assigned to a class method by [@​jusexton](https://togithub.com/jusexton) in [#​8249](https://togithub.com/pydantic/pydantic/pull/8249) - Fix issue `unittest.mock` deprecation warnings by [@​ibleedicare](https://togithub.com/ibleedicare) in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - Added tests for the case `JsonValue` contains subclassed primitive values by [@​jusexton](https://togithub.com/jusexton) in [#​8286](https://togithub.com/pydantic/pydantic/pull/8286) - Fix `mypy` error on free before validator (classmethod) by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8285](https://togithub.com/pydantic/pydantic/pull/8285) - Fix `to_snake` conversion by [@​jevins09](https://togithub.com/jevins09) in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - Fix type annotation of `ModelMetaclass.__prepare__` by [@​slanzmich](https://togithub.com/slanzmich) in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - Disallow `config` specification when initializing a `TypeAdapter` when the annotated type has config already by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8365](https://togithub.com/pydantic/pydantic/pull/8365) - Fix a naming issue with JSON schema for generics parametrized by recursive type aliases by [@​dmontagu](https://togithub.com/dmontagu) in [#​8389](https://togithub.com/pydantic/pydantic/pull/8389) - Fix type annotation in pydantic people script by [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - Add support for field `alias` in `dataclass` signature by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - Fix bug with schema generation with `Field(...)` in a forward ref by [@​dmontagu](https://togithub.com/dmontagu) in [#​8494](https://togithub.com/pydantic/pydantic/pull/8494) - Fix ordering of keys in `__dict__` with `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8500](https://togithub.com/pydantic/pydantic/pull/8500) - Fix module `path_type` creation when globals does not contain `__name__` by [@​hramezani](https://togithub.com/hramezani) in [#​8470](https://togithub.com/pydantic/pydantic/pull/8470) - Fix for namespace issue with dataclasses with `from __future__ import annotations` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8513](https://togithub.com/pydantic/pydantic/pull/8513) - Fix: make function validator types positional-only by [@​pmmmwh](https://togithub.com/pmmmwh) in [#​8479](https://togithub.com/pydantic/pydantic/pull/8479) - Fix usage of `@deprecated` by [@​Viicos](https://togithub.com/Viicos) in [#​8294](https://togithub.com/pydantic/pydantic/pull/8294) - Add more support for private attributes in `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8525](https://togithub.com/pydantic/pydantic/pull/8525) - Use a stack for the types namespace by [@​dmontagu](https://togithub.com/dmontagu) in [#​8378](https://togithub.com/pydantic/pydantic/pull/8378) - Fix schema-building bug with `TypeAliasType` for types with refs by [@​dmontagu](https://togithub.com/dmontagu) in [#​8526](https://togithub.com/pydantic/pydantic/pull/8526) - Support `pydantic.Field(repr=False)` in dataclasses by [@​tigeryy2](https://togithub.com/tigeryy2) in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - Override `dataclass_transform` behavior for `RootModel` by [@​Viicos](https://togithub.com/Viicos) in [#​8163](https://togithub.com/pydantic/pydantic/pull/8163) - Refactor signature generation for simplicity by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8572](https://togithub.com/pydantic/pydantic/pull/8572) - Fix ordering bug of PlainValidator annotation by [@​Anvil](https://togithub.com/Anvil) in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - Fix `exclude_none` for json serialization of `computed_field`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1098](https://togithub.com/pydantic/pydantic-core/pull/1098) - Support yyyy-MM-DD string for datetimes by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1124](https://togithub.com/pydantic/pydantic-core/pull/1124) - Tweak ordering of definitions in generated schemas by [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) ##### New Contributors ##### `pydantic` - [@​ekeew](https://togithub.com/ekeew) made their first contribution in [#​6874](https://togithub.com/pydantic/pydantic/pull/6874) - [@​lambertsbennett](https://togithub.com/lambertsbennett) made their first contribution in [#​8054](https://togithub.com/pydantic/pydantic/pull/8054) - [@​vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) made their first contribution in [#​8138](https://togithub.com/pydantic/pydantic/pull/8138) - [@​QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia) made their first contribution in [#​7825](https://togithub.com/pydantic/pydantic/pull/7825) - [@​ariebovenberg](https://togithub.com/ariebovenberg) made their first contribution in [#​8072](https://togithub.com/pydantic/pydantic/pull/8072) - [@​LukeTonin](https://togithub.com/LukeTonin) made their first contribution in [#​8223](https://togithub.com/pydantic/pydantic/pull/8223) - [@​denisart](https://togithub.com/denisart) made their first contribution in [#​8231](https://togithub.com/pydantic/pydantic/pull/8231) - [@​ianhfc](https://togithub.com/ianhfc) made their first contribution in [#​8066](https://togithub.com/pydantic/pydantic/pull/8066) - [@​eonu](https://togithub.com/eonu) made their first contribution in [#​8255](https://togithub.com/pydantic/pydantic/pull/8255) - [@​amandahla](https://togithub.com/amandahla) made their first contribution in [#​8263](https://togithub.com/pydantic/pydantic/pull/8263) - [@​ibleedicare](https://togithub.com/ibleedicare) made their first contribution in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - [@​jevins09](https://togithub.com/jevins09) made their first contribution in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - [@​cuu508](https://togithub.com/cuu508) made their first contribution in [#​8322](https://togithub.com/pydantic/pydantic/pull/8322) - [@​slanzmich](https://togithub.com/slanzmich) made their first contribution in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - [@​jensenbox](https://togithub.com/jensenbox) made their first contribution in [#​8331](https://togithub.com/pydantic/pydantic/pull/8331) - [@​szepeviktor](https://togithub.com/szepeviktor) made their first contribution in [#​8356](https://togithub.com/pydantic/pydantic/pull/8356) - [@​Elkiwa](https://togithub.com/Elkiwa) made their first contribution in [#​8341](https://togithub.com/pydantic/pydantic/pull/8341) - [@​parhamfh](https://togithub.com/parhamfh) made their first contribution in [#​8395](https://togithub.com/pydantic/pydantic/pull/8395) - [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) made their first contribution in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - [@​NeevCohen](https://togithub.com/NeevCohen) made their first contribution in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - [@​zby](https://togithub.com/zby) made their first contribution in [#​8497](https://togithub.com/pydantic/pydantic/pull/8497) - [@​patelnets](https://togithub.com/patelnets) made their first contribution in [#​8491](https://togithub.com/pydantic/pydantic/pull/8491) - [@​edwardwli](https://togithub.com/edwardwli) made their first contribution in [#​8503](https://togithub.com/pydantic/pydantic/pull/8503) - [@​luca-matei](https://togithub.com/luca-matei) made their first contribution in [#​8507](https://togithub.com/pydantic/pydantic/pull/8507) - [@​Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) made their first contribution in [#​8437](https://togithub.com/pydantic/pydantic/pull/8437) - [@​bL34cHig0](https://togithub.com/bL34cHig0) made their first contribution in [#​8501](https://togithub.com/pydantic/pydantic/pull/8501) - [@​tigeryy2](https://togithub.com/tigeryy2) made their first contribution in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - [@​geospackle](https://togithub.com/geospackle) made their first contribution in [#​8537](https://togithub.com/pydantic/pydantic/pull/8537) - [@​Anvil](https://togithub.com/Anvil) made their first contribution in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - [@​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) ##### `pydantic-core` - [@​mariuswinger](https://togithub.com/mariuswinger) made their first contribution in [pydantic/pydantic-core#1087](https://togithub.com/pydantic/pydantic-core/pull/1087) - [@​adamchainz](https://togithub.com/adamchainz) made their first contribution in [pydantic/pydantic-core#1090](https://togithub.com/pydantic/pydantic-core/pull/1090) - [@​akx](https://togithub.com/akx) made their first contribution in [pydantic/pydantic-core#1123](https://togithub.com/pydantic/pydantic-core/pull/1123) </details> --- ### 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `==2.5.3` -> `==2.6.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`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 dynamically assigned to a class method by [@​jusexton](https://togithub.com/jusexton) in [#​8249](https://togithub.com/pydantic/pydantic/pull/8249) - Fix issue `unittest.mock` deprecation warnings by [@​ibleedicare](https://togithub.com/ibleedicare) in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - Added tests for the case `JsonValue` contains subclassed primitive values by [@​jusexton](https://togithub.com/jusexton) in [#​8286](https://togithub.com/pydantic/pydantic/pull/8286) - Fix `mypy` error on free before validator (classmethod) by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8285](https://togithub.com/pydantic/pydantic/pull/8285) - Fix `to_snake` conversion by [@​jevins09](https://togithub.com/jevins09) in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - Fix type annotation of `ModelMetaclass.__prepare__` by [@​slanzmich](https://togithub.com/slanzmich) in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - Disallow `config` specification when initializing a `TypeAdapter` when the annotated type has config already by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8365](https://togithub.com/pydantic/pydantic/pull/8365) - Fix a naming issue with JSON schema for generics parametrized by recursive type aliases by [@​dmontagu](https://togithub.com/dmontagu) in [#​8389](https://togithub.com/pydantic/pydantic/pull/8389) - Fix type annotation in pydantic people script by [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - Add support for field `alias` in `dataclass` signature by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - Fix bug with schema generation with `Field(...)` in a forward ref by [@​dmontagu](https://togithub.com/dmontagu) in [#​8494](https://togithub.com/pydantic/pydantic/pull/8494) - Fix ordering of keys in `__dict__` with `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8500](https://togithub.com/pydantic/pydantic/pull/8500) - Fix module `path_type` creation when globals does not contain `__name__` by [@​hramezani](https://togithub.com/hramezani) in [#​8470](https://togithub.com/pydantic/pydantic/pull/8470) - Fix for namespace issue with dataclasses with `from __future__ import annotations` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8513](https://togithub.com/pydantic/pydantic/pull/8513) - Fix: make function validator types positional-only by [@​pmmmwh](https://togithub.com/pmmmwh) in [#​8479](https://togithub.com/pydantic/pydantic/pull/8479) - Fix usage of `@deprecated` by [@​Viicos](https://togithub.com/Viicos) in [#​8294](https://togithub.com/pydantic/pydantic/pull/8294) - Add more support for private attributes in `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8525](https://togithub.com/pydantic/pydantic/pull/8525) - Use a stack for the types namespace by [@​dmontagu](https://togithub.com/dmontagu) in [#​8378](https://togithub.com/pydantic/pydantic/pull/8378) - Fix schema-building bug with `TypeAliasType` for types with refs by [@​dmontagu](https://togithub.com/dmontagu) in [#​8526](https://togithub.com/pydantic/pydantic/pull/8526) - Support `pydantic.Field(repr=False)` in dataclasses by [@​tigeryy2](https://togithub.com/tigeryy2) in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - Override `dataclass_transform` behavior for `RootModel` by [@​Viicos](https://togithub.com/Viicos) in [#​8163](https://togithub.com/pydantic/pydantic/pull/8163) - Refactor signature generation for simplicity by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8572](https://togithub.com/pydantic/pydantic/pull/8572) - Fix ordering bug of PlainValidator annotation by [@​Anvil](https://togithub.com/Anvil) in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - Fix `exclude_none` for json serialization of `computed_field`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1098](https://togithub.com/pydantic/pydantic-core/pull/1098) - Support yyyy-MM-DD string for datetimes by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1124](https://togithub.com/pydantic/pydantic-core/pull/1124) - Tweak ordering of definitions in generated schemas by [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) ##### New Contributors ##### `pydantic` - [@​ekeew](https://togithub.com/ekeew) made their first contribution in [#​6874](https://togithub.com/pydantic/pydantic/pull/6874) - [@​lambertsbennett](https://togithub.com/lambertsbennett) made their first contribution in [#​8054](https://togithub.com/pydantic/pydantic/pull/8054) - [@​vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) made their first contribution in [#​8138](https://togithub.com/pydantic/pydantic/pull/8138) - [@​QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia) made their first contribution in [#​7825](https://togithub.com/pydantic/pydantic/pull/7825) - [@​ariebovenberg](https://togithub.com/ariebovenberg) made their first contribution in [#​8072](https://togithub.com/pydantic/pydantic/pull/8072) - [@​LukeTonin](https://togithub.com/LukeTonin) made their first contribution in [#​8223](https://togithub.com/pydantic/pydantic/pull/8223) - [@​denisart](https://togithub.com/denisart) made their first contribution in [#​8231](https://togithub.com/pydantic/pydantic/pull/8231) - [@​ianhfc](https://togithub.com/ianhfc) made their first contribution in [#​8066](https://togithub.com/pydantic/pydantic/pull/8066) - [@​eonu](https://togithub.com/eonu) made their first contribution in [#​8255](https://togithub.com/pydantic/pydantic/pull/8255) - [@​amandahla](https://togithub.com/amandahla) made their first contribution in [#​8263](https://togithub.com/pydantic/pydantic/pull/8263) - [@​ibleedicare](https://togithub.com/ibleedicare) made their first contribution in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - [@​jevins09](https://togithub.com/jevins09) made their first contribution in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - [@​cuu508](https://togithub.com/cuu508) made their first contribution in [#​8322](https://togithub.com/pydantic/pydantic/pull/8322) - [@​slanzmich](https://togithub.com/slanzmich) made their first contribution in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - [@​jensenbox](https://togithub.com/jensenbox) made their first contribution in [#​8331](https://togithub.com/pydantic/pydantic/pull/8331) - [@​szepeviktor](https://togithub.com/szepeviktor) made their first contribution in [#​8356](https://togithub.com/pydantic/pydantic/pull/8356) - [@​Elkiwa](https://togithub.com/Elkiwa) made their first contribution in [#​8341](https://togithub.com/pydantic/pydantic/pull/8341) - [@​parhamfh](https://togithub.com/parhamfh) made their first contribution in [#​8395](https://togithub.com/pydantic/pydantic/pull/8395) - [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) made their first contribution in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - [@​NeevCohen](https://togithub.com/NeevCohen) made their first contribution in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - [@​zby](https://togithub.com/zby) made their first contribution in [#​8497](https://togithub.com/pydantic/pydantic/pull/8497) - [@​patelnets](https://togithub.com/patelnets) made their first contribution in [#​8491](https://togithub.com/pydantic/pydantic/pull/8491) - [@​edwardwli](https://togithub.com/edwardwli) made their first contribution in [#​8503](https://togithub.com/pydantic/pydantic/pull/8503) - [@​luca-matei](https://togithub.com/luca-matei) made their first contribution in [#​8507](https://togithub.com/pydantic/pydantic/pull/8507) - [@​Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) made their first contribution in [#​8437](https://togithub.com/pydantic/pydantic/pull/8437) - [@​bL34cHig0](https://togithub.com/bL34cHig0) made their first contribution in [#​8501](https://togithub.com/pydantic/pydantic/pull/8501) - [@​tigeryy2](https://togithub.com/tigeryy2) made their first contribution in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - [@​geospackle](https://togithub.com/geospackle) made their first contribution in [#​8537](https://togithub.com/pydantic/pydantic/pull/8537) - [@​Anvil](https://togithub.com/Anvil) made their first contribution in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - [@​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) ##### `pydantic-core` - [@​mariuswinger](https://togithub.com/mariuswinger) made their first contribution in [pydantic/pydantic-core#1087](https://togithub.com/pydantic/pydantic-core/pull/1087) - [@​adamchainz](https://togithub.com/adamchainz) made their first contribution in [pydantic/pydantic-core#1090](https://togithub.com/pydantic/pydantic-core/pull/1090) - [@​akx](https://togithub.com/akx) made their first contribution in [pydantic/pydantic-core#1123](https://togithub.com/pydantic/pydantic-core/pull/1123) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/allenporter/pyrainbird). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `>=2.5.0,<2.6` -> `>=2.5.0,<2.7` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`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 dynamically assigned to a class method by [@​jusexton](https://togithub.com/jusexton) in [#​8249](https://togithub.com/pydantic/pydantic/pull/8249) - Fix issue `unittest.mock` deprecation warnings by [@​ibleedicare](https://togithub.com/ibleedicare) in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - Added tests for the case `JsonValue` contains subclassed primitive values by [@​jusexton](https://togithub.com/jusexton) in [#​8286](https://togithub.com/pydantic/pydantic/pull/8286) - Fix `mypy` error on free before validator (classmethod) by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8285](https://togithub.com/pydantic/pydantic/pull/8285) - Fix `to_snake` conversion by [@​jevins09](https://togithub.com/jevins09) in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - Fix type annotation of `ModelMetaclass.__prepare__` by [@​slanzmich](https://togithub.com/slanzmich) in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - Disallow `config` specification when initializing a `TypeAdapter` when the annotated type has config already by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8365](https://togithub.com/pydantic/pydantic/pull/8365) - Fix a naming issue with JSON schema for generics parametrized by recursive type aliases by [@​dmontagu](https://togithub.com/dmontagu) in [#​8389](https://togithub.com/pydantic/pydantic/pull/8389) - Fix type annotation in pydantic people script by [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - Add support for field `alias` in `dataclass` signature by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - Fix bug with schema generation with `Field(...)` in a forward ref by [@​dmontagu](https://togithub.com/dmontagu) in [#​8494](https://togithub.com/pydantic/pydantic/pull/8494) - Fix ordering of keys in `__dict__` with `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8500](https://togithub.com/pydantic/pydantic/pull/8500) - Fix module `path_type` creation when globals does not contain `__name__` by [@​hramezani](https://togithub.com/hramezani) in [#​8470](https://togithub.com/pydantic/pydantic/pull/8470) - Fix for namespace issue with dataclasses with `from __future__ import annotations` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8513](https://togithub.com/pydantic/pydantic/pull/8513) - Fix: make function validator types positional-only by [@​pmmmwh](https://togithub.com/pmmmwh) in [#​8479](https://togithub.com/pydantic/pydantic/pull/8479) - Fix usage of `@deprecated` by [@​Viicos](https://togithub.com/Viicos) in [#​8294](https://togithub.com/pydantic/pydantic/pull/8294) - Add more support for private attributes in `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8525](https://togithub.com/pydantic/pydantic/pull/8525) - Use a stack for the types namespace by [@​dmontagu](https://togithub.com/dmontagu) in [#​8378](https://togithub.com/pydantic/pydantic/pull/8378) - Fix schema-building bug with `TypeAliasType` for types with refs by [@​dmontagu](https://togithub.com/dmontagu) in [#​8526](https://togithub.com/pydantic/pydantic/pull/8526) - Support `pydantic.Field(repr=False)` in dataclasses by [@​tigeryy2](https://togithub.com/tigeryy2) in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - Override `dataclass_transform` behavior for `RootModel` by [@​Viicos](https://togithub.com/Viicos) in [#​8163](https://togithub.com/pydantic/pydantic/pull/8163) - Refactor signature generation for simplicity by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8572](https://togithub.com/pydantic/pydantic/pull/8572) - Fix ordering bug of PlainValidator annotation by [@​Anvil](https://togithub.com/Anvil) in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - Fix `exclude_none` for json serialization of `computed_field`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1098](https://togithub.com/pydantic/pydantic-core/pull/1098) - Support yyyy-MM-DD string for datetimes by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1124](https://togithub.com/pydantic/pydantic-core/pull/1124) - Tweak ordering of definitions in generated schemas by [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) ##### New Contributors ##### `pydantic` - [@​ekeew](https://togithub.com/ekeew) made their first contribution in [#​6874](https://togithub.com/pydantic/pydantic/pull/6874) - [@​lambertsbennett](https://togithub.com/lambertsbennett) made their first contribution in [#​8054](https://togithub.com/pydantic/pydantic/pull/8054) - [@​vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) made their first contribution in [#​8138](https://togithub.com/pydantic/pydantic/pull/8138) - [@​QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia) made their first contribution in [#​7825](https://togithub.com/pydantic/pydantic/pull/7825) - [@​ariebovenberg](https://togithub.com/ariebovenberg) made their first contribution in [#​8072](https://togithub.com/pydantic/pydantic/pull/8072) - [@​LukeTonin](https://togithub.com/LukeTonin) made their first contribution in [#​8223](https://togithub.com/pydantic/pydantic/pull/8223) - [@​denisart](https://togithub.com/denisart) made their first contribution in [#​8231](https://togithub.com/pydantic/pydantic/pull/8231) - [@​ianhfc](https://togithub.com/ianhfc) made their first contribution in [#​8066](https://togithub.com/pydantic/pydantic/pull/8066) - [@​eonu](https://togithub.com/eonu) made their first contribution in [#​8255](https://togithub.com/pydantic/pydantic/pull/8255) - [@​amandahla](https://togithub.com/amandahla) made their first contribution in [#​8263](https://togithub.com/pydantic/pydantic/pull/8263) - [@​ibleedicare](https://togithub.com/ibleedicare) made their first contribution in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - [@​jevins09](https://togithub.com/jevins09) made their first contribution in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - [@​cuu508](https://togithub.com/cuu508) made their first contribution in [#​8322](https://togithub.com/pydantic/pydantic/pull/8322) - [@​slanzmich](https://togithub.com/slanzmich) made their first contribution in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - [@​jensenbox](https://togithub.com/jensenbox) made their first contribution in [#​8331](https://togithub.com/pydantic/pydantic/pull/8331) - [@​szepeviktor](https://togithub.com/szepeviktor) made their first contribution in [#​8356](https://togithub.com/pydantic/pydantic/pull/8356) - [@​Elkiwa](https://togithub.com/Elkiwa) made their first contribution in [#​8341](https://togithub.com/pydantic/pydantic/pull/8341) - [@​parhamfh](https://togithub.com/parhamfh) made their first contribution in [#​8395](https://togithub.com/pydantic/pydantic/pull/8395) - [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) made their first contribution in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - [@​NeevCohen](https://togithub.com/NeevCohen) made their first contribution in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - [@​zby](https://togithub.com/zby) made their first contribution in [#​8497](https://togithub.com/pydantic/pydantic/pull/8497) - [@​patelnets](https://togithub.com/patelnets) made their first contribution in [#​8491](https://togithub.com/pydantic/pydantic/pull/8491) - [@​edwardwli](https://togithub.com/edwardwli) made their first contribution in [#​8503](https://togithub.com/pydantic/pydantic/pull/8503) - [@​luca-matei](https://togithub.com/luca-matei) made their first contribution in [#​8507](https://togithub.com/pydantic/pydantic/pull/8507) - [@​Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) made their first contribution in [#​8437](https://togithub.com/pydantic/pydantic/pull/8437) - [@​bL34cHig0](https://togithub.com/bL34cHig0) made their first contribution in [#​8501](https://togithub.com/pydantic/pydantic/pull/8501) - [@​tigeryy2](https://togithub.com/tigeryy2) made their first contribution in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - [@​geospackle](https://togithub.com/geospackle) made their first contribution in [#​8537](https://togithub.com/pydantic/pydantic/pull/8537) - [@​Anvil](https://togithub.com/Anvil) made their first contribution in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - [@​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) ##### `pydantic-core` - [@​mariuswinger](https://togithub.com/mariuswinger) made their first contribution in [pydantic/pydantic-core#1087](https://togithub.com/pydantic/pydantic-core/pull/1087) - [@​adamchainz](https://togithub.com/adamchainz) made their first contribution in [pydantic/pydantic-core#1090](https://togithub.com/pydantic/pydantic-core/pull/1090) - [@​akx](https://togithub.com/akx) made their first contribution in [pydantic/pydantic-core#1123](https://togithub.com/pydantic/pydantic-core/pull/1123) </details> --- ### 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/libretime/libretime). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `==2.5.3` -> `==2.6.1` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.5.3/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.5.3/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.6.1`](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.1): 2024-02-05 [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.0...v2.6.1) #### v2.6.1 (2024-02-05) ##### 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) Full Changelog: pydantic/pydantic@v2.6.0...v2.6.1/ ### [`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 dynamically assigned to a class method by [@​jusexton](https://togithub.com/jusexton) in [#​8249](https://togithub.com/pydantic/pydantic/pull/8249) - Fix issue `unittest.mock` deprecation warnings by [@​ibleedicare](https://togithub.com/ibleedicare) in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - Added tests for the case `JsonValue` contains subclassed primitive values by [@​jusexton](https://togithub.com/jusexton) in [#​8286](https://togithub.com/pydantic/pydantic/pull/8286) - Fix `mypy` error on free before validator (classmethod) by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8285](https://togithub.com/pydantic/pydantic/pull/8285) - Fix `to_snake` conversion by [@​jevins09](https://togithub.com/jevins09) in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - Fix type annotation of `ModelMetaclass.__prepare__` by [@​slanzmich](https://togithub.com/slanzmich) in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - Disallow `config` specification when initializing a `TypeAdapter` when the annotated type has config already by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8365](https://togithub.com/pydantic/pydantic/pull/8365) - Fix a naming issue with JSON schema for generics parametrized by recursive type aliases by [@​dmontagu](https://togithub.com/dmontagu) in [#​8389](https://togithub.com/pydantic/pydantic/pull/8389) - Fix type annotation in pydantic people script by [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - Add support for field `alias` in `dataclass` signature by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - Fix bug with schema generation with `Field(...)` in a forward ref by [@​dmontagu](https://togithub.com/dmontagu) in [#​8494](https://togithub.com/pydantic/pydantic/pull/8494) - Fix ordering of keys in `__dict__` with `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8500](https://togithub.com/pydantic/pydantic/pull/8500) - Fix module `path_type` creation when globals does not contain `__name__` by [@​hramezani](https://togithub.com/hramezani) in [#​8470](https://togithub.com/pydantic/pydantic/pull/8470) - Fix for namespace issue with dataclasses with `from __future__ import annotations` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8513](https://togithub.com/pydantic/pydantic/pull/8513) - Fix: make function validator types positional-only by [@​pmmmwh](https://togithub.com/pmmmwh) in [#​8479](https://togithub.com/pydantic/pydantic/pull/8479) - Fix usage of `@deprecated` by [@​Viicos](https://togithub.com/Viicos) in [#​8294](https://togithub.com/pydantic/pydantic/pull/8294) - Add more support for private attributes in `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8525](https://togithub.com/pydantic/pydantic/pull/8525) - Use a stack for the types namespace by [@​dmontagu](https://togithub.com/dmontagu) in [#​8378](https://togithub.com/pydantic/pydantic/pull/8378) - Fix schema-building bug with `TypeAliasType` for types with refs by [@​dmontagu](https://togithub.com/dmontagu) in [#​8526](https://togithub.com/pydantic/pydantic/pull/8526) - Support `pydantic.Field(repr=False)` in dataclasses by [@​tigeryy2](https://togithub.com/tigeryy2) in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - Override `dataclass_transform` behavior for `RootModel` by [@​Viicos](https://togithub.com/Viicos) in [#​8163](https://togithub.com/pydantic/pydantic/pull/8163) - Refactor signature generation for simplicity by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8572](https://togithub.com/pydantic/pydantic/pull/8572) - Fix ordering bug of PlainValidator annotation by [@​Anvil](https://togithub.com/Anvil) in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - Fix `exclude_none` for json serialization of `computed_field`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1098](https://togithub.com/pydantic/pydantic-core/pull/1098) - Support yyyy-MM-DD string for datetimes by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1124](https://togithub.com/pydantic/pydantic-core/pull/1124) - Tweak ordering of definitions in generated schemas by [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) ##### New Contributors ##### `pydantic` - [@​ekeew](https://togithub.com/ekeew) made their first contribution in [#​6874](https://togithub.com/pydantic/pydantic/pull/6874) - [@​lambertsbennett](https://togithub.com/lambertsbennett) made their first contribution in [#​8054](https://togithub.com/pydantic/pydantic/pull/8054) - [@​vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) made their first contribution in [#​8138](https://togithub.com/pydantic/pydantic/pull/8138) - [@​QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia) made their first contribution in [#​7825](https://togithub.com/pydantic/pydantic/pull/7825) - [@​ariebovenberg](https://togithub.com/ariebovenberg) made their first contribution in [#​8072](https://togithub.com/pydantic/pydantic/pull/8072) - [@​LukeTonin](https://togithub.com/LukeTonin) made their first contribution in [#​8223](https://togithub.com/pydantic/pydantic/pull/8223) - [@​denisart](https://togithub.com/denisart) made their first contribution in [#​8231](https://togithub.com/pydantic/pydantic/pull/8231) - [@​ianhfc](https://togithub.com/ianhfc) made their first contribution in [#​8066](https://togithub.com/pydantic/pydantic/pull/8066) - [@​eonu](https://togithub.com/eonu) made their first contribution in [#​8255](https://togithub.com/pydantic/pydantic/pull/8255) - [@​amandahla](https://togithub.com/amandahla) made their first contribution in [#​8263](https://togithub.com/pydantic/pydantic/pull/8263) - [@​ibleedicare](https://togithub.com/ibleedicare) made their first contribution in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - [@​jevins09](https://togithub.com/jevins09) made their first contribution in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - [@​cuu508](https://togithub.com/cuu508) made their first contribution in [#​8322](https://togithub.com/pydantic/pydantic/pull/8322) - [@​slanzmich](https://togithub.com/slanzmich) made their first contribution in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - [@​jensenbox](https://togithub.com/jensenbox) made their first contribution in [#​8331](https://togithub.com/pydantic/pydantic/pull/8331) - [@​szepeviktor](https://togithub.com/szepeviktor) made their first contribution in [#​8356](https://togithub.com/pydantic/pydantic/pull/8356) - [@​Elkiwa](https://togithub.com/Elkiwa) made their first contribution in [#​8341](https://togithub.com/pydantic/pydantic/pull/8341) - [@​parhamfh](https://togithub.com/parhamfh) made their first contribution in [#​8395](https://togithub.com/pydantic/pydantic/pull/8395) - [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) made their first contribution in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - [@​NeevCohen](https://togithub.com/NeevCohen) made their first contribution in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - [@​zby](https://togithub.com/zby) made their first contribution in [#​8497](https://togithub.com/pydantic/pydantic/pull/8497) - [@​patelnets](https://togithub.com/patelnets) made their first contribution in [#​8491](https://togithub.com/pydantic/pydantic/pull/8491) - [@​edwardwli](https://togithub.com/edwardwli) made their first contribution in [#​8503](https://togithub.com/pydantic/pydantic/pull/8503) - [@​luca-matei](https://togithub.com/luca-matei) made their first contribution in [#​8507](https://togithub.com/pydantic/pydantic/pull/8507) - [@​Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) made their first contribution in [#​8437](https://togithub.com/pydantic/pydantic/pull/8437) - [@​bL34cHig0](https://togithub.com/bL34cHig0) made their first contribution in [#​8501](https://togithub.com/pydantic/pydantic/pull/8501) - [@​tigeryy2](https://togithub.com/tigeryy2) made their first contribution in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - [@​geospackle](https://togithub.com/geospackle) made their first contribution in [#​8537](https://togithub.com/pydantic/pydantic/pull/8537) - [@​Anvil](https://togithub.com/Anvil) made their first contribution in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - [@​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) ##### `pydantic-core` - [@​mariuswinger](https://togithub.com/mariuswinger) made their first contribution in [pydantic/pydantic-core#1087](https://togithub.com/pydantic/pydantic-core/pull/1087) - [@​adamchainz](https://togithub.com/adamchainz) made their first contribution in [pydantic/pydantic-core#1090](https://togithub.com/pydantic/pydantic-core/pull/1090) - [@​akx](https://togithub.com/akx) made their first contribution in [pydantic/pydantic-core#1123](https://togithub.com/pydantic/pydantic-core/pull/1123) </details> --- ### 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**: Never, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/GoogleCloudPlatform/genai-databases-retrieval-app). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [pydantic](https://github.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | dependencies | minor | `2.5.3` -> `2.6.1` | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.6.1`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v261-2024-02-05) [Compare Source](pydantic/pydantic@v2.6.0...v2.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](https://github.com/sydney-runkle) in [#​8717](pydantic/pydantic#8717) ##### Fixes - Fix bug with `mypy` plugin and `no_strict_optional = True` by [@​dmontagu](https://github.com/dmontagu) in [#​8666](pydantic/pydantic#8666) - Fix `ByteSize` error `type` change by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8681](pydantic/pydantic#8681) - Fix inheriting `Field` annotations in dataclasses by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8679](pydantic/pydantic#8679) - Fix regression in core schema generation for indirect definition references by [@​dmontagu](https://github.com/dmontagu) in [#​8702](pydantic/pydantic#8702) - Fix unsupported types bug with `PlainValidator` by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8710](pydantic/pydantic#8710) - Reverting problematic fix from 2.6 release, fixing schema building bug by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8718](pydantic/pydantic#8718) - Fix warning for tuple of wrong size in `Union` by [@​davidhewitt](https://github.com/davidhewitt) in [pydantic/pydantic-core#1174](pydantic/pydantic-core#1174) - Fix `computed_field` JSON serializer `exclude_none` behavior by [@​sydney-runkle](https://github.com/sydney-runkle) in [pydantic/pydantic-core#1187](pydantic/pydantic-core#1187) ### [`v2.6.0`](https://github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v260-2024-01-23) [Compare Source](pydantic/pydantic@v2.5.3...v2.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](https://github.com/commonism) in [#​6033](pydantic/pydantic#6033) - Upgrade \`ruff\`\` target version to Python 3.8 by [@​Elkiwa](https://github.com/Elkiwa) in [#​8341](pydantic/pydantic#8341) - Update to `pydantic-extra-types==2.4.1` by [@​yezz123](https://github.com/yezz123) in [#​8478](pydantic/pydantic#8478) - Update to `pyright==1.1.345` by [@​Viicos](https://github.com/Viicos) in [#​8453](pydantic/pydantic#8453) - Update pydantic-core from 2.14.6 to 2.16.1, significant changes from these updates are described below, full changelog [here](pydantic/pydantic-core@v2.14.6...v2.16.1) ##### New Features - Add `NatsDsn` by [@​ekeew](https://github.com/ekeew) in [#​6874](pydantic/pydantic#6874) - Add `ConfigDict.ser_json_inf_nan` by [@​davidhewitt](https://github.com/davidhewitt) in [#​8159](pydantic/pydantic#8159) - Add `types.OnErrorOmit` by [@​adriangb](https://github.com/adriangb) in [#​8222](pydantic/pydantic#8222) - Support `AliasGenerator` usage by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8282](pydantic/pydantic#8282) - Add Pydantic People Page to docs by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8345](pydantic/pydantic#8345) - Support `yyyy-MM-DD` datetime parsing by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8404](pydantic/pydantic#8404) - Added bits conversions to the `ByteSize` class [#​8415](pydantic/pydantic#8415) by [@​luca-matei](https://github.com/luca-matei) in [#​8507](pydantic/pydantic#8507) - Enable json schema creation with type `ByteSize` by [@​geospackle](https://github.com/geospackle) in [#​8537](pydantic/pydantic#8537) - Add `eval_type_backport` to handle union operator and builtin generic subscripting in older Pythons by [@​alexmojaki](https://github.com/alexmojaki) in [#​8209](pydantic/pydantic#8209) - Add support for `dataclass` fields `init` by [@​dmontagu](https://github.com/dmontagu) in [#​8552](pydantic/pydantic#8552) - Implement pickling for `ValidationError` by [@​davidhewitt](https://github.com/davidhewitt) in [pydantic/pydantic-core#1119](pydantic/pydantic-core#1119) - Add unified tuple validator that can handle "variadic" tuples via PEP-646 by [@​dmontagu](https://github.com/dmontagu) in [pydantic/pydantic-core#865](pydantic/pydantic-core#865) ##### Changes - Drop Python3.7 support by [@​hramezani](https://github.com/hramezani) in [#​7188](pydantic/pydantic#7188) - Drop Python 3.7, and PyPy 3.7 and 3.8 by [@​davidhewitt](https://github.com/davidhewitt) in [pydantic/pydantic-core#1129](pydantic/pydantic-core#1129) - Use positional-only `self` in `BaseModel` constructor, so no field name can ever conflict with it by [@​ariebovenberg](https://github.com/ariebovenberg) in [#​8072](pydantic/pydantic#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://github.com/alexmojaki) in [#​8268](pydantic/pydantic#8268) - Exclude `BaseModel` docstring from JSON schema description by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8352](pydantic/pydantic#8352) - Introducing `classproperty` decorator for `model_computed_fields` by [@​Jocelyn-Gas](https://github.com/Jocelyn-Gas) in [#​8437](pydantic/pydantic#8437) - Explicitly raise an error if field names clashes with types by [@​Viicos](https://github.com/Viicos) in [#​8243](pydantic/pydantic#8243) - Use stricter serializer for unions of simple types by [@​alexdrydew](https://github.com/alexdrydew) [pydantic/pydantic-core#1132](pydantic/pydantic-core#1132) ##### Performance - Add Codspeed profiling Actions workflow by [@​lambertsbennett](https://github.com/lambertsbennett) in [#​8054](pydantic/pydantic#8054) - Improve `int` extraction by [@​samuelcolvin](https://github.com/samuelcolvin) in [pydantic/pydantic-core#1155](pydantic/pydantic-core#1155) - Improve performance of recursion guard by [@​samuelcolvin](https://github.com/samuelcolvin) in [pydantic/pydantic-core#1156](pydantic/pydantic-core#1156) - `dataclass` serialization speedups by [@​samuelcolvin](https://github.com/samuelcolvin) in [pydantic/pydantic-core#1162](pydantic/pydantic-core#1162) - Avoid `HashMap` creation when looking up small JSON objects in `LazyIndexMaps` by [@​samuelcolvin](https://github.com/samuelcolvin) in [pydantic/jiter#55](pydantic/jiter#55) - use hashbrown to speedup python string caching by [@​davidhewitt](https://github.com/davidhewitt) in [pydantic/jiter#51](pydantic/jiter#51) - Replace `Peak` with more efficient `Peek` by [@​davidhewitt](https://github.com/davidhewitt) in [pydantic/jiter#48](pydantic/jiter#48) ##### Fixes - Move `getattr` warning in deprecated `BaseConfig` by [@​tlambert03](https://github.com/tlambert03) in [#​7183](pydantic/pydantic#7183) - Only hash `model_fields`, not whole `__dict__` by [@​alexmojaki](https://github.com/alexmojaki) in [#​7786](pydantic/pydantic#7786) - Fix mishandling of unions while freezing types in the `mypy` plugin by [@​dmontagu](https://github.com/dmontagu) in [#​7411](pydantic/pydantic#7411) - Fix `mypy` error on untyped `ClassVar` by [@​vincent-hachin-wmx](https://github.com/vincent-hachin-wmx) in [#​8138](pydantic/pydantic#8138) - Only compare pydantic fields in `BaseModel.__eq__` instead of whole `__dict__` by [@​QuentinSoubeyranAqemia](https://github.com/QuentinSoubeyranAqemia) in [#​7825](pydantic/pydantic#7825) - Update `strict` docstring in `model_validate` method. by [@​LukeTonin](https://github.com/LukeTonin) in [#​8223](pydantic/pydantic#8223) - Fix overload position of `computed_field` by [@​Viicos](https://github.com/Viicos) in [#​8227](pydantic/pydantic#8227) - Fix custom type type casting used in multiple attributes by [@​ianhfc](https://github.com/ianhfc) in [#​8066](pydantic/pydantic#8066) - Fix issue not allowing `validate_call` decorator to be dynamically assigned to a class method by [@​jusexton](https://github.com/jusexton) in [#​8249](pydantic/pydantic#8249) - Fix issue `unittest.mock` deprecation warnings by [@​ibleedicare](https://github.com/ibleedicare) in [#​8262](pydantic/pydantic#8262) - Added tests for the case `JsonValue` contains subclassed primitive values by [@​jusexton](https://github.com/jusexton) in [#​8286](pydantic/pydantic#8286) - Fix `mypy` error on free before validator (classmethod) by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8285](pydantic/pydantic#8285) - Fix `to_snake` conversion by [@​jevins09](https://github.com/jevins09) in [#​8316](pydantic/pydantic#8316) - Fix type annotation of `ModelMetaclass.__prepare__` by [@​slanzmich](https://github.com/slanzmich) in [#​8305](pydantic/pydantic#8305) - Disallow `config` specification when initializing a `TypeAdapter` when the annotated type has config already by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8365](pydantic/pydantic#8365) - Fix a naming issue with JSON schema for generics parametrized by recursive type aliases by [@​dmontagu](https://github.com/dmontagu) in [#​8389](pydantic/pydantic#8389) - Fix type annotation in pydantic people script by [@​shenxiangzhuang](https://github.com/shenxiangzhuang) in [#​8402](pydantic/pydantic#8402) - Add support for field `alias` in `dataclass` signature by [@​NeevCohen](https://github.com/NeevCohen) in [#​8387](pydantic/pydantic#8387) - Fix bug with schema generation with `Field(...)` in a forward ref by [@​dmontagu](https://github.com/dmontagu) in [#​8494](pydantic/pydantic#8494) - Fix ordering of keys in `__dict__` with `model_construct` call by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8500](pydantic/pydantic#8500) - Fix module `path_type` creation when globals does not contain `__name__` by [@​hramezani](https://github.com/hramezani) in [#​8470](pydantic/pydantic#8470) - Fix for namespace issue with dataclasses with `from __future__ import annotations` by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8513](pydantic/pydantic#8513) - Fix: make function validator types positional-only by [@​pmmmwh](https://github.com/pmmmwh) in [#​8479](pydantic/pydantic#8479) - Fix usage of `@deprecated` by [@​Viicos](https://github.com/Viicos) in [#​8294](pydantic/pydantic#8294) - Add more support for private attributes in `model_construct` call by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8525](pydantic/pydantic#8525) - Use a stack for the types namespace by [@​dmontagu](https://github.com/dmontagu) in [#​8378](pydantic/pydantic#8378) - Fix schema-building bug with `TypeAliasType` for types with refs by [@​dmontagu](https://github.com/dmontagu) in [#​8526](pydantic/pydantic#8526) - Support `pydantic.Field(repr=False)` in dataclasses by [@​tigeryy2](https://github.com/tigeryy2) in [#​8511](pydantic/pydantic#8511) - Override `dataclass_transform` behavior for `RootModel` by [@​Viicos](https://github.com/Viicos) in [#​8163](pydantic/pydantic#8163) - Refactor signature generation for simplicity by [@​sydney-runkle](https://github.com/sydney-runkle) in [#​8572](pydantic/pydantic#8572) - Fix ordering bug of PlainValidator annotation by [@​Anvil](https://github.com/Anvil) in [#​8567](pydantic/pydantic#8567) - Fix `exclude_none` for json serialization of `computed_field`s by [@​sydney-runkle](https://github.com/sydney-runkle) in [pydantic/pydantic-core#1098](pydantic/pydantic-core#1098) - Support yyyy-MM-DD string for datetimes by [@​sydney-runkle](https://github.com/sydney-runkle) in [pydantic/pydantic-core#1124](pydantic/pydantic-core#1124) - Tweak ordering of definitions in generated schemas by [@​StrawHatDrag0n](https://github.com/StrawHatDrag0n) in [#​8583](pydantic/pydantic#8583) ##### New Contributors ##### `pydantic` - [@​ekeew](https://github.com/ekeew) made their first contribution in [#​6874](pydantic/pydantic#6874) - [@​lambertsbennett](https://github.com/lambertsbennett) made their first contribution in [#​8054](pydantic/pydantic#8054) - [@​vincent-hachin-wmx](https://github.com/vincent-hachin-wmx) made their first contribution in [#​8138](pydantic/pydantic#8138) - [@​QuentinSoubeyranAqemia](https://github.com/QuentinSoubeyranAqemia) made their first contribution in [#​7825](pydantic/pydantic#7825) - [@​ariebovenberg](https://github.com/ariebovenberg) made their first contribution in [#​8072](pydantic/pydantic#8072) - [@​LukeTonin](https://github.com/LukeTonin) made their first contribution in [#​8223](pydantic/pydantic#8223) - [@​denisart](https://github.com/denisart) made their first contribution in [#​8231](pydantic/pydantic#8231) - [@​ianhfc](https://github.com/ianhfc) made their first contribution in [#​8066](pydantic/pydantic#8066) - [@​eonu](https://github.com/eonu) made their first contribution in [#​8255](pydantic/pydantic#8255) - [@​amandahla](https://github.com/amandahla) made their first contribution in [#​8263](pydantic/pydantic#8263) - [@​ibleedicare](https://github.com/ibleedicare) made their first contribution in [#​8262](pydantic/pydantic#8262) - [@​jevins09](https://github.com/jevins09) made their first contribution in [#​8316](pydantic/pydantic#8316) - [@​cuu508](https://github.com/cuu508) made their first contribution in [#​8322](pydantic/pydantic#8322) - [@​slanzmich](https://github.com/slanzmich) made their first contribution in [#​8305](pydantic/pydantic#8305) - [@​jensenbox](https://github.com/jensenbox) made their first contribution in [#​8331](pydantic/pydantic#8331) - [@​szepeviktor](https://github.com/szepeviktor) made their first contribution in [#​8356](pydantic/pydantic#8356) - [@​Elkiwa](https://github.com/Elkiwa) made their first contribution in [#​8341](pydantic/pydantic#8341) - [@​parhamfh](https://github.com/parhamfh) made their first contribution in [#​8395](pydantic/pydantic#8395) - [@​shenxiangzhuang](https://github.com/shenxiangzhuang) made their first contribution in [#​8402](pydantic/pydantic#8402) - [@​NeevCohen](https://github.com/NeevCohen) made their first contribution in [#​8387](pydantic/pydantic#8387) - [@​zby](https://github.com/zby) made their first contribution in [#​8497](pydantic/pydantic#8497) - [@​patelnets](https://github.com/patelnets) made their first contribution in [#​8491](pydantic/pydantic#8491) - [@​edwardwli](https://github.com/edwardwli) made their first contribution in [#​8503](pydantic/pydantic#8503) - [@​luca-matei](https://github.com/luca-matei) made their first contribution in [#​8507](pydantic/pydantic#8507) - [@​Jocelyn-Gas](https://github.com/Jocelyn-Gas) made their first contribution in [#​8437](pydantic/pydantic#8437) - [@​bL34cHig0](https://github.com/bL34cHig0) made their first contribution in [#​8501](pydantic/pydantic#8501) - [@​tigeryy2](https://github.com/tigeryy2) made their first contribution in [#​8511](pydantic/pydantic#8511) - [@​geospackle](https://github.com/geospackle) made their first contribution in [#​8537](pydantic/pydantic#8537) - [@​Anvil](https://github.com/Anvil) made their first contribution in [#​8567](pydantic/pydantic#8567) - [@​hungtsetse](https://github.com/hungtsetse) made their first contribution in [#​8546](pydantic/pydantic#8546) - [@​StrawHatDrag0n](https://github.com/StrawHatDrag0n) made their first contribution in [#​8583](pydantic/pydantic#8583) ##### `pydantic-core` - [@​mariuswinger](https://github.com/mariuswinger) made their first contribution in [pydantic/pydantic-core#1087](pydantic/pydantic-core#1087) - [@​adamchainz](https://github.com/adamchainz) made their first contribution in [pydantic/pydantic-core#1090](pydantic/pydantic-core#1090) - [@​akx](https://github.com/akx) made their first contribution in [pydantic/pydantic-core#1123](pydantic/pydantic-core#1123) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=--> Reviewed-on: https://git.apud.pl/jacek/adventofcode/pulls/57 Co-authored-by: Renovate <renovate@apud.pl> Co-committed-by: Renovate <renovate@apud.pl>
@sydney-runkle was this released? I believe I still have the conversion to int for booleans within a union Type for pydantic 2.6.1. |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `==2.5.3` -> `==2.6.1` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.5.3/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.5.3/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.6.1`](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.1): 2024-02-05 [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.0...v2.6.1) #### v2.6.1 (2024-02-05) ##### 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) Full Changelog: pydantic/pydantic@v2.6.0...v2.6.1/ ### [`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 dynamically assigned to a class method by [@​jusexton](https://togithub.com/jusexton) in [#​8249](https://togithub.com/pydantic/pydantic/pull/8249) - Fix issue `unittest.mock` deprecation warnings by [@​ibleedicare](https://togithub.com/ibleedicare) in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - Added tests for the case `JsonValue` contains subclassed primitive values by [@​jusexton](https://togithub.com/jusexton) in [#​8286](https://togithub.com/pydantic/pydantic/pull/8286) - Fix `mypy` error on free before validator (classmethod) by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8285](https://togithub.com/pydantic/pydantic/pull/8285) - Fix `to_snake` conversion by [@​jevins09](https://togithub.com/jevins09) in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - Fix type annotation of `ModelMetaclass.__prepare__` by [@​slanzmich](https://togithub.com/slanzmich) in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - Disallow `config` specification when initializing a `TypeAdapter` when the annotated type has config already by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8365](https://togithub.com/pydantic/pydantic/pull/8365) - Fix a naming issue with JSON schema for generics parametrized by recursive type aliases by [@​dmontagu](https://togithub.com/dmontagu) in [#​8389](https://togithub.com/pydantic/pydantic/pull/8389) - Fix type annotation in pydantic people script by [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - Add support for field `alias` in `dataclass` signature by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - Fix bug with schema generation with `Field(...)` in a forward ref by [@​dmontagu](https://togithub.com/dmontagu) in [#​8494](https://togithub.com/pydantic/pydantic/pull/8494) - Fix ordering of keys in `__dict__` with `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8500](https://togithub.com/pydantic/pydantic/pull/8500) - Fix module `path_type` creation when globals does not contain `__name__` by [@​hramezani](https://togithub.com/hramezani) in [#​8470](https://togithub.com/pydantic/pydantic/pull/8470) - Fix for namespace issue with dataclasses with `from __future__ import annotations` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8513](https://togithub.com/pydantic/pydantic/pull/8513) - Fix: make function validator types positional-only by [@​pmmmwh](https://togithub.com/pmmmwh) in [#​8479](https://togithub.com/pydantic/pydantic/pull/8479) - Fix usage of `@deprecated` by [@​Viicos](https://togithub.com/Viicos) in [#​8294](https://togithub.com/pydantic/pydantic/pull/8294) - Add more support for private attributes in `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8525](https://togithub.com/pydantic/pydantic/pull/8525) - Use a stack for the types namespace by [@​dmontagu](https://togithub.com/dmontagu) in [#​8378](https://togithub.com/pydantic/pydantic/pull/8378) - Fix schema-building bug with `TypeAliasType` for types with refs by [@​dmontagu](https://togithub.com/dmontagu) in [#​8526](https://togithub.com/pydantic/pydantic/pull/8526) - Support `pydantic.Field(repr=False)` in dataclasses by [@​tigeryy2](https://togithub.com/tigeryy2) in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - Override `dataclass_transform` behavior for `RootModel` by [@​Viicos](https://togithub.com/Viicos) in [#​8163](https://togithub.com/pydantic/pydantic/pull/8163) - Refactor signature generation for simplicity by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8572](https://togithub.com/pydantic/pydantic/pull/8572) - Fix ordering bug of PlainValidator annotation by [@​Anvil](https://togithub.com/Anvil) in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - Fix `exclude_none` for json serialization of `computed_field`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1098](https://togithub.com/pydantic/pydantic-core/pull/1098) - Support yyyy-MM-DD string for datetimes by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1124](https://togithub.com/pydantic/pydantic-core/pull/1124) - Tweak ordering of definitions in generated schemas by [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) ##### New Contributors ##### `pydantic` - [@​ekeew](https://togithub.com/ekeew) made their first contribution in [#​6874](https://togithub.com/pydantic/pydantic/pull/6874) - [@​lambertsbennett](https://togithub.com/lambertsbennett) made their first contribution in [#​8054](https://togithub.com/pydantic/pydantic/pull/8054) - [@​vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) made their first contribution in [#​8138](https://togithub.com/pydantic/pydantic/pull/8138) - [@​QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia) made their first contribution in [#​7825](https://togithub.com/pydantic/pydantic/pull/7825) - [@​ariebovenberg](https://togithub.com/ariebovenberg) made their first contribution in [#​8072](https://togithub.com/pydantic/pydantic/pull/8072) - [@​LukeTonin](https://togithub.com/LukeTonin) made their first contribution in [#​8223](https://togithub.com/pydantic/pydantic/pull/8223) - [@​denisart](https://togithub.com/denisart) made their first contribution in [#​8231](https://togithub.com/pydantic/pydantic/pull/8231) - [@​ianhfc](https://togithub.com/ianhfc) made their first contribution in [#​8066](https://togithub.com/pydantic/pydantic/pull/8066) - [@​eonu](https://togithub.com/eonu) made their first contribution in [#​8255](https://togithub.com/pydantic/pydantic/pull/8255) - [@​amandahla](https://togithub.com/amandahla) made their first contribution in [#​8263](https://togithub.com/pydantic/pydantic/pull/8263) - [@​ibleedicare](https://togithub.com/ibleedicare) made their first contribution in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - [@​jevins09](https://togithub.com/jevins09) made their first contribution in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - [@​cuu508](https://togithub.com/cuu508) made their first contribution in [#​8322](https://togithub.com/pydantic/pydantic/pull/8322) - [@​slanzmich](https://togithub.com/slanzmich) made their first contribution in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - [@​jensenbox](https://togithub.com/jensenbox) made their first contribution in [#​8331](https://togithub.com/pydantic/pydantic/pull/8331) - [@​szepeviktor](https://togithub.com/szepeviktor) made their first contribution in [#​8356](https://togithub.com/pydantic/pydantic/pull/8356) - [@​Elkiwa](https://togithub.com/Elkiwa) made their first contribution in [#​8341](https://togithub.com/pydantic/pydantic/pull/8341) - [@​parhamfh](https://togithub.com/parhamfh) made their first contribution in [#​8395](https://togithub.com/pydantic/pydantic/pull/8395) - [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) made their first contribution in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - [@​NeevCohen](https://togithub.com/NeevCohen) made their first contribution in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - [@​zby](https://togithub.com/zby) made their first contribution in [#​8497](https://togithub.com/pydantic/pydantic/pull/8497) - [@​patelnets](https://togithub.com/patelnets) made their first contribution in [#​8491](https://togithub.com/pydantic/pydantic/pull/8491) - [@​edwardwli](https://togithub.com/edwardwli) made their first contribution in [#​8503](https://togithub.com/pydantic/pydantic/pull/8503) - [@​luca-matei](https://togithub.com/luca-matei) made their first contribution in [#​8507](https://togithub.com/pydantic/pydantic/pull/8507) - [@​Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) made their first contribution in [#​8437](https://togithub.com/pydantic/pydantic/pull/8437) - [@​bL34cHig0](https://togithub.com/bL34cHig0) made their first contribution in [#​8501](https://togithub.com/pydantic/pydantic/pull/8501) - [@​tigeryy2](https://togithub.com/tigeryy2) made their first contribution in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - [@​geospackle](https://togithub.com/geospackle) made their first contribution in [#​8537](https://togithub.com/pydantic/pydantic/pull/8537) - [@​Anvil](https://togithub.com/Anvil) made their first contribution in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - [@​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) ##### `pydantic-core` - [@​mariuswinger](https://togithub.com/mariuswinger) made their first contribution in [pydantic/pydantic-core#1087](https://togithub.com/pydantic/pydantic-core/pull/1087) - [@​adamchainz](https://togithub.com/adamchainz) made their first contribution in [pydantic/pydantic-core#1090](https://togithub.com/pydantic/pydantic-core/pull/1090) - [@​akx](https://togithub.com/akx) made their first contribution in [pydantic/pydantic-core#1123](https://togithub.com/pydantic/pydantic-core/pull/1123) </details> --- ### 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**: Never, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/GoogleCloudPlatform/genai-databases-retrieval-app). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `==2.5.3` -> `==2.6.1` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.5.3/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.5.3/2.6.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.6.1`](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.1): 2024-02-05 [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.0...v2.6.1) #### v2.6.1 (2024-02-05) ##### 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) Full Changelog: pydantic/pydantic@v2.6.0...v2.6.1/ ### [`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 dynamically assigned to a class method by [@​jusexton](https://togithub.com/jusexton) in [#​8249](https://togithub.com/pydantic/pydantic/pull/8249) - Fix issue `unittest.mock` deprecation warnings by [@​ibleedicare](https://togithub.com/ibleedicare) in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - Added tests for the case `JsonValue` contains subclassed primitive values by [@​jusexton](https://togithub.com/jusexton) in [#​8286](https://togithub.com/pydantic/pydantic/pull/8286) - Fix `mypy` error on free before validator (classmethod) by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8285](https://togithub.com/pydantic/pydantic/pull/8285) - Fix `to_snake` conversion by [@​jevins09](https://togithub.com/jevins09) in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - Fix type annotation of `ModelMetaclass.__prepare__` by [@​slanzmich](https://togithub.com/slanzmich) in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - Disallow `config` specification when initializing a `TypeAdapter` when the annotated type has config already by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8365](https://togithub.com/pydantic/pydantic/pull/8365) - Fix a naming issue with JSON schema for generics parametrized by recursive type aliases by [@​dmontagu](https://togithub.com/dmontagu) in [#​8389](https://togithub.com/pydantic/pydantic/pull/8389) - Fix type annotation in pydantic people script by [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - Add support for field `alias` in `dataclass` signature by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - Fix bug with schema generation with `Field(...)` in a forward ref by [@​dmontagu](https://togithub.com/dmontagu) in [#​8494](https://togithub.com/pydantic/pydantic/pull/8494) - Fix ordering of keys in `__dict__` with `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8500](https://togithub.com/pydantic/pydantic/pull/8500) - Fix module `path_type` creation when globals does not contain `__name__` by [@​hramezani](https://togithub.com/hramezani) in [#​8470](https://togithub.com/pydantic/pydantic/pull/8470) - Fix for namespace issue with dataclasses with `from __future__ import annotations` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8513](https://togithub.com/pydantic/pydantic/pull/8513) - Fix: make function validator types positional-only by [@​pmmmwh](https://togithub.com/pmmmwh) in [#​8479](https://togithub.com/pydantic/pydantic/pull/8479) - Fix usage of `@deprecated` by [@​Viicos](https://togithub.com/Viicos) in [#​8294](https://togithub.com/pydantic/pydantic/pull/8294) - Add more support for private attributes in `model_construct` call by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8525](https://togithub.com/pydantic/pydantic/pull/8525) - Use a stack for the types namespace by [@​dmontagu](https://togithub.com/dmontagu) in [#​8378](https://togithub.com/pydantic/pydantic/pull/8378) - Fix schema-building bug with `TypeAliasType` for types with refs by [@​dmontagu](https://togithub.com/dmontagu) in [#​8526](https://togithub.com/pydantic/pydantic/pull/8526) - Support `pydantic.Field(repr=False)` in dataclasses by [@​tigeryy2](https://togithub.com/tigeryy2) in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - Override `dataclass_transform` behavior for `RootModel` by [@​Viicos](https://togithub.com/Viicos) in [#​8163](https://togithub.com/pydantic/pydantic/pull/8163) - Refactor signature generation for simplicity by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8572](https://togithub.com/pydantic/pydantic/pull/8572) - Fix ordering bug of PlainValidator annotation by [@​Anvil](https://togithub.com/Anvil) in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - Fix `exclude_none` for json serialization of `computed_field`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1098](https://togithub.com/pydantic/pydantic-core/pull/1098) - Support yyyy-MM-DD string for datetimes by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1124](https://togithub.com/pydantic/pydantic-core/pull/1124) - Tweak ordering of definitions in generated schemas by [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) ##### New Contributors ##### `pydantic` - [@​ekeew](https://togithub.com/ekeew) made their first contribution in [#​6874](https://togithub.com/pydantic/pydantic/pull/6874) - [@​lambertsbennett](https://togithub.com/lambertsbennett) made their first contribution in [#​8054](https://togithub.com/pydantic/pydantic/pull/8054) - [@​vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) made their first contribution in [#​8138](https://togithub.com/pydantic/pydantic/pull/8138) - [@​QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia) made their first contribution in [#​7825](https://togithub.com/pydantic/pydantic/pull/7825) - [@​ariebovenberg](https://togithub.com/ariebovenberg) made their first contribution in [#​8072](https://togithub.com/pydantic/pydantic/pull/8072) - [@​LukeTonin](https://togithub.com/LukeTonin) made their first contribution in [#​8223](https://togithub.com/pydantic/pydantic/pull/8223) - [@​denisart](https://togithub.com/denisart) made their first contribution in [#​8231](https://togithub.com/pydantic/pydantic/pull/8231) - [@​ianhfc](https://togithub.com/ianhfc) made their first contribution in [#​8066](https://togithub.com/pydantic/pydantic/pull/8066) - [@​eonu](https://togithub.com/eonu) made their first contribution in [#​8255](https://togithub.com/pydantic/pydantic/pull/8255) - [@​amandahla](https://togithub.com/amandahla) made their first contribution in [#​8263](https://togithub.com/pydantic/pydantic/pull/8263) - [@​ibleedicare](https://togithub.com/ibleedicare) made their first contribution in [#​8262](https://togithub.com/pydantic/pydantic/pull/8262) - [@​jevins09](https://togithub.com/jevins09) made their first contribution in [#​8316](https://togithub.com/pydantic/pydantic/pull/8316) - [@​cuu508](https://togithub.com/cuu508) made their first contribution in [#​8322](https://togithub.com/pydantic/pydantic/pull/8322) - [@​slanzmich](https://togithub.com/slanzmich) made their first contribution in [#​8305](https://togithub.com/pydantic/pydantic/pull/8305) - [@​jensenbox](https://togithub.com/jensenbox) made their first contribution in [#​8331](https://togithub.com/pydantic/pydantic/pull/8331) - [@​szepeviktor](https://togithub.com/szepeviktor) made their first contribution in [#​8356](https://togithub.com/pydantic/pydantic/pull/8356) - [@​Elkiwa](https://togithub.com/Elkiwa) made their first contribution in [#​8341](https://togithub.com/pydantic/pydantic/pull/8341) - [@​parhamfh](https://togithub.com/parhamfh) made their first contribution in [#​8395](https://togithub.com/pydantic/pydantic/pull/8395) - [@​shenxiangzhuang](https://togithub.com/shenxiangzhuang) made their first contribution in [#​8402](https://togithub.com/pydantic/pydantic/pull/8402) - [@​NeevCohen](https://togithub.com/NeevCohen) made their first contribution in [#​8387](https://togithub.com/pydantic/pydantic/pull/8387) - [@​zby](https://togithub.com/zby) made their first contribution in [#​8497](https://togithub.com/pydantic/pydantic/pull/8497) - [@​patelnets](https://togithub.com/patelnets) made their first contribution in [#​8491](https://togithub.com/pydantic/pydantic/pull/8491) - [@​edwardwli](https://togithub.com/edwardwli) made their first contribution in [#​8503](https://togithub.com/pydantic/pydantic/pull/8503) - [@​luca-matei](https://togithub.com/luca-matei) made their first contribution in [#​8507](https://togithub.com/pydantic/pydantic/pull/8507) - [@​Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) made their first contribution in [#​8437](https://togithub.com/pydantic/pydantic/pull/8437) - [@​bL34cHig0](https://togithub.com/bL34cHig0) made their first contribution in [#​8501](https://togithub.com/pydantic/pydantic/pull/8501) - [@​tigeryy2](https://togithub.com/tigeryy2) made their first contribution in [#​8511](https://togithub.com/pydantic/pydantic/pull/8511) - [@​geospackle](https://togithub.com/geospackle) made their first contribution in [#​8537](https://togithub.com/pydantic/pydantic/pull/8537) - [@​Anvil](https://togithub.com/Anvil) made their first contribution in [#​8567](https://togithub.com/pydantic/pydantic/pull/8567) - [@​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) ##### `pydantic-core` - [@​mariuswinger](https://togithub.com/mariuswinger) made their first contribution in [pydantic/pydantic-core#1087](https://togithub.com/pydantic/pydantic-core/pull/1087) - [@​adamchainz](https://togithub.com/adamchainz) made their first contribution in [pydantic/pydantic-core#1090](https://togithub.com/pydantic/pydantic-core/pull/1090) - [@​akx](https://togithub.com/akx) made their first contribution in [pydantic/pydantic-core#1123](https://togithub.com/pydantic/pydantic-core/pull/1123) </details> --- ### 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**: Never, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/GoogleCloudPlatform/genai-databases-retrieval-app). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNzMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com> Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
Change Summary
This PR forces simple serializer to fail in case of strict extra.check mode if current type is a subtype of expected type (but not the type itself). With this union serializer is given a chance to find a better serializer during strict pass.
Related issue number
This fixes
Union[bool, int]
case of pydantic/pydantic#6830 (which was reported in pydantic/pydantic#7294). Ambiguity of union serializer in case of arbitrary types (e.g. with is-instance schema) is not fixed.Checklist
pydantic-core
(except for expected changes)Selected Reviewer: @samuelcolvin