Serialize duration to hour minute second, instead of just seconds#50
Serialize duration to hour minute second, instead of just seconds#50davidhewitt merged 2 commits intopydantic:mainfrom
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #50 +/- ##
==========================================
+ Coverage 99.09% 99.11% +0.02%
==========================================
Files 6 6
Lines 885 907 +22
==========================================
+ Hits 877 899 +22
Misses 8 8
... and 3 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
davidhewitt
left a comment
There was a problem hiding this comment.
Thanks, this is a nice improvement.
It's worth noting this will create a noticeable change in behaviour to users downstream, but I think everyone would argue the new format is better.
[](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.6.4` -> `2.7.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.7.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v270-2024-04-11) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.4...v2.7.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.0) The code released in v2.7.0 is practically identical to that of v2.7.0b1. ##### What's Changed ##### Packaging - Reorganize `pyproject.toml` sections by [@​Viicos](https://togithub.com/Viicos) in [#​8899](https://togithub.com/pydantic/pydantic/pull/8899) - Bump `pydantic-core` to `v2.18.1` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9211](https://togithub.com/pydantic/pydantic/pull/9211) - Adopt `jiter` `v0.2.0` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1250](https://togithub.com/pydantic/pydantic-core/pull/1250) ##### New Features - Extract attribute docstrings from `FieldInfo.description` by [@​Viicos](https://togithub.com/Viicos) in [#​6563](https://togithub.com/pydantic/pydantic/pull/6563) - Add a `with_config` decorator to comply with typing spec by [@​Viicos](https://togithub.com/Viicos) in [#​8611](https://togithub.com/pydantic/pydantic/pull/8611) - Allow an optional separator splitting the value and unit of the result of `ByteSize.human_readable` by [@​jks15satoshi](https://togithub.com/jks15satoshi) in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - Add generic `Secret` base type by [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - Make use of `Sphinx` inventories for cross references in docs by [@​Viicos](https://togithub.com/Viicos) in [#​8682](https://togithub.com/pydantic/pydantic/pull/8682) - Add environment variable to disable plugins by [@​geospackle](https://togithub.com/geospackle) in [#​8767](https://togithub.com/pydantic/pydantic/pull/8767) - Add support for `deprecated` fields by [@​Viicos](https://togithub.com/Viicos) in [#​8237](https://togithub.com/pydantic/pydantic/pull/8237) - Allow `field_serializer('*')` by [@​ornariece](https://togithub.com/ornariece) in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - Handle a case when `model_config` is defined as a model property by [@​alexeyt101](https://togithub.com/alexeyt101) in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - Update `create_model()` to support `typing.Annotated` as input by [@​wannieman98](https://togithub.com/wannieman98) in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - Add `ClickhouseDsn` support by [@​solidguy7](https://togithub.com/solidguy7) in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - Add support for `re.Pattern[str]` to `pattern` field by [@​jag-k](https://togithub.com/jag-k) in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - Support for `serialize_as_any` runtime setting by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8830](https://togithub.com/pydantic/pydantic/pull/8830) - Add support for `typing.Self` by [@​Youssefares](https://togithub.com/Youssefares) in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - Ability to pass `context` to serialization by [@​ornariece](https://togithub.com/ornariece) in [#​8965](https://togithub.com/pydantic/pydantic/pull/8965) - Add feedback widget to docs with flarelytics integration by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9129](https://togithub.com/pydantic/pydantic/pull/9129) - Support for parsing partial JSON strings in Python by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#66](https://togithub.com/pydantic/jiter/pull/66) **Finalized in v2.7.0, rather than v2.7.0b1:** - Add support for field level number to str coercion option by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9137](https://togithub.com/pydantic/pydantic/pull/9137) - Update `warnings` parameter for serialization utilities to allow raising a warning by [@​Lance-Drane](https://togithub.com/Lance-Drane) in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) ##### Changes - Correct docs, logic for `model_construct` behavior with `extra` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8807](https://togithub.com/pydantic/pydantic/pull/8807) - Improve error message for improper `RootModel` subclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8857](https://togithub.com/pydantic/pydantic/pull/8857) - Use `PEP570` syntax by [@​Viicos](https://togithub.com/Viicos) in [#​8940](https://togithub.com/pydantic/pydantic/pull/8940) - Add `enum` and `type` to the JSON schema for single item literals by [@​dmontagu](https://togithub.com/dmontagu) in [#​8944](https://togithub.com/pydantic/pydantic/pull/8944) - Deprecate `update_json_schema` internal function by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9125](https://togithub.com/pydantic/pydantic/pull/9125) - Serialize duration to hour minute second, instead of just seconds by [@​kakilangit](https://togithub.com/kakilangit) in [pydantic/speedate#50](https://togithub.com/pydantic/speedate/pull/50) - Trimming str before parsing to int and float by [@​hungtsetse](https://togithub.com/hungtsetse) in [pydantic/pydantic-core#1203](https://togithub.com/pydantic/pydantic-core/pull/1203) ##### Performance - `enum` validator improvements by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9045](https://togithub.com/pydantic/pydantic/pull/9045) - Move `enum` validation and serialization to Rust by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9064](https://togithub.com/pydantic/pydantic/pull/9064) - Improve schema generation for nested dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9114](https://togithub.com/pydantic/pydantic/pull/9114) - Fast path for ASCII python string creation in JSON by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#72](https://togithub.com/pydantic/jiter/pull/72) - SIMD integer and string JSON parsing on `aarch64`(**Note:** SIMD on x86 will be implemented in a future release) by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#65](https://togithub.com/pydantic/jiter/pull/65) - Support JSON `Cow<str>` from `jiter` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1231](https://togithub.com/pydantic/pydantic-core/pull/1231) - MAJOR performance improvement: update to PyO3 0.21 final by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1248](https://togithub.com/pydantic/pydantic-core/pull/1248) - cache Python strings by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1240](https://togithub.com/pydantic/pydantic-core/pull/1240) ##### Fixes - Fix strict parsing for some `Sequence`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8614](https://togithub.com/pydantic/pydantic/pull/8614) - Add a check on the existence of `__qualname__` by [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - Handle `__pydantic_extra__` annotation being a string or inherited by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​8659](https://togithub.com/pydantic/pydantic/pull/8659) - Fix json validation for `NameEmail` by [@​Holi0317](https://togithub.com/Holi0317) in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - Fix type-safety of attribute access in `BaseModel` by [@​bluenote10](https://togithub.com/bluenote10) in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - Fix bug with `mypy` plugin and `no_strict_optional = True` by [@​dmontagu](https://togithub.com/dmontagu) in [#​8666](https://togithub.com/pydantic/pydantic/pull/8666) - Fix `ByteSize` error `type` change by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8681](https://togithub.com/pydantic/pydantic/pull/8681) - Fix inheriting annotations in dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8679](https://togithub.com/pydantic/pydantic/pull/8679) - Fix regression in core schema generation for indirect definition references by [@​dmontagu](https://togithub.com/dmontagu) in [#​8702](https://togithub.com/pydantic/pydantic/pull/8702) - Fix unsupported types bug with plain validator by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8710](https://togithub.com/pydantic/pydantic/pull/8710) - Reverting problematic fix from 2.6 release, fixing schema building bug by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8718](https://togithub.com/pydantic/pydantic/pull/8718) - fixes `__pydantic_config__` ignored for TypeDict by [@​13sin](https://togithub.com/13sin) in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - Fix test failures with `pytest v8.0.0` due to `pytest.warns()` starting to work inside `pytest.raises()` by [@​mgorny](https://togithub.com/mgorny) in [#​8678](https://togithub.com/pydantic/pydantic/pull/8678) - Use `is_valid_field` from 1.x for `mypy` plugin by [@​DanielNoord](https://togithub.com/DanielNoord) in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - Better-support `mypy` strict equality flag by [@​dmontagu](https://togithub.com/dmontagu) in [#​8799](https://togithub.com/pydantic/pydantic/pull/8799) - model_json_schema export with Annotated types misses 'required' parameters by [@​LouisGobert](https://togithub.com/LouisGobert) in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - Fix default inclusion in `FieldInfo.__repr_args__` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8801](https://togithub.com/pydantic/pydantic/pull/8801) - Fix resolution of forward refs in dataclass base classes that are not present in the subclass module namespace by [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - Fix `BaseModel` type annotations to be resolvable by `typing.get_type_hints` by [@​devmonkey22](https://togithub.com/devmonkey22) in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - Fix: allow empty string aliases with `AliasGenerator` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8810](https://togithub.com/pydantic/pydantic/pull/8810) - Fix test along with `date` -> `datetime` timezone assumption fix by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8823](https://togithub.com/pydantic/pydantic/pull/8823) - Fix deprecation warning with usage of `ast.Str` by [@​Viicos](https://togithub.com/Viicos) in [#​8837](https://togithub.com/pydantic/pydantic/pull/8837) - Add missing `deprecated` decorators by [@​Viicos](https://togithub.com/Viicos) in [#​8877](https://togithub.com/pydantic/pydantic/pull/8877) - Fix serialization of `NameEmail` if name includes an email address by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8860](https://togithub.com/pydantic/pydantic/pull/8860) - Add information about class in error message of schema generation by [@​Czaki](https://togithub.com/Czaki) in [#​8917](https://togithub.com/pydantic/pydantic/pull/8917) - Make `TypeAdapter`'s typing compatible with special forms by [@​adriangb](https://togithub.com/adriangb) in [#​8923](https://togithub.com/pydantic/pydantic/pull/8923) - Fix issue with config behavior being baked into the ref schema for `enum`s by [@​dmontagu](https://togithub.com/dmontagu) in [#​8920](https://togithub.com/pydantic/pydantic/pull/8920) - More helpful error re wrong `model_json_schema` usage by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8928](https://togithub.com/pydantic/pydantic/pull/8928) - Fix nested discriminated union schema gen, pt 2 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8932](https://togithub.com/pydantic/pydantic/pull/8932) - Fix schema build for nested dataclasses / TypedDicts with discriminators by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8950](https://togithub.com/pydantic/pydantic/pull/8950) - Remove unnecessary logic for definitions schema gen with discriminated unions by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8951](https://togithub.com/pydantic/pydantic/pull/8951) - Fix handling of optionals in `mypy` plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9008](https://togithub.com/pydantic/pydantic/pull/9008) - Fix `PlainSerializer` usage with std type constructor by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9031](https://togithub.com/pydantic/pydantic/pull/9031) - Remove unnecessary warning for config in plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9039](https://togithub.com/pydantic/pydantic/pull/9039) - Fix default value serializing by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9066](https://togithub.com/pydantic/pydantic/pull/9066) - Fix extra fields check in `Model.__getattr__()` by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9082](https://togithub.com/pydantic/pydantic/pull/9082) - Fix `ClassVar` forward ref inherited from parent class by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​9097](https://togithub.com/pydantic/pydantic/pull/9097) - fix sequence like validator with strict `True` by [@​andresliszt](https://togithub.com/andresliszt) in [#​8977](https://togithub.com/pydantic/pydantic/pull/8977) - Improve warning message when a field name shadows a field in a parent model by [@​chan-vince](https://togithub.com/chan-vince) in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - Do not warn about shadowed fields if they are not redefined in a child class by [@​chan-vince](https://togithub.com/chan-vince) in [#​9111](https://togithub.com/pydantic/pydantic/pull/9111) - Fix discriminated union bug with unsubstituted type var by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9124](https://togithub.com/pydantic/pydantic/pull/9124) - Support serialization of `deque` when passed to `Sequence[blah blah blah]` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9128](https://togithub.com/pydantic/pydantic/pull/9128) - Init private attributes from super-types in `model_post_init` by [@​Viicos](https://togithub.com/Viicos) in [#​9134](https://togithub.com/pydantic/pydantic/pull/9134) - fix `model_construct` with `validation_alias` by [@​ornariece](https://togithub.com/ornariece) in [#​9144](https://togithub.com/pydantic/pydantic/pull/9144) - Ensure json-schema generator handles `Literal` `null` types by [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - **Fixed in v2.7.0**: Fix allow extra generic by [@​dmontagu](https://togithub.com/dmontagu) in [#​9193](https://togithub.com/pydantic/pydantic/pull/9193) ##### New Contributors - [@​hungtsetse](https://togithub.com/hungtsetse) made their first contribution in [#​8546](https://togithub.com/pydantic/pydantic/pull/8546) - [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) made their first contribution in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) - [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) made their first contribution in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - [@​Holi0317](https://togithub.com/Holi0317) made their first contribution in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - [@​bluenote10](https://togithub.com/bluenote10) made their first contribution in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - [@​ADSteele916](https://togithub.com/ADSteele916) made their first contribution in [#​8703](https://togithub.com/pydantic/pydantic/pull/8703) - [@​musicinmybrain](https://togithub.com/musicinmybrain) made their first contribution in [#​8731](https://togithub.com/pydantic/pydantic/pull/8731) - [@​jks15satoshi](https://togithub.com/jks15satoshi) made their first contribution in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - [@​13sin](https://togithub.com/13sin) made their first contribution in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - [@​DanielNoord](https://togithub.com/DanielNoord) made their first contribution in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) made their first contribution in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - [@​chris-griffin](https://togithub.com/chris-griffin) made their first contribution in [#​8775](https://togithub.com/pydantic/pydantic/pull/8775) - [@​LouisGobert](https://togithub.com/LouisGobert) made their first contribution in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) made their first contribution in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - [@​devmonkey22](https://togithub.com/devmonkey22) made their first contribution in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - [@​adamency](https://togithub.com/adamency) made their first contribution in [#​8847](https://togithub.com/pydantic/pydantic/pull/8847) - [@​MamfTheKramf](https://togithub.com/MamfTheKramf) made their first contribution in [#​8851](https://togithub.com/pydantic/pydantic/pull/8851) - [@​ornariece](https://togithub.com/ornariece) made their first contribution in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - [@​alexeyt101](https://togithub.com/alexeyt101) made their first contribution in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - [@​wannieman98](https://togithub.com/wannieman98) made their first contribution in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - [@​solidguy7](https://togithub.com/solidguy7) made their first contribution in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - [@​kloczek](https://togithub.com/kloczek) made their first contribution in [#​9047](https://togithub.com/pydantic/pydantic/pull/9047) - [@​jag-k](https://togithub.com/jag-k) made their first contribution in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - [@​priya-gitTest](https://togithub.com/priya-gitTest) made their first contribution in [#​9088](https://togithub.com/pydantic/pydantic/pull/9088) - [@​Youssefares](https://togithub.com/Youssefares) made their first contribution in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - [@​chan-vince](https://togithub.com/chan-vince) made their first contribution in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) made their first contribution in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - [@​Lance-Drane](https://togithub.com/Lance-Drane) made their first contribution in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) </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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoiZGV2ZWxvcCJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](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.6.4` -> `==2.7.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.7.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v270-2024-04-11) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.4...v2.7.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.0) The code released in v2.7.0 is practically identical to that of v2.7.0b1. ##### What's Changed ##### Packaging - Reorganize `pyproject.toml` sections by [@​Viicos](https://togithub.com/Viicos) in [#​8899](https://togithub.com/pydantic/pydantic/pull/8899) - Bump `pydantic-core` to `v2.18.1` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9211](https://togithub.com/pydantic/pydantic/pull/9211) - Adopt `jiter` `v0.2.0` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1250](https://togithub.com/pydantic/pydantic-core/pull/1250) ##### New Features - Extract attribute docstrings from `FieldInfo.description` by [@​Viicos](https://togithub.com/Viicos) in [#​6563](https://togithub.com/pydantic/pydantic/pull/6563) - Add a `with_config` decorator to comply with typing spec by [@​Viicos](https://togithub.com/Viicos) in [#​8611](https://togithub.com/pydantic/pydantic/pull/8611) - Allow an optional separator splitting the value and unit of the result of `ByteSize.human_readable` by [@​jks15satoshi](https://togithub.com/jks15satoshi) in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - Add generic `Secret` base type by [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - Make use of `Sphinx` inventories for cross references in docs by [@​Viicos](https://togithub.com/Viicos) in [#​8682](https://togithub.com/pydantic/pydantic/pull/8682) - Add environment variable to disable plugins by [@​geospackle](https://togithub.com/geospackle) in [#​8767](https://togithub.com/pydantic/pydantic/pull/8767) - Add support for `deprecated` fields by [@​Viicos](https://togithub.com/Viicos) in [#​8237](https://togithub.com/pydantic/pydantic/pull/8237) - Allow `field_serializer('*')` by [@​ornariece](https://togithub.com/ornariece) in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - Handle a case when `model_config` is defined as a model property by [@​alexeyt101](https://togithub.com/alexeyt101) in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - Update `create_model()` to support `typing.Annotated` as input by [@​wannieman98](https://togithub.com/wannieman98) in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - Add `ClickhouseDsn` support by [@​solidguy7](https://togithub.com/solidguy7) in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - Add support for `re.Pattern[str]` to `pattern` field by [@​jag-k](https://togithub.com/jag-k) in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - Support for `serialize_as_any` runtime setting by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8830](https://togithub.com/pydantic/pydantic/pull/8830) - Add support for `typing.Self` by [@​Youssefares](https://togithub.com/Youssefares) in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - Ability to pass `context` to serialization by [@​ornariece](https://togithub.com/ornariece) in [#​8965](https://togithub.com/pydantic/pydantic/pull/8965) - Add feedback widget to docs with flarelytics integration by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9129](https://togithub.com/pydantic/pydantic/pull/9129) - Support for parsing partial JSON strings in Python by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#66](https://togithub.com/pydantic/jiter/pull/66) **Finalized in v2.7.0, rather than v2.7.0b1:** - Add support for field level number to str coercion option by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9137](https://togithub.com/pydantic/pydantic/pull/9137) - Update `warnings` parameter for serialization utilities to allow raising a warning by [@​Lance-Drane](https://togithub.com/Lance-Drane) in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) ##### Changes - Correct docs, logic for `model_construct` behavior with `extra` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8807](https://togithub.com/pydantic/pydantic/pull/8807) - Improve error message for improper `RootModel` subclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8857](https://togithub.com/pydantic/pydantic/pull/8857) - Use `PEP570` syntax by [@​Viicos](https://togithub.com/Viicos) in [#​8940](https://togithub.com/pydantic/pydantic/pull/8940) - Add `enum` and `type` to the JSON schema for single item literals by [@​dmontagu](https://togithub.com/dmontagu) in [#​8944](https://togithub.com/pydantic/pydantic/pull/8944) - Deprecate `update_json_schema` internal function by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9125](https://togithub.com/pydantic/pydantic/pull/9125) - Serialize duration to hour minute second, instead of just seconds by [@​kakilangit](https://togithub.com/kakilangit) in [pydantic/speedate#50](https://togithub.com/pydantic/speedate/pull/50) - Trimming str before parsing to int and float by [@​hungtsetse](https://togithub.com/hungtsetse) in [pydantic/pydantic-core#1203](https://togithub.com/pydantic/pydantic-core/pull/1203) ##### Performance - `enum` validator improvements by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9045](https://togithub.com/pydantic/pydantic/pull/9045) - Move `enum` validation and serialization to Rust by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9064](https://togithub.com/pydantic/pydantic/pull/9064) - Improve schema generation for nested dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9114](https://togithub.com/pydantic/pydantic/pull/9114) - Fast path for ASCII python string creation in JSON by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#72](https://togithub.com/pydantic/jiter/pull/72) - SIMD integer and string JSON parsing on `aarch64`(**Note:** SIMD on x86 will be implemented in a future release) by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#65](https://togithub.com/pydantic/jiter/pull/65) - Support JSON `Cow<str>` from `jiter` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1231](https://togithub.com/pydantic/pydantic-core/pull/1231) - MAJOR performance improvement: update to PyO3 0.21 final by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1248](https://togithub.com/pydantic/pydantic-core/pull/1248) - cache Python strings by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1240](https://togithub.com/pydantic/pydantic-core/pull/1240) ##### Fixes - Fix strict parsing for some `Sequence`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8614](https://togithub.com/pydantic/pydantic/pull/8614) - Add a check on the existence of `__qualname__` by [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - Handle `__pydantic_extra__` annotation being a string or inherited by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​8659](https://togithub.com/pydantic/pydantic/pull/8659) - Fix json validation for `NameEmail` by [@​Holi0317](https://togithub.com/Holi0317) in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - Fix type-safety of attribute access in `BaseModel` by [@​bluenote10](https://togithub.com/bluenote10) in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - Fix bug with `mypy` plugin and `no_strict_optional = True` by [@​dmontagu](https://togithub.com/dmontagu) in [#​8666](https://togithub.com/pydantic/pydantic/pull/8666) - Fix `ByteSize` error `type` change by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8681](https://togithub.com/pydantic/pydantic/pull/8681) - Fix inheriting annotations in dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8679](https://togithub.com/pydantic/pydantic/pull/8679) - Fix regression in core schema generation for indirect definition references by [@​dmontagu](https://togithub.com/dmontagu) in [#​8702](https://togithub.com/pydantic/pydantic/pull/8702) - Fix unsupported types bug with plain validator by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8710](https://togithub.com/pydantic/pydantic/pull/8710) - Reverting problematic fix from 2.6 release, fixing schema building bug by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8718](https://togithub.com/pydantic/pydantic/pull/8718) - fixes `__pydantic_config__` ignored for TypeDict by [@​13sin](https://togithub.com/13sin) in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - Fix test failures with `pytest v8.0.0` due to `pytest.warns()` starting to work inside `pytest.raises()` by [@​mgorny](https://togithub.com/mgorny) in [#​8678](https://togithub.com/pydantic/pydantic/pull/8678) - Use `is_valid_field` from 1.x for `mypy` plugin by [@​DanielNoord](https://togithub.com/DanielNoord) in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - Better-support `mypy` strict equality flag by [@​dmontagu](https://togithub.com/dmontagu) in [#​8799](https://togithub.com/pydantic/pydantic/pull/8799) - model_json_schema export with Annotated types misses 'required' parameters by [@​LouisGobert](https://togithub.com/LouisGobert) in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - Fix default inclusion in `FieldInfo.__repr_args__` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8801](https://togithub.com/pydantic/pydantic/pull/8801) - Fix resolution of forward refs in dataclass base classes that are not present in the subclass module namespace by [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - Fix `BaseModel` type annotations to be resolvable by `typing.get_type_hints` by [@​devmonkey22](https://togithub.com/devmonkey22) in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - Fix: allow empty string aliases with `AliasGenerator` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8810](https://togithub.com/pydantic/pydantic/pull/8810) - Fix test along with `date` -> `datetime` timezone assumption fix by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8823](https://togithub.com/pydantic/pydantic/pull/8823) - Fix deprecation warning with usage of `ast.Str` by [@​Viicos](https://togithub.com/Viicos) in [#​8837](https://togithub.com/pydantic/pydantic/pull/8837) - Add missing `deprecated` decorators by [@​Viicos](https://togithub.com/Viicos) in [#​8877](https://togithub.com/pydantic/pydantic/pull/8877) - Fix serialization of `NameEmail` if name includes an email address by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8860](https://togithub.com/pydantic/pydantic/pull/8860) - Add information about class in error message of schema generation by [@​Czaki](https://togithub.com/Czaki) in [#​8917](https://togithub.com/pydantic/pydantic/pull/8917) - Make `TypeAdapter`'s typing compatible with special forms by [@​adriangb](https://togithub.com/adriangb) in [#​8923](https://togithub.com/pydantic/pydantic/pull/8923) - Fix issue with config behavior being baked into the ref schema for `enum`s by [@​dmontagu](https://togithub.com/dmontagu) in [#​8920](https://togithub.com/pydantic/pydantic/pull/8920) - More helpful error re wrong `model_json_schema` usage by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8928](https://togithub.com/pydantic/pydantic/pull/8928) - Fix nested discriminated union schema gen, pt 2 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8932](https://togithub.com/pydantic/pydantic/pull/8932) - Fix schema build for nested dataclasses / TypedDicts with discriminators by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8950](https://togithub.com/pydantic/pydantic/pull/8950) - Remove unnecessary logic for definitions schema gen with discriminated unions by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8951](https://togithub.com/pydantic/pydantic/pull/8951) - Fix handling of optionals in `mypy` plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9008](https://togithub.com/pydantic/pydantic/pull/9008) - Fix `PlainSerializer` usage with std type constructor by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9031](https://togithub.com/pydantic/pydantic/pull/9031) - Remove unnecessary warning for config in plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9039](https://togithub.com/pydantic/pydantic/pull/9039) - Fix default value serializing by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9066](https://togithub.com/pydantic/pydantic/pull/9066) - Fix extra fields check in `Model.__getattr__()` by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9082](https://togithub.com/pydantic/pydantic/pull/9082) - Fix `ClassVar` forward ref inherited from parent class by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​9097](https://togithub.com/pydantic/pydantic/pull/9097) - fix sequence like validator with strict `True` by [@​andresliszt](https://togithub.com/andresliszt) in [#​8977](https://togithub.com/pydantic/pydantic/pull/8977) - Improve warning message when a field name shadows a field in a parent model by [@​chan-vince](https://togithub.com/chan-vince) in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - Do not warn about shadowed fields if they are not redefined in a child class by [@​chan-vince](https://togithub.com/chan-vince) in [#​9111](https://togithub.com/pydantic/pydantic/pull/9111) - Fix discriminated union bug with unsubstituted type var by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9124](https://togithub.com/pydantic/pydantic/pull/9124) - Support serialization of `deque` when passed to `Sequence[blah blah blah]` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9128](https://togithub.com/pydantic/pydantic/pull/9128) - Init private attributes from super-types in `model_post_init` by [@​Viicos](https://togithub.com/Viicos) in [#​9134](https://togithub.com/pydantic/pydantic/pull/9134) - fix `model_construct` with `validation_alias` by [@​ornariece](https://togithub.com/ornariece) in [#​9144](https://togithub.com/pydantic/pydantic/pull/9144) - Ensure json-schema generator handles `Literal` `null` types by [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - **Fixed in v2.7.0**: Fix allow extra generic by [@​dmontagu](https://togithub.com/dmontagu) in [#​9193](https://togithub.com/pydantic/pydantic/pull/9193) ##### New Contributors - [@​hungtsetse](https://togithub.com/hungtsetse) made their first contribution in [#​8546](https://togithub.com/pydantic/pydantic/pull/8546) - [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) made their first contribution in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) - [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) made their first contribution in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - [@​Holi0317](https://togithub.com/Holi0317) made their first contribution in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - [@​bluenote10](https://togithub.com/bluenote10) made their first contribution in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - [@​ADSteele916](https://togithub.com/ADSteele916) made their first contribution in [#​8703](https://togithub.com/pydantic/pydantic/pull/8703) - [@​musicinmybrain](https://togithub.com/musicinmybrain) made their first contribution in [#​8731](https://togithub.com/pydantic/pydantic/pull/8731) - [@​jks15satoshi](https://togithub.com/jks15satoshi) made their first contribution in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - [@​13sin](https://togithub.com/13sin) made their first contribution in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - [@​DanielNoord](https://togithub.com/DanielNoord) made their first contribution in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) made their first contribution in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - [@​chris-griffin](https://togithub.com/chris-griffin) made their first contribution in [#​8775](https://togithub.com/pydantic/pydantic/pull/8775) - [@​LouisGobert](https://togithub.com/LouisGobert) made their first contribution in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) made their first contribution in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - [@​devmonkey22](https://togithub.com/devmonkey22) made their first contribution in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - [@​adamency](https://togithub.com/adamency) made their first contribution in [#​8847](https://togithub.com/pydantic/pydantic/pull/8847) - [@​MamfTheKramf](https://togithub.com/MamfTheKramf) made their first contribution in [#​8851](https://togithub.com/pydantic/pydantic/pull/8851) - [@​ornariece](https://togithub.com/ornariece) made their first contribution in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - [@​alexeyt101](https://togithub.com/alexeyt101) made their first contribution in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - [@​wannieman98](https://togithub.com/wannieman98) made their first contribution in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - [@​solidguy7](https://togithub.com/solidguy7) made their first contribution in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - [@​kloczek](https://togithub.com/kloczek) made their first contribution in [#​9047](https://togithub.com/pydantic/pydantic/pull/9047) - [@​jag-k](https://togithub.com/jag-k) made their first contribution in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - [@​priya-gitTest](https://togithub.com/priya-gitTest) made their first contribution in [#​9088](https://togithub.com/pydantic/pydantic/pull/9088) - [@​Youssefares](https://togithub.com/Youssefares) made their first contribution in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - [@​chan-vince](https://togithub.com/chan-vince) made their first contribution in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) made their first contribution in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - [@​Lance-Drane](https://togithub.com/Lance-Drane) made their first contribution in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) </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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](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.6.4` -> `==2.7.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.7.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v270-2024-04-11) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.4...v2.7.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.0) The code released in v2.7.0 is practically identical to that of v2.7.0b1. ##### What's Changed ##### Packaging - Reorganize `pyproject.toml` sections by [@​Viicos](https://togithub.com/Viicos) in [#​8899](https://togithub.com/pydantic/pydantic/pull/8899) - Bump `pydantic-core` to `v2.18.1` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9211](https://togithub.com/pydantic/pydantic/pull/9211) - Adopt `jiter` `v0.2.0` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1250](https://togithub.com/pydantic/pydantic-core/pull/1250) ##### New Features - Extract attribute docstrings from `FieldInfo.description` by [@​Viicos](https://togithub.com/Viicos) in [#​6563](https://togithub.com/pydantic/pydantic/pull/6563) - Add a `with_config` decorator to comply with typing spec by [@​Viicos](https://togithub.com/Viicos) in [#​8611](https://togithub.com/pydantic/pydantic/pull/8611) - Allow an optional separator splitting the value and unit of the result of `ByteSize.human_readable` by [@​jks15satoshi](https://togithub.com/jks15satoshi) in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - Add generic `Secret` base type by [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - Make use of `Sphinx` inventories for cross references in docs by [@​Viicos](https://togithub.com/Viicos) in [#​8682](https://togithub.com/pydantic/pydantic/pull/8682) - Add environment variable to disable plugins by [@​geospackle](https://togithub.com/geospackle) in [#​8767](https://togithub.com/pydantic/pydantic/pull/8767) - Add support for `deprecated` fields by [@​Viicos](https://togithub.com/Viicos) in [#​8237](https://togithub.com/pydantic/pydantic/pull/8237) - Allow `field_serializer('*')` by [@​ornariece](https://togithub.com/ornariece) in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - Handle a case when `model_config` is defined as a model property by [@​alexeyt101](https://togithub.com/alexeyt101) in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - Update `create_model()` to support `typing.Annotated` as input by [@​wannieman98](https://togithub.com/wannieman98) in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - Add `ClickhouseDsn` support by [@​solidguy7](https://togithub.com/solidguy7) in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - Add support for `re.Pattern[str]` to `pattern` field by [@​jag-k](https://togithub.com/jag-k) in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - Support for `serialize_as_any` runtime setting by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8830](https://togithub.com/pydantic/pydantic/pull/8830) - Add support for `typing.Self` by [@​Youssefares](https://togithub.com/Youssefares) in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - Ability to pass `context` to serialization by [@​ornariece](https://togithub.com/ornariece) in [#​8965](https://togithub.com/pydantic/pydantic/pull/8965) - Add feedback widget to docs with flarelytics integration by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9129](https://togithub.com/pydantic/pydantic/pull/9129) - Support for parsing partial JSON strings in Python by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#66](https://togithub.com/pydantic/jiter/pull/66) **Finalized in v2.7.0, rather than v2.7.0b1:** - Add support for field level number to str coercion option by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9137](https://togithub.com/pydantic/pydantic/pull/9137) - Update `warnings` parameter for serialization utilities to allow raising a warning by [@​Lance-Drane](https://togithub.com/Lance-Drane) in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) ##### Changes - Correct docs, logic for `model_construct` behavior with `extra` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8807](https://togithub.com/pydantic/pydantic/pull/8807) - Improve error message for improper `RootModel` subclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8857](https://togithub.com/pydantic/pydantic/pull/8857) - Use `PEP570` syntax by [@​Viicos](https://togithub.com/Viicos) in [#​8940](https://togithub.com/pydantic/pydantic/pull/8940) - Add `enum` and `type` to the JSON schema for single item literals by [@​dmontagu](https://togithub.com/dmontagu) in [#​8944](https://togithub.com/pydantic/pydantic/pull/8944) - Deprecate `update_json_schema` internal function by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9125](https://togithub.com/pydantic/pydantic/pull/9125) - Serialize duration to hour minute second, instead of just seconds by [@​kakilangit](https://togithub.com/kakilangit) in [pydantic/speedate#50](https://togithub.com/pydantic/speedate/pull/50) - Trimming str before parsing to int and float by [@​hungtsetse](https://togithub.com/hungtsetse) in [pydantic/pydantic-core#1203](https://togithub.com/pydantic/pydantic-core/pull/1203) ##### Performance - `enum` validator improvements by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9045](https://togithub.com/pydantic/pydantic/pull/9045) - Move `enum` validation and serialization to Rust by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9064](https://togithub.com/pydantic/pydantic/pull/9064) - Improve schema generation for nested dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9114](https://togithub.com/pydantic/pydantic/pull/9114) - Fast path for ASCII python string creation in JSON by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#72](https://togithub.com/pydantic/jiter/pull/72) - SIMD integer and string JSON parsing on `aarch64`(**Note:** SIMD on x86 will be implemented in a future release) by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#65](https://togithub.com/pydantic/jiter/pull/65) - Support JSON `Cow<str>` from `jiter` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1231](https://togithub.com/pydantic/pydantic-core/pull/1231) - MAJOR performance improvement: update to PyO3 0.21 final by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1248](https://togithub.com/pydantic/pydantic-core/pull/1248) - cache Python strings by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1240](https://togithub.com/pydantic/pydantic-core/pull/1240) ##### Fixes - Fix strict parsing for some `Sequence`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8614](https://togithub.com/pydantic/pydantic/pull/8614) - Add a check on the existence of `__qualname__` by [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - Handle `__pydantic_extra__` annotation being a string or inherited by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​8659](https://togithub.com/pydantic/pydantic/pull/8659) - Fix json validation for `NameEmail` by [@​Holi0317](https://togithub.com/Holi0317) in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - Fix type-safety of attribute access in `BaseModel` by [@​bluenote10](https://togithub.com/bluenote10) in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - Fix bug with `mypy` plugin and `no_strict_optional = True` by [@​dmontagu](https://togithub.com/dmontagu) in [#​8666](https://togithub.com/pydantic/pydantic/pull/8666) - Fix `ByteSize` error `type` change by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8681](https://togithub.com/pydantic/pydantic/pull/8681) - Fix inheriting annotations in dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8679](https://togithub.com/pydantic/pydantic/pull/8679) - Fix regression in core schema generation for indirect definition references by [@​dmontagu](https://togithub.com/dmontagu) in [#​8702](https://togithub.com/pydantic/pydantic/pull/8702) - Fix unsupported types bug with plain validator by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8710](https://togithub.com/pydantic/pydantic/pull/8710) - Reverting problematic fix from 2.6 release, fixing schema building bug by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8718](https://togithub.com/pydantic/pydantic/pull/8718) - fixes `__pydantic_config__` ignored for TypeDict by [@​13sin](https://togithub.com/13sin) in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - Fix test failures with `pytest v8.0.0` due to `pytest.warns()` starting to work inside `pytest.raises()` by [@​mgorny](https://togithub.com/mgorny) in [#​8678](https://togithub.com/pydantic/pydantic/pull/8678) - Use `is_valid_field` from 1.x for `mypy` plugin by [@​DanielNoord](https://togithub.com/DanielNoord) in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - Better-support `mypy` strict equality flag by [@​dmontagu](https://togithub.com/dmontagu) in [#​8799](https://togithub.com/pydantic/pydantic/pull/8799) - model_json_schema export with Annotated types misses 'required' parameters by [@​LouisGobert](https://togithub.com/LouisGobert) in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - Fix default inclusion in `FieldInfo.__repr_args__` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8801](https://togithub.com/pydantic/pydantic/pull/8801) - Fix resolution of forward refs in dataclass base classes that are not present in the subclass module namespace by [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - Fix `BaseModel` type annotations to be resolvable by `typing.get_type_hints` by [@​devmonkey22](https://togithub.com/devmonkey22) in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - Fix: allow empty string aliases with `AliasGenerator` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8810](https://togithub.com/pydantic/pydantic/pull/8810) - Fix test along with `date` -> `datetime` timezone assumption fix by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8823](https://togithub.com/pydantic/pydantic/pull/8823) - Fix deprecation warning with usage of `ast.Str` by [@​Viicos](https://togithub.com/Viicos) in [#​8837](https://togithub.com/pydantic/pydantic/pull/8837) - Add missing `deprecated` decorators by [@​Viicos](https://togithub.com/Viicos) in [#​8877](https://togithub.com/pydantic/pydantic/pull/8877) - Fix serialization of `NameEmail` if name includes an email address by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8860](https://togithub.com/pydantic/pydantic/pull/8860) - Add information about class in error message of schema generation by [@​Czaki](https://togithub.com/Czaki) in [#​8917](https://togithub.com/pydantic/pydantic/pull/8917) - Make `TypeAdapter`'s typing compatible with special forms by [@​adriangb](https://togithub.com/adriangb) in [#​8923](https://togithub.com/pydantic/pydantic/pull/8923) - Fix issue with config behavior being baked into the ref schema for `enum`s by [@​dmontagu](https://togithub.com/dmontagu) in [#​8920](https://togithub.com/pydantic/pydantic/pull/8920) - More helpful error re wrong `model_json_schema` usage by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8928](https://togithub.com/pydantic/pydantic/pull/8928) - Fix nested discriminated union schema gen, pt 2 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8932](https://togithub.com/pydantic/pydantic/pull/8932) - Fix schema build for nested dataclasses / TypedDicts with discriminators by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8950](https://togithub.com/pydantic/pydantic/pull/8950) - Remove unnecessary logic for definitions schema gen with discriminated unions by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8951](https://togithub.com/pydantic/pydantic/pull/8951) - Fix handling of optionals in `mypy` plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9008](https://togithub.com/pydantic/pydantic/pull/9008) - Fix `PlainSerializer` usage with std type constructor by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9031](https://togithub.com/pydantic/pydantic/pull/9031) - Remove unnecessary warning for config in plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9039](https://togithub.com/pydantic/pydantic/pull/9039) - Fix default value serializing by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9066](https://togithub.com/pydantic/pydantic/pull/9066) - Fix extra fields check in `Model.__getattr__()` by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9082](https://togithub.com/pydantic/pydantic/pull/9082) - Fix `ClassVar` forward ref inherited from parent class by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​9097](https://togithub.com/pydantic/pydantic/pull/9097) - fix sequence like validator with strict `True` by [@​andresliszt](https://togithub.com/andresliszt) in [#​8977](https://togithub.com/pydantic/pydantic/pull/8977) - Improve warning message when a field name shadows a field in a parent model by [@​chan-vince](https://togithub.com/chan-vince) in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - Do not warn about shadowed fields if they are not redefined in a child class by [@​chan-vince](https://togithub.com/chan-vince) in [#​9111](https://togithub.com/pydantic/pydantic/pull/9111) - Fix discriminated union bug with unsubstituted type var by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9124](https://togithub.com/pydantic/pydantic/pull/9124) - Support serialization of `deque` when passed to `Sequence[blah blah blah]` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9128](https://togithub.com/pydantic/pydantic/pull/9128) - Init private attributes from super-types in `model_post_init` by [@​Viicos](https://togithub.com/Viicos) in [#​9134](https://togithub.com/pydantic/pydantic/pull/9134) - fix `model_construct` with `validation_alias` by [@​ornariece](https://togithub.com/ornariece) in [#​9144](https://togithub.com/pydantic/pydantic/pull/9144) - Ensure json-schema generator handles `Literal` `null` types by [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - **Fixed in v2.7.0**: Fix allow extra generic by [@​dmontagu](https://togithub.com/dmontagu) in [#​9193](https://togithub.com/pydantic/pydantic/pull/9193) ##### New Contributors - [@​hungtsetse](https://togithub.com/hungtsetse) made their first contribution in [#​8546](https://togithub.com/pydantic/pydantic/pull/8546) - [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) made their first contribution in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) - [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) made their first contribution in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - [@​Holi0317](https://togithub.com/Holi0317) made their first contribution in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - [@​bluenote10](https://togithub.com/bluenote10) made their first contribution in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - [@​ADSteele916](https://togithub.com/ADSteele916) made their first contribution in [#​8703](https://togithub.com/pydantic/pydantic/pull/8703) - [@​musicinmybrain](https://togithub.com/musicinmybrain) made their first contribution in [#​8731](https://togithub.com/pydantic/pydantic/pull/8731) - [@​jks15satoshi](https://togithub.com/jks15satoshi) made their first contribution in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - [@​13sin](https://togithub.com/13sin) made their first contribution in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - [@​DanielNoord](https://togithub.com/DanielNoord) made their first contribution in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) made their first contribution in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - [@​chris-griffin](https://togithub.com/chris-griffin) made their first contribution in [#​8775](https://togithub.com/pydantic/pydantic/pull/8775) - [@​LouisGobert](https://togithub.com/LouisGobert) made their first contribution in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) made their first contribution in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - [@​devmonkey22](https://togithub.com/devmonkey22) made their first contribution in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - [@​adamency](https://togithub.com/adamency) made their first contribution in [#​8847](https://togithub.com/pydantic/pydantic/pull/8847) - [@​MamfTheKramf](https://togithub.com/MamfTheKramf) made their first contribution in [#​8851](https://togithub.com/pydantic/pydantic/pull/8851) - [@​ornariece](https://togithub.com/ornariece) made their first contribution in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - [@​alexeyt101](https://togithub.com/alexeyt101) made their first contribution in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - [@​wannieman98](https://togithub.com/wannieman98) made their first contribution in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - [@​solidguy7](https://togithub.com/solidguy7) made their first contribution in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - [@​kloczek](https://togithub.com/kloczek) made their first contribution in [#​9047](https://togithub.com/pydantic/pydantic/pull/9047) - [@​jag-k](https://togithub.com/jag-k) made their first contribution in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - [@​priya-gitTest](https://togithub.com/priya-gitTest) made their first contribution in [#​9088](https://togithub.com/pydantic/pydantic/pull/9088) - [@​Youssefares](https://togithub.com/Youssefares) made their first contribution in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - [@​chan-vince](https://togithub.com/chan-vince) made their first contribution in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) made their first contribution in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - [@​Lance-Drane](https://togithub.com/Lance-Drane) made their first contribution in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) </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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](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.7` -> `>=2.5.0,<2.8` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.7.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v270-2024-04-11) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.4...v2.7.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.0) The code released in v2.7.0 is practically identical to that of v2.7.0b1. ##### What's Changed ##### Packaging - Reorganize `pyproject.toml` sections by [@​Viicos](https://togithub.com/Viicos) in [#​8899](https://togithub.com/pydantic/pydantic/pull/8899) - Bump `pydantic-core` to `v2.18.1` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9211](https://togithub.com/pydantic/pydantic/pull/9211) - Adopt `jiter` `v0.2.0` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1250](https://togithub.com/pydantic/pydantic-core/pull/1250) ##### New Features - Extract attribute docstrings from `FieldInfo.description` by [@​Viicos](https://togithub.com/Viicos) in [#​6563](https://togithub.com/pydantic/pydantic/pull/6563) - Add a `with_config` decorator to comply with typing spec by [@​Viicos](https://togithub.com/Viicos) in [#​8611](https://togithub.com/pydantic/pydantic/pull/8611) - Allow an optional separator splitting the value and unit of the result of `ByteSize.human_readable` by [@​jks15satoshi](https://togithub.com/jks15satoshi) in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - Add generic `Secret` base type by [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - Make use of `Sphinx` inventories for cross references in docs by [@​Viicos](https://togithub.com/Viicos) in [#​8682](https://togithub.com/pydantic/pydantic/pull/8682) - Add environment variable to disable plugins by [@​geospackle](https://togithub.com/geospackle) in [#​8767](https://togithub.com/pydantic/pydantic/pull/8767) - Add support for `deprecated` fields by [@​Viicos](https://togithub.com/Viicos) in [#​8237](https://togithub.com/pydantic/pydantic/pull/8237) - Allow `field_serializer('*')` by [@​ornariece](https://togithub.com/ornariece) in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - Handle a case when `model_config` is defined as a model property by [@​alexeyt101](https://togithub.com/alexeyt101) in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - Update `create_model()` to support `typing.Annotated` as input by [@​wannieman98](https://togithub.com/wannieman98) in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - Add `ClickhouseDsn` support by [@​solidguy7](https://togithub.com/solidguy7) in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - Add support for `re.Pattern[str]` to `pattern` field by [@​jag-k](https://togithub.com/jag-k) in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - Support for `serialize_as_any` runtime setting by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8830](https://togithub.com/pydantic/pydantic/pull/8830) - Add support for `typing.Self` by [@​Youssefares](https://togithub.com/Youssefares) in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - Ability to pass `context` to serialization by [@​ornariece](https://togithub.com/ornariece) in [#​8965](https://togithub.com/pydantic/pydantic/pull/8965) - Add feedback widget to docs with flarelytics integration by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9129](https://togithub.com/pydantic/pydantic/pull/9129) - Support for parsing partial JSON strings in Python by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#66](https://togithub.com/pydantic/jiter/pull/66) **Finalized in v2.7.0, rather than v2.7.0b1:** - Add support for field level number to str coercion option by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9137](https://togithub.com/pydantic/pydantic/pull/9137) - Update `warnings` parameter for serialization utilities to allow raising a warning by [@​Lance-Drane](https://togithub.com/Lance-Drane) in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) ##### Changes - Correct docs, logic for `model_construct` behavior with `extra` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8807](https://togithub.com/pydantic/pydantic/pull/8807) - Improve error message for improper `RootModel` subclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8857](https://togithub.com/pydantic/pydantic/pull/8857) - Use `PEP570` syntax by [@​Viicos](https://togithub.com/Viicos) in [#​8940](https://togithub.com/pydantic/pydantic/pull/8940) - Add `enum` and `type` to the JSON schema for single item literals by [@​dmontagu](https://togithub.com/dmontagu) in [#​8944](https://togithub.com/pydantic/pydantic/pull/8944) - Deprecate `update_json_schema` internal function by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9125](https://togithub.com/pydantic/pydantic/pull/9125) - Serialize duration to hour minute second, instead of just seconds by [@​kakilangit](https://togithub.com/kakilangit) in [pydantic/speedate#50](https://togithub.com/pydantic/speedate/pull/50) - Trimming str before parsing to int and float by [@​hungtsetse](https://togithub.com/hungtsetse) in [pydantic/pydantic-core#1203](https://togithub.com/pydantic/pydantic-core/pull/1203) ##### Performance - `enum` validator improvements by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9045](https://togithub.com/pydantic/pydantic/pull/9045) - Move `enum` validation and serialization to Rust by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9064](https://togithub.com/pydantic/pydantic/pull/9064) - Improve schema generation for nested dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9114](https://togithub.com/pydantic/pydantic/pull/9114) - Fast path for ASCII python string creation in JSON by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#72](https://togithub.com/pydantic/jiter/pull/72) - SIMD integer and string JSON parsing on `aarch64`(**Note:** SIMD on x86 will be implemented in a future release) by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#65](https://togithub.com/pydantic/jiter/pull/65) - Support JSON `Cow<str>` from `jiter` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1231](https://togithub.com/pydantic/pydantic-core/pull/1231) - MAJOR performance improvement: update to PyO3 0.21 final by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1248](https://togithub.com/pydantic/pydantic-core/pull/1248) - cache Python strings by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1240](https://togithub.com/pydantic/pydantic-core/pull/1240) ##### Fixes - Fix strict parsing for some `Sequence`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8614](https://togithub.com/pydantic/pydantic/pull/8614) - Add a check on the existence of `__qualname__` by [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - Handle `__pydantic_extra__` annotation being a string or inherited by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​8659](https://togithub.com/pydantic/pydantic/pull/8659) - Fix json validation for `NameEmail` by [@​Holi0317](https://togithub.com/Holi0317) in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - Fix type-safety of attribute access in `BaseModel` by [@​bluenote10](https://togithub.com/bluenote10) in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - Fix bug with `mypy` plugin and `no_strict_optional = True` by [@​dmontagu](https://togithub.com/dmontagu) in [#​8666](https://togithub.com/pydantic/pydantic/pull/8666) - Fix `ByteSize` error `type` change by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8681](https://togithub.com/pydantic/pydantic/pull/8681) - Fix inheriting annotations in dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8679](https://togithub.com/pydantic/pydantic/pull/8679) - Fix regression in core schema generation for indirect definition references by [@​dmontagu](https://togithub.com/dmontagu) in [#​8702](https://togithub.com/pydantic/pydantic/pull/8702) - Fix unsupported types bug with plain validator by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8710](https://togithub.com/pydantic/pydantic/pull/8710) - Reverting problematic fix from 2.6 release, fixing schema building bug by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8718](https://togithub.com/pydantic/pydantic/pull/8718) - fixes `__pydantic_config__` ignored for TypeDict by [@​13sin](https://togithub.com/13sin) in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - Fix test failures with `pytest v8.0.0` due to `pytest.warns()` starting to work inside `pytest.raises()` by [@​mgorny](https://togithub.com/mgorny) in [#​8678](https://togithub.com/pydantic/pydantic/pull/8678) - Use `is_valid_field` from 1.x for `mypy` plugin by [@​DanielNoord](https://togithub.com/DanielNoord) in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - Better-support `mypy` strict equality flag by [@​dmontagu](https://togithub.com/dmontagu) in [#​8799](https://togithub.com/pydantic/pydantic/pull/8799) - model_json_schema export with Annotated types misses 'required' parameters by [@​LouisGobert](https://togithub.com/LouisGobert) in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - Fix default inclusion in `FieldInfo.__repr_args__` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8801](https://togithub.com/pydantic/pydantic/pull/8801) - Fix resolution of forward refs in dataclass base classes that are not present in the subclass module namespace by [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - Fix `BaseModel` type annotations to be resolvable by `typing.get_type_hints` by [@​devmonkey22](https://togithub.com/devmonkey22) in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - Fix: allow empty string aliases with `AliasGenerator` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8810](https://togithub.com/pydantic/pydantic/pull/8810) - Fix test along with `date` -> `datetime` timezone assumption fix by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8823](https://togithub.com/pydantic/pydantic/pull/8823) - Fix deprecation warning with usage of `ast.Str` by [@​Viicos](https://togithub.com/Viicos) in [#​8837](https://togithub.com/pydantic/pydantic/pull/8837) - Add missing `deprecated` decorators by [@​Viicos](https://togithub.com/Viicos) in [#​8877](https://togithub.com/pydantic/pydantic/pull/8877) - Fix serialization of `NameEmail` if name includes an email address by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8860](https://togithub.com/pydantic/pydantic/pull/8860) - Add information about class in error message of schema generation by [@​Czaki](https://togithub.com/Czaki) in [#​8917](https://togithub.com/pydantic/pydantic/pull/8917) - Make `TypeAdapter`'s typing compatible with special forms by [@​adriangb](https://togithub.com/adriangb) in [#​8923](https://togithub.com/pydantic/pydantic/pull/8923) - Fix issue with config behavior being baked into the ref schema for `enum`s by [@​dmontagu](https://togithub.com/dmontagu) in [#​8920](https://togithub.com/pydantic/pydantic/pull/8920) - More helpful error re wrong `model_json_schema` usage by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8928](https://togithub.com/pydantic/pydantic/pull/8928) - Fix nested discriminated union schema gen, pt 2 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8932](https://togithub.com/pydantic/pydantic/pull/8932) - Fix schema build for nested dataclasses / TypedDicts with discriminators by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8950](https://togithub.com/pydantic/pydantic/pull/8950) - Remove unnecessary logic for definitions schema gen with discriminated unions by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8951](https://togithub.com/pydantic/pydantic/pull/8951) - Fix handling of optionals in `mypy` plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9008](https://togithub.com/pydantic/pydantic/pull/9008) - Fix `PlainSerializer` usage with std type constructor by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9031](https://togithub.com/pydantic/pydantic/pull/9031) - Remove unnecessary warning for config in plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9039](https://togithub.com/pydantic/pydantic/pull/9039) - Fix default value serializing by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9066](https://togithub.com/pydantic/pydantic/pull/9066) - Fix extra fields check in `Model.__getattr__()` by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9082](https://togithub.com/pydantic/pydantic/pull/9082) - Fix `ClassVar` forward ref inherited from parent class by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​9097](https://togithub.com/pydantic/pydantic/pull/9097) - fix sequence like validator with strict `True` by [@​andresliszt](https://togithub.com/andresliszt) in [#​8977](https://togithub.com/pydantic/pydantic/pull/8977) - Improve warning message when a field name shadows a field in a parent model by [@​chan-vince](https://togithub.com/chan-vince) in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - Do not warn about shadowed fields if they are not redefined in a child class by [@​chan-vince](https://togithub.com/chan-vince) in [#​9111](https://togithub.com/pydantic/pydantic/pull/9111) - Fix discriminated union bug with unsubstituted type var by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9124](https://togithub.com/pydantic/pydantic/pull/9124) - Support serialization of `deque` when passed to `Sequence[blah blah blah]` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9128](https://togithub.com/pydantic/pydantic/pull/9128) - Init private attributes from super-types in `model_post_init` by [@​Viicos](https://togithub.com/Viicos) in [#​9134](https://togithub.com/pydantic/pydantic/pull/9134) - fix `model_construct` with `validation_alias` by [@​ornariece](https://togithub.com/ornariece) in [#​9144](https://togithub.com/pydantic/pydantic/pull/9144) - Ensure json-schema generator handles `Literal` `null` types by [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - **Fixed in v2.7.0**: Fix allow extra generic by [@​dmontagu](https://togithub.com/dmontagu) in [#​9193](https://togithub.com/pydantic/pydantic/pull/9193) ##### New Contributors - [@​hungtsetse](https://togithub.com/hungtsetse) made their first contribution in [#​8546](https://togithub.com/pydantic/pydantic/pull/8546) - [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) made their first contribution in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) - [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) made their first contribution in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - [@​Holi0317](https://togithub.com/Holi0317) made their first contribution in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - [@​bluenote10](https://togithub.com/bluenote10) made their first contribution in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - [@​ADSteele916](https://togithub.com/ADSteele916) made their first contribution in [#​8703](https://togithub.com/pydantic/pydantic/pull/8703) - [@​musicinmybrain](https://togithub.com/musicinmybrain) made their first contribution in [#​8731](https://togithub.com/pydantic/pydantic/pull/8731) - [@​jks15satoshi](https://togithub.com/jks15satoshi) made their first contribution in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - [@​13sin](https://togithub.com/13sin) made their first contribution in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - [@​DanielNoord](https://togithub.com/DanielNoord) made their first contribution in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) made their first contribution in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - [@​chris-griffin](https://togithub.com/chris-griffin) made their first contribution in [#​8775](https://togithub.com/pydantic/pydantic/pull/8775) - [@​LouisGobert](https://togithub.com/LouisGobert) made their first contribution in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) made their first contribution in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - [@​devmonkey22](https://togithub.com/devmonkey22) made their first contribution in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - [@​adamency](https://togithub.com/adamency) made their first contribution in [#​8847](https://togithub.com/pydantic/pydantic/pull/8847) - [@​MamfTheKramf](https://togithub.com/MamfTheKramf) made their first contribution in [#​8851](https://togithub.com/pydantic/pydantic/pull/8851) - [@​ornariece](https://togithub.com/ornariece) made their first contribution in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - [@​alexeyt101](https://togithub.com/alexeyt101) made their first contribution in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - [@​wannieman98](https://togithub.com/wannieman98) made their first contribution in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - [@​solidguy7](https://togithub.com/solidguy7) made their first contribution in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - [@​kloczek](https://togithub.com/kloczek) made their first contribution in [#​9047](https://togithub.com/pydantic/pydantic/pull/9047) - [@​jag-k](https://togithub.com/jag-k) made their first contribution in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - [@​priya-gitTest](https://togithub.com/priya-gitTest) made their first contribution in [#​9088](https://togithub.com/pydantic/pydantic/pull/9088) - [@​Youssefares](https://togithub.com/Youssefares) made their first contribution in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - [@​chan-vince](https://togithub.com/chan-vince) made their first contribution in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) made their first contribution in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - [@​Lance-Drane](https://togithub.com/Lance-Drane) made their first contribution in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) </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:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: jo <ljonas@riseup.net>
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@headlessui/react](https://togithub.com/tailwindlabs/headlessui)
([source](https://togithub.com/tailwindlabs/headlessui/tree/HEAD/packages/@headlessui-react))
| [`1.7.18` ->
`1.7.19`](https://renovatebot.com/diffs/npm/@headlessui%2freact/1.7.18/1.7.19)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.12.2` ->
`20.12.7`](https://renovatebot.com/diffs/npm/@types%2fnode/20.12.2/20.12.7)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/react](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react))
| [`18.2.73` ->
`18.2.79`](https://renovatebot.com/diffs/npm/@types%2freact/18.2.73/18.2.79)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/react-dom](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom))
| [`18.2.23` ->
`18.2.25`](https://renovatebot.com/diffs/npm/@types%2freact-dom/18.2.23/18.2.25)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
| [ai](https://sdk.vercel.ai/docs)
([source](https://togithub.com/vercel/ai)) | [`3.0.16` ->
`3.0.23`](https://renovatebot.com/diffs/npm/ai/3.0.16/3.0.23) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
|
[eslint-config-next](https://nextjs.org/docs/app/building-your-application/configuring/eslint#eslint-config)
([source](https://togithub.com/vercel/next.js/tree/HEAD/packages/eslint-config-next))
| [`14.1.4` ->
`14.2.1`](https://renovatebot.com/diffs/npm/eslint-config-next/14.1.4/14.2.1)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
| [flask](https://togithub.com/pallets/flask)
([changelog](https://flask.palletsprojects.com/changes/)) | `3.0.2` ->
`3.0.3` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
| [next](https://nextjs.org)
([source](https://togithub.com/vercel/next.js)) | [`14.1.4` ->
`14.2.1`](https://renovatebot.com/diffs/npm/next/14.1.4/14.2.1) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
| [openai](https://togithub.com/openai/openai-python) | `1.14.3` ->
`1.20.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
| [openai](https://togithub.com/openai/openai-node) | [`4.31.0` ->
`4.36.0`](https://renovatebot.com/diffs/npm/openai/4.31.0/4.36.0) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
| [pydantic](https://togithub.com/pydantic/pydantic)
([changelog](https://docs.pydantic.dev/latest/changelog/)) | `2.6.4` ->
`2.7.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
| [tsx](https://togithub.com/privatenumber/tsx) | [`4.7.1` ->
`4.7.2`](https://renovatebot.com/diffs/npm/tsx/4.7.1/4.7.2) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://togithub.com/Microsoft/TypeScript)) | [`5.4.3` ->
`5.4.5`](https://renovatebot.com/diffs/npm/typescript/5.4.3/5.4.5) |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>tailwindlabs/headlessui (@​headlessui/react)</summary>
###
[`v1.7.19`](https://togithub.com/tailwindlabs/headlessui/blob/HEAD/packages/@​headlessui-react/CHANGELOG.md#1719---2024-04-15)
[Compare
Source](https://togithub.com/tailwindlabs/headlessui/compare/@headlessui/react@v1.7.18...@headlessui/react@v1.7.19)
##### Fixed
- Make sure panels re-register when IDs are calculated in React < 18
([#​2883](https://togithub.com/tailwindlabs/headlessui/pull/2883))
- Expose `disabled` state on `<Tab />` component
([#​2918](https://togithub.com/tailwindlabs/headlessui/pull/2918))
- Prevent default behavior when clicking outside of a `Dialog.Panel`
([#​2919](https://togithub.com/tailwindlabs/headlessui/pull/2919))
- Add `hidden` attribute to internal `<Hidden />` component when the
`Features.Hidden` feature is used
([#​2955](https://togithub.com/tailwindlabs/headlessui/pull/2955))
- Allow setting custom `tabIndex` on the `<Switch />` component
([#​2966](https://togithub.com/tailwindlabs/headlessui/pull/2966))
- Forward `disabled` state to hidden inputs in form-like components
([#​3004](https://togithub.com/tailwindlabs/headlessui/pull/3004))
- Respect `selectedIndex` for controlled `<Tab/>` components
([#​3037](https://togithub.com/tailwindlabs/headlessui/pull/3037))
</details>
<details>
<summary>vercel/ai (ai)</summary>
### [`v3.0.23`](https://togithub.com/vercel/ai/releases/tag/ai%403.0.23)
[Compare
Source](https://togithub.com/vercel/ai/compare/ai@3.0.22...ai@3.0.23)
##### Patch Changes
- [`66b5892`](https://togithub.com/vercel/ai/commit/66b5892): Add
streamMode parameter to useChat and useCompletion.
- Updated dependencies
\[[`7b8791d`](https://togithub.com/vercel/ai/commit/7b8791d)]
-
[@​ai-sdk/provider-utils](https://togithub.com/ai-sdk/provider-utils)[@​0](https://togithub.com/0).0.1
### [`v3.0.22`](https://togithub.com/vercel/ai/releases/tag/ai%403.0.22)
[Compare
Source](https://togithub.com/vercel/ai/compare/ai@3.0.21...ai@3.0.22)
##### Patch Changes
- [`d544886`](https://togithub.com/vercel/ai/commit/d544886): Breaking
change: extract experimental AI core provider packages. They can now be
imported with e.g. import { openai } from
'[@​ai-sdk/openai](https://togithub.com/ai-sdk/openai)' after
adding them to a project.
- [`ea6b0e1`](https://togithub.com/vercel/ai/commit/ea6b0e1): Expose
formatStreamPart, parseStreamPart, and readDataStream helpers.
### [`v3.0.21`](https://togithub.com/vercel/ai/releases/tag/ai%403.0.21)
[Compare
Source](https://togithub.com/vercel/ai/compare/ai@3.0.20...ai@3.0.21)
##### Patch Changes
- [`87d3db5`](https://togithub.com/vercel/ai/commit/87d3db5): Extracted
[@​ai-sdk/provider](https://togithub.com/ai-sdk/provider) package
- [`8c40f8c`](https://togithub.com/vercel/ai/commit/8c40f8c): ai/core:
Fix openai provider streamObject for gpt-4-turbo
- [`5cd29bd`](https://togithub.com/vercel/ai/commit/5cd29bd): ai/core:
add toTextStreamResponse() method to streamText result
### [`v3.0.20`](https://togithub.com/vercel/ai/releases/tag/ai%403.0.20)
[Compare
Source](https://togithub.com/vercel/ai/compare/ai@3.0.19...ai@3.0.20)
##### Patch Changes
- [`f42bbb5`](https://togithub.com/vercel/ai/commit/f42bbb5): Remove
experimental from useAssistant and AssistantResponse.
- [`149fe26`](https://togithub.com/vercel/ai/commit/149fe26): Deprecate
<Tokens/>
- [`2eb4b55`](https://togithub.com/vercel/ai/commit/2eb4b55): Remove
experimental\_ prefix from StreamData.
- [`e45fa96`](https://togithub.com/vercel/ai/commit/e45fa96): Add stream
support for Bedrock/Cohere.
- [`a6b2500`](https://togithub.com/vercel/ai/commit/a6b2500): Deprecated
the `experimental_streamData: true` setting from
AIStreamCallbacksAndOptions. You can delete occurrences in your code.
The stream data protocol is now used by default.
### [`v3.0.19`](https://togithub.com/vercel/ai/releases/tag/ai%403.0.19)
[Compare
Source](https://togithub.com/vercel/ai/compare/ai@3.0.18...ai@3.0.19)
##### Patch Changes
- [`4f4c7f5`](https://togithub.com/vercel/ai/commit/4f4c7f5): ai/core:
Anthropic tool call support
### [`v3.0.18`](https://togithub.com/vercel/ai/releases/tag/ai%403.0.18)
[Compare
Source](https://togithub.com/vercel/ai/compare/ai@3.0.17...ai@3.0.18)
##### Patch Changes
- [`63d587e`](https://togithub.com/vercel/ai/commit/63d587e): Add
Anthropic provider for ai/core functions (no tool calling).
- [`63d587e`](https://togithub.com/vercel/ai/commit/63d587e): Add
automatic mime type detection for images in ai/core prompts.
### [`v3.0.17`](https://togithub.com/vercel/ai/releases/tag/ai%403.0.17)
[Compare
Source](https://togithub.com/vercel/ai/compare/ai@3.0.16...ai@3.0.17)
##### Patch Changes
- [`2b991c4`](https://togithub.com/vercel/ai/commit/2b991c4): Add Google
Generative AI provider for ai/core functions.
</details>
<details>
<summary>vercel/next.js (eslint-config-next)</summary>
###
[`v14.2.1`](https://togithub.com/vercel/next.js/compare/v14.2.0...v14.2.1)
[Compare
Source](https://togithub.com/vercel/next.js/compare/v14.2.0...v14.2.1)
###
[`v14.2.0`](https://togithub.com/vercel/next.js/compare/v14.1.4...774563f2b994ae9686b8ec68b506a6ef3d7c9756)
[Compare
Source](https://togithub.com/vercel/next.js/compare/v14.1.4...v14.2.0)
</details>
<details>
<summary>pallets/flask (flask)</summary>
###
[`v3.0.3`](https://togithub.com/pallets/flask/blob/HEAD/CHANGES.rst#Version-303)
[Compare
Source](https://togithub.com/pallets/flask/compare/3.0.2...3.0.3)
Released 2024-04-07
- The default `hashlib.sha1` may not be available in FIPS builds. Don't
access it at import time so the developer has time to change the
default.
:issue:`5448`
- Don't initialize the `cli` attribute in the sansio scaffold, but
rather in
the `Flask` concrete class. :pr:`5270`
</details>
<details>
<summary>vercel/next.js (next)</summary>
###
[`v14.2.1`](https://togithub.com/vercel/next.js/compare/v14.2.0...v14.2.1)
[Compare
Source](https://togithub.com/vercel/next.js/compare/v14.2.0...v14.2.1)
###
[`v14.2.0`](https://togithub.com/vercel/next.js/compare/v14.1.4...774563f2b994ae9686b8ec68b506a6ef3d7c9756)
[Compare
Source](https://togithub.com/vercel/next.js/compare/v14.1.4...v14.2.0)
</details>
<details>
<summary>openai/openai-python (openai)</summary>
###
[`v1.20.0`](https://togithub.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1200-2024-04-16)
[Compare
Source](https://togithub.com/openai/openai-python/compare/v1.19.0...v1.20.0)
Full Changelog:
[v1.19.0...v1.20.0](https://togithub.com/openai/openai-python/compare/v1.19.0...v1.20.0)
##### Features
- **client:** add header OpenAI-Project
([#​1320](https://togithub.com/openai/openai-python/issues/1320))
([0c489f1](https://togithub.com/openai/openai-python/commit/0c489f16a7d9e5ac753da87273b223893edefa69))
- extract chat models to a named enum
([#​1322](https://togithub.com/openai/openai-python/issues/1322))
([1ccd9b6](https://togithub.com/openai/openai-python/commit/1ccd9b67322736a4714e58c953d59585322c527d))
###
[`v1.19.0`](https://togithub.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1190-2024-04-15)
[Compare
Source](https://togithub.com/openai/openai-python/compare/v1.18.0...v1.19.0)
Full Changelog:
[v1.18.0...v1.19.0](https://togithub.com/openai/openai-python/compare/v1.18.0...v1.19.0)
##### Features
- **errors:** add request_id property
([#​1317](https://togithub.com/openai/openai-python/issues/1317))
([f9eb77d](https://togithub.com/openai/openai-python/commit/f9eb77dca422b9456f4e3b31c7474046235eec1d))
###
[`v1.18.0`](https://togithub.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1180-2024-04-15)
[Compare
Source](https://togithub.com/openai/openai-python/compare/v1.17.1...v1.18.0)
Full Changelog:
[v1.17.1...v1.18.0](https://togithub.com/openai/openai-python/compare/v1.17.1...v1.18.0)
##### Features
- **api:** add batch API
([#​1316](https://togithub.com/openai/openai-python/issues/1316))
([3e6f19e](https://togithub.com/openai/openai-python/commit/3e6f19e6e7489bf1c94944a5f8f9b1d4535cdc43))
- **api:** updates
([#​1314](https://togithub.com/openai/openai-python/issues/1314))
([8281dc9](https://togithub.com/openai/openai-python/commit/8281dc956178f5de345645660081f7d0c15a57a6))
###
[`v1.17.1`](https://togithub.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1171-2024-04-12)
[Compare
Source](https://togithub.com/openai/openai-python/compare/v1.17.0...v1.17.1)
Full Changelog:
[v1.17.0...v1.17.1](https://togithub.com/openai/openai-python/compare/v1.17.0...v1.17.1)
##### Chores
- fix typo
([#​1304](https://togithub.com/openai/openai-python/issues/1304))
([1129082](https://togithub.com/openai/openai-python/commit/1129082955f98d76c0927781ef9e7d0beeda2ec4))
- **internal:** formatting
([#​1311](https://togithub.com/openai/openai-python/issues/1311))
([8fd411b](https://togithub.com/openai/openai-python/commit/8fd411b48b6b1eafaab2dac26201525c1ee0b942))
###
[`v1.17.0`](https://togithub.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1170-2024-04-10)
[Compare
Source](https://togithub.com/openai/openai-python/compare/v1.16.2...v1.17.0)
Full Changelog:
[v1.16.2...v1.17.0](https://togithub.com/openai/openai-python/compare/v1.16.2...v1.17.0)
##### Features
- **api:** add additional messages when creating thread run
([#​1298](https://togithub.com/openai/openai-python/issues/1298))
([70eb081](https://togithub.com/openai/openai-python/commit/70eb081804b14cc8c151ebd85458545a50a074fd))
- **client:** add DefaultHttpxClient and DefaultAsyncHttpxClient
([#​1302](https://togithub.com/openai/openai-python/issues/1302))
([69cdfc3](https://togithub.com/openai/openai-python/commit/69cdfc319fff7ebf28cdd13cc6c1761b7d97811d))
- **models:** add to_dict & to_json helper methods
([#​1305](https://togithub.com/openai/openai-python/issues/1305))
([40a881d](https://togithub.com/openai/openai-python/commit/40a881d10442af8b445ce030f8ab338710e1c4c8))
###
[`v1.16.2`](https://togithub.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1162-2024-04-04)
[Compare
Source](https://togithub.com/openai/openai-python/compare/v1.16.1...v1.16.2)
Full Changelog:
[v1.16.1...v1.16.2](https://togithub.com/openai/openai-python/compare/v1.16.1...v1.16.2)
##### Bug Fixes
- **client:** correct logic for line decoding in streaming
([#​1293](https://togithub.com/openai/openai-python/issues/1293))
([687caef](https://togithub.com/openai/openai-python/commit/687caefa4acf615bf404f16817bfd9a6f285ee5c))
###
[`v1.16.1`](https://togithub.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1161-2024-04-02)
[Compare
Source](https://togithub.com/openai/openai-python/compare/v1.16.0...v1.16.1)
Full Changelog:
[v1.16.0...v1.16.1](https://togithub.com/openai/openai-python/compare/v1.16.0...v1.16.1)
##### Chores
- **internal:** defer model build for import latency
([#​1291](https://togithub.com/openai/openai-python/issues/1291))
([bc6866e](https://togithub.com/openai/openai-python/commit/bc6866eb2335d01532190d0906cad7bf9af28621))
###
[`v1.16.0`](https://togithub.com/openai/openai-python/blob/HEAD/CHANGELOG.md#1160-2024-04-01)
[Compare
Source](https://togithub.com/openai/openai-python/compare/v1.14.3...v1.16.0)
Full Changelog:
[v1.15.0...v1.16.0](https://togithub.com/openai/openai-python/compare/v1.15.0...v1.16.0)
##### Features
- **api:** add support for filtering messages by run_id
([#​1288](https://togithub.com/openai/openai-python/issues/1288))
([58d6b77](https://togithub.com/openai/openai-python/commit/58d6b773218ef1dd8dc6208124a16078e4ac11c1))
- **api:** run polling helpers
([#​1289](https://togithub.com/openai/openai-python/issues/1289))
([6b427f3](https://togithub.com/openai/openai-python/commit/6b427f38610847bce3ce5334177f07917bd7c187))
##### Chores
- **client:** validate that max_retries is not None
([#​1286](https://togithub.com/openai/openai-python/issues/1286))
([aa5920a](https://togithub.com/openai/openai-python/commit/aa5920af6131c49a44352524154ee4a1684e76b2))
##### Refactors
- rename createAndStream to stream
([6b427f3](https://togithub.com/openai/openai-python/commit/6b427f38610847bce3ce5334177f07917bd7c187))
</details>
<details>
<summary>openai/openai-node (openai)</summary>
###
[`v4.36.0`](https://togithub.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4360-2024-04-16)
[Compare
Source](https://togithub.com/openai/openai-node/compare/v4.35.0...v4.36.0)
Full Changelog:
[v4.35.0...v4.36.0](https://togithub.com/openai/openai-node/compare/v4.35.0...v4.36.0)
##### Features
- **client:** add header OpenAI-Project
([#​772](https://togithub.com/openai/openai-node/issues/772))
([bb4df37](https://togithub.com/openai/openai-node/commit/bb4df3722082fb44b7d4feb7a47df796149150a2))
- extract chat models to a named enum
([#​775](https://togithub.com/openai/openai-node/issues/775))
([141d2ed](https://togithub.com/openai/openai-node/commit/141d2ed308141dc751869353208e4d0632d3650c))
##### Build System
- configure UTF-8 locale in devcontainer
([#​774](https://togithub.com/openai/openai-node/issues/774))
([bebf4f0](https://togithub.com/openai/openai-node/commit/bebf4f0ca1f884f8747caff0f0e065aafffde096))
###
[`v4.35.0`](https://togithub.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4350-2024-04-15)
[Compare
Source](https://togithub.com/openai/openai-node/compare/v4.34.0...v4.35.0)
Full Changelog:
[v4.34.0...v4.35.0](https://togithub.com/openai/openai-node/compare/v4.34.0...v4.35.0)
##### Features
- **errors:** add request_id property
([#​769](https://togithub.com/openai/openai-node/issues/769))
([43aa6a1](https://togithub.com/openai/openai-node/commit/43aa6a19cfb1448903dfaddc4da3def2eda9cbab))
###
[`v4.34.0`](https://togithub.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4340-2024-04-15)
[Compare
Source](https://togithub.com/openai/openai-node/compare/v4.33.1...v4.34.0)
Full Changelog:
[v4.33.1...v4.34.0](https://togithub.com/openai/openai-node/compare/v4.33.1...v4.34.0)
##### Features
- **api:** add batch API
([#​768](https://togithub.com/openai/openai-node/issues/768))
([7fe34f2](https://togithub.com/openai/openai-node/commit/7fe34f2d0bda9c1cb116a593f02bd0cc15a52e12))
- **api:** updates
([#​766](https://togithub.com/openai/openai-node/issues/766))
([52bcc47](https://togithub.com/openai/openai-node/commit/52bcc47043e4c3ffe15ae9e7ac0fa87e2493aad9))
###
[`v4.33.1`](https://togithub.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4331-2024-04-12)
[Compare
Source](https://togithub.com/openai/openai-node/compare/v4.33.0...v4.33.1)
Full Changelog:
[v4.33.0...v4.33.1](https://togithub.com/openai/openai-node/compare/v4.33.0...v4.33.1)
##### Chores
- **internal:** formatting
([#​763](https://togithub.com/openai/openai-node/issues/763))
([b6acf54](https://togithub.com/openai/openai-node/commit/b6acf54baab7e6cbf6ce3ad1d6c70197cc0181d0))
- **internal:** improve ecosystem tests
([#​761](https://togithub.com/openai/openai-node/issues/761))
([fcf748d](https://togithub.com/openai/openai-node/commit/fcf748dbbd23f972ff9fd81a8b2a35232a2d6e5c))
###
[`v4.33.0`](https://togithub.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4330-2024-04-05)
[Compare
Source](https://togithub.com/openai/openai-node/compare/v4.32.2...v4.33.0)
Full Changelog:
[v4.32.2...v4.33.0](https://togithub.com/openai/openai-node/compare/v4.32.2...v4.33.0)
##### Features
- **api:** add additional messages when creating thread run
([#​759](https://togithub.com/openai/openai-node/issues/759))
([f1fdb41](https://togithub.com/openai/openai-node/commit/f1fdb410e087f9b94faeda0558de573ec1118601))
###
[`v4.32.2`](https://togithub.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4322-2024-04-04)
[Compare
Source](https://togithub.com/openai/openai-node/compare/v4.32.1...v4.32.2)
Full Changelog:
[v4.32.1...v4.32.2](https://togithub.com/openai/openai-node/compare/v4.32.1...v4.32.2)
##### Bug Fixes
- **streaming:** handle special line characters and fix multi-byte
character decoding
([#​757](https://togithub.com/openai/openai-node/issues/757))
([8dcdda2](https://togithub.com/openai/openai-node/commit/8dcdda2b0d1d86486eea5fd47d24a8d26fde4c19))
- **tests:** update wrangler to v3.19.0 (CVE-2023-7080)
([#​755](https://togithub.com/openai/openai-node/issues/755))
([47ca41d](https://togithub.com/openai/openai-node/commit/47ca41da9a739b2e04b721cb1fe843e5dd152465))
##### Chores
- **tests:** bump ecosystem tests dependencies
([#​753](https://togithub.com/openai/openai-node/issues/753))
([3f86ea2](https://togithub.com/openai/openai-node/commit/3f86ea2205c90e05bcbe582491a4bed01075a5b1))
###
[`v4.32.1`](https://togithub.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4321-2024-04-02)
[Compare
Source](https://togithub.com/openai/openai-node/compare/v4.32.0...v4.32.1)
Full Changelog:
[v4.32.0...v4.32.1](https://togithub.com/openai/openai-node/compare/v4.32.0...v4.32.1)
##### Chores
- **deps:** bump yarn to v1.22.22
([#​751](https://togithub.com/openai/openai-node/issues/751))
([5b41d10](https://togithub.com/openai/openai-node/commit/5b41d1077f219b8feb7557cfab98caf7b5de560d))
###
[`v4.32.0`](https://togithub.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4320-2024-04-01)
[Compare
Source](https://togithub.com/openai/openai-node/compare/v4.31.0...v4.32.0)
Full Changelog:
[v4.31.0...v4.32.0](https://togithub.com/openai/openai-node/compare/v4.31.0...v4.32.0)
##### Features
- **api:** add support for filtering messages by run_id
([#​747](https://togithub.com/openai/openai-node/issues/747))
([9a397ac](https://togithub.com/openai/openai-node/commit/9a397acffa9f10c3f48e86e3bdb3851770f87b42))
- **api:** run polling helpers
([#​749](https://togithub.com/openai/openai-node/issues/749))
([02920ae](https://togithub.com/openai/openai-node/commit/02920ae082480fc7a7ffe9fa583d053a40dc7120))
##### Chores
- **deps:** remove unused dependency digest-fetch
([#​748](https://togithub.com/openai/openai-node/issues/748))
([5376837](https://togithub.com/openai/openai-node/commit/537683734d39dd956a7dcef4339c1167ce6fe13c))
##### Documentation
- **readme:** change undocumented params wording
([#​744](https://togithub.com/openai/openai-node/issues/744))
([8796691](https://togithub.com/openai/openai-node/commit/87966911045275db86844dfdcde59653edaef264))
##### Refactors
- rename createAndStream to stream
([02920ae](https://togithub.com/openai/openai-node/commit/02920ae082480fc7a7ffe9fa583d053a40dc7120))
</details>
<details>
<summary>pydantic/pydantic (pydantic)</summary>
###
[`v2.7.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v270-2024-04-11)
[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.6.4...v2.7.0)
[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.0)
The code released in v2.7.0 is practically identical to that of
v2.7.0b1.
##### What's Changed
##### Packaging
- Reorganize `pyproject.toml` sections by
[@​Viicos](https://togithub.com/Viicos) in
[#​8899](https://togithub.com/pydantic/pydantic/pull/8899)
- Bump `pydantic-core` to `v2.18.1` by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​9211](https://togithub.com/pydantic/pydantic/pull/9211)
- Adopt `jiter` `v0.2.0` by
[@​samuelcolvin](https://togithub.com/samuelcolvin) in
[pydantic/pydantic-core#1250](https://togithub.com/pydantic/pydantic-core/pull/1250)
##### New Features
- Extract attribute docstrings from `FieldInfo.description` by
[@​Viicos](https://togithub.com/Viicos) in
[#​6563](https://togithub.com/pydantic/pydantic/pull/6563)
- Add a `with_config` decorator to comply with typing spec by
[@​Viicos](https://togithub.com/Viicos) in
[#​8611](https://togithub.com/pydantic/pydantic/pull/8611)
- Allow an optional separator splitting the value and unit of the result
of `ByteSize.human_readable` by
[@​jks15satoshi](https://togithub.com/jks15satoshi) in
[#​8706](https://togithub.com/pydantic/pydantic/pull/8706)
- Add generic `Secret` base type by
[@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran)
in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519)
- Make use of `Sphinx` inventories for cross references in docs by
[@​Viicos](https://togithub.com/Viicos) in
[#​8682](https://togithub.com/pydantic/pydantic/pull/8682)
- Add environment variable to disable plugins by
[@​geospackle](https://togithub.com/geospackle) in
[#​8767](https://togithub.com/pydantic/pydantic/pull/8767)
- Add support for `deprecated` fields by
[@​Viicos](https://togithub.com/Viicos) in
[#​8237](https://togithub.com/pydantic/pydantic/pull/8237)
- Allow `field_serializer('*')` by
[@​ornariece](https://togithub.com/ornariece) in
[#​9001](https://togithub.com/pydantic/pydantic/pull/9001)
- Handle a case when `model_config` is defined as a model property by
[@​alexeyt101](https://togithub.com/alexeyt101) in
[#​9004](https://togithub.com/pydantic/pydantic/pull/9004)
- Update `create_model()` to support `typing.Annotated` as input by
[@​wannieman98](https://togithub.com/wannieman98) in
[#​8947](https://togithub.com/pydantic/pydantic/pull/8947)
- Add `ClickhouseDsn` support by
[@​solidguy7](https://togithub.com/solidguy7) in
[#​9062](https://togithub.com/pydantic/pydantic/pull/9062)
- Add support for `re.Pattern[str]` to `pattern` field by
[@​jag-k](https://togithub.com/jag-k) in
[#​9053](https://togithub.com/pydantic/pydantic/pull/9053)
- Support for `serialize_as_any` runtime setting by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8830](https://togithub.com/pydantic/pydantic/pull/8830)
- Add support for `typing.Self` by
[@​Youssefares](https://togithub.com/Youssefares) in
[#​9023](https://togithub.com/pydantic/pydantic/pull/9023)
- Ability to pass `context` to serialization by
[@​ornariece](https://togithub.com/ornariece) in
[#​8965](https://togithub.com/pydantic/pydantic/pull/8965)
- Add feedback widget to docs with flarelytics integration by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​9129](https://togithub.com/pydantic/pydantic/pull/9129)
- Support for parsing partial JSON strings in Python by
[@​samuelcolvin](https://togithub.com/samuelcolvin) in
[pydantic/jiter#66](https://togithub.com/pydantic/jiter/pull/66)
**Finalized in v2.7.0, rather than v2.7.0b1:**
- Add support for field level number to str coercion option by
[@​NeevCohen](https://togithub.com/NeevCohen) in
[#​9137](https://togithub.com/pydantic/pydantic/pull/9137)
- Update `warnings` parameter for serialization utilities to allow
raising a warning by
[@​Lance-Drane](https://togithub.com/Lance-Drane) in
[#​9166](https://togithub.com/pydantic/pydantic/pull/9166)
##### Changes
- Correct docs, logic for `model_construct` behavior with `extra` by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8807](https://togithub.com/pydantic/pydantic/pull/8807)
- Improve error message for improper `RootModel` subclasses by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8857](https://togithub.com/pydantic/pydantic/pull/8857)
- Use `PEP570` syntax by [@​Viicos](https://togithub.com/Viicos)
in [#​8940](https://togithub.com/pydantic/pydantic/pull/8940)
- Add `enum` and `type` to the JSON schema for single item literals by
[@​dmontagu](https://togithub.com/dmontagu) in
[#​8944](https://togithub.com/pydantic/pydantic/pull/8944)
- Deprecate `update_json_schema` internal function by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​9125](https://togithub.com/pydantic/pydantic/pull/9125)
- Serialize duration to hour minute second, instead of just seconds by
[@​kakilangit](https://togithub.com/kakilangit) in
[pydantic/speedate#50](https://togithub.com/pydantic/speedate/pull/50)
- Trimming str before parsing to int and float by
[@​hungtsetse](https://togithub.com/hungtsetse) in
[pydantic/pydantic-core#1203](https://togithub.com/pydantic/pydantic-core/pull/1203)
##### Performance
- `enum` validator improvements by
[@​samuelcolvin](https://togithub.com/samuelcolvin) in
[#​9045](https://togithub.com/pydantic/pydantic/pull/9045)
- Move `enum` validation and serialization to Rust by
[@​samuelcolvin](https://togithub.com/samuelcolvin) in
[#​9064](https://togithub.com/pydantic/pydantic/pull/9064)
- Improve schema generation for nested dataclasses by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​9114](https://togithub.com/pydantic/pydantic/pull/9114)
- Fast path for ASCII python string creation in JSON by
[@​samuelcolvin](https://togithub.com/samuelcolvin) in in
[pydantic/jiter#72](https://togithub.com/pydantic/jiter/pull/72)
- SIMD integer and string JSON parsing on `aarch64`(**Note:** SIMD on
x86 will be implemented in a future release) by
[@​samuelcolvin](https://togithub.com/samuelcolvin) in in
[pydantic/jiter#65](https://togithub.com/pydantic/jiter/pull/65)
- Support JSON `Cow<str>` from `jiter` by
[@​davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/pydantic-core#1231](https://togithub.com/pydantic/pydantic-core/pull/1231)
- MAJOR performance improvement: update to PyO3 0.21 final by
[@​davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/pydantic-core#1248](https://togithub.com/pydantic/pydantic-core/pull/1248)
- cache Python strings by
[@​samuelcolvin](https://togithub.com/samuelcolvin) in
[pydantic/pydantic-core#1240](https://togithub.com/pydantic/pydantic-core/pull/1240)
##### Fixes
- Fix strict parsing for some `Sequence`s by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8614](https://togithub.com/pydantic/pydantic/pull/8614)
- Add a check on the existence of `__qualname__` by
[@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) in
[#​8642](https://togithub.com/pydantic/pydantic/pull/8642)
- Handle `__pydantic_extra__` annotation being a string or inherited by
[@​alexmojaki](https://togithub.com/alexmojaki) in
[#​8659](https://togithub.com/pydantic/pydantic/pull/8659)
- Fix json validation for `NameEmail` by
[@​Holi0317](https://togithub.com/Holi0317) in
[#​8650](https://togithub.com/pydantic/pydantic/pull/8650)
- Fix type-safety of attribute access in `BaseModel` by
[@​bluenote10](https://togithub.com/bluenote10) in
[#​8651](https://togithub.com/pydantic/pydantic/pull/8651)
- Fix bug with `mypy` plugin and `no_strict_optional = True` by
[@​dmontagu](https://togithub.com/dmontagu) in
[#​8666](https://togithub.com/pydantic/pydantic/pull/8666)
- Fix `ByteSize` error `type` change by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8681](https://togithub.com/pydantic/pydantic/pull/8681)
- Fix inheriting annotations in dataclasses by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8679](https://togithub.com/pydantic/pydantic/pull/8679)
- Fix regression in core schema generation for indirect definition
references by [@​dmontagu](https://togithub.com/dmontagu) in
[#​8702](https://togithub.com/pydantic/pydantic/pull/8702)
- Fix unsupported types bug with plain validator by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8710](https://togithub.com/pydantic/pydantic/pull/8710)
- Reverting problematic fix from 2.6 release, fixing schema building bug
by [@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8718](https://togithub.com/pydantic/pydantic/pull/8718)
- fixes `__pydantic_config__` ignored for TypeDict by
[@​13sin](https://togithub.com/13sin) in
[#​8734](https://togithub.com/pydantic/pydantic/pull/8734)
- Fix test failures with `pytest v8.0.0` due to `pytest.warns()`
starting to work inside `pytest.raises()` by
[@​mgorny](https://togithub.com/mgorny) in
[#​8678](https://togithub.com/pydantic/pydantic/pull/8678)
- Use `is_valid_field` from 1.x for `mypy` plugin by
[@​DanielNoord](https://togithub.com/DanielNoord) in
[#​8738](https://togithub.com/pydantic/pydantic/pull/8738)
- Better-support `mypy` strict equality flag by
[@​dmontagu](https://togithub.com/dmontagu) in
[#​8799](https://togithub.com/pydantic/pydantic/pull/8799)
- model_json_schema export with Annotated types misses 'required'
parameters by [@​LouisGobert](https://togithub.com/LouisGobert) in
[#​8793](https://togithub.com/pydantic/pydantic/pull/8793)
- Fix default inclusion in `FieldInfo.__repr_args__` by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8801](https://togithub.com/pydantic/pydantic/pull/8801)
- Fix resolution of forward refs in dataclass base classes that are not
present in the subclass module namespace by
[@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) in
[#​8751](https://togithub.com/pydantic/pydantic/pull/8751)
- Fix `BaseModel` type annotations to be resolvable by
`typing.get_type_hints` by
[@​devmonkey22](https://togithub.com/devmonkey22) in
[#​7680](https://togithub.com/pydantic/pydantic/pull/7680)
- Fix: allow empty string aliases with `AliasGenerator` by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8810](https://togithub.com/pydantic/pydantic/pull/8810)
- Fix test along with `date` -> `datetime` timezone assumption fix by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8823](https://togithub.com/pydantic/pydantic/pull/8823)
- Fix deprecation warning with usage of `ast.Str` by
[@​Viicos](https://togithub.com/Viicos) in
[#​8837](https://togithub.com/pydantic/pydantic/pull/8837)
- Add missing `deprecated` decorators by
[@​Viicos](https://togithub.com/Viicos) in
[#​8877](https://togithub.com/pydantic/pydantic/pull/8877)
- Fix serialization of `NameEmail` if name includes an email address by
[@​NeevCohen](https://togithub.com/NeevCohen) in
[#​8860](https://togithub.com/pydantic/pydantic/pull/8860)
- Add information about class in error message of schema generation by
[@​Czaki](https://togithub.com/Czaki) in
[#​8917](https://togithub.com/pydantic/pydantic/pull/8917)
- Make `TypeAdapter`'s typing compatible with special forms by
[@​adriangb](https://togithub.com/adriangb) in
[#​8923](https://togithub.com/pydantic/pydantic/pull/8923)
- Fix issue with config behavior being baked into the ref schema for
`enum`s by [@​dmontagu](https://togithub.com/dmontagu) in
[#​8920](https://togithub.com/pydantic/pydantic/pull/8920)
- More helpful error re wrong `model_json_schema` usage by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8928](https://togithub.com/pydantic/pydantic/pull/8928)
- Fix nested discriminated union schema gen, pt 2 by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8932](https://togithub.com/pydantic/pydantic/pull/8932)
- Fix schema build for nested dataclasses / TypedDicts with
discriminators by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8950](https://togithub.com/pydantic/pydantic/pull/8950)
- Remove unnecessary logic for definitions schema gen with discriminated
unions by [@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​8951](https://togithub.com/pydantic/pydantic/pull/8951)
- Fix handling of optionals in `mypy` plugin by
[@​dmontagu](https://togithub.com/dmontagu) in
[#​9008](https://togithub.com/pydantic/pydantic/pull/9008)
- Fix `PlainSerializer` usage with std type constructor by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​9031](https://togithub.com/pydantic/pydantic/pull/9031)
- Remove unnecessary warning for config in plugin by
[@​dmontagu](https://togithub.com/dmontagu) in
[#​9039](https://togithub.com/pydantic/pydantic/pull/9039)
- Fix default value serializing by
[@​NeevCohen](https://togithub.com/NeevCohen) in
[#​9066](https://togithub.com/pydantic/pydantic/pull/9066)
- Fix extra fields check in `Model.__getattr__()` by
[@​NeevCohen](https://togithub.com/NeevCohen) in
[#​9082](https://togithub.com/pydantic/pydantic/pull/9082)
- Fix `ClassVar` forward ref inherited from parent class by
[@​alexmojaki](https://togithub.com/alexmojaki) in
[#​9097](https://togithub.com/pydantic/pydantic/pull/9097)
- fix sequence like validator with strict `True` by
[@​andresliszt](https://togithub.com/andresliszt) in
[#​8977](https://togithub.com/pydantic/pydantic/pull/8977)
- Improve warning message when a field name shadows a field in a parent
model by [@​chan-vince](https://togithub.com/chan-vince) in
[#​9105](https://togithub.com/pydantic/pydantic/pull/9105)
- Do not warn about shadowed fields if they are not redefined in a child
class by [@​chan-vince](https://togithub.com/chan-vince) in
[#​9111](https://togithub.com/pydantic/pydantic/pull/9111)
- Fix discriminated union bug with unsubstituted type var by
[@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​9124](https://togithub.com/pydantic/pydantic/pull/9124)
- Support serialization of `deque` when passed to `Sequence[blah blah
blah]` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in
[#​9128](https://togithub.com/pydantic/pydantic/pull/9128)
- Init private attributes from super-types in `model_post_init` by
[@​Viicos](https://togithub.com/Viicos) in
[#​9134](https://togithub.com/pydantic/pydantic/pull/9134)
- fix `model_construct` with `validation_alias` by
[@​ornariece](https://togithub.com/ornariece) in
[#​9144](https://togithub.com/pydantic/pydantic/pull/9144)
- Ensure json-schema generator handles `Literal` `null` types by
[@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) in
[#​9135](https://togithub.com/pydantic/pydantic/pull/9135)
- **Fixed in v2.7.0**: Fix allow extra generic by
[@​dmontagu](https://togithub.com/dmontagu) in
[#​9193](https://togithub.com/pydantic/pydantic/pull/9193)
##### New Contributors
- [@​hungtsetse](https://togithub.com/hungtsetse) made their first
contribution in
[#​8546](https://togithub.com/pydantic/pydantic/pull/8546)
- [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) made
their first contribution in
[#​8583](https://togithub.com/pydantic/pydantic/pull/8583)
- [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) made their
first contribution in
[#​8642](https://togithub.com/pydantic/pydantic/pull/8642)
- [@​Holi0317](https://togithub.com/Holi0317) made their first
contribution in
[#​8650](https://togithub.com/pydantic/pydantic/pull/8650)
- [@​bluenote10](https://togithub.com/bluenote10) made their first
contribution in
[#​8651](https://togithub.com/pydantic/pydantic/pull/8651)
- [@​ADSteele916](https://togithub.com/ADSteele916) made their
first contribution in
[#​8703](https://togithub.com/pydantic/pydantic/pull/8703)
- [@​musicinmybrain](https://togithub.com/musicinmybrain) made
their first contribution in
[#​8731](https://togithub.com/pydantic/pydantic/pull/8731)
- [@​jks15satoshi](https://togithub.com/jks15satoshi) made their
first contribution in
[#​8706](https://togithub.com/pydantic/pydantic/pull/8706)
- [@​13sin](https://togithub.com/13sin) made their first
contribution in
[#​8734](https://togithub.com/pydantic/pydantic/pull/8734)
- [@​DanielNoord](https://togithub.com/DanielNoord) made their
first contribution in
[#​8738](https://togithub.com/pydantic/pydantic/pull/8738)
-
[@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran)
made their first contribution in
[#​8519](https://togithub.com/pydantic/pydantic/pull/8519)
- [@​chris-griffin](https://togithub.com/chris-griffin) made their
first contribution in
[#​8775](https://togithub.com/pydantic/pydantic/pull/8775)
- [@​LouisGobert](https://togithub.com/LouisGobert) made their
first contribution in
[#​8793](https://togithub.com/pydantic/pydantic/pull/8793)
- [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) made
their first contribution in
[#​8751](https://togithub.com/pydantic/pydantic/pull/8751)
- [@​devmonkey22](https://togithub.com/devmonkey22) made their
first contribution in
[#​7680](https://togithub.com/pydantic/pydantic/pull/7680)
- [@​adamency](https://togithub.com/adamency) made their first
contribution in
[#​8847](https://togithub.com/pydantic/pydantic/pull/8847)
- [@​MamfTheKramf](https://togithub.com/MamfTheKramf) made their
first contribution in
[#​8851](https://togithub.com/pydantic/pydantic/pull/8851)
- [@​ornariece](https://togithub.com/ornariece) made their first
contribution in
[#​9001](https://togithub.com/pydantic/pydantic/pull/9001)
- [@​alexeyt101](https://togithub.com/alexeyt101) made their first
contribution in
[#​9004](https://togithub.com/pydantic/pydantic/pull/9004)
- [@​wannieman98](https://togithub.com/wannieman98) made their
first contribution in
[#​8947](https://togithub.com/pydantic/pydantic/pull/8947)
- [@​solidguy7](https://togithub.com/solidguy7) made their first
contribution in
[#​9062](https://togithub.com/pydantic/pydantic/pull/9062)
- [@​kloczek](https://togithub.com/kloczek) made their first
contribution in
[#​9047](https://togithub.com/pydantic/pydantic/pull/9047)
- [@​jag-k](https://togithub.com/jag-k) made their first
contribution in
[#​9053](https://togithub.com/pydantic/pydantic/pull/9053)
- [@​priya-gitTest](https://togithub.com/priya-gitTest) made their
first contribution in
[#​9088](https://togithub.com/pydantic/pydantic/pull/9088)
- [@​Youssefares](https://togithub.com/Youssefares) made their
first contribution in
[#​9023](https://togithub.com/pydantic/pydantic/pull/9023)
- [@​chan-vince](https://togithub.com/chan-vince) made their first
contribution in
[#​9105](https://togithub.com/pydantic/pydantic/pull/9105)
- [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) made their
first contribution in
[#​9135](https://togithub.com/pydantic/pydantic/pull/9135)
- [@​Lance-Drane](https://togithub.com/Lance-Drane) made their
first contribution in
[#​9166](https://togithub.com/pydantic/pydantic/pull/9166)
</details>
<details>
<summary>privatenumber/tsx (tsx)</summary>
###
[`v4.7.2`](https://togithub.com/privatenumber/tsx/compare/v4.7.1...1a10da7bf9d0ca66ced6c897ade8f5f9aae0268d)
[Compare
Source](https://togithub.com/privatenumber/tsx/compare/v4.7.1...v4.7.2)
</details>
<details>
<summary>Microsoft/TypeScript (typescript)</summary>
###
[`v5.4.5`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.4.5):
TypeScript 5.4.5
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.4.4...v5.4.5)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript 5.4.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.3
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.3%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.4
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.4%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.5
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.5%22+is%3Aclosed+).
Downloads are available on:
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v5.4.4`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.4.4):
TypeScript 5.4.4
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.4.3...v5.4.4)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript 5.4.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.3
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.3%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.4
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.4%22+is%3Aclosed+).
Downloads are available on:
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone
America/Chicago, 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.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- 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/autoblocksai/autoblocks-examples).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMwMS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](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.7.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.7.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v271-2024-04-23) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.0...v2.7.1) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.1) ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.18.2` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9307](https://togithub.com/pydantic/pydantic/pull/9307) ##### New Features - Ftp and Websocket connection strings support by [@​CherrySuryp](https://togithub.com/CherrySuryp) in [#​9205](https://togithub.com/pydantic/pydantic/pull/9205) ##### Changes - Use field description for RootModel schema description when there is `…` by [@​LouisGobert](https://togithub.com/LouisGobert) in [#​9214](https://togithub.com/pydantic/pydantic/pull/9214) ##### Fixes - Fix `validation_alias` behavior with `model_construct` for `AliasChoices` and `AliasPath` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9223](https://togithub.com/pydantic/pydantic/pull/9223) - Revert `typing.Literal` and import it outside the TYPE_CHECKING block by [@​frost-nzcr4](https://togithub.com/frost-nzcr4) in [#​9232](https://togithub.com/pydantic/pydantic/pull/9232) - Fix `Secret` serialization schema, applicable for unions by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9240](https://togithub.com/pydantic/pydantic/pull/9240) - Fix `strict` application to `function-after` with `use_enum_values` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9279](https://togithub.com/pydantic/pydantic/pull/9279) - Address case where `model_construct` on a class which defines `model_post_init` fails with `AttributeError` by [@​babygrimes](https://togithub.com/babygrimes) in [#​9168](https://togithub.com/pydantic/pydantic/pull/9168) - Fix `model_json_schema` with config types by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9287](https://togithub.com/pydantic/pydantic/pull/9287) - Support multiple zeros as an `int` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1269](https://togithub.com/pydantic/pydantic-core/pull/1269) - Fix validation of `int`s with leading unary plus by [@​cknv](https://togithub.com/cknv) in [pydantic/pydantic-core#1272](https://togithub.com/pydantic/pydantic-core/pull/1272) - Fix interaction between `extra != 'ignore'` and `from_attributes=True` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1276](https://togithub.com/pydantic/pydantic-core/pull/1276) - Handle error from `Enum`'s `missing` function as `ValidationError` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1274](https://togithub.com/pydantic/pydantic-core/pull/1754) - Fix memory leak with `Iterable` validation by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1271](https://togithub.com/pydantic/pydantic-core/pull/1751) ##### New Contributors - [@​zzstoatzz](https://togithub.com/zzstoatzz) made their first contribution in [#​9219](https://togithub.com/pydantic/pydantic/pull/9219) - [@​frost-nzcr4](https://togithub.com/frost-nzcr4) made their first contribution in [#​9232](https://togithub.com/pydantic/pydantic/pull/9232) - [@​CherrySuryp](https://togithub.com/CherrySuryp) made their first contribution in [#​9205](https://togithub.com/pydantic/pydantic/pull/9205) - [@​vagenas](https://togithub.com/vagenas) made their first contribution in [#​9268](https://togithub.com/pydantic/pydantic/pull/9268) - [@​ollz272](https://togithub.com/ollz272) made their first contribution in [#​9262](https://togithub.com/pydantic/pydantic/pull/9262) - [@​babygrimes](https://togithub.com/babygrimes) made their first contribution in [#​9168](https://togithub.com/pydantic/pydantic/pull/9168) - [@​swelborn](https://togithub.com/swelborn) made their first contribution in [#​9296](https://togithub.com/pydantic/pydantic/pull/9296) - [@​kf-novi](https://togithub.com/kf-novi) made their first contribution in [#​9236](https://togithub.com/pydantic/pydantic/pull/9236) - [@​lgeiger](https://togithub.com/lgeiger) made their first contribution in [#​9288](https://togithub.com/pydantic/pydantic/pull/9288) ### [`v2.7.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v270-2024-04-11) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.4...v2.7.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.0) The code released in v2.7.0 is practically identical to that of v2.7.0b1. ##### What's Changed ##### Packaging - Reorganize `pyproject.toml` sections by [@​Viicos](https://togithub.com/Viicos) in [#​8899](https://togithub.com/pydantic/pydantic/pull/8899) - Bump `pydantic-core` to `v2.18.1` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9211](https://togithub.com/pydantic/pydantic/pull/9211) - Adopt `jiter` `v0.2.0` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1250](https://togithub.com/pydantic/pydantic-core/pull/1250) ##### New Features - Extract attribute docstrings from `FieldInfo.description` by [@​Viicos](https://togithub.com/Viicos) in [#​6563](https://togithub.com/pydantic/pydantic/pull/6563) - Add a `with_config` decorator to comply with typing spec by [@​Viicos](https://togithub.com/Viicos) in [#​8611](https://togithub.com/pydantic/pydantic/pull/8611) - Allow an optional separator splitting the value and unit of the result of `ByteSize.human_readable` by [@​jks15satoshi](https://togithub.com/jks15satoshi) in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - Add generic `Secret` base type by [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - Make use of `Sphinx` inventories for cross references in docs by [@​Viicos](https://togithub.com/Viicos) in [#​8682](https://togithub.com/pydantic/pydantic/pull/8682) - Add environment variable to disable plugins by [@​geospackle](https://togithub.com/geospackle) in [#​8767](https://togithub.com/pydantic/pydantic/pull/8767) - Add support for `deprecated` fields by [@​Viicos](https://togithub.com/Viicos) in [#​8237](https://togithub.com/pydantic/pydantic/pull/8237) - Allow `field_serializer('*')` by [@​ornariece](https://togithub.com/ornariece) in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - Handle a case when `model_config` is defined as a model property by [@​alexeyt101](https://togithub.com/alexeyt101) in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - Update `create_model()` to support `typing.Annotated` as input by [@​wannieman98](https://togithub.com/wannieman98) in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - Add `ClickhouseDsn` support by [@​solidguy7](https://togithub.com/solidguy7) in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - Add support for `re.Pattern[str]` to `pattern` field by [@​jag-k](https://togithub.com/jag-k) in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - Support for `serialize_as_any` runtime setting by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8830](https://togithub.com/pydantic/pydantic/pull/8830) - Add support for `typing.Self` by [@​Youssefares](https://togithub.com/Youssefares) in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - Ability to pass `context` to serialization by [@​ornariece](https://togithub.com/ornariece) in [#​8965](https://togithub.com/pydantic/pydantic/pull/8965) - Add feedback widget to docs with flarelytics integration by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9129](https://togithub.com/pydantic/pydantic/pull/9129) - Support for parsing partial JSON strings in Python by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#66](https://togithub.com/pydantic/jiter/pull/66) **Finalized in v2.7.0, rather than v2.7.0b1:** - Add support for field level number to str coercion option by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9137](https://togithub.com/pydantic/pydantic/pull/9137) - Update `warnings` parameter for serialization utilities to allow raising a warning by [@​Lance-Drane](https://togithub.com/Lance-Drane) in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) ##### Changes - Correct docs, logic for `model_construct` behavior with `extra` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8807](https://togithub.com/pydantic/pydantic/pull/8807) - Improve error message for improper `RootModel` subclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8857](https://togithub.com/pydantic/pydantic/pull/8857) - Use `PEP570` syntax by [@​Viicos](https://togithub.com/Viicos) in [#​8940](https://togithub.com/pydantic/pydantic/pull/8940) - Add `enum` and `type` to the JSON schema for single item literals by [@​dmontagu](https://togithub.com/dmontagu) in [#​8944](https://togithub.com/pydantic/pydantic/pull/8944) - Deprecate `update_json_schema` internal function by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9125](https://togithub.com/pydantic/pydantic/pull/9125) - Serialize duration to hour minute second, instead of just seconds by [@​kakilangit](https://togithub.com/kakilangit) in [pydantic/speedate#50](https://togithub.com/pydantic/speedate/pull/50) - Trimming str before parsing to int and float by [@​hungtsetse](https://togithub.com/hungtsetse) in [pydantic/pydantic-core#1203](https://togithub.com/pydantic/pydantic-core/pull/1203) ##### Performance - `enum` validator improvements by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9045](https://togithub.com/pydantic/pydantic/pull/9045) - Move `enum` validation and serialization to Rust by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9064](https://togithub.com/pydantic/pydantic/pull/9064) - Improve schema generation for nested dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9114](https://togithub.com/pydantic/pydantic/pull/9114) - Fast path for ASCII python string creation in JSON by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#72](https://togithub.com/pydantic/jiter/pull/72) - SIMD integer and string JSON parsing on `aarch64`(**Note:** SIMD on x86 will be implemented in a future release) by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#65](https://togithub.com/pydantic/jiter/pull/65) - Support JSON `Cow<str>` from `jiter` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1231](https://togithub.com/pydantic/pydantic-core/pull/1231) - MAJOR performance improvement: update to PyO3 0.21 final by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1248](https://togithub.com/pydantic/pydantic-core/pull/1248) - cache Python strings by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1240](https://togithub.com/pydantic/pydantic-core/pull/1240) ##### Fixes - Fix strict parsing for some `Sequence`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8614](https://togithub.com/pydantic/pydantic/pull/8614) - Add a check on the existence of `__qualname__` by [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - Handle `__pydantic_extra__` annotation being a string or inherited by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​8659](https://togithub.com/pydantic/pydantic/pull/8659) - Fix json validation for `NameEmail` by [@​Holi0317](https://togithub.com/Holi0317) in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - Fix type-safety of attribute access in `BaseModel` by [@​bluenote10](https://togithub.com/bluenote10) in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - Fix bug with `mypy` plugin and `no_strict_optional = True` by [@​dmontagu](https://togithub.com/dmontagu) in [#​8666](https://togithub.com/pydantic/pydantic/pull/8666) - Fix `ByteSize` error `type` change by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8681](https://togithub.com/pydantic/pydantic/pull/8681) - Fix inheriting annotations in dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8679](https://togithub.com/pydantic/pydantic/pull/8679) - Fix regression in core schema generation for indirect definition references by [@​dmontagu](https://togithub.com/dmontagu) in [#​8702](https://togithub.com/pydantic/pydantic/pull/8702) - Fix unsupported types bug with plain validator by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8710](https://togithub.com/pydantic/pydantic/pull/8710) - Reverting problematic fix from 2.6 release, fixing schema building bug by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8718](https://togithub.com/pydantic/pydantic/pull/8718) - fixes `__pydantic_config__` ignored for TypeDict by [@​13sin](https://togithub.com/13sin) in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - Fix test failures with `pytest v8.0.0` due to `pytest.warns()` starting to work inside `pytest.raises()` by [@​mgorny](https://togithub.com/mgorny) in [#​8678](https://togithub.com/pydantic/pydantic/pull/8678) - Use `is_valid_field` from 1.x for `mypy` plugin by [@​DanielNoord](https://togithub.com/DanielNoord) in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - Better-support `mypy` strict equality flag by [@​dmontagu](https://togithub.com/dmontagu) in [#​8799](https://togithub.com/pydantic/pydantic/pull/8799) - model_json_schema export with Annotated types misses 'required' parameters by [@​LouisGobert](https://togithub.com/LouisGobert) in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - Fix default inclusion in `FieldInfo.__repr_args__` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8801](https://togithub.com/pydantic/pydantic/pull/8801) - Fix resolution of forward refs in dataclass base classes that are not present in the subclass module namespace by [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - Fix `BaseModel` type annotations to be resolvable by `typing.get_type_hints` by [@​devmonkey22](https://togithub.com/devmonkey22) in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - Fix: allow empty string aliases with `AliasGenerator` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8810](https://togithub.com/pydantic/pydantic/pull/8810) - Fix test along with `date` -> `datetime` timezone assumption fix by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8823](https://togithub.com/pydantic/pydantic/pull/8823) - Fix deprecation warning with usage of `ast.Str` by [@​Viicos](https://togithub.com/Viicos) in [#​8837](https://togithub.com/pydantic/pydantic/pull/8837) - Add missing `deprecated` decorators by [@​Viicos](https://togithub.com/Viicos) in [#​8877](https://togithub.com/pydantic/pydantic/pull/8877) - Fix serialization of `NameEmail` if name includes an email address by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8860](https://togithub.com/pydantic/pydantic/pull/8860) - Add information about class in error message of schema generation by [@​Czaki](https://togithub.com/Czaki) in [#​8917](https://togithub.com/pydantic/pydantic/pull/8917) - Make `TypeAdapter`'s typing compatible with special forms by [@​adriangb](https://togithub.com/adriangb) in [#​8923](https://togithub.com/pydantic/pydantic/pull/8923) - Fix issue with config behavior being baked into the ref schema for `enum`s by [@​dmontagu](https://togithub.com/dmontagu) in [#​8920](https://togithub.com/pydantic/pydantic/pull/8920) - More helpful error re wrong `model_json_schema` usage by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8928](https://togithub.com/pydantic/pydantic/pull/8928) - Fix nested discriminated union schema gen, pt 2 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8932](https://togithub.com/pydantic/pydantic/pull/8932) - Fix schema build for nested dataclasses / TypedDicts with discriminators by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8950](https://togithub.com/pydantic/pydantic/pull/8950) - Remove unnecessary logic for definitions schema gen with discriminated unions by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8951](https://togithub.com/pydantic/pydantic/pull/8951) - Fix handling of optionals in `mypy` plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9008](https://togithub.com/pydantic/pydantic/pull/9008) - Fix `PlainSerializer` usage with std type constructor by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9031](https://togithub.com/pydantic/pydantic/pull/9031) - Remove unnecessary warning for config in plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9039](https://togithub.com/pydantic/pydantic/pull/9039) - Fix default value serializing by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9066](https://togithub.com/pydantic/pydantic/pull/9066) - Fix extra fields check in `Model.__getattr__()` by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9082](https://togithub.com/pydantic/pydantic/pull/9082) - Fix `ClassVar` forward ref inherited from parent class by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​9097](https://togithub.com/pydantic/pydantic/pull/9097) - fix sequence like validator with strict `True` by [@​andresliszt](https://togithub.com/andresliszt) in [#​8977](https://togithub.com/pydantic/pydantic/pull/8977) - Improve warning message when a field name shadows a field in a parent model by [@​chan-vince](https://togithub.com/chan-vince) in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - Do not warn about shadowed fields if they are not redefined in a child class by [@​chan-vince](https://togithub.com/chan-vince) in [#​9111](https://togithub.com/pydantic/pydantic/pull/9111) - Fix discriminated union bug with unsubstituted type var by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9124](https://togithub.com/pydantic/pydantic/pull/9124) - Support serialization of `deque` when passed to `Sequence[blah blah blah]` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9128](https://togithub.com/pydantic/pydantic/pull/9128) - Init private attributes from super-types in `model_post_init` by [@​Viicos](https://togithub.com/Viicos) in [#​9134](https://togithub.com/pydantic/pydantic/pull/9134) - fix `model_construct` with `validation_alias` by [@​ornariece](https://togithub.com/ornariece) in [#​9144](https://togithub.com/pydantic/pydantic/pull/9144) - Ensure json-schema generator handles `Literal` `null` types by [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - **Fixed in v2.7.0**: Fix allow extra generic by [@​dmontagu](https://togithub.com/dmontagu) in [#​9193](https://togithub.com/pydantic/pydantic/pull/9193) ##### New Contributors - [@​hungtsetse](https://togithub.com/hungtsetse) made their first contribution in [#​8546](https://togithub.com/pydantic/pydantic/pull/8546) - [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) made their first contribution in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) - [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) made their first contribution in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - [@​Holi0317](https://togithub.com/Holi0317) made their first contribution in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - [@​bluenote10](https://togithub.com/bluenote10) made their first contribution in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - [@​ADSteele916](https://togithub.com/ADSteele916) made their first contribution in [#​8703](https://togithub.com/pydantic/pydantic/pull/8703) - [@​musicinmybrain](https://togithub.com/musicinmybrain) made their first contribution in [#​8731](https://togithub.com/pydantic/pydantic/pull/8731) - [@​jks15satoshi](https://togithub.com/jks15satoshi) made their first contribution in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - [@​13sin](https://togithub.com/13sin) made their first contribution in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - [@​DanielNoord](https://togithub.com/DanielNoord) made their first contribution in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) made their first contribution in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - [@​chris-griffin](https://togithub.com/chris-griffin) made their first contribution in [#​8775](https://togithub.com/pydantic/pydantic/pull/8775) - [@​LouisGobert](https://togithub.com/LouisGobert) made their first contribution in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) made their first contribution in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - [@​devmonkey22](https://togithub.com/devmonkey22) made their first contribution in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - [@​adamency](https://togithub.com/adamency) made their first contribution in [#​8847](https://togithub.com/pydantic/pydantic/pull/8847) - [@​MamfTheKramf](https://togithub.com/MamfTheKramf) made their first contribution in [#​8851](https://togithub.com/pydantic/pydantic/pull/8851) - [@​ornariece](https://togithub.com/ornariece) made their first contribution in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - [@​alexeyt101](https://togithub.com/alexeyt101) made their first contribution in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - [@​wannieman98](https://togithub.com/wannieman98) made their first contribution in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - [@​solidguy7](https://togithub.com/solidguy7) made their first contribution in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - [@​kloczek](https://togithub.com/kloczek) made their first contribution in [#​9047](https://togithub.com/pydantic/pydantic/pull/9047) - [@​jag-k](https://togithub.com/jag-k) made their first contribution in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - [@​priya-gitTest](https://togithub.com/priya-gitTest) made their first contribution in [#​9088](https://togithub.com/pydantic/pydantic/pull/9088) - [@​Youssefares](https://togithub.com/Youssefares) made their first contribution in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - [@​chan-vince](https://togithub.com/chan-vince) made their first contribution in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) made their first contribution in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - [@​Lance-Drane](https://togithub.com/Lance-Drane) made their first contribution in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) ### [`v2.6.4`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v264-2024-03-12) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.3...v2.6.4) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.4) ##### What's Changed ##### Fixes - Fix usage of `AliasGenerator` with `computed_field` decorator by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8806](https://togithub.com/pydantic/pydantic/pull/8806) - Fix nested discriminated union schema gen, pt 2 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8932](https://togithub.com/pydantic/pydantic/pull/8932) - Fix bug with no_strict_optional=True caused by API deferral by [@​dmontagu](https://togithub.com/dmontagu) in [#​8826](https://togithub.com/pydantic/pydantic/pull/8826) ### [`v2.6.3`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v263-2024-02-27) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.2...v2.6.3) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.3) ##### What's Changed ##### Packaging - Update `pydantic-settings` version in the docs by [@​hramezani](https://togithub.com/hramezani) in [#​8906](https://togithub.com/pydantic/pydantic/pull/8906) ##### Fixes - Fix discriminated union schema gen bug by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8904](https://togithub.com/pydantic/pydantic/pull/8904) ### [`v2.6.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v262-2024-02-23) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.1...v2.6.2) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.2) ##### What's Changed ##### Packaging - Upgrade to `pydantic-core` 2.16.3 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8879](https://togithub.com/pydantic/pydantic/pull/8879) ##### Fixes - 'YYYY-MM-DD' date string coerced to datetime shouldn't infer timezone by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1193](https://togithub.com/pydantic/pydantic-core/pull/1193) ### [`v2.6.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v261-2024-02-05) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.0...v2.6.1) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.1) ##### What's Changed ##### Packaging - Upgrade to `pydantic-core` 2.16.2 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8717](https://togithub.com/pydantic/pydantic/pull/8717) ##### Fixes - Fix bug with `mypy` plugin and `no_strict_optional = True` by [@​dmontagu](https://togithub.com/dmontagu) in [#​8666](https://togithub.com/pydantic/pydantic/pull/8666) - Fix `ByteSize` error `type` change by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8681](https://togithub.com/pydantic/pydantic/pull/8681) - Fix inheriting `Field` annotations in dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8679](https://togithub.com/pydantic/pydantic/pull/8679) - Fix regression in core schema generation for indirect definition references by [@​dmontagu](https://togithub.com/dmontagu) in [#​8702](https://togithub.com/pydantic/pydantic/pull/8702) - Fix unsupported types bug with `PlainValidator` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8710](https://togithub.com/pydantic/pydantic/pull/8710) - Reverting problematic fix from 2.6 release, fixing schema building bug by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8718](https://togithub.com/pydantic/pydantic/pull/8718) - Fix warning for tuple of wrong size in `Union` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1174](https://togithub.com/pydantic/pydantic-core/pull/1174) - Fix `computed_field` JSON serializer `exclude_none` behavior by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1187](https://togithub.com/pydantic/pydantic-core/pull/1187) ### [`v2.6.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v260-2024-01-23) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.5.3...v2.6.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.6.0) The code released in v2.6.0 is practically identical to that of v2.6.0b1. ##### What's Changed ##### Packaging - Check for `email-validator` version >= 2.0 by [@​commonism](https://togithub.com/commonism) in [#​6033](https://togithub.com/pydantic/pydantic/pull/6033) - Upgrade \`ruff\`\` target version to Python 3.8 by [@​Elkiwa](https://togithub.com/Elkiwa) in [#​8341](https://togithub.com/pydantic/pydantic/pull/8341) - Update to `pydantic-extra-types==2.4.1` by [@​yezz123](https://togithub.com/yezz123) in [#​8478](https://togithub.com/pydantic/pydantic/pull/8478) - Update to `pyright==1.1.345` by [@​Viicos](https://togithub.com/Viicos) in [#​8453](https://togithub.com/pydantic/pydantic/pull/8453) - Update pydantic-core from 2.14.6 to 2.16.1, significant changes from these updates are described below, full changelog [here](https://togithub.com/pydantic/pydantic-core/compare/v2.14.6...v2.16.1) ##### New Features - Add `NatsDsn` by [@​ekeew](https://togithub.com/ekeew) in [#​6874](https://togithub.com/pydantic/pydantic/pull/6874) - Add `ConfigDict.ser_json_inf_nan` by [@​davidhewitt](https://togithub.com/davidhewitt) in [#​8159](https://togithub.com/pydantic/pydantic/pull/8159) - Add `types.OnErrorOmit` by [@​adriangb](https://togithub.com/adriangb) in [#​8222](https://togithub.com/pydantic/pydantic/pull/8222) - Support `AliasGenerator` usage by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8282](https://togithub.com/pydantic/pydantic/pull/8282) - Add Pydantic People Page to docs by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8345](https://togithub.com/pydantic/pydantic/pull/8345) - Support `yyyy-MM-DD` datetime parsing by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8404](https://togithub.com/pydantic/pydantic/pull/8404) - Added bits conversions to the `ByteSize` class [#​8415](https://togithub.com/pydantic/pydantic/issues/8415) by [@​luca-matei](https://togithub.com/luca-matei) in [#​8507](https://togithub.com/pydantic/pydantic/pull/8507) - Enable json schema creation with type `ByteSize` by [@​geospackle](https://togithub.com/geospackle) in [#​8537](https://togithub.com/pydantic/pydantic/pull/8537) - Add `eval_type_backport` to handle union operator and builtin generic subscripting in older Pythons by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​8209](https://togithub.com/pydantic/pydantic/pull/8209) - Add support for `dataclass` fields `init` by [@​dmontagu](https://togithub.com/dmontagu) in [#​8552](https://togithub.com/pydantic/pydantic/pull/8552) - Implement pickling for `ValidationError` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1119](https://togithub.com/pydantic/pydantic-core/pull/1119) - Add unified tuple validator that can handle "variadic" tuples via PEP-646 by [@​dmontagu](https://togithub.com/dmontagu) in [pydantic/pydantic-core#865](https://togithub.com/pydantic/pydantic-core/pull/865) ##### Changes - Drop Python3.7 support by [@​hramezani](https://togithub.com/hramezani) in [#​7188](https://togithub.com/pydantic/pydantic/pull/7188) - Drop Python 3.7, and PyPy 3.7 and 3.8 by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1129](https://togithub.com/pydantic/pydantic-core/pull/1129) - Use positional-only `self` in `BaseModel` constructor, so no field name can ever conflict with it by [@​ariebovenberg](https://togithub.com/ariebovenberg) in [#​8072](https://togithub.com/pydantic/pydantic/pull/8072) - Make `@validate_call` return a function instead of a custom descriptor - fixes binding issue with inheritance and adds `self/cls` argument to validation errors by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​8268](https://togithub.com/pydantic/pydantic/pull/8268) - Exclude `BaseModel` docstring from JSON schema description by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8352](https://togithub.com/pydantic/pydantic/pull/8352) - Introducing `classproperty` decorator for `model_computed_fields` by [@​Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) in [#​8437](https://togithub.com/pydantic/pydantic/pull/8437) - Explicitly raise an error if field names clashes with types by [@​Viicos](https://togithub.com/Viicos) in [#​8243](https://togithub.com/pydantic/pydantic/pull/8243) - Use stricter serializer for unions of simple types by [@​alexdrydew](https://togithub.com/alexdrydew) [pydantic/pydantic-core#1132](https://togithub.com/pydantic/pydantic-core/pull/1132) ##### Performance - Add Codspeed profiling Actions workflow by [@​lambertsbennett](https://togithub.com/lambertsbennett) in [#​8054](https://togithub.com/pydantic/pydantic/pull/8054) - Improve `int` extraction by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1155](https://togithub.com/pydantic/pydantic-core/pull/1155) - Improve performance of recursion guard by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1156](https://togithub.com/pydantic/pydantic-core/pull/1156) - `dataclass` serialization speedups by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1162](https://togithub.com/pydantic/pydantic-core/pull/1162) - Avoid `HashMap` creation when looking up small JSON objects in `LazyIndexMaps` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#55](https://togithub.com/pydantic/jiter/pull/55) - use hashbrown to speedup python string caching by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/jiter#51](https://togithub.com/pydantic/jiter/pull/51) - Replace `Peak` with more efficient `Peek` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/jiter#48](https://togithub.com/pydantic/jiter/pull/48) ##### Fixes - Move `getattr` warning in deprecated `BaseConfig` by [@​tlambert03](https://togithub.com/tlambert03) in [#​7183](https://togithub.com/pydantic/pydantic/pull/7183) - Only hash `model_fields`, not whole `__dict__` by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​7786](https://togithub.com/pydantic/pydantic/pull/7786) - Fix mishandling of unions while freezing types in the `mypy` plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​7411](https://togithub.com/pydantic/pydantic/pull/7411) - Fix `mypy` error on untyped `ClassVar` by [@​vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) in [#​8138](https://togithub.com/pydantic/pydantic/pull/8138) - Only compare pydantic fields in `BaseModel.__eq__` instead of whole `__dict__` by [@​QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia) in [#​7825](https://togithub.com/pydantic/pydantic/pull/7825) - Update `strict` docstring in `model_validate` method. by [@​LukeTonin](https://togithub.com/LukeTonin) in [#​8223](https://togithub.com/pydantic/pydantic/pull/8223) - Fix overload position of `computed_field` by [@​Viicos](https://togithub.com/Viicos) in [#​8227](https://togithub.com/pydantic/pydantic/pull/8227) - Fix custom type type casting used in multiple attributes by [@​ianhfc](https://togithub.com/ianhfc) in [#​8066](https://togithub.com/pydantic/pydantic/pull/8066) - Fix issue not allowing `validate_call` decorator to be 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 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/RobertCraigie/prisma-client-py). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | project.dependencies | minor | `==2.6.4` -> `==2.7.1` | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.7.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v271-2024-04-23) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.0...v2.7.1) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.1) ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.18.2` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9307](https://togithub.com/pydantic/pydantic/pull/9307) ##### New Features - Ftp and Websocket connection strings support by [@​CherrySuryp](https://togithub.com/CherrySuryp) in [#​9205](https://togithub.com/pydantic/pydantic/pull/9205) ##### Changes - Use field description for RootModel schema description when there is `…` by [@​LouisGobert](https://togithub.com/LouisGobert) in [#​9214](https://togithub.com/pydantic/pydantic/pull/9214) ##### Fixes - Fix `validation_alias` behavior with `model_construct` for `AliasChoices` and `AliasPath` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9223](https://togithub.com/pydantic/pydantic/pull/9223) - Revert `typing.Literal` and import it outside the TYPE_CHECKING block by [@​frost-nzcr4](https://togithub.com/frost-nzcr4) in [#​9232](https://togithub.com/pydantic/pydantic/pull/9232) - Fix `Secret` serialization schema, applicable for unions by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9240](https://togithub.com/pydantic/pydantic/pull/9240) - Fix `strict` application to `function-after` with `use_enum_values` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9279](https://togithub.com/pydantic/pydantic/pull/9279) - Address case where `model_construct` on a class which defines `model_post_init` fails with `AttributeError` by [@​babygrimes](https://togithub.com/babygrimes) in [#​9168](https://togithub.com/pydantic/pydantic/pull/9168) - Fix `model_json_schema` with config types by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9287](https://togithub.com/pydantic/pydantic/pull/9287) - Support multiple zeros as an `int` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1269](https://togithub.com/pydantic/pydantic-core/pull/1269) - Fix validation of `int`s with leading unary plus by [@​cknv](https://togithub.com/cknv) in [pydantic/pydantic-core#1272](https://togithub.com/pydantic/pydantic-core/pull/1272) - Fix interaction between `extra != 'ignore'` and `from_attributes=True` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1276](https://togithub.com/pydantic/pydantic-core/pull/1276) - Handle error from `Enum`'s `missing` function as `ValidationError` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1274](https://togithub.com/pydantic/pydantic-core/pull/1754) - Fix memory leak with `Iterable` validation by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1271](https://togithub.com/pydantic/pydantic-core/pull/1751) ##### New Contributors - [@​zzstoatzz](https://togithub.com/zzstoatzz) made their first contribution in [#​9219](https://togithub.com/pydantic/pydantic/pull/9219) - [@​frost-nzcr4](https://togithub.com/frost-nzcr4) made their first contribution in [#​9232](https://togithub.com/pydantic/pydantic/pull/9232) - [@​CherrySuryp](https://togithub.com/CherrySuryp) made their first contribution in [#​9205](https://togithub.com/pydantic/pydantic/pull/9205) - [@​vagenas](https://togithub.com/vagenas) made their first contribution in [#​9268](https://togithub.com/pydantic/pydantic/pull/9268) - [@​ollz272](https://togithub.com/ollz272) made their first contribution in [#​9262](https://togithub.com/pydantic/pydantic/pull/9262) - [@​babygrimes](https://togithub.com/babygrimes) made their first contribution in [#​9168](https://togithub.com/pydantic/pydantic/pull/9168) - [@​swelborn](https://togithub.com/swelborn) made their first contribution in [#​9296](https://togithub.com/pydantic/pydantic/pull/9296) - [@​kf-novi](https://togithub.com/kf-novi) made their first contribution in [#​9236](https://togithub.com/pydantic/pydantic/pull/9236) - [@​lgeiger](https://togithub.com/lgeiger) made their first contribution in [#​9288](https://togithub.com/pydantic/pydantic/pull/9288) ### [`v2.7.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v270-2024-04-11) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.6.4...v2.7.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.7.0) The code released in v2.7.0 is practically identical to that of v2.7.0b1. ##### What's Changed ##### Packaging - Reorganize `pyproject.toml` sections by [@​Viicos](https://togithub.com/Viicos) in [#​8899](https://togithub.com/pydantic/pydantic/pull/8899) - Bump `pydantic-core` to `v2.18.1` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9211](https://togithub.com/pydantic/pydantic/pull/9211) - Adopt `jiter` `v0.2.0` by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1250](https://togithub.com/pydantic/pydantic-core/pull/1250) ##### New Features - Extract attribute docstrings from `FieldInfo.description` by [@​Viicos](https://togithub.com/Viicos) in [#​6563](https://togithub.com/pydantic/pydantic/pull/6563) - Add a `with_config` decorator to comply with typing spec by [@​Viicos](https://togithub.com/Viicos) in [#​8611](https://togithub.com/pydantic/pydantic/pull/8611) - Allow an optional separator splitting the value and unit of the result of `ByteSize.human_readable` by [@​jks15satoshi](https://togithub.com/jks15satoshi) in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - Add generic `Secret` base type by [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - Make use of `Sphinx` inventories for cross references in docs by [@​Viicos](https://togithub.com/Viicos) in [#​8682](https://togithub.com/pydantic/pydantic/pull/8682) - Add environment variable to disable plugins by [@​geospackle](https://togithub.com/geospackle) in [#​8767](https://togithub.com/pydantic/pydantic/pull/8767) - Add support for `deprecated` fields by [@​Viicos](https://togithub.com/Viicos) in [#​8237](https://togithub.com/pydantic/pydantic/pull/8237) - Allow `field_serializer('*')` by [@​ornariece](https://togithub.com/ornariece) in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - Handle a case when `model_config` is defined as a model property by [@​alexeyt101](https://togithub.com/alexeyt101) in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - Update `create_model()` to support `typing.Annotated` as input by [@​wannieman98](https://togithub.com/wannieman98) in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - Add `ClickhouseDsn` support by [@​solidguy7](https://togithub.com/solidguy7) in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - Add support for `re.Pattern[str]` to `pattern` field by [@​jag-k](https://togithub.com/jag-k) in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - Support for `serialize_as_any` runtime setting by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8830](https://togithub.com/pydantic/pydantic/pull/8830) - Add support for `typing.Self` by [@​Youssefares](https://togithub.com/Youssefares) in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - Ability to pass `context` to serialization by [@​ornariece](https://togithub.com/ornariece) in [#​8965](https://togithub.com/pydantic/pydantic/pull/8965) - Add feedback widget to docs with flarelytics integration by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9129](https://togithub.com/pydantic/pydantic/pull/9129) - Support for parsing partial JSON strings in Python by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/jiter#66](https://togithub.com/pydantic/jiter/pull/66) **Finalized in v2.7.0, rather than v2.7.0b1:** - Add support for field level number to str coercion option by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9137](https://togithub.com/pydantic/pydantic/pull/9137) - Update `warnings` parameter for serialization utilities to allow raising a warning by [@​Lance-Drane](https://togithub.com/Lance-Drane) in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) ##### Changes - Correct docs, logic for `model_construct` behavior with `extra` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8807](https://togithub.com/pydantic/pydantic/pull/8807) - Improve error message for improper `RootModel` subclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8857](https://togithub.com/pydantic/pydantic/pull/8857) - Use `PEP570` syntax by [@​Viicos](https://togithub.com/Viicos) in [#​8940](https://togithub.com/pydantic/pydantic/pull/8940) - Add `enum` and `type` to the JSON schema for single item literals by [@​dmontagu](https://togithub.com/dmontagu) in [#​8944](https://togithub.com/pydantic/pydantic/pull/8944) - Deprecate `update_json_schema` internal function by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9125](https://togithub.com/pydantic/pydantic/pull/9125) - Serialize duration to hour minute second, instead of just seconds by [@​kakilangit](https://togithub.com/kakilangit) in [pydantic/speedate#50](https://togithub.com/pydantic/speedate/pull/50) - Trimming str before parsing to int and float by [@​hungtsetse](https://togithub.com/hungtsetse) in [pydantic/pydantic-core#1203](https://togithub.com/pydantic/pydantic-core/pull/1203) ##### Performance - `enum` validator improvements by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9045](https://togithub.com/pydantic/pydantic/pull/9045) - Move `enum` validation and serialization to Rust by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​9064](https://togithub.com/pydantic/pydantic/pull/9064) - Improve schema generation for nested dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9114](https://togithub.com/pydantic/pydantic/pull/9114) - Fast path for ASCII python string creation in JSON by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#72](https://togithub.com/pydantic/jiter/pull/72) - SIMD integer and string JSON parsing on `aarch64`(**Note:** SIMD on x86 will be implemented in a future release) by [@​samuelcolvin](https://togithub.com/samuelcolvin) in in [pydantic/jiter#65](https://togithub.com/pydantic/jiter/pull/65) - Support JSON `Cow<str>` from `jiter` by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1231](https://togithub.com/pydantic/pydantic-core/pull/1231) - MAJOR performance improvement: update to PyO3 0.21 final by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/pydantic-core#1248](https://togithub.com/pydantic/pydantic-core/pull/1248) - cache Python strings by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [pydantic/pydantic-core#1240](https://togithub.com/pydantic/pydantic-core/pull/1240) ##### Fixes - Fix strict parsing for some `Sequence`s by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8614](https://togithub.com/pydantic/pydantic/pull/8614) - Add a check on the existence of `__qualname__` by [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - Handle `__pydantic_extra__` annotation being a string or inherited by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​8659](https://togithub.com/pydantic/pydantic/pull/8659) - Fix json validation for `NameEmail` by [@​Holi0317](https://togithub.com/Holi0317) in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - Fix type-safety of attribute access in `BaseModel` by [@​bluenote10](https://togithub.com/bluenote10) in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - Fix bug with `mypy` plugin and `no_strict_optional = True` by [@​dmontagu](https://togithub.com/dmontagu) in [#​8666](https://togithub.com/pydantic/pydantic/pull/8666) - Fix `ByteSize` error `type` change by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8681](https://togithub.com/pydantic/pydantic/pull/8681) - Fix inheriting annotations in dataclasses by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8679](https://togithub.com/pydantic/pydantic/pull/8679) - Fix regression in core schema generation for indirect definition references by [@​dmontagu](https://togithub.com/dmontagu) in [#​8702](https://togithub.com/pydantic/pydantic/pull/8702) - Fix unsupported types bug with plain validator by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8710](https://togithub.com/pydantic/pydantic/pull/8710) - Reverting problematic fix from 2.6 release, fixing schema building bug by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8718](https://togithub.com/pydantic/pydantic/pull/8718) - fixes `__pydantic_config__` ignored for TypeDict by [@​13sin](https://togithub.com/13sin) in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - Fix test failures with `pytest v8.0.0` due to `pytest.warns()` starting to work inside `pytest.raises()` by [@​mgorny](https://togithub.com/mgorny) in [#​8678](https://togithub.com/pydantic/pydantic/pull/8678) - Use `is_valid_field` from 1.x for `mypy` plugin by [@​DanielNoord](https://togithub.com/DanielNoord) in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - Better-support `mypy` strict equality flag by [@​dmontagu](https://togithub.com/dmontagu) in [#​8799](https://togithub.com/pydantic/pydantic/pull/8799) - model_json_schema export with Annotated types misses 'required' parameters by [@​LouisGobert](https://togithub.com/LouisGobert) in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - Fix default inclusion in `FieldInfo.__repr_args__` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8801](https://togithub.com/pydantic/pydantic/pull/8801) - Fix resolution of forward refs in dataclass base classes that are not present in the subclass module namespace by [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - Fix `BaseModel` type annotations to be resolvable by `typing.get_type_hints` by [@​devmonkey22](https://togithub.com/devmonkey22) in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - Fix: allow empty string aliases with `AliasGenerator` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8810](https://togithub.com/pydantic/pydantic/pull/8810) - Fix test along with `date` -> `datetime` timezone assumption fix by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8823](https://togithub.com/pydantic/pydantic/pull/8823) - Fix deprecation warning with usage of `ast.Str` by [@​Viicos](https://togithub.com/Viicos) in [#​8837](https://togithub.com/pydantic/pydantic/pull/8837) - Add missing `deprecated` decorators by [@​Viicos](https://togithub.com/Viicos) in [#​8877](https://togithub.com/pydantic/pydantic/pull/8877) - Fix serialization of `NameEmail` if name includes an email address by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​8860](https://togithub.com/pydantic/pydantic/pull/8860) - Add information about class in error message of schema generation by [@​Czaki](https://togithub.com/Czaki) in [#​8917](https://togithub.com/pydantic/pydantic/pull/8917) - Make `TypeAdapter`'s typing compatible with special forms by [@​adriangb](https://togithub.com/adriangb) in [#​8923](https://togithub.com/pydantic/pydantic/pull/8923) - Fix issue with config behavior being baked into the ref schema for `enum`s by [@​dmontagu](https://togithub.com/dmontagu) in [#​8920](https://togithub.com/pydantic/pydantic/pull/8920) - More helpful error re wrong `model_json_schema` usage by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8928](https://togithub.com/pydantic/pydantic/pull/8928) - Fix nested discriminated union schema gen, pt 2 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8932](https://togithub.com/pydantic/pydantic/pull/8932) - Fix schema build for nested dataclasses / TypedDicts with discriminators by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8950](https://togithub.com/pydantic/pydantic/pull/8950) - Remove unnecessary logic for definitions schema gen with discriminated unions by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​8951](https://togithub.com/pydantic/pydantic/pull/8951) - Fix handling of optionals in `mypy` plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9008](https://togithub.com/pydantic/pydantic/pull/9008) - Fix `PlainSerializer` usage with std type constructor by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9031](https://togithub.com/pydantic/pydantic/pull/9031) - Remove unnecessary warning for config in plugin by [@​dmontagu](https://togithub.com/dmontagu) in [#​9039](https://togithub.com/pydantic/pydantic/pull/9039) - Fix default value serializing by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9066](https://togithub.com/pydantic/pydantic/pull/9066) - Fix extra fields check in `Model.__getattr__()` by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9082](https://togithub.com/pydantic/pydantic/pull/9082) - Fix `ClassVar` forward ref inherited from parent class by [@​alexmojaki](https://togithub.com/alexmojaki) in [#​9097](https://togithub.com/pydantic/pydantic/pull/9097) - fix sequence like validator with strict `True` by [@​andresliszt](https://togithub.com/andresliszt) in [#​8977](https://togithub.com/pydantic/pydantic/pull/8977) - Improve warning message when a field name shadows a field in a parent model by [@​chan-vince](https://togithub.com/chan-vince) in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - Do not warn about shadowed fields if they are not redefined in a child class by [@​chan-vince](https://togithub.com/chan-vince) in [#​9111](https://togithub.com/pydantic/pydantic/pull/9111) - Fix discriminated union bug with unsubstituted type var by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9124](https://togithub.com/pydantic/pydantic/pull/9124) - Support serialization of `deque` when passed to `Sequence[blah blah blah]` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9128](https://togithub.com/pydantic/pydantic/pull/9128) - Init private attributes from super-types in `model_post_init` by [@​Viicos](https://togithub.com/Viicos) in [#​9134](https://togithub.com/pydantic/pydantic/pull/9134) - fix `model_construct` with `validation_alias` by [@​ornariece](https://togithub.com/ornariece) in [#​9144](https://togithub.com/pydantic/pydantic/pull/9144) - Ensure json-schema generator handles `Literal` `null` types by [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - **Fixed in v2.7.0**: Fix allow extra generic by [@​dmontagu](https://togithub.com/dmontagu) in [#​9193](https://togithub.com/pydantic/pydantic/pull/9193) ##### New Contributors - [@​hungtsetse](https://togithub.com/hungtsetse) made their first contribution in [#​8546](https://togithub.com/pydantic/pydantic/pull/8546) - [@​StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) made their first contribution in [#​8583](https://togithub.com/pydantic/pydantic/pull/8583) - [@​anci3ntr0ck](https://togithub.com/anci3ntr0ck) made their first contribution in [#​8642](https://togithub.com/pydantic/pydantic/pull/8642) - [@​Holi0317](https://togithub.com/Holi0317) made their first contribution in [#​8650](https://togithub.com/pydantic/pydantic/pull/8650) - [@​bluenote10](https://togithub.com/bluenote10) made their first contribution in [#​8651](https://togithub.com/pydantic/pydantic/pull/8651) - [@​ADSteele916](https://togithub.com/ADSteele916) made their first contribution in [#​8703](https://togithub.com/pydantic/pydantic/pull/8703) - [@​musicinmybrain](https://togithub.com/musicinmybrain) made their first contribution in [#​8731](https://togithub.com/pydantic/pydantic/pull/8731) - [@​jks15satoshi](https://togithub.com/jks15satoshi) made their first contribution in [#​8706](https://togithub.com/pydantic/pydantic/pull/8706) - [@​13sin](https://togithub.com/13sin) made their first contribution in [#​8734](https://togithub.com/pydantic/pydantic/pull/8734) - [@​DanielNoord](https://togithub.com/DanielNoord) made their first contribution in [#​8738](https://togithub.com/pydantic/pydantic/pull/8738) - [@​conradogarciaberrotaran](https://togithub.com/conradogarciaberrotaran) made their first contribution in [#​8519](https://togithub.com/pydantic/pydantic/pull/8519) - [@​chris-griffin](https://togithub.com/chris-griffin) made their first contribution in [#​8775](https://togithub.com/pydantic/pydantic/pull/8775) - [@​LouisGobert](https://togithub.com/LouisGobert) made their first contribution in [#​8793](https://togithub.com/pydantic/pydantic/pull/8793) - [@​matsjoyce-refeyn](https://togithub.com/matsjoyce-refeyn) made their first contribution in [#​8751](https://togithub.com/pydantic/pydantic/pull/8751) - [@​devmonkey22](https://togithub.com/devmonkey22) made their first contribution in [#​7680](https://togithub.com/pydantic/pydantic/pull/7680) - [@​adamency](https://togithub.com/adamency) made their first contribution in [#​8847](https://togithub.com/pydantic/pydantic/pull/8847) - [@​MamfTheKramf](https://togithub.com/MamfTheKramf) made their first contribution in [#​8851](https://togithub.com/pydantic/pydantic/pull/8851) - [@​ornariece](https://togithub.com/ornariece) made their first contribution in [#​9001](https://togithub.com/pydantic/pydantic/pull/9001) - [@​alexeyt101](https://togithub.com/alexeyt101) made their first contribution in [#​9004](https://togithub.com/pydantic/pydantic/pull/9004) - [@​wannieman98](https://togithub.com/wannieman98) made their first contribution in [#​8947](https://togithub.com/pydantic/pydantic/pull/8947) - [@​solidguy7](https://togithub.com/solidguy7) made their first contribution in [#​9062](https://togithub.com/pydantic/pydantic/pull/9062) - [@​kloczek](https://togithub.com/kloczek) made their first contribution in [#​9047](https://togithub.com/pydantic/pydantic/pull/9047) - [@​jag-k](https://togithub.com/jag-k) made their first contribution in [#​9053](https://togithub.com/pydantic/pydantic/pull/9053) - [@​priya-gitTest](https://togithub.com/priya-gitTest) made their first contribution in [#​9088](https://togithub.com/pydantic/pydantic/pull/9088) - [@​Youssefares](https://togithub.com/Youssefares) made their first contribution in [#​9023](https://togithub.com/pydantic/pydantic/pull/9023) - [@​chan-vince](https://togithub.com/chan-vince) made their first contribution in [#​9105](https://togithub.com/pydantic/pydantic/pull/9105) - [@​bruno-f-cruz](https://togithub.com/bruno-f-cruz) made their first contribution in [#​9135](https://togithub.com/pydantic/pydantic/pull/9135) - [@​Lance-Drane](https://togithub.com/Lance-Drane) made their first contribution in [#​9166](https://togithub.com/pydantic/pydantic/pull/9166) </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 this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
60sisT1M3600sisT1H