-
Notifications
You must be signed in to change notification settings - Fork 309
Allow subclassing ValidationError and PydanticCustomError #1413
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
a724ee3
to
bec6b4b
Compare
CodSpeed Performance ReportMerging #1413 will not alter performanceComparing Summary
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1413 +/- ##
==========================================
- Coverage 90.21% 89.22% -0.99%
==========================================
Files 106 112 +6
Lines 16339 17697 +1358
Branches 36 41 +5
==========================================
+ Hits 14740 15790 +1050
- Misses 1592 1887 +295
- Partials 7 20 +13
... and 46 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
please review |
@davidhewitt would be good to get this moving |
+1 |
adding my +1 to this feature which I hope gets merged soon. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the pings, and sorry this took so long for me to revisit. This looks good, let's ship it! Thanks again 👍
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pydantic](https://redirect.github.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `2.9.2` -> `2.10.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.10.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.2...v2.10.0) The code released in v2.10.0 is practically identical to that of v2.10.0b2. [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.0) See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights! ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.27.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Replaced pdm with uv by [@​frfahim](https://redirect.github.com/frfahim) in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) ##### New Features - Support `fractions.Fraction` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10318](https://redirect.github.com/pydantic/pydantic/pull/10318) - Support `Hashable` for json validation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10324](https://redirect.github.com/pydantic/pydantic/pull/10324) - Add a `SocketPath` type for `linux` systems by [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - Allow arbitrary refs in JSON schema `examples` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10417](https://redirect.github.com/pydantic/pydantic/pull/10417) - Support `defer_build` for Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10313](https://redirect.github.com/pydantic/pydantic/pull/10313) - Adding v1 / v2 incompatibility warning for nested v1 model by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10431](https://redirect.github.com/pydantic/pydantic/pull/10431) - Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10416](https://redirect.github.com/pydantic/pydantic/pull/10416) - Support compiled patterns in `protected_namespaces` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10522](https://redirect.github.com/pydantic/pydantic/pull/10522) - Add support for `propertyNames` in JSON schema by [@​FlorianSW](https://redirect.github.com/FlorianSW) in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - Adding `__replace__` protocol for Python 3.13+ support by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10596](https://redirect.github.com/pydantic/pydantic/pull/10596) - Expose public `sort` method for JSON schema generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10595](https://redirect.github.com/pydantic/pydantic/pull/10595) - Add runtime validation of `@validate_call` callable argument by [@​kc0506](https://redirect.github.com/kc0506) in [#​10627](https://redirect.github.com/pydantic/pydantic/pull/10627) - Add `experimental_allow_partial` support by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10748](https://redirect.github.com/pydantic/pydantic/pull/10748) - Support default factories taking validated data as an argument by [@​Viicos](https://redirect.github.com/Viicos) in [#​10678](https://redirect.github.com/pydantic/pydantic/pull/10678) - Allow subclassing `ValidationError` and `PydanticCustomError` by [@​Youssefares](https://redirect.github.com/Youssefares) in [pydantic/pydantic-core#1413](https://redirect.github.com/pydantic/pydantic-core/pull/1413) - Add `trailing-strings` support to `experimental_allow_partial` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10537](https://redirect.github.com/pydantic/pydantic/pull/10537) - Improve `TypeAdapter` instance repr by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10872](https://redirect.github.com/pydantic/pydantic/pull/10872) ##### Changes - Don't allow customization of `SchemaGenerator` until interface is more stable by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10303](https://redirect.github.com/pydantic/pydantic/pull/10303) - Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10329](https://redirect.github.com/pydantic/pydantic/pull/10329) - Fix `mro` of generic subclass by [@​kc0506](https://redirect.github.com/kc0506) in [#​10100](https://redirect.github.com/pydantic/pydantic/pull/10100) - Strip whitespaces on JSON Schema title generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10404](https://redirect.github.com/pydantic/pydantic/pull/10404) - Use `b64decode` and `b64encode` for `Base64Bytes` type by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10486](https://redirect.github.com/pydantic/pydantic/pull/10486) - Relax protected namespace config default by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10441](https://redirect.github.com/pydantic/pydantic/pull/10441) - Revalidate parametrized generics if instance's origin is subclass of OG class by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10666](https://redirect.github.com/pydantic/pydantic/pull/10666) - Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10406](https://redirect.github.com/pydantic/pydantic/pull/10406) - Recommend against using `Ellipsis` (...) with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10661](https://redirect.github.com/pydantic/pydantic/pull/10661) - Migrate to subclassing instead of annotated approach for pydantic url types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10662](https://redirect.github.com/pydantic/pydantic/pull/10662) - Change JSON schema generation of `Literal`s and `Enums` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10692](https://redirect.github.com/pydantic/pydantic/pull/10692) - Simplify unions involving `Any` or `Never` when replacing type variables by [@​Viicos](https://redirect.github.com/Viicos) in [#​10338](https://redirect.github.com/pydantic/pydantic/pull/10338) - Do not require padding when decoding `base64` bytes by [@​bschoenmaeckers](https://redirect.github.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://redirect.github.com/pydantic/pydantic-core/pull/1448) - Support dates all the way to 1BC by [@​changhc](https://redirect.github.com/changhc) in [pydantic/speedate#77](https://redirect.github.com/pydantic/speedate/pull/77) ##### Performance - Schema cleaning: skip unnecessary copies during schema walking by [@​Viicos](https://redirect.github.com/Viicos) in [#​10286](https://redirect.github.com/pydantic/pydantic/pull/10286) - Refactor namespace logic for annotations evaluation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10530](https://redirect.github.com/pydantic/pydantic/pull/10530) - Improve email regexp on edge cases by [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10675](https://redirect.github.com/pydantic/pydantic/pull/10675) ##### Fixes - Remove guarding check on `computed_field` with `field_serializer` by [@​nix010](https://redirect.github.com/nix010) in [#​10390](https://redirect.github.com/pydantic/pydantic/pull/10390) - Fix `Predicate` issue in `v2.9.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10321](https://redirect.github.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10327](https://redirect.github.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://redirect.github.com/jakob-keller) in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - Use correct types namespace when building `namedtuple` core schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​10337](https://redirect.github.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://redirect.github.com/Viicos) in [#​10347](https://redirect.github.com/pydantic/pydantic/pull/10347) - Fix `IncEx` type alias definition by [@​Viicos](https://redirect.github.com/Viicos) in [#​10339](https://redirect.github.com/pydantic/pydantic/pull/10339) - Do not error when trying to evaluate annotations of private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​10358](https://redirect.github.com/pydantic/pydantic/pull/10358) - Fix nested type statement by [@​kc0506](https://redirect.github.com/kc0506) in [#​10369](https://redirect.github.com/pydantic/pydantic/pull/10369) - Improve typing of `ModelMetaclass.mro` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10372](https://redirect.github.com/pydantic/pydantic/pull/10372) - Fix class access of deprecated `computed_field`s by [@​Viicos](https://redirect.github.com/Viicos) in [#​10391](https://redirect.github.com/pydantic/pydantic/pull/10391) - Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@​MovisLi](https://redirect.github.com/MovisLi) in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - Fix `NameError` when using `validate_call` with PEP 695 on a class by [@​kc0506](https://redirect.github.com/kc0506) in [#​10380](https://redirect.github.com/pydantic/pydantic/pull/10380) - Fix `ZoneInfo` with various invalid types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10408](https://redirect.github.com/pydantic/pydantic/pull/10408) - Fix `PydanticUserError` on empty `model_config` with annotations by [@​cdwilson](https://redirect.github.com/cdwilson) in [#​10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10414](https://redirect.github.com/pydantic/pydantic/pull/10414) - Fix serialization schema generation when using `PlainValidator` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10427](https://redirect.github.com/pydantic/pydantic/pull/10427) - Fix schema generation error when serialization schema holds references by [@​Viicos](https://redirect.github.com/Viicos) in [#​10444](https://redirect.github.com/pydantic/pydantic/pull/10444) - Inline references if possible when generating schema for `json_schema_input_type` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10439](https://redirect.github.com/pydantic/pydantic/pull/10439) - Fix recursive arguments in `Representation` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10480](https://redirect.github.com/pydantic/pydantic/pull/10480) - Fix representation for builtin function types by [@​kschwab](https://redirect.github.com/kschwab) in [#​10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10506](https://redirect.github.com/pydantic/pydantic/pull/10506) - Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10518](https://redirect.github.com/pydantic/pydantic/pull/10518) - Fix `stacklevel` on deprecation warnings for `BaseModel` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10520](https://redirect.github.com/pydantic/pydantic/pull/10520) - Fix warning `stacklevel` in `BaseModel.__init__` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10526](https://redirect.github.com/pydantic/pydantic/pull/10526) - Improve error handling for in-evaluable refs for discriminator application by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10440](https://redirect.github.com/pydantic/pydantic/pull/10440) - Change the signature of `ConfigWrapper.core_config` to take the title directly by [@​Viicos](https://redirect.github.com/Viicos) in [#​10562](https://redirect.github.com/pydantic/pydantic/pull/10562) - Do not use the previous config from the stack for dataclasses without config by [@​Viicos](https://redirect.github.com/Viicos) in [#​10576](https://redirect.github.com/pydantic/pydantic/pull/10576) - Fix serialization for IP types with `mode='python'` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10594](https://redirect.github.com/pydantic/pydantic/pull/10594) - Support constraint application for `Base64Etc` types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10584](https://redirect.github.com/pydantic/pydantic/pull/10584) - Fix `validate_call` ignoring `Field` in `Annotated` by [@​kc0506](https://redirect.github.com/kc0506) in [#​10610](https://redirect.github.com/pydantic/pydantic/pull/10610) - Raise an error when `Self` is invalid by [@​kc0506](https://redirect.github.com/kc0506) in [#​10609](https://redirect.github.com/pydantic/pydantic/pull/10609) - Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10523](https://redirect.github.com/pydantic/pydantic/pull/10523) - Tweak type alias logic by [@​kc0506](https://redirect.github.com/kc0506) in [#​10643](https://redirect.github.com/pydantic/pydantic/pull/10643) - Support usage of `type` with `typing.Self` and type aliases by [@​kc0506](https://redirect.github.com/kc0506) in [#​10621](https://redirect.github.com/pydantic/pydantic/pull/10621) - Use overloads for `Field` and `PrivateAttr` functions by [@​Viicos](https://redirect.github.com/Viicos) in [#​10651](https://redirect.github.com/pydantic/pydantic/pull/10651) - Clean up the `mypy` plugin implementation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10669](https://redirect.github.com/pydantic/pydantic/pull/10669) - Properly check for `typing_extensions` variant of `TypeAliasType` by [@​Daraan](https://redirect.github.com/Daraan) in [#​10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - Allow any mapping in `BaseModel.model_copy()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10751](https://redirect.github.com/pydantic/pydantic/pull/10751) - Fix `isinstance` behavior for urls by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10766](https://redirect.github.com/pydantic/pydantic/pull/10766) - Ensure `cached_property` can be set on Pydantic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​10774](https://redirect.github.com/pydantic/pydantic/pull/10774) - Fix equality checks for primitives in literals by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://redirect.github.com/pydantic/pydantic-core/pull/1459) - Properly enforce `host_required` for URLs by [@​Viicos](https://redirect.github.com/Viicos) in [pydantic/pydantic-core#1488](https://redirect.github.com/pydantic/pydantic-core/pull/1488) - Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@​andrey-berenda](https://redirect.github.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://redirect.github.com/pydantic/pydantic-core/pull/1515) - Fix serializing `complex` values in `Enum`s by [@​changhc](https://redirect.github.com/changhc) in [pydantic/pydantic-core#1524](https://redirect.github.com/pydantic/pydantic-core/pull/1524) - Refactor `_typing_extra` module by [@​Viicos](https://redirect.github.com/Viicos) in [#​10725](https://redirect.github.com/pydantic/pydantic/pull/10725) - Support intuitive equality for urls by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10798](https://redirect.github.com/pydantic/pydantic/pull/10798) - Add `bytearray` to `TypeAdapter.validate_json` signature by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10802](https://redirect.github.com/pydantic/pydantic/pull/10802) - Ensure class access of method descriptors is performed when used as a default with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10816](https://redirect.github.com/pydantic/pydantic/pull/10816) - Fix circular import with `validate_call` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10807](https://redirect.github.com/pydantic/pydantic/pull/10807) - Fix error when using type aliases referencing other type aliases by [@​Viicos](https://redirect.github.com/Viicos) in [#​10809](https://redirect.github.com/pydantic/pydantic/pull/10809) - Fix `IncEx` type alias to be compatible with mypy by [@​Viicos](https://redirect.github.com/Viicos) in [#​10813](https://redirect.github.com/pydantic/pydantic/pull/10813) - Make `__signature__` a lazy property, do not deepcopy defaults by [@​Viicos](https://redirect.github.com/Viicos) in [#​10818](https://redirect.github.com/pydantic/pydantic/pull/10818) - Make `__signature__` lazy for dataclasses, too by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10832](https://redirect.github.com/pydantic/pydantic/pull/10832) - Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10856](https://redirect.github.com/pydantic/pydantic/pull/10856) ##### New Contributors - [@​jakob-keller](https://redirect.github.com/jakob-keller) made their first contribution in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - [@​MovisLi](https://redirect.github.com/MovisLi) made their first contribution in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - [@​joaopalmeiro](https://redirect.github.com/joaopalmeiro) made their first contribution in [#​10405](https://redirect.github.com/pydantic/pydantic/pull/10405) - [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) made their first contribution in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - [@​cdwilson](https://redirect.github.com/cdwilson) made their first contribution in [#​10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - [@​dlax](https://redirect.github.com/dlax) made their first contribution in [#​10421](https://redirect.github.com/pydantic/pydantic/pull/10421) - [@​kschwab](https://redirect.github.com/kschwab) made their first contribution in [#​10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - [@​santibreo](https://redirect.github.com/santibreo) made their first contribution in [#​10453](https://redirect.github.com/pydantic/pydantic/pull/10453) - [@​FlorianSW](https://redirect.github.com/FlorianSW) made their first contribution in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - [@​tkasuz](https://redirect.github.com/tkasuz) made their first contribution in [#​10555](https://redirect.github.com/pydantic/pydantic/pull/10555) - [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) made their first contribution in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - [@​NiclasvanEyk](https://redirect.github.com/NiclasvanEyk) made their first contribution in [#​10667](https://redirect.github.com/pydantic/pydantic/pull/10667) - [@​mschoettle](https://redirect.github.com/mschoettle) made their first contribution in [#​10677](https://redirect.github.com/pydantic/pydantic/pull/10677) - [@​Daraan](https://redirect.github.com/Daraan) made their first contribution in [#​10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - [@​k4nar](https://redirect.github.com/k4nar) made their first contribution in [#​10736](https://redirect.github.com/pydantic/pydantic/pull/10736) - [@​UriyaHarpeness](https://redirect.github.com/UriyaHarpeness) made their first contribution in [#​10740](https://redirect.github.com/pydantic/pydantic/pull/10740) - [@​frfahim](https://redirect.github.com/frfahim) made their first contribution in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) </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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/spiraldb/ziggy-pydust). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pydantic](https://redirect.github.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `==2.9.2` -> `==2.10.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.10.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.2...v2.10.0) The code released in v2.10.0 is practically identical to that of v2.10.0b2. [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.0) See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights! ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.27.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Replaced pdm with uv by [@​frfahim](https://redirect.github.com/frfahim) in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) ##### New Features - Support `fractions.Fraction` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10318](https://redirect.github.com/pydantic/pydantic/pull/10318) - Support `Hashable` for json validation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10324](https://redirect.github.com/pydantic/pydantic/pull/10324) - Add a `SocketPath` type for `linux` systems by [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - Allow arbitrary refs in JSON schema `examples` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10417](https://redirect.github.com/pydantic/pydantic/pull/10417) - Support `defer_build` for Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10313](https://redirect.github.com/pydantic/pydantic/pull/10313) - Adding v1 / v2 incompatibility warning for nested v1 model by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10431](https://redirect.github.com/pydantic/pydantic/pull/10431) - Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10416](https://redirect.github.com/pydantic/pydantic/pull/10416) - Support compiled patterns in `protected_namespaces` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10522](https://redirect.github.com/pydantic/pydantic/pull/10522) - Add support for `propertyNames` in JSON schema by [@​FlorianSW](https://redirect.github.com/FlorianSW) in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - Adding `__replace__` protocol for Python 3.13+ support by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10596](https://redirect.github.com/pydantic/pydantic/pull/10596) - Expose public `sort` method for JSON schema generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10595](https://redirect.github.com/pydantic/pydantic/pull/10595) - Add runtime validation of `@validate_call` callable argument by [@​kc0506](https://redirect.github.com/kc0506) in [#​10627](https://redirect.github.com/pydantic/pydantic/pull/10627) - Add `experimental_allow_partial` support by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10748](https://redirect.github.com/pydantic/pydantic/pull/10748) - Support default factories taking validated data as an argument by [@​Viicos](https://redirect.github.com/Viicos) in [#​10678](https://redirect.github.com/pydantic/pydantic/pull/10678) - Allow subclassing `ValidationError` and `PydanticCustomError` by [@​Youssefares](https://redirect.github.com/Youssefares) in [pydantic/pydantic-core#1413](https://redirect.github.com/pydantic/pydantic-core/pull/1413) - Add `trailing-strings` support to `experimental_allow_partial` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10537](https://redirect.github.com/pydantic/pydantic/pull/10537) - Improve `TypeAdapter` instance repr by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10872](https://redirect.github.com/pydantic/pydantic/pull/10872) ##### Changes - Don't allow customization of `SchemaGenerator` until interface is more stable by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10303](https://redirect.github.com/pydantic/pydantic/pull/10303) - Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10329](https://redirect.github.com/pydantic/pydantic/pull/10329) - Fix `mro` of generic subclass by [@​kc0506](https://redirect.github.com/kc0506) in [#​10100](https://redirect.github.com/pydantic/pydantic/pull/10100) - Strip whitespaces on JSON Schema title generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10404](https://redirect.github.com/pydantic/pydantic/pull/10404) - Use `b64decode` and `b64encode` for `Base64Bytes` type by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10486](https://redirect.github.com/pydantic/pydantic/pull/10486) - Relax protected namespace config default by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10441](https://redirect.github.com/pydantic/pydantic/pull/10441) - Revalidate parametrized generics if instance's origin is subclass of OG class by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10666](https://redirect.github.com/pydantic/pydantic/pull/10666) - Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10406](https://redirect.github.com/pydantic/pydantic/pull/10406) - Recommend against using `Ellipsis` (...) with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10661](https://redirect.github.com/pydantic/pydantic/pull/10661) - Migrate to subclassing instead of annotated approach for pydantic url types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10662](https://redirect.github.com/pydantic/pydantic/pull/10662) - Change JSON schema generation of `Literal`s and `Enums` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10692](https://redirect.github.com/pydantic/pydantic/pull/10692) - Simplify unions involving `Any` or `Never` when replacing type variables by [@​Viicos](https://redirect.github.com/Viicos) in [#​10338](https://redirect.github.com/pydantic/pydantic/pull/10338) - Do not require padding when decoding `base64` bytes by [@​bschoenmaeckers](https://redirect.github.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://redirect.github.com/pydantic/pydantic-core/pull/1448) - Support dates all the way to 1BC by [@​changhc](https://redirect.github.com/changhc) in [pydantic/speedate#77](https://redirect.github.com/pydantic/speedate/pull/77) ##### Performance - Schema cleaning: skip unnecessary copies during schema walking by [@​Viicos](https://redirect.github.com/Viicos) in [#​10286](https://redirect.github.com/pydantic/pydantic/pull/10286) - Refactor namespace logic for annotations evaluation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10530](https://redirect.github.com/pydantic/pydantic/pull/10530) - Improve email regexp on edge cases by [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10675](https://redirect.github.com/pydantic/pydantic/pull/10675) ##### Fixes - Remove guarding check on `computed_field` with `field_serializer` by [@​nix010](https://redirect.github.com/nix010) in [#​10390](https://redirect.github.com/pydantic/pydantic/pull/10390) - Fix `Predicate` issue in `v2.9.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10321](https://redirect.github.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10327](https://redirect.github.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://redirect.github.com/jakob-keller) in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - Use correct types namespace when building `namedtuple` core schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​10337](https://redirect.github.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://redirect.github.com/Viicos) in [#​10347](https://redirect.github.com/pydantic/pydantic/pull/10347) - Fix `IncEx` type alias definition by [@​Viicos](https://redirect.github.com/Viicos) in [#​10339](https://redirect.github.com/pydantic/pydantic/pull/10339) - Do not error when trying to evaluate annotations of private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​10358](https://redirect.github.com/pydantic/pydantic/pull/10358) - Fix nested type statement by [@​kc0506](https://redirect.github.com/kc0506) in [#​10369](https://redirect.github.com/pydantic/pydantic/pull/10369) - Improve typing of `ModelMetaclass.mro` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10372](https://redirect.github.com/pydantic/pydantic/pull/10372) - Fix class access of deprecated `computed_field`s by [@​Viicos](https://redirect.github.com/Viicos) in [#​10391](https://redirect.github.com/pydantic/pydantic/pull/10391) - Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@​MovisLi](https://redirect.github.com/MovisLi) in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - Fix `NameError` when using `validate_call` with PEP 695 on a class by [@​kc0506](https://redirect.github.com/kc0506) in [#​10380](https://redirect.github.com/pydantic/pydantic/pull/10380) - Fix `ZoneInfo` with various invalid types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10408](https://redirect.github.com/pydantic/pydantic/pull/10408) - Fix `PydanticUserError` on empty `model_config` with annotations by [@​cdwilson](https://redirect.github.com/cdwilson) in [#​10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10414](https://redirect.github.com/pydantic/pydantic/pull/10414) - Fix serialization schema generation when using `PlainValidator` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10427](https://redirect.github.com/pydantic/pydantic/pull/10427) - Fix schema generation error when serialization schema holds references by [@​Viicos](https://redirect.github.com/Viicos) in [#​10444](https://redirect.github.com/pydantic/pydantic/pull/10444) - Inline references if possible when generating schema for `json_schema_input_type` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10439](https://redirect.github.com/pydantic/pydantic/pull/10439) - Fix recursive arguments in `Representation` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10480](https://redirect.github.com/pydantic/pydantic/pull/10480) - Fix representation for builtin function types by [@​kschwab](https://redirect.github.com/kschwab) in [#​10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10506](https://redirect.github.com/pydantic/pydantic/pull/10506) - Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10518](https://redirect.github.com/pydantic/pydantic/pull/10518) - Fix `stacklevel` on deprecation warnings for `BaseModel` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10520](https://redirect.github.com/pydantic/pydantic/pull/10520) - Fix warning `stacklevel` in `BaseModel.__init__` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10526](https://redirect.github.com/pydantic/pydantic/pull/10526) - Improve error handling for in-evaluable refs for discriminator application by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10440](https://redirect.github.com/pydantic/pydantic/pull/10440) - Change the signature of `ConfigWrapper.core_config` to take the title directly by [@​Viicos](https://redirect.github.com/Viicos) in [#​10562](https://redirect.github.com/pydantic/pydantic/pull/10562) - Do not use the previous config from the stack for dataclasses without config by [@​Viicos](https://redirect.github.com/Viicos) in [#​10576](https://redirect.github.com/pydantic/pydantic/pull/10576) - Fix serialization for IP types with `mode='python'` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10594](https://redirect.github.com/pydantic/pydantic/pull/10594) - Support constraint application for `Base64Etc` types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10584](https://redirect.github.com/pydantic/pydantic/pull/10584) - Fix `validate_call` ignoring `Field` in `Annotated` by [@​kc0506](https://redirect.github.com/kc0506) in [#​10610](https://redirect.github.com/pydantic/pydantic/pull/10610) - Raise an error when `Self` is invalid by [@​kc0506](https://redirect.github.com/kc0506) in [#​10609](https://redirect.github.com/pydantic/pydantic/pull/10609) - Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10523](https://redirect.github.com/pydantic/pydantic/pull/10523) - Tweak type alias logic by [@​kc0506](https://redirect.github.com/kc0506) in [#​10643](https://redirect.github.com/pydantic/pydantic/pull/10643) - Support usage of `type` with `typing.Self` and type aliases by [@​kc0506](https://redirect.github.com/kc0506) in [#​10621](https://redirect.github.com/pydantic/pydantic/pull/10621) - Use overloads for `Field` and `PrivateAttr` functions by [@​Viicos](https://redirect.github.com/Viicos) in [#​10651](https://redirect.github.com/pydantic/pydantic/pull/10651) - Clean up the `mypy` plugin implementation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10669](https://redirect.github.com/pydantic/pydantic/pull/10669) - Properly check for `typing_extensions` variant of `TypeAliasType` by [@​Daraan](https://redirect.github.com/Daraan) in [#​10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - Allow any mapping in `BaseModel.model_copy()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10751](https://redirect.github.com/pydantic/pydantic/pull/10751) - Fix `isinstance` behavior for urls by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10766](https://redirect.github.com/pydantic/pydantic/pull/10766) - Ensure `cached_property` can be set on Pydantic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​10774](https://redirect.github.com/pydantic/pydantic/pull/10774) - Fix equality checks for primitives in literals by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://redirect.github.com/pydantic/pydantic-core/pull/1459) - Properly enforce `host_required` for URLs by [@​Viicos](https://redirect.github.com/Viicos) in [pydantic/pydantic-core#1488](https://redirect.github.com/pydantic/pydantic-core/pull/1488) - Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@​andrey-berenda](https://redirect.github.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://redirect.github.com/pydantic/pydantic-core/pull/1515) - Fix serializing `complex` values in `Enum`s by [@​changhc](https://redirect.github.com/changhc) in [pydantic/pydantic-core#1524](https://redirect.github.com/pydantic/pydantic-core/pull/1524) - Refactor `_typing_extra` module by [@​Viicos](https://redirect.github.com/Viicos) in [#​10725](https://redirect.github.com/pydantic/pydantic/pull/10725) - Support intuitive equality for urls by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10798](https://redirect.github.com/pydantic/pydantic/pull/10798) - Add `bytearray` to `TypeAdapter.validate_json` signature by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10802](https://redirect.github.com/pydantic/pydantic/pull/10802) - Ensure class access of method descriptors is performed when used as a default with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10816](https://redirect.github.com/pydantic/pydantic/pull/10816) - Fix circular import with `validate_call` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10807](https://redirect.github.com/pydantic/pydantic/pull/10807) - Fix error when using type aliases referencing other type aliases by [@​Viicos](https://redirect.github.com/Viicos) in [#​10809](https://redirect.github.com/pydantic/pydantic/pull/10809) - Fix `IncEx` type alias to be compatible with mypy by [@​Viicos](https://redirect.github.com/Viicos) in [#​10813](https://redirect.github.com/pydantic/pydantic/pull/10813) - Make `__signature__` a lazy property, do not deepcopy defaults by [@​Viicos](https://redirect.github.com/Viicos) in [#​10818](https://redirect.github.com/pydantic/pydantic/pull/10818) - Make `__signature__` lazy for dataclasses, too by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10832](https://redirect.github.com/pydantic/pydantic/pull/10832) - Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10856](https://redirect.github.com/pydantic/pydantic/pull/10856) ##### New Contributors - [@​jakob-keller](https://redirect.github.com/jakob-keller) made their first contribution in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - [@​MovisLi](https://redirect.github.com/MovisLi) made their first contribution in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - [@​joaopalmeiro](https://redirect.github.com/joaopalmeiro) made their first contribution in [#​10405](https://redirect.github.com/pydantic/pydantic/pull/10405) - [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) made their first contribution in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - [@​cdwilson](https://redirect.github.com/cdwilson) made their first contribution in [#​10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - [@​dlax](https://redirect.github.com/dlax) made their first contribution in [#​10421](https://redirect.github.com/pydantic/pydantic/pull/10421) - [@​kschwab](https://redirect.github.com/kschwab) made their first contribution in [#​10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - [@​santibreo](https://redirect.github.com/santibreo) made their first contribution in [#​10453](https://redirect.github.com/pydantic/pydantic/pull/10453) - [@​FlorianSW](https://redirect.github.com/FlorianSW) made their first contribution in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - [@​tkasuz](https://redirect.github.com/tkasuz) made their first contribution in [#​10555](https://redirect.github.com/pydantic/pydantic/pull/10555) - [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) made their first contribution in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - [@​NiclasvanEyk](https://redirect.github.com/NiclasvanEyk) made their first contribution in [#​10667](https://redirect.github.com/pydantic/pydantic/pull/10667) - [@​mschoettle](https://redirect.github.com/mschoettle) made their first contribution in [#​10677](https://redirect.github.com/pydantic/pydantic/pull/10677) - [@​Daraan](https://redirect.github.com/Daraan) made their first contribution in [#​10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - [@​k4nar](https://redirect.github.com/k4nar) made their first contribution in [#​10736](https://redirect.github.com/pydantic/pydantic/pull/10736) - [@​UriyaHarpeness](https://redirect.github.com/UriyaHarpeness) made their first contribution in [#​10740](https://redirect.github.com/pydantic/pydantic/pull/10740) - [@​frfahim](https://redirect.github.com/frfahim) made their first contribution in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/MartinBernstorff/Memium). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [pydantic](https://togithub.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | dependencies | minor | `2.4.2` -> `2.10.2` | `2.10.3` | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.10.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2102-2024-11-25) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.10.1...v2.10.2) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.10.2) ##### What's Changed ##### Fixes - Only evaluate FieldInfo annotations if required during schema building by [@​Viicos](https://togithub.com/Viicos) in [#​10769](https://togithub.com/pydantic/pydantic/pull/10769) - Do not evaluate annotations for private fields by [@​Viicos](https://togithub.com/Viicos) in [#​10962](https://togithub.com/pydantic/pydantic/pull/10962) - Support serialization as any for `Secret` types and `Url` types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10947](https://togithub.com/pydantic/pydantic/pull/10947) - Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by [@​Viicos](https://togithub.com/Viicos) in [#​10972](https://togithub.com/pydantic/pydantic/pull/10972) - Add hashing support for URL types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10975](https://togithub.com/pydantic/pydantic/pull/10975) - Hide `BaseModel.__replace__` definition from type checkers by [@​Viicos](https://togithub.com/Viicos) in [10979](https://togithub.com/pydantic/pydantic/pull/10979) ### [`v2.10.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2101-2024-11-21) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.10.0...v2.10.1) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.10.1) ##### What's Changed ##### Packaging - Bump `pydantic-core` version to `v2.27.1` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10938](https://togithub.com/pydantic/pydantic/pull/10938) ##### Fixes - Use the correct frame when instantiating a parametrized `TypeAdapter` by [@​Viicos](https://togithub.com/Viicos) in [#​10893](https://togithub.com/pydantic/pydantic/pull/10893) - Relax check for validated data in `default_factory` utils by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10909](https://togithub.com/pydantic/pydantic/pull/10909) - Fix type checking issue with `model_fields` and `model_computed_fields` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10911](https://togithub.com/pydantic/pydantic/pull/10911) - Use the parent configuration during schema generation for stdlib `dataclass`es by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10928](https://togithub.com/pydantic/pydantic/pull/10928) - Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by [@​Viicos](https://togithub.com/Viicos) in [#​10929](https://togithub.com/pydantic/pydantic/pull/10929) - Fix URL constraint application by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10922](https://togithub.com/pydantic/pydantic/pull/10922) - Fix URL equality with different validation methods by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10934](https://togithub.com/pydantic/pydantic/pull/10934) - Fix JSON schema title when specified as `''` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10936](https://togithub.com/pydantic/pydantic/pull/10936) - Fix `python` mode serialization for `complex` inference by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic-core#1549](https://togithub.com/pydantic/pydantic-core/pull/1549) ##### New Contributors ### [`v2.10.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.9.2...v2.10.0) The code released in v2.10.0 is practically identical to that of v2.10.0b2. [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.10.0) See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights! ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.27.0` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10825](https://togithub.com/pydantic/pydantic/pull/10825) - Replaced pdm with uv by [@​frfahim](https://togithub.com/frfahim) in [#​10727](https://togithub.com/pydantic/pydantic/pull/10727) ##### New Features - Support `fractions.Fraction` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10318](https://togithub.com/pydantic/pydantic/pull/10318) - Support `Hashable` for json validation by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10324](https://togithub.com/pydantic/pydantic/pull/10324) - Add a `SocketPath` type for `linux` systems by [@​theunkn0wn1](https://togithub.com/theunkn0wn1) in [#​10378](https://togithub.com/pydantic/pydantic/pull/10378) - Allow arbitrary refs in JSON schema `examples` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10417](https://togithub.com/pydantic/pydantic/pull/10417) - Support `defer_build` for Pydantic dataclasses by [@​Viicos](https://togithub.com/Viicos) in [#​10313](https://togithub.com/pydantic/pydantic/pull/10313) - Adding v1 / v2 incompatibility warning for nested v1 model by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10431](https://togithub.com/pydantic/pydantic/pull/10431) - Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@​Viicos](https://togithub.com/Viicos) in [#​10416](https://togithub.com/pydantic/pydantic/pull/10416) - Support compiled patterns in `protected_namespaces` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10522](https://togithub.com/pydantic/pydantic/pull/10522) - Add support for `propertyNames` in JSON schema by [@​FlorianSW](https://togithub.com/FlorianSW) in [#​10478](https://togithub.com/pydantic/pydantic/pull/10478) - Adding `__replace__` protocol for Python 3.13+ support by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10596](https://togithub.com/pydantic/pydantic/pull/10596) - Expose public `sort` method for JSON schema generation by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10595](https://togithub.com/pydantic/pydantic/pull/10595) - Add runtime validation of `@validate_call` callable argument by [@​kc0506](https://togithub.com/kc0506) in [#​10627](https://togithub.com/pydantic/pydantic/pull/10627) - Add `experimental_allow_partial` support by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​10748](https://togithub.com/pydantic/pydantic/pull/10748) - Support default factories taking validated data as an argument by [@​Viicos](https://togithub.com/Viicos) in [#​10678](https://togithub.com/pydantic/pydantic/pull/10678) - Allow subclassing `ValidationError` and `PydanticCustomError` by [@​Youssefares](https://togithub.com/Youssefares) in [pydantic/pydantic-core#1413](https://togithub.com/pydantic/pydantic-core/pull/1413) - Add `trailing-strings` support to `experimental_allow_partial` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10825](https://togithub.com/pydantic/pydantic/pull/10825) - Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10537](https://togithub.com/pydantic/pydantic/pull/10537) - Improve `TypeAdapter` instance repr by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10872](https://togithub.com/pydantic/pydantic/pull/10872) ##### Changes - Don't allow customization of `SchemaGenerator` until interface is more stable by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10303](https://togithub.com/pydantic/pydantic/pull/10303) - Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10329](https://togithub.com/pydantic/pydantic/pull/10329) - Fix `mro` of generic subclass by [@​kc0506](https://togithub.com/kc0506) in [#​10100](https://togithub.com/pydantic/pydantic/pull/10100) - Strip whitespaces on JSON Schema title generation by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10404](https://togithub.com/pydantic/pydantic/pull/10404) - Use `b64decode` and `b64encode` for `Base64Bytes` type by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10486](https://togithub.com/pydantic/pydantic/pull/10486) - Relax protected namespace config default by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10441](https://togithub.com/pydantic/pydantic/pull/10441) - Revalidate parametrized generics if instance's origin is subclass of OG class by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10666](https://togithub.com/pydantic/pydantic/pull/10666) - Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10406](https://togithub.com/pydantic/pydantic/pull/10406) - Recommend against using `Ellipsis` (...) with `Field` by [@​Viicos](https://togithub.com/Viicos) in [#​10661](https://togithub.com/pydantic/pydantic/pull/10661) - Migrate to subclassing instead of annotated approach for pydantic url types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10662](https://togithub.com/pydantic/pydantic/pull/10662) - Change JSON schema generation of `Literal`s and `Enums` by [@​Viicos](https://togithub.com/Viicos) in [#​10692](https://togithub.com/pydantic/pydantic/pull/10692) - Simplify unions involving `Any` or `Never` when replacing type variables by [@​Viicos](https://togithub.com/Viicos) in [#​10338](https://togithub.com/pydantic/pydantic/pull/10338) - Do not require padding when decoding `base64` bytes by [@​bschoenmaeckers](https://togithub.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://togithub.com/pydantic/pydantic-core/pull/1448) - Support dates all the way to 1BC by [@​changhc](https://togithub.com/changhc) in [pydantic/speedate#77](https://togithub.com/pydantic/speedate/pull/77) ##### Performance - Schema cleaning: skip unnecessary copies during schema walking by [@​Viicos](https://togithub.com/Viicos) in [#​10286](https://togithub.com/pydantic/pydantic/pull/10286) - Refactor namespace logic for annotations evaluation by [@​Viicos](https://togithub.com/Viicos) in [#​10530](https://togithub.com/pydantic/pydantic/pull/10530) - Improve email regexp on edge cases by [@​AlekseyLobanov](https://togithub.com/AlekseyLobanov) in [#​10601](https://togithub.com/pydantic/pydantic/pull/10601) - `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10675](https://togithub.com/pydantic/pydantic/pull/10675) ##### Fixes - Remove guarding check on `computed_field` with `field_serializer` by [@​nix010](https://togithub.com/nix010) in [#​10390](https://togithub.com/pydantic/pydantic/pull/10390) - Fix `Predicate` issue in `v2.9.0` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10321](https://togithub.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10327](https://togithub.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://togithub.com/jakob-keller) in [#​10331](https://togithub.com/pydantic/pydantic/pull/10331) - Use correct types namespace when building `namedtuple` core schemas by [@​Viicos](https://togithub.com/Viicos) in [#​10337](https://togithub.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://togithub.com/Viicos) in [#​10347](https://togithub.com/pydantic/pydantic/pull/10347) - Fix `IncEx` type alias definition by [@​Viicos](https://togithub.com/Viicos) in [#​10339](https://togithub.com/pydantic/pydantic/pull/10339) - Do not error when trying to evaluate annotations of private attributes by [@​Viicos](https://togithub.com/Viicos) in [#​10358](https://togithub.com/pydantic/pydantic/pull/10358) - Fix nested type statement by [@​kc0506](https://togithub.com/kc0506) in [#​10369](https://togithub.com/pydantic/pydantic/pull/10369) - Improve typing of `ModelMetaclass.mro` by [@​Viicos](https://togithub.com/Viicos) in [#​10372](https://togithub.com/pydantic/pydantic/pull/10372) - Fix class access of deprecated `computed_field`s by [@​Viicos](https://togithub.com/Viicos) in [#​10391](https://togithub.com/pydantic/pydantic/pull/10391) - Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@​MovisLi](https://togithub.com/MovisLi) in [#​10374](https://togithub.com/pydantic/pydantic/pull/10374) - Fix `NameError` when using `validate_call` with PEP 695 on a class by [@​kc0506](https://togithub.com/kc0506) in [#​10380](https://togithub.com/pydantic/pydantic/pull/10380) - Fix `ZoneInfo` with various invalid types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10408](https://togithub.com/pydantic/pydantic/pull/10408) - Fix `PydanticUserError` on empty `model_config` with annotations by [@​cdwilson](https://togithub.com/cdwilson) in [#​10412](https://togithub.com/pydantic/pydantic/pull/10412) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@​Viicos](https://togithub.com/Viicos) in [#​10414](https://togithub.com/pydantic/pydantic/pull/10414) - Fix serialization schema generation when using `PlainValidator` by [@​Viicos](https://togithub.com/Viicos) in [#​10427](https://togithub.com/pydantic/pydantic/pull/10427) - Fix schema generation error when serialization schema holds references by [@​Viicos](https://togithub.com/Viicos) in [#​10444](https://togithub.com/pydantic/pydantic/pull/10444) - Inline references if possible when generating schema for `json_schema_input_type` by [@​Viicos](https://togithub.com/Viicos) in [#​10439](https://togithub.com/pydantic/pydantic/pull/10439) - Fix recursive arguments in `Representation` by [@​Viicos](https://togithub.com/Viicos) in [#​10480](https://togithub.com/pydantic/pydantic/pull/10480) - Fix representation for builtin function types by [@​kschwab](https://togithub.com/kschwab) in [#​10479](https://togithub.com/pydantic/pydantic/pull/10479) - Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10506](https://togithub.com/pydantic/pydantic/pull/10506) - Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@​Viicos](https://togithub.com/Viicos) in [#​10518](https://togithub.com/pydantic/pydantic/pull/10518) - Fix `stacklevel` on deprecation warnings for `BaseModel` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10520](https://togithub.com/pydantic/pydantic/pull/10520) - Fix warning `stacklevel` in `BaseModel.__init__` by [@​Viicos](https://togithub.com/Viicos) in [#​10526](https://togithub.com/pydantic/pydantic/pull/10526) - Improve error handling for in-evaluable refs for discriminator application by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10440](https://togithub.com/pydantic/pydantic/pull/10440) - Change the signature of `ConfigWrapper.core_config` to take the title directly by [@​Viicos](https://togithub.com/Viicos) in [#​10562](https://togithub.com/pydantic/pydantic/pull/10562) - Do not use the previous config from the stack for dataclasses without config by [@​Viicos](https://togithub.com/Viicos) in [#​10576](https://togithub.com/pydantic/pydantic/pull/10576) - Fix serialization for IP types with `mode='python'` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10594](https://togithub.com/pydantic/pydantic/pull/10594) - Support constraint application for `Base64Etc` types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10584](https://togithub.com/pydantic/pydantic/pull/10584) - Fix `validate_call` ignoring `Field` in `Annotated` by [@​kc0506](https://togithub.com/kc0506) in [#​10610](https://togithub.com/pydantic/pydantic/pull/10610) - Raise an error when `Self` is invalid by [@​kc0506](https://togithub.com/kc0506) in [#​10609](https://togithub.com/pydantic/pydantic/pull/10609) - Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10523](https://togithub.com/pydantic/pydantic/pull/10523) - Tweak type alias logic by [@​kc0506](https://togithub.com/kc0506) in [#​10643](https://togithub.com/pydantic/pydantic/pull/10643) - Support usage of `type` with `typing.Self` and type aliases by [@​kc0506](https://togithub.com/kc0506) in [#​10621](https://togithub.com/pydantic/pydantic/pull/10621) - Use overloads for `Field` and `PrivateAttr` functions by [@​Viicos](https://togithub.com/Viicos) in [#​10651](https://togithub.com/pydantic/pydantic/pull/10651) - Clean up the `mypy` plugin implementation by [@​Viicos](https://togithub.com/Viicos) in [#​10669](https://togithub.com/pydantic/pydantic/pull/10669) - Properly check for `typing_extensions` variant of `TypeAliasType` by [@​Daraan](https://togithub.com/Daraan) in [#​10713](https://togithub.com/pydantic/pydantic/pull/10713) - Allow any mapping in `BaseModel.model_copy()` by [@​Viicos](https://togithub.com/Viicos) in [#​10751](https://togithub.com/pydantic/pydantic/pull/10751) - Fix `isinstance` behavior for urls by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10766](https://togithub.com/pydantic/pydantic/pull/10766) - Ensure `cached_property` can be set on Pydantic models by [@​Viicos](https://togithub.com/Viicos) in [#​10774](https://togithub.com/pydantic/pydantic/pull/10774) - Fix equality checks for primitives in literals by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://togithub.com/pydantic/pydantic-core/pull/1459) - Properly enforce `host_required` for URLs by [@​Viicos](https://togithub.com/Viicos) in [pydantic/pydantic-core#1488](https://togithub.com/pydantic/pydantic-core/pull/1488) - Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@​andrey-berenda](https://togithub.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://togithub.com/pydantic/pydantic-core/pull/1515) - Fix serializing `complex` values in `Enum`s by [@​changhc](https://togithub.com/changhc) in [pydantic/pydantic-core#1524](https://togithub.com/pydantic/pydantic-core/pull/1524) - Refactor `_typing_extra` module by [@​Viicos](https://togithub.com/Viicos) in [#​10725](https://togithub.com/pydantic/pydantic/pull/10725) - Support intuitive equality for urls by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10798](https://togithub.com/pydantic/pydantic/pull/10798) - Add `bytearray` to `TypeAdapter.validate_json` signature by [@​samuelcolvin](https://togithub.com/samuelcolvin) in [#​10802](https://togithub.com/pydantic/pydantic/pull/10802) - Ensure class access of method descriptors is performed when used as a default with `Field` by [@​Viicos](https://togithub.com/Viicos) in [#​10816](https://togithub.com/pydantic/pydantic/pull/10816) - Fix circular import with `validate_call` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10807](https://togithub.com/pydantic/pydantic/pull/10807) - Fix error when using type aliases referencing other type aliases by [@​Viicos](https://togithub.com/Viicos) in [#​10809](https://togithub.com/pydantic/pydantic/pull/10809) - Fix `IncEx` type alias to be compatible with mypy by [@​Viicos](https://togithub.com/Viicos) in [#​10813](https://togithub.com/pydantic/pydantic/pull/10813) - Make `__signature__` a lazy property, do not deepcopy defaults by [@​Viicos](https://togithub.com/Viicos) in [#​10818](https://togithub.com/pydantic/pydantic/pull/10818) - Make `__signature__` lazy for dataclasses, too by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10832](https://togithub.com/pydantic/pydantic/pull/10832) - Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10856](https://togithub.com/pydantic/pydantic/pull/10856) ##### New Contributors - [@​jakob-keller](https://togithub.com/jakob-keller) made their first contribution in [#​10331](https://togithub.com/pydantic/pydantic/pull/10331) - [@​MovisLi](https://togithub.com/MovisLi) made their first contribution in [#​10374](https://togithub.com/pydantic/pydantic/pull/10374) - [@​joaopalmeiro](https://togithub.com/joaopalmeiro) made their first contribution in [#​10405](https://togithub.com/pydantic/pydantic/pull/10405) - [@​theunkn0wn1](https://togithub.com/theunkn0wn1) made their first contribution in [#​10378](https://togithub.com/pydantic/pydantic/pull/10378) - [@​cdwilson](https://togithub.com/cdwilson) made their first contribution in [#​10412](https://togithub.com/pydantic/pydantic/pull/10412) - [@​dlax](https://togithub.com/dlax) made their first contribution in [#​10421](https://togithub.com/pydantic/pydantic/pull/10421) - [@​kschwab](https://togithub.com/kschwab) made their first contribution in [#​10479](https://togithub.com/pydantic/pydantic/pull/10479) - [@​santibreo](https://togithub.com/santibreo) made their first contribution in [#​10453](https://togithub.com/pydantic/pydantic/pull/10453) - [@​FlorianSW](https://togithub.com/FlorianSW) made their first contribution in [#​10478](https://togithub.com/pydantic/pydantic/pull/10478) - [@​tkasuz](https://togithub.com/tkasuz) made their first contribution in [#​10555](https://togithub.com/pydantic/pydantic/pull/10555) - [@​AlekseyLobanov](https://togithub.com/AlekseyLobanov) made their first contribution in [#​10601](https://togithub.com/pydantic/pydantic/pull/10601) - [@​NiclasvanEyk](https://togithub.com/NiclasvanEyk) made their first contribution in [#​10667](https://togithub.com/pydantic/pydantic/pull/10667) - [@​mschoettle](https://togithub.com/mschoettle) made their first contribution in [#​10677](https://togithub.com/pydantic/pydantic/pull/10677) - [@​Daraan](https://togithub.com/Daraan) made their first contribution in [#​10713](https://togithub.com/pydantic/pydantic/pull/10713) - [@​k4nar](https://togithub.com/k4nar) made their first contribution in [#​10736](https://togithub.com/pydantic/pydantic/pull/10736) - [@​UriyaHarpeness](https://togithub.com/UriyaHarpeness) made their first contribution in [#​10740](https://togithub.com/pydantic/pydantic/pull/10740) - [@​frfahim](https://togithub.com/frfahim) made their first contribution in [#​10727](https://togithub.com/pydantic/pydantic/pull/10727) ### [`v2.9.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v292-2024-09-17) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.9.1...v2.9.2) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.9.2) ##### What's Changed ##### Fixes - Do not error when trying to evaluate annotations of private attributes by [@​Viicos](https://togithub.com/Viicos) in [#​10358](https://togithub.com/pydantic/pydantic/pull/10358) - Adding notes on designing sound `Callable` discriminators by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10400](https://togithub.com/pydantic/pydantic/pull/10400) - Fix serialization schema generation when using `PlainValidator` by [@​Viicos](https://togithub.com/Viicos) in [#​10427](https://togithub.com/pydantic/pydantic/pull/10427) - Fix `Union` serialization warnings by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1449](https://togithub.com/pydantic/pydantic-core/pull/1449) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@​Viicos](https://togithub.com/Viicos) in [#​10414](https://togithub.com/pydantic/pydantic/pull/10414) - Fix `ZoneInfo` validation with various invalid types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10408](https://togithub.com/pydantic/pydantic/pull/10408) ### [`v2.9.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v291-2024-09-09) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.9.0...v2.9.1) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.9.1) ##### What's Changed ##### Fixes - Fix Predicate issue in v2.9.0 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10321](https://togithub.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound to `>=0.6.0` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10327](https://togithub.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://togithub.com/jakob-keller) in [#​10331](https://togithub.com/pydantic/pydantic/pull/10331) - Fix `IncExc` type alias definition by [@​Viicos](https://togithub.com/Viicos) in [#​10339](https://togithub.com/pydantic/pydantic/pull/10339) - Use correct types namespace when building namedtuple core schemas by [@​Viicos](https://togithub.com/Viicos) in [#​10337](https://togithub.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://togithub.com/Viicos) in [#​10347](https://togithub.com/pydantic/pydantic/pull/10347) - Fix tagged union serialization with alias generators by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1442](https://togithub.com/pydantic/pydantic-core/pull/1442) ### [`v2.9.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v290-2024-09-05) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.8.2...v2.9.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.9.0) The code released in v2.9.0 is practically identical to that of v2.9.0b2. ##### What's Changed ##### Packaging - Bump `ruff` to `v0.5.0` and `pyright` to `v1.1.369` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9801](https://togithub.com/pydantic/pydantic/pull/9801) - Bump `pydantic-extra-types` to `v2.9.0` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9832](https://togithub.com/pydantic/pydantic/pull/9832) - Support compatibility with `pdm v2.18.1` by [@​Viicos](https://togithub.com/Viicos) in [#​10138](https://togithub.com/pydantic/pydantic/pull/10138) - Bump `v1` version stub to `v1.10.18` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10214](https://togithub.com/pydantic/pydantic/pull/10214) - Bump `pydantic-core` to `v2.23.2` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10311](https://togithub.com/pydantic/pydantic/pull/10311) ##### New Features - Add support for `ZoneInfo` by [@​Youssefares](https://togithub.com/Youssefares) in [#​9896](https://togithub.com/pydantic/pydantic/pull/9896) - Add `Config.val_json_bytes` by [@​josh-newman](https://togithub.com/josh-newman) in [#​9770](https://togithub.com/pydantic/pydantic/pull/9770) - Add DSN for Snowflake by [@​aditkumar72](https://togithub.com/aditkumar72) in [#​10128](https://togithub.com/pydantic/pydantic/pull/10128) - Support `complex` number by [@​changhc](https://togithub.com/changhc) in [#​9654](https://togithub.com/pydantic/pydantic/pull/9654) - Add support for `annotated_types.Not` by [@​aditkumar72](https://togithub.com/aditkumar72) in [#​10210](https://togithub.com/pydantic/pydantic/pull/10210) - Allow `WithJsonSchema` to inject `$ref`s w/ `http` or `https` links by [@​dAIsySHEng1](https://togithub.com/dAIsySHEng1) in [#​9863](https://togithub.com/pydantic/pydantic/pull/9863) - Allow validators to customize validation JSON schema by [@​Viicos](https://togithub.com/Viicos) in [#​10094](https://togithub.com/pydantic/pydantic/pull/10094) - Support parametrized `PathLike` types by [@​nix010](https://togithub.com/nix010) in [#​9764](https://togithub.com/pydantic/pydantic/pull/9764) - Add tagged union serializer that attempts to use `str` or `callable` discriminators to select the correct serializer by [@​sydney-runkle](https://togithub.com/sydney-runkle) in in [pydantic/pydantic-core#1397](https://togithub.com/pydantic/pydantic-core/pull/1397) ##### Changes - Breaking Change: Merge `dict` type `json_schema_extra` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9792](https://togithub.com/pydantic/pydantic/pull/9792) - For more info (how to replicate old behavior) on this change, see [here](https://docs.pydantic.dev/dev/concepts/json_schema/#merging-json_schema_extra) - Refactor annotation injection for known (often generic) types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9979](https://togithub.com/pydantic/pydantic/pull/9979) - Move annotation compatibility errors to validation phase by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9999](https://togithub.com/pydantic/pydantic/pull/9999) - Improve runtime errors for string constraints like `pattern` for incompatible types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10158](https://togithub.com/pydantic/pydantic/pull/10158) - Remove `'allOf'` JSON schema workarounds by [@​dpeachey](https://togithub.com/dpeachey) in [#​10029](https://togithub.com/pydantic/pydantic/pull/10029) - Remove `typed_dict_cls` data from `CoreMetadata` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10180](https://togithub.com/pydantic/pydantic/pull/10180) - Deprecate passing a dict to the `Examples` class by [@​Viicos](https://togithub.com/Viicos) in [#​10181](https://togithub.com/pydantic/pydantic/pull/10181) - Remove `initial_metadata` from internal metadata construct by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10194](https://togithub.com/pydantic/pydantic/pull/10194) - Use `re.Pattern.search` instead of `re.Pattern.match` for consistency with `rust` behavior by [@​tinez](https://togithub.com/tinez) in [pydantic/pydantic-core#1368](https://togithub.com/pydantic/pydantic-core/pull/1368) - Show value of wrongly typed data in `pydantic-core` serialization warning by [@​BoxyUwU](https://togithub.com/BoxyUwU) in [pydantic/pydantic-core#1377](https://togithub.com/pydantic/pydantic-core/pull/1377) - Breaking Change: in `pydantic-core`, change `metadata` type hint in core schemas from `Any` -> `Dict[str, Any] | None` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1411](https://togithub.com/pydantic/pydantic-core/pull/1411) - Raise helpful warning when `self` isn't returned from model validator by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10255](https://togithub.com/pydantic/pydantic/pull/10255) ##### Performance - Initial start at improving import times for modules, using caching primarily by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10009](https://togithub.com/pydantic/pydantic/pull/10009) - Using cached internal import for `BaseModel` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10013](https://togithub.com/pydantic/pydantic/pull/10013) - Simplify internal generics logic - remove generator overhead by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10059](https://togithub.com/pydantic/pydantic/pull/10059) - Remove default module globals from types namespace by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10123](https://togithub.com/pydantic/pydantic/pull/10123) - Performance boost: skip caching parent namespaces in most cases by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10113](https://togithub.com/pydantic/pydantic/pull/10113) - Update ns stack with already copied ns by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10267](https://togithub.com/pydantic/pydantic/pull/10267) ##### Minor Internal Improvements - ⚡️ Speed up `multiple_of_validator()` by 31% in `pydantic/_internal/_validators.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9839](https://togithub.com/pydantic/pydantic/pull/9839) - ⚡️ Speed up `ModelPrivateAttr.__set_name__()` by 18% in `pydantic/fields.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9841](https://togithub.com/pydantic/pydantic/pull/9841) - ⚡️ Speed up `dataclass()` by 7% in `pydantic/dataclasses.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9843](https://togithub.com/pydantic/pydantic/pull/9843) - ⚡️ Speed up function `_field_name_for_signature` by 37% in `pydantic/_internal/_signature.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9951](https://togithub.com/pydantic/pydantic/pull/9951) - ⚡️ Speed up method `GenerateSchema._unpack_refs_defs` by 26% in `pydantic/_internal/_generate_schema.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9949](https://togithub.com/pydantic/pydantic/pull/9949) - ⚡️ Speed up function `apply_each_item_validators` by 100% in `pydantic/_internal/_generate_schema.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9950](https://togithub.com/pydantic/pydantic/pull/9950) - ⚡️ Speed up method `ConfigWrapper.core_config` by 28% in `pydantic/_internal/_config.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9953](https://togithub.com/pydantic/pydantic/pull/9953) ##### Fixes - Respect `use_enum_values` on `Literal` types by [@​kwint](https://togithub.com/kwint) in [#​9787](https://togithub.com/pydantic/pydantic/pull/9787) - Prevent type error for exotic `BaseModel/RootModel` inheritance by [@​dmontagu](https://togithub.com/dmontagu) in [#​9913](https://togithub.com/pydantic/pydantic/pull/9913) - Fix typing issue with field_validator-decorated methods by [@​dmontagu](https://togithub.com/dmontagu) in [#​9914](https://togithub.com/pydantic/pydantic/pull/9914) - Replace `str` type annotation with `Any` in validator factories in documentation on validators by [@​maximilianfellhuber](https://togithub.com/maximilianfellhuber) in [#​9885](https://togithub.com/pydantic/pydantic/pull/9885) - Fix `ComputedFieldInfo.wrapped_property` pointer when a property setter is assigned by [@​tlambert03](https://togithub.com/tlambert03) in [#​9892](https://togithub.com/pydantic/pydantic/pull/9892) - Fix recursive typing of `main.IncEnx` by [@​tlambert03](https://togithub.com/tlambert03) in [#​9924](https://togithub.com/pydantic/pydantic/pull/9924) - Allow usage of `type[Annotated[...]]` by [@​Viicos](https://togithub.com/Viicos) in [#​9932](https://togithub.com/pydantic/pydantic/pull/9932) - `mypy` plugin: handle frozen fields on a per-field basis by [@​dmontagu](https://togithub.com/dmontagu) in [#​9935](https://togithub.com/pydantic/pydantic/pull/9935) - Fix typo in `invalid-annotated-type` error code by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9948](https://togithub.com/pydantic/pydantic/pull/9948) - Simplify schema generation for `uuid`, `url`, and `ip` types by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9975](https://togithub.com/pydantic/pydantic/pull/9975) - Move `date` schemas to `_generate_schema.py` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9976](https://togithub.com/pydantic/pydantic/pull/9976) - Move `decimal.Decimal` validation to `_generate_schema.py` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9977](https://togithub.com/pydantic/pydantic/pull/9977) - Simplify IP address schema in `_std_types_schema.py` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9959](https://togithub.com/pydantic/pydantic/pull/9959) - Fix type annotations for some potentially generic `GenerateSchema.match_type` options by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9961](https://togithub.com/pydantic/pydantic/pull/9961) - Add class name to "has conflict" warnings by [@​msabramo](https://togithub.com/msabramo) in [#​9964](https://togithub.com/pydantic/pydantic/pull/9964) - Fix `dataclass` ignoring `default_factory` passed in Annotated by [@​kc0506](https://togithub.com/kc0506) in [#​9971](https://togithub.com/pydantic/pydantic/pull/9971) - Fix `Sequence` ignoring `discriminator` by [@​kc0506](https://togithub.com/kc0506) in [#​9980](https://togithub.com/pydantic/pydantic/pull/9980) - Fix typing for `IPvAnyAddress` and `IPvAnyInterface` by [@​haoyun](https://togithub.com/haoyun) in [#​9990](https://togithub.com/pydantic/pydantic/pull/9990) - Fix false positives on v1 models in `mypy` plugin for `from_orm` check requiring from_attributes=True config by [@​radekwlsk](https://togithub.com/radekwlsk) in [#​9938](https://togithub.com/pydantic/pydantic/pull/9938) - Apply `strict=True` to `__init__` in `mypy` plugin by [@​kc0506](https://togithub.com/kc0506) in [#​9998](https://togithub.com/pydantic/pydantic/pull/9998) - Refactor application of `deque` annotations by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10018](https://togithub.com/pydantic/pydantic/pull/10018) - Raise a better user error when failing to evaluate a forward reference by [@​Viicos](https://togithub.com/Viicos) in [#​10030](https://togithub.com/pydantic/pydantic/pull/10030) - Fix evaluation of `__pydantic_extra__` annotation in specific circumstances by [@​Viicos](https://togithub.com/Viicos) in [#​10070](https://togithub.com/pydantic/pydantic/pull/10070) - Fix `frozen` enforcement for `dataclasses` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10066](https://togithub.com/pydantic/pydantic/pull/10066) - Remove logic to handle unused `__get_pydantic_core_schema__` signature by [@​Viicos](https://togithub.com/Viicos) in [#​10075](https://togithub.com/pydantic/pydantic/pull/10075) - Use `is_annotated` consistently by [@​Viicos](https://togithub.com/Viicos) in [#​10095](https://togithub.com/pydantic/pydantic/pull/10095) - Fix `PydanticDeprecatedSince26` typo by [@​kc0506](https://togithub.com/kc0506) in [#​10101](https://togithub.com/pydantic/pydantic/pull/10101) - Improve `pyright` tests, refactor model decorators signatures by [@​Viicos](https://togithub.com/Viicos) in [#​10092](https://togithub.com/pydantic/pydantic/pull/10092) - Fix `ip` serialization logic by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10112](https://togithub.com/pydantic/pydantic/pull/10112) - Warn when frozen defined twice for `dataclasses` by [@​mochi22](https://togithub.com/mochi22) in [#​10082](https://togithub.com/pydantic/pydantic/pull/10082) - Do not compute JSON Schema default when plain serializers are used with `when_used` set to `'json-unless-none'` and the default value is `None` by [@​Viicos](https://togithub.com/Viicos) in [#​10121](https://togithub.com/pydantic/pydantic/pull/10121) - Fix `ImportString` special cases by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10137](https://togithub.com/pydantic/pydantic/pull/10137) - Blacklist default globals to support exotic user code with `__` prefixed annotations by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10136](https://togithub.com/pydantic/pydantic/pull/10136) - Handle `nullable` schemas with `serialization` schema available during JSON Schema generation by [@​Viicos](https://togithub.com/Viicos) in [#​10132](https://togithub.com/pydantic/pydantic/pull/10132) - Reorganize `BaseModel` annotations by [@​kc0506](https://togithub.com/kc0506) in [#​10110](https://togithub.com/pydantic/pydantic/pull/10110) - Fix core schema simplification when serialization schemas are involved in specific scenarios by [@​Viicos](https://togithub.com/Viicos) in [#​10155](https://togithub.com/pydantic/pydantic/pull/10155) - Add support for stringified annotations when using `PrivateAttr` with `Annotated` by [@​Viicos](https://togithub.com/Viicos) in [#​10157](https://togithub.com/pydantic/pydantic/pull/10157) - Fix JSON Schema `number` type for literal and enum schemas by [@​Viicos](https://togithub.com/Viicos) in [#​10172](https://togithub.com/pydantic/pydantic/pull/10172) - Fix JSON Schema generation of fields with plain validators in serialization mode by [@​Viicos](https://togithub.com/Viicos) in [#​10167](https://togithub.com/pydantic/pydantic/pull/10167) - Fix invalid JSON Schemas being generated for functions in certain scenarios by [@​Viicos](https://togithub.com/Viicos) in [#​10188](https://togithub.com/pydantic/pydantic/pull/10188) - Make sure generated JSON Schemas are valid in tests by [@​Viicos](https://togithub.com/Viicos) in [#​10182](https://togithub.com/pydantic/pydantic/pull/10182) - Fix key error with custom serializer by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10200](https://togithub.com/pydantic/pydantic/pull/10200) - Add 'wss' for allowed schemes in NatsDsn by [@​swelborn](https://togithub.com/swelborn) in [#​10224](https://togithub.com/pydantic/pydantic/pull/10224) - Fix `Mapping` and `MutableMapping` annotations to use mapping schema instead of dict schema by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10020](https://togithub.com/pydantic/pydantic/pull/10020) - Fix JSON Schema generation for constrained dates by [@​Viicos](https://togithub.com/Viicos) in [#​10185](https://togithub.com/pydantic/pydantic/pull/10185) - Fix discriminated union bug regression when using enums by [@​kfreezen](https://togithub.com/kfreezen) in [pydantic/pydantic-core#1286](https://togithub.com/pydantic/pydantic-core/pull/1286) - Fix `field_serializer` with computed field when using `*` by [@​nix010](https://togithub.com/nix010) in [pydantic/pydantic-core#1349](https://togithub.com/pydantic/pydantic-core/pull/1349) - Try each option in `Union` serializer before inference by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1398](https://togithub.com/pydantic/pydantic-core/pull/1398) - Fix `float` serialization behavior in `strict` mode by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1400](https://togithub.com/pydantic/pydantic-core/pull/1400) - Introduce `exactness` into Decimal validation logic to improve union validation behavior by [@​sydney-runkle](https://togithub.com/sydney-runkle) in in [pydantic/pydantic-core#1405](https://togithub.com/pydantic/pydantic-core/pull/1405) - Fix new warnings assertions to use `pytest.warns()` by [@​mgorny](https://togithub.com/mgorny) in [#​10241](https://togithub.com/pydantic/pydantic/pull/10241) - Fix a crash when cleaning the namespace in `ModelMetaclass` by [@​Viicos](https://togithub.com/Viicos) in [#​10242](https://togithub.com/pydantic/pydantic/pull/10242) - Fix parent namespace issue with model rebuilds by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10257](https://togithub.com/pydantic/pydantic/pull/10257) - Remove defaults filter for namespace by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10261](https://togithub.com/pydantic/pydantic/pull/10261) - Use identity instead of equality after validating model in `__init__` by [@​Viicos](https://togithub.com/Viicos) in [#​10264](https://togithub.com/pydantic/pydantic/pull/10264) - Support `BigInt` serialization for `int` subclasses by [@​kxx317](https://togithub.com/kxx317) in [pydantic/pydantic-core#1417](https://togithub.com/pydantic/pydantic-core/pull/1417) - Support signature for wrap validators without `info` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10277](https://togithub.com/pydantic/pydantic/pull/10277) - Ensure `__pydantic_complete__` is set when rebuilding `dataclasses` by [@​Viicos](https://togithub.com/Viicos) in [#​10291](https://togithub.com/pydantic/pydantic/pull/10291) - Respect `schema_generator` config value in `TypeAdapter` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​10300](https://togithub.com/pydantic/pydantic/pull/10300) ##### New Contributors ##### `pydantic` - [@​kwint](https://togithub.com/kwint) made their first contribution in [#​9787](https://togithub.com/pydantic/pydantic/pull/9787) - [@​seekinginfiniteloop](https://togithub.com/seekinginfiniteloop) made their first contribution in [#​9822](https://togithub.com/pydantic/pydantic/pull/9822) - [@​a-alexander](https://togithub.com/a-alexander) made their first contribution in [#​9848](https://togithub.com/pydantic/pydantic/pull/9848) - [@​maximilianfellhuber](https://togithub.com/maximilianfellhuber) made their first contribution in [#​9885](https://togithub.com/pydantic/pydantic/pull/9885) - [@​karmaBonfire](https://togithub.com/karmaBonfire) made their first contribution in [#​9945](https://togithub.com/pydantic/pydantic/pull/9945) - [@​s-rigaud](https://togithub.com/s-rigaud) made their first contribution in [#​9958](https://togithub.com/pydantic/pydantic/pull/9958) - [@​msabramo](https://togithub.com/msabramo) made their first contribution in [#​9964](https://togithub.com/pydantic/pydantic/pull/9964) - [@​DimaCybr](https://togithub.com/DimaCybr) made their first contribution in [#​9972](https://togithub.com/pydantic/pydantic/pull/9972) - [@​kc0506](https://togithub.com/kc0506) made their first contribution in [#​9971](https://togithub.com/pydantic/pydantic/pull/9971) - [@​haoyun](https://togithub.com/haoyun) made their first contribution in [#​9990](https://togithub.com/pydantic/pydantic/pull/9990) - [@​radekwlsk](https://togithub.com/radekwlsk) made their first contribution in [#​9938](https://togithub.com/pydantic/pydantic/pull/9938) - [@​dpeachey](https://togithub.com/dpeachey) made their first contribution in [#​10029](https://togithub.com/pydantic/pydantic/pull/10029) - [@​BoxyUwU](https://togithub.com/BoxyUwU) made their first contribution in [#​10085](https://togithub.com/pydantic/pydantic/pull/10085) - [@​mochi22](https://togithub.com/mochi22) made their first contribution in [#​10082](https://togithub.com/pydantic/pydantic/pull/10082) - [@​aditkumar72](https://togithub.com/aditkumar72) made their first contribution in [#​10128](https://togithub.com/pydantic/pydantic/pull/10128) - [@​changhc](https://togithub.com/changhc) made their first contribution in [#​9654](https://togithub.com/pydantic/pydantic/pull/9654) - [@​insumanth](https://togithub.com/insumanth) made their first contribution in [#​10229](https://togithub.com/pydantic/pydantic/pull/10229) - [@​AdolfoVillalobos](https://togithub.com/AdolfoVillalobos) made their first contribution in [#​10240](https://togithub.com/pydantic/pydantic/pull/10240) - [@​bllchmbrs](https://togithub.com/bllchmbrs) made their first contribution in [#​10270](https://togithub.com/pydantic/pydantic/pull/10270) ##### `pydantic-core` - [@​kfreezen](https://togithub.com/kfreezen) made their first contribution in [pydantic/pydantic-core#1286](https://togithub.com/pydantic/pydantic-core/pull/1286) - [@​tinez](https://togithub.com/tinez) made their first contribution in [pydantic/pydantic-core#1368](https://togithub.com/pydantic/pydantic-core/pull/1368) - [@​fft001](https://togithub.com/fft001) made their first contribution in [pydantic/pydantic-core#1362](https://togithub.com/pydantic/pydantic-core/pull/1362) - [@​nix010](https://togithub.com/nix010) made their first contribution in [pydantic/pydantic-core#1349](https://togithub.com/pydantic/pydantic-core/pull/1349) - [@​BoxyUwU](https://togithub.com/BoxyUwU) made their first contribution in [pydantic/pydantic-core#1379](https://togithub.com/pydantic/pydantic-core/pull/1379) - [@​candleindark](https://togithub.com/candleindark) made their first contribution in [pydantic/pydantic-core#1404](https://togithub.com/pydantic/pydantic-core/pull/1404) - [@​changhc](https://togithub.com/changhc) made their first contribution in [pydantic/pydantic-core#1331](https://togithub.com/pydantic/pydantic-core/pull/1331) ### [`v2.8.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v282-2024-07-03) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.8.1...v2.8.2) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.2) ##### What's Changed ##### Fixes - Fix issue with assertion caused by pluggable schema validator by [@​dmontagu](https://togithub.com/dmontagu) in [#​9838](https://togithub.com/pydantic/pydantic/pull/9838) ### [`v2.8.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v281-2024-07-03) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.8.0...v2.8.1) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.1) ##### What's Changed ##### Packaging - Bump `ruff` to `v0.5.0` and `pyright` to `v1.1.369` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9801](https://togithub.com/pydantic/pydantic/pull/9801) - Bump `pydantic-core` to `v2.20.1`, `pydantic-extra-types` to `v2.9.0` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9832](https://togithub.com/pydantic/pydantic/pull/9832) ##### Fixes - Fix breaking change in `to_snake` from v2.7 -> v2.8 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9812](https://togithub.com/pydantic/pydantic/pull/9812) - Fix list constraint json schema application by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9818](https://togithub.com/pydantic/pydantic/pull/9818) - Support time duration more than 23 by [@​nix010](https://togithub.com/nix010) in [pydantic/speedate#64](https://togithub.com/pydantic/speedate/pull/64) - Fix millisecond fraction being handled with the wrong scale by [@​davidhewitt](https://togithub.com/davidhewitt) in [pydantic/speedate#65](https://togithub.com/pydantic/speedate/pull/65) - Handle negative fractional durations correctly by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/speedate#71](https://togithub.com/pydantic/speedate/pull/71) ### [`v2.8.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v280-2024-07-01) [Compare Source](https://togithub.com/pydantic/pydantic/compare/v2.7.4...v2.8.0) [GitHub release](https://togithub.com/pydantic/pydantic/releases/tag/v2.8.0) The code released in v2.8.0 is functionally identical to that of v2.8.0b1. ##### What's Changed ##### Packaging - Update citation version automatically with new releases by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9673](https://togithub.com/pydantic/pydantic/pull/9673) - Bump pyright to `v1.1.367` and add type checking tests for pipeline API by [@​adriangb](https://togithub.com/adriangb) in [#​9674](https://togithub.com/pydantic/pydantic/pull/9674) - Update `pydantic.v1` stub to `v1.10.17` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9707](https://togithub.com/pydantic/pydantic/pull/9707) - General package updates to prep for `v2.8.0b1` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9741](https://togithub.com/pydantic/pydantic/pull/9741) - Bump `pydantic-core` to `v2.20.0` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9745](https://togithub.com/pydantic/pydantic/pull/9745) - Add support for Python 3.13 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9743](https://togithub.com/pydantic/pydantic/pull/9743) - Update `pdm` version used for `pdm.lock` to v2.16.1 by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9761](https://togithub.com/pydantic/pydantic/pull/9761) - Update to `ruff` `v0.4.8` by [@​Viicos](https://togithub.com/Viicos) in [#​9585](https://togithub.com/pydantic/pydantic/pull/9585) ##### New Features - Experimental: support `defer_build` for `TypeAdapter` by [@​MarkusSintonen](https://togithub.com/MarkusSintonen) in [#​8939](https://togithub.com/pydantic/pydantic/pull/8939) - Implement `deprecated` field in json schema by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9298](https://togithub.com/pydantic/pydantic/pull/9298) - Experimental: Add pipeline API by [@​adriangb](https://togithub.com/adriangb) in [#​9459](https://togithub.com/pydantic/pydantic/pull/9459) - Add support for programmatic title generation by [@​NeevCohen](https://togithub.com/NeevCohen) in [#​9183](https://togithub.com/pydantic/pydantic/pull/9183) - Implement `fail_fast` feature by [@​uriyyo](https://togithub.com/uriyyo) in [#​9708](https://togithub.com/pydantic/pydantic/pull/9708) - Add `ser_json_inf_nan='strings'` mode to produce valid JSON by [@​josh-newman](https://togithub.com/josh-newman) in [pydantic/pydantic-core#1307](https://togithub.com/pydantic/pydantic-core/pull/1307) ##### Changes - Add warning when "alias" is set in ignored `Annotated` field by [@​nix010](https://togithub.com/nix010) in [#​9170](https://togithub.com/pydantic/pydantic/pull/9170) - Support serialization of some serializable defaults in JSON schema by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9624](https://togithub.com/pydantic/pydantic/pull/9624) - Relax type specification for `__validators__` values in `create_model` by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [#​9697](https://togithub.com/pydantic/pydantic/pull/9697) - **Breaking Change:** Improve `smart` union matching logic by [@​sydney-runkle](https://togithub.com/sydney-runkle) in [pydantic/pydantic-core#1322](https://togithub.com/pydantic/pydantic-core/pull/1322) You can read more about our `smart` union matching logic [here](https://docs.pydantic.dev/dev/concepts/unions/#smart-mode). In some cases, if the old behavior is desired, you can switch to `left-to-right` mode and change the order of your `Union` members. ##### Performance ##### Internal Improvements - ⚡️ Speed up `_display_error_loc()` by 25% in `pydantic/v1/error_wrappers.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9653](https://togithub.com/pydantic/pydantic/pull/9653) - ⚡️ Speed up `_get_all_json_refs()` by 34% in `pydantic/json_schema.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9650](https://togithub.com/pydantic/pydantic/pull/9650) - ⚡️ Speed up `is_pydantic_dataclass()` by 41% in `pydantic/dataclasses.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9652](https://togithub.com/pydantic/pydantic/pull/9652) - ⚡️ Speed up `to_snake()` by 27% in `pydantic/alias_generators.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9747](https://togithub.com/pydantic/pydantic/pull/9747) - ⚡️ Speed up `unwrap_wrapped_function()` by 93% in `pydantic/_internal/_decorators.py` by [@​misrasaurabh1](https://togithub.com/misrasaurabh1) in [#​9727](https://togithub.com/pydantic/pydantic/pull/9727) ##### Fixes - Replace `__spec__.parent` with `__package__` by [@​hramezani](https://togithub.com/hramezani) in [#​9331](https://togithub.com/pydantic/pydantic/pull/9331) - Fix Outputted Model JSON Schema for `Sequence` type by [@​anesmemisevic](https://togithub.com/anesmemisevic) in [#​9303](https://togithub.com/pydantic/pydantic/pull/9303) - Fix typing of `_frame_depth` by [@​Viicos](https://togithub.com/Viicos) in [#​9353](https://togithub.com/pydantic/pydantic/pull/9353) - Make `ImportString` json schema compatible by [@​amitschang](https://togithub.com/am </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on the first day of the month" (UTC), 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:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImF1dG9tZXJnZSJdfQ==-->
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [pydantic](https://redirect.github.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | dependencies | major | `<2` -> `<3` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.10.6`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2106-2025-01-23) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.5...v2.10.6) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.6) ##### What's Changed ##### Fixes - Fix JSON Schema reference collection with `'examples'` keys by [@​Viicos](https://redirect.github.com/Viicos) in [#​11325](https://redirect.github.com/pydantic/pydantic/pull/11325) - Fix url python serialization by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11331](https://redirect.github.com/pydantic/pydantic/pull/11331) ### [`v2.10.5`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2105-2025-01-08) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.4...v2.10.5) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.5) ##### What's Changed ##### Fixes - Remove custom MRO implementation of Pydantic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11184](https://redirect.github.com/pydantic/pydantic/pull/11184) - Fix URL serialization for unions by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11233](https://redirect.github.com/pydantic/pydantic/pull/11233) ### [`v2.10.4`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2104-2024-12-18) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.4) ##### What's Changed ##### Packaging - Bump `pydantic-core` to v2.27.2 by [@​davidhewitt](https://redirect.github.com/davidhewitt) in [#​11138](https://redirect.github.com/pydantic/pydantic/pull/11138) ##### Fixes - Fix for comparison of `AnyUrl` objects by [@​alexprabhat99](https://redirect.github.com/alexprabhat99) in [#​11082](https://redirect.github.com/pydantic/pydantic/pull/11082) - Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by [@​Viicos](https://redirect.github.com/Viicos) in [#​11093](https://redirect.github.com/pydantic/pydantic/pull/11093) - Include JSON Schema input core schema in function schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​11085](https://redirect.github.com/pydantic/pydantic/pull/11085) - Add `len` to `_BaseUrl` to avoid TypeError by [@​Kharianne](https://redirect.github.com/Kharianne) in [#​11111](https://redirect.github.com/pydantic/pydantic/pull/11111) - Make sure the type reference is removed from the seen references by [@​Viicos](https://redirect.github.com/Viicos) in [#​11143](https://redirect.github.com/pydantic/pydantic/pull/11143) ##### New Contributors - [@​FyZzyss](https://redirect.github.com/FyZzyss) made their first contribution in [#​10789](https://redirect.github.com/pydantic/pydantic/pull/10789) - [@​tamird](https://redirect.github.com/tamird) made their first contribution in [#​10948](https://redirect.github.com/pydantic/pydantic/pull/10948) - [@​felixxm](https://redirect.github.com/felixxm) made their first contribution in [#​11077](https://redirect.github.com/pydantic/pydantic/pull/11077) - [@​alexprabhat99](https://redirect.github.com/alexprabhat99) made their first contribution in [#​11082](https://redirect.github.com/pydantic/pydantic/pull/11082) - [@​Kharianne](https://redirect.github.com/Kharianne) made their first contribution in [#​11111](https://redirect.github.com/pydantic/pydantic/pull/11111) ### [`v2.10.3`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2103-2024-12-03) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.2...v2.10.3) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.3) ##### What's Changed ##### Fixes - Set fields when `defer_build` is set on Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10984](https://redirect.github.com/pydantic/pydantic/pull/10984) - Do not resolve the JSON Schema reference for `dict` core schema keys by [@​Viicos](https://redirect.github.com/Viicos) in [#​10989](https://redirect.github.com/pydantic/pydantic/pull/10989) - Use the globals of the function when evaluating the return type for `PlainSerializer` and `WrapSerializer` functions by [@​Viicos](https://redirect.github.com/Viicos) in [#​11008](https://redirect.github.com/pydantic/pydantic/pull/11008) - Fix host required enforcement for urls to be compatible with v2.9 behavior by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11027](https://redirect.github.com/pydantic/pydantic/pull/11027) - Add a `default_factory_takes_validated_data` property to `FieldInfo` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11034](https://redirect.github.com/pydantic/pydantic/pull/11034) - Fix url json schema in `serialization` mode by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11035](https://redirect.github.com/pydantic/pydantic/pull/11035) ### [`v2.10.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2102-2024-11-25) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.1...v2.10.2) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.2) ##### What's Changed ##### Fixes - Only evaluate FieldInfo annotations if required during schema building by [@​Viicos](https://redirect.github.com/Viicos) in [#​10769](https://redirect.github.com/pydantic/pydantic/pull/10769) - Do not evaluate annotations for private fields by [@​Viicos](https://redirect.github.com/Viicos) in [#​10962](https://redirect.github.com/pydantic/pydantic/pull/10962) - Support serialization as any for `Secret` types and `Url` types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10947](https://redirect.github.com/pydantic/pydantic/pull/10947) - Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by [@​Viicos](https://redirect.github.com/Viicos) in [#​10972](https://redirect.github.com/pydantic/pydantic/pull/10972) - Add hashing support for URL types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10975](https://redirect.github.com/pydantic/pydantic/pull/10975) - Hide `BaseModel.__replace__` definition from type checkers by [@​Viicos](https://redirect.github.com/Viicos) in [#​10979](https://redirect.github.com/pydantic/pydantic/pull/10979) ### [`v2.10.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2101-2024-11-21) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.0...v2.10.1) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.1) ##### What's Changed ##### Packaging - Bump `pydantic-core` version to `v2.27.1` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10938](https://redirect.github.com/pydantic/pydantic/pull/10938) ##### Fixes - Use the correct frame when instantiating a parametrized `TypeAdapter` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10893](https://redirect.github.com/pydantic/pydantic/pull/10893) - Relax check for validated data in `default_factory` utils by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10909](https://redirect.github.com/pydantic/pydantic/pull/10909) - Fix type checking issue with `model_fields` and `model_computed_fields` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10911](https://redirect.github.com/pydantic/pydantic/pull/10911) - Use the parent configuration during schema generation for stdlib `dataclass`es by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10928](https://redirect.github.com/pydantic/pydantic/pull/10928) - Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by [@​Viicos](https://redirect.github.com/Viicos) in [#​10929](https://redirect.github.com/pydantic/pydantic/pull/10929) - Fix URL constraint application by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10922](https://redirect.github.com/pydantic/pydantic/pull/10922) - Fix URL equality with different validation methods by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10934](https://redirect.github.com/pydantic/pydantic/pull/10934) - Fix JSON schema title when specified as `''` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10936](https://redirect.github.com/pydantic/pydantic/pull/10936) - Fix `python` mode serialization for `complex` inference by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic-core#1549](https://redirect.github.com/pydantic/pydantic-core/pull/1549) ##### New Contributors ### [`v2.10.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.2...v2.10.0) The code released in v2.10.0 is practically identical to that of v2.10.0b2. [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.0) See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights! ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.27.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Replaced pdm with uv by [@​frfahim](https://redirect.github.com/frfahim) in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) ##### New Features - Support `fractions.Fraction` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10318](https://redirect.github.com/pydantic/pydantic/pull/10318) - Support `Hashable` for json validation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10324](https://redirect.github.com/pydantic/pydantic/pull/10324) - Add a `SocketPath` type for `linux` systems by [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - Allow arbitrary refs in JSON schema `examples` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10417](https://redirect.github.com/pydantic/pydantic/pull/10417) - Support `defer_build` for Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10313](https://redirect.github.com/pydantic/pydantic/pull/10313) - Adding v1 / v2 incompatibility warning for nested v1 model by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10431](https://redirect.github.com/pydantic/pydantic/pull/10431) - Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10416](https://redirect.github.com/pydantic/pydantic/pull/10416) - Support compiled patterns in `protected_namespaces` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10522](https://redirect.github.com/pydantic/pydantic/pull/10522) - Add support for `propertyNames` in JSON schema by [@​FlorianSW](https://redirect.github.com/FlorianSW) in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - Adding `__replace__` protocol for Python 3.13+ support by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10596](https://redirect.github.com/pydantic/pydantic/pull/10596) - Expose public `sort` method for JSON schema generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10595](https://redirect.github.com/pydantic/pydantic/pull/10595) - Add runtime validation of `@validate_call` callable argument by [@​kc0506](https://redirect.github.com/kc0506) in [#​10627](https://redirect.github.com/pydantic/pydantic/pull/10627) - Add `experimental_allow_partial` support by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10748](https://redirect.github.com/pydantic/pydantic/pull/10748) - Support default factories taking validated data as an argument by [@​Viicos](https://redirect.github.com/Viicos) in [#​10678](https://redirect.github.com/pydantic/pydantic/pull/10678) - Allow subclassing `ValidationError` and `PydanticCustomError` by [@​Youssefares](https://redirect.github.com/Youssefares) in [pydantic/pydantic-core#1413](https://redirect.github.com/pydantic/pydantic-core/pull/1413) - Add `trailing-strings` support to `experimental_allow_partial` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10537](https://redirect.github.com/pydantic/pydantic/pull/10537) - Improve `TypeAdapter` instance repr by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10872](https://redirect.github.com/pydantic/pydantic/pull/10872) ##### Changes - Don't allow customization of `SchemaGenerator` until interface is more stable by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10303](https://redirect.github.com/pydantic/pydantic/pull/10303) - Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10329](https://redirect.github.com/pydantic/pydantic/pull/10329) - Fix `mro` of generic subclass by [@​kc0506](https://redirect.github.com/kc0506) in [#​10100](https://redirect.github.com/pydantic/pydantic/pull/10100) - Strip whitespaces on JSON Schema title generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10404](https://redirect.github.com/pydantic/pydantic/pull/10404) - Use `b64decode` and `b64encode` for `Base64Bytes` type by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10486](https://redirect.github.com/pydantic/pydantic/pull/10486) - Relax protected namespace config default by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10441](https://redirect.github.com/pydantic/pydantic/pull/10441) - Revalidate parametrized generics if instance's origin is subclass of OG class by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10666](https://redirect.github.com/pydantic/pydantic/pull/10666) - Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10406](https://redirect.github.com/pydantic/pydantic/pull/10406) - Recommend against using `Ellipsis` (...) with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10661](https://redirect.github.com/pydantic/pydantic/pull/10661) - Migrate to subclassing instead of annotated approach for pydantic url types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10662](https://redirect.github.com/pydantic/pydantic/pull/10662) - Change JSON schema generation of `Literal`s and `Enums` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10692](https://redirect.github.com/pydantic/pydantic/pull/10692) - Simplify unions involving `Any` or `Never` when replacing type variables by [@​Viicos](https://redirect.github.com/Viicos) in [#​10338](https://redirect.github.com/pydantic/pydantic/pull/10338) - Do not require padding when decoding `base64` bytes by [@​bschoenmaeckers](https://redirect.github.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://redirect.github.com/pydantic/pydantic-core/pull/1448) - Support dates all the way to 1BC by [@​changhc](https://redirect.github.com/changhc) in [pydantic/speedate#77](https://redirect.github.com/pydantic/speedate/pull/77) ##### Performance - Schema cleaning: skip unnecessary copies during schema walking by [@​Viicos](https://redirect.github.com/Viicos) in [#​10286](https://redirect.github.com/pydantic/pydantic/pull/10286) - Refactor namespace logic for annotations evaluation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10530](https://redirect.github.com/pydantic/pydantic/pull/10530) - Improve email regexp on edge cases by [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10675](https://redirect.github.com/pydantic/pydantic/pull/10675) ##### Fixes - Remove guarding check on `computed_field` with `field_serializer` by [@​nix010](https://redirect.github.com/nix010) in [#​10390](https://redirect.github.com/pydantic/pydantic/pull/10390) - Fix `Predicate` issue in `v2.9.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10321](https://redirect.github.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10327](https://redirect.github.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://redirect.github.com/jakob-keller) in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - Use correct types namespace when building `namedtuple` core schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​10337](https://redirect.github.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://redirect.github.com/Viicos) in [#​10347](https://redirect.github.com/pydantic/pydantic/pull/10347) - Fix `IncEx` type alias definition by [@​Viicos](https://redirect.github.com/Viicos) in [#​10339](https://redirect.github.com/pydantic/pydantic/pull/10339) - Do not error when trying to evaluate annotations of private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​10358](https://redirect.github.com/pydantic/pydantic/pull/10358) - Fix nested type statement by [@​kc0506](https://redirect.github.com/kc0506) in [#​10369](https://redirect.github.com/pydantic/pydantic/pull/10369) - Improve typing of `ModelMetaclass.mro` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10372](https://redirect.github.com/pydantic/pydantic/pull/10372) - Fix class access of deprecated `computed_field`s by [@​Viicos](https://redirect.github.com/Viicos) in [#​10391](https://redirect.github.com/pydantic/pydantic/pull/10391) - Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@​MovisLi](https://redirect.github.com/MovisLi) in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - Fix `NameError` when using `validate_call` with PEP 695 on a class by [@​kc0506](https://redirect.github.com/kc0506) in [#​10380](https://redirect.github.com/pydantic/pydantic/pull/10380) - Fix `ZoneInfo` with various invalid types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10408](https://redirect.github.com/pydantic/pydantic/pull/10408) - Fix `PydanticUserError` on empty `model_config` with annotations by [@​cdwilson](https://redirect.github.com/cdwilson) in [#​10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10414](https://redirect.github.com/pydantic/pydantic/pull/10414) - Fix serialization schema generation when using `PlainValidator` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10427](https://redirect.github.com/pydantic/pydantic/pull/10427) - Fix schema generation error when serialization schema holds references by [@​Viicos](https://redirect.github.com/Viicos) in [#​10444](https://redirect.github.com/pydantic/pydantic/pull/10444) - Inline references if possible when generating schema for `json_schema_input_type` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10439](https://redirect.github.com/pydantic/pydantic/pull/10439) - Fix recursive arguments in `Representation` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10480](https://redirect.github.com/pydantic/pydantic/pull/10480) - Fix representation for builtin function types by [@​kschwab](https://redirect.github.com/kschwab) in [#​10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10506](https://redirect.github.com/pydantic/pydantic/pull/10506) - Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10518](https://redirect.github.com/pydantic/pydantic/pull/10518) - Fix `stacklevel` on deprecation warnings for `BaseModel` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10520](https://redirect.github.com/pydantic/pydantic/pull/10520) - Fix warning `stacklevel` in `BaseModel.__init__` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10526](https://redirect.github.com/pydantic/pydantic/pull/10526) - Improve error handling for in-evaluable refs for discriminator application by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10440](https://redirect.github.com/pydantic/pydantic/pull/10440) - Change the signature of `ConfigWrapper.core_config` to take the title directly by [@​Viicos](https://redirect.github.com/Viicos) in [#​10562](https://redirect.github.com/pydantic/pydantic/pull/10562) - Do not use the previous config from the stack for dataclasses without config by [@​Viicos](https://redirect.github.com/Viicos) in [#​10576](https://redirect.github.com/pydantic/pydantic/pull/10576) - Fix serialization for IP types with `mode='python'` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10594](https://redirect.github.com/pydantic/pydantic/pull/10594) - Support constraint application for `Base64Etc` types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10584](https://redirect.github.com/pydantic/pydantic/pull/10584) - Fix `validate_call` ignoring `Field` in `Annotated` by [@​kc0506](https://redirect.github.com/kc0506) in [#​10610](https://redirect.github.com/pydantic/pydantic/pull/10610) - Raise an error when `Self` is invalid by [@​kc0506](https://redirect.github.com/kc0506) in [#​10609](https://redirect.github.com/pydantic/pydantic/pull/10609) - Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10523](https://redirect.github.com/pydantic/pydantic/pull/10523) - Tweak type alias logic by [@​kc0506](https://redirect.github.com/kc0506) in [#​10643](https://redirect.github.com/pydantic/pydantic/pull/10643) - Support usage of `type` with `typing.Self` and type aliases by [@​kc0506](https://redirect.github.com/kc0506) in [#​10621](https://redirect.github.com/pydantic/pydantic/pull/10621) - Use overloads for `Field` and `PrivateAttr` functions by [@​Viicos](https://redirect.github.com/Viicos) in [#​10651](https://redirect.github.com/pydantic/pydantic/pull/10651) - Clean up the `mypy` plugin implementation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10669](https://redirect.github.com/pydantic/pydantic/pull/10669) - Properly check for `typing_extensions` variant of `TypeAliasType` by [@​Daraan](https://redirect.github.com/Daraan) in [#​10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - Allow any mapping in `BaseModel.model_copy()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10751](https://redirect.github.com/pydantic/pydantic/pull/10751) - Fix `isinstance` behavior for urls by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10766](https://redirect.github.com/pydantic/pydantic/pull/10766) - Ensure `cached_property` can be set on Pydantic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​10774](https://redirect.github.com/pydantic/pydantic/pull/10774) - Fix equality checks for primitives in literals by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://redirect.github.com/pydantic/pydantic-core/pull/1459) - Properly enforce `host_required` for URLs by [@​Viicos](https://redirect.github.com/Viicos) in [pydantic/pydantic-core#1488](https://redirect.github.com/pydantic/pydantic-core/pull/1488) - Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@​andrey-berenda](https://redirect.github.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://redirect.github.com/pydantic/pydantic-core/pull/1515) - Fix serializing `complex` values in `Enum`s by [@​changhc](https://redirect.github.com/changhc) in [pydantic/pydantic-core#1524](https://redirect.github.com/pydantic/pydantic-core/pull/1524) - Refactor `_typing_extra` module by [@​Viicos](https://redirect.github.com/Viicos) in [#​10725](https://redirect.github.com/pydantic/pydantic/pull/10725) - Support intuitive equality for urls by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10798](https://redirect.github.com/pydantic/pydantic/pull/10798) - Add `bytearray` to `TypeAdapter.validate_json` signature by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10802](https://redirect.github.com/pydantic/pydantic/pull/10802) - Ensure class access of method descriptors is performed when used as a default with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10816](https://redirect.github.com/pydantic/pydantic/pull/10816) - Fix circular import with `validate_call` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10807](https://redirect.github.com/pydantic/pydantic/pull/10807) - Fix error when using type aliases referencing other type aliases by [@​Viicos](https://redirect.github.com/Viicos) in [#​10809](https://redirect.github.com/pydantic/pydantic/pull/10809) - Fix `IncEx` type alias to be compatible with mypy by [@​Viicos](https://redirect.github.com/Viicos) in [#​10813](https://redirect.github.com/pydantic/pydantic/pull/10813) - Make `__signature__` a lazy property, do not deepcopy defaults by [@​Viicos](https://redirect.github.com/Viicos) in [#​10818](https://redirect.github.com/pydantic/pydantic/pull/10818) - Make `__signature__` lazy for dataclasses, too by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10832](https://redirect.github.com/pydantic/pydantic/pull/10832) - Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10856](https://redirect.github.com/pydantic/pydantic/pull/10856) ##### New Contributors - [@​jakob-keller](https://redirect.github.com/jakob-keller) made their first contribution in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - [@​MovisLi](https://redirect.github.com/MovisLi) made their first contribution in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - [@​joaopalmeiro](https://redirect.github.com/joaopalmeiro) made their first contribution in [#​10405](https://redirect.github.com/pydantic/pydantic/pull/10405) - [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) made their first contribution in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - [@​cdwilson](https://redirect.github.com/cdwilson) made their first contribution in [#​10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - [@​dlax](https://redirect.github.com/dlax) made their first contribution in [#​10421](https://redirect.github.com/pydantic/pydantic/pull/10421) - [@​kschwab](https://redirect.github.com/kschwab) made their first contribution in [#​10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - [@​santibreo](https://redirect.github.com/santibreo) made their first contribution in [#​10453](https://redirect.github.com/pydantic/pydantic/pull/10453) - [@​FlorianSW](https://redirect.github.com/FlorianSW) made their first contribution in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - [@​tkasuz](https://redirect.github.com/tkasuz) made their first contribution in [#​10555](https://redirect.github.com/pydantic/pydantic/pull/10555) - [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) made their first contribution in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - [@​NiclasvanEyk](https://redirect.github.com/NiclasvanEyk) made their first contribution in [#​10667](https://redirect.github.com/pydantic/pydantic/pull/10667) - [@​mschoettle](https://redirect.github.com/mschoettle) made their first contribution in [#​10677](https://redirect.github.com/pydantic/pydantic/pull/10677) - [@​Daraan](https://redirect.github.com/Daraan) made their first contribution in [#​10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - [@​k4nar](https://redirect.github.com/k4nar) made their first contribution in [#​10736](https://redirect.github.com/pydantic/pydantic/pull/10736) - [@​UriyaHarpeness](https://redirect.github.com/UriyaHarpeness) made their first contribution in [#​10740](https://redirect.github.com/pydantic/pydantic/pull/10740) - [@​frfahim](https://redirect.github.com/frfahim) made their first contribution in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) ### [`v2.9.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v292-2024-09-17) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.1...v2.9.2) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.9.2) ##### What's Changed ##### Fixes - Do not error when trying to evaluate annotations of private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​10358](https://redirect.github.com/pydantic/pydantic/pull/10358) - Adding notes on designing sound `Callable` discriminators by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10400](https://redirect.github.com/pydantic/pydantic/pull/10400) - Fix serialization schema generation when using `PlainValidator` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10427](https://redirect.github.com/pydantic/pydantic/pull/10427) - Fix `Union` serialization warnings by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1449](https://redirect.github.com/pydantic/pydantic-core/pull/1449) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10414](https://redirect.github.com/pydantic/pydantic/pull/10414) - Fix `ZoneInfo` validation with various invalid types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10408](https://redirect.github.com/pydantic/pydantic/pull/10408) ### [`v2.9.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v291-2024-09-09) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.0...v2.9.1) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.9.1) ##### What's Changed ##### Fixes - Fix Predicate issue in v2.9.0 by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10321](https://redirect.github.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound to `>=0.6.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10327](https://redirect.github.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://redirect.github.com/jakob-keller) in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - Fix `IncExc` type alias definition by [@​Viicos](https://redirect.github.com/Viicos) in [#​10339](https://redirect.github.com/pydantic/pydantic/pull/10339) - Use correct types namespace when building namedtuple core schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​10337](https://redirect.github.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://redirect.github.com/Viicos) in [#​10347](https://redirect.github.com/pydantic/pydantic/pull/10347) - Fix tagged union serialization with alias generators by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1442](https://redirect.github.com/pydantic/pydantic-core/pull/1442) ### [`v2.9.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v290-2024-09-05) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.8.2...v2.9.0) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.9.0) The code released in v2.9.0 is practically identical to that of v2.9.0b2. ##### What's Changed ##### Packaging - Bump `ruff` to `v0.5.0` and `pyright` to `v1.1.369` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​9801](https://redirect.github.com/pydantic/pydantic/pull/9801) - Bump `pydantic-extra-types` to `v2.9.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​9832](https://redirect.github.com/pydantic/pydantic/pull/9832) - Support compatibility with `pdm v2.18.1` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10138](https://redirect.github.com/pydantic/pydantic/pull/10138) - Bump `v1` version stub to `v1.10.18` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10214](https://redirect.github.com/pydantic/pydantic/pull/10214) - Bump `pydantic-core` to `v2.23.2` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10311](https://redirect.github.com/pydantic/pydantic/pull/10311) ##### New Features - Add support for `ZoneInfo` by [@​Youssefares](https://redirect.github.com/Youssefares) in [#​9896](https://redirect.github.com/pydantic/pydantic/pull/9896) - Add `Config.val_json_bytes` by [@​josh-newman](https://redirect.github.com/josh-newman) in [#​9770](https://redirect.github.com/pydantic/pydantic/pull/9770) - Add DSN for Snowflake by [@​aditkumar72](https://redirect.github.com/aditkumar72) in [#​10128](https://redirect.github.com/pydantic/pydantic/pull/10128) - Support `complex` number by [@​changhc](https://redirect.github.com/changhc) in [#​9654](https://redirect.github.com/pydantic/pydantic/pull/9654) - Add support for `annotated_types.Not` by [@​aditkumar72](https://redirect.github.com/aditkumar72) in [#​10210](https://redirect.github.com/pydantic/pydantic/pull/10210) - Allow `WithJsonSchema` to inject `$ref`s w/ `http` or `https` links by [@​dAIsySHEng1](https://redirect.github.com/dAIsySHEng1) in [#​9863](https://redirect.github.com/pydantic/pydantic/pull/9863) - Allow validators to customize validation JSON schema by [@​Viicos](https://redirect.github.com/Viicos) in [#​10094](https://redirect.github.com/pydantic/pydantic/pull/10094) - Support parametrized `PathLike` types by [@​nix010](https://redirect.github.com/nix010) in [#​9764](https://redirect.github.com/pydantic/pydantic/pull/9764) - Add tagged union serializer that attempts to use `str` or `callable` discriminators to select the correct serializer by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in in [pydantic/pydantic-core#1397](https://redirect.github.com/pydantic/pydantic-core/pull/1397) ##### Changes - Breaking Change: Merge `dict` type `json_schema_extra` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​9792](https://redirect.github.com/pydantic/pydantic/pull/9792) - For more info (how to replicate old behavior) on this change, see [here](https://docs.pydantic.dev/dev/concepts/json_schema/#merging-json_schema_extra) - Refactor annotation injection for known (often generic) types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​9979](https://redirect.github.com/pydantic/pydantic/pull/9979) - Move annotation compatibility errors to validation phase by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​9999](https://redirect.github.com/pydantic/pydantic/pull/9999) - Improve runtime errors for string constraints like `pattern` for incompatible types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10158](https://redirect.github.com/pydantic/pydantic/pull/10158) - Remove `'allOf'` JSON schema workarounds by [@​dpeachey](https://redirect.github.com/dpeachey) in [#​10029](https://redirect.github.com/pydantic/pydantic/pull/10029) - Remove `typed_dict_cls` data from `CoreMetadata` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10180](https://redirect.github.com/pydantic/pydantic/pull/10180) - Deprecate passing a dict to the `Examples` class by [@​Viicos](https://redirect.github.com/Viicos) in [#​10181](https://redirect.github.com/pydantic/pydantic/pull/10181) - Remove `initial_metadata` from internal metadata construct by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10194](https://redirect.github.com/pydantic/pydantic/pull/10194) - Use `re.Pattern.search` instead of `re.Pattern.match` for consistency with `rust` behavior by [@​tinez](https://redirect.github.com/tinez) in [pydantic/pydantic-core#1368](https://redirect.github.com/pydantic/pydantic-core/pull/1368) - Show value of wrongly typed data in `pydantic-core` serialization warning by [@​BoxyUwU](https://redirect.github.com/BoxyUwU) in [pydantic/pydantic-core#1377](https://redirect.github.com/pydantic/pydantic-core/pull/1377) - Breaking Change: in `pydantic-core`, change `metadata` type hint in core schemas from `Any` -> `Dict[str, Any] | None` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1411](https://redirect.github.com/pydantic/pydantic-core/pull/1411) - Raise helpful warning when `self` isn't returned from model validator by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10255](https://redirect.github.com/pydantic/pydantic/pull/10255) ##### Performance - Initial start at improving import times for modules, using caching primarily by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10009](https://redirect.github.com/pydantic/pydantic/pull/10009) - Using cached internal import for `BaseModel` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10013](https://redirect.github.com/pydantic/pydantic/pull/10013) - Simplify internal generics logic - remove generator overhead by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10059](https://redirect.github.com/pydantic/pydantic/pull/10059) - Remove default module globals from types namespace by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10123](https://redirect.github.com/pydantic/pydantic/pull/10123) - Performance boost: skip caching parent namespaces in most cases by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10113](https://redirect.github.com/pydantic/pydantic/pull/10113) - Update ns stack with already copied ns by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10267](https://redirect.github.com/pydantic/pydantic/pull/10267) ##### Minor Internal Improvements - ⚡️ Speed up `multiple_of_validator()` by 31% in `pydantic/_internal/_validators.py` by [@​misrasaurabh1](https://redirect.github.com/misrasaurabh1) in [#​9839](https://redirect.github.com/pydantic/pydantic/pull/9839) - ⚡️ Speed up `ModelPrivateAttr.__set_name__()` by 18% in `pydantic/fields.py` by [@​misrasaurabh1](https://redirect.github.com/misrasaurabh1) in [#​9841](https://redirect.github.com/pydantic/pydantic/pull/9841) - ⚡️ Speed up `dataclass()` by 7% in `pydantic/dataclasses.py` by [@​misrasaurabh1](https://redirect.github.com/misrasaurabh1) in [#​9843](https://redirect.github.com/pydantic/pydantic/pull/9843) - ⚡️ Speed up function `_field_name_for_signature` by 37% in `pydantic/_internal/_signature.py` by [@​misrasaurabh1](https://redirect.github.com/misrasaurabh1) in [#​9951](https://redirect.github.com/pydantic/pydantic/pull/9951) - ⚡️ Speed up method `GenerateSchema._unpack_refs_defs` by 26% in `pydantic/_internal/_generate_schema.py` by [@​misrasaurabh1](https://redirect.github.com/misrasaurabh1) in [#​9949](https://redirect.github.com/pydantic/pydantic/pull/9949) - ⚡️ Speed up function `apply_each_item_validators` by 100% in `pydantic/_internal/_generate_schema.py` by [@​misrasaurabh1](https://redirect.github.com/misrasaurabh1) in [#​9950](https://redirect.github.com/pydantic/pydantic/pull/9950) - ⚡️ Speed up method `ConfigWrapper.core_config` by 28% in `pydantic/_internal/_config.py` by [@​misrasaurabh1](https://redirect.github.com/misrasaurabh1) in [#​9953](https://redirect.github.com/pydantic/pydantic/pull/9953) ##### Fixes - Respect `use_enum_values` on `Literal` types by [@​kwint](https://redirect.github.com/kwint) in [#​9787](https://redirect.github.com/pydantic/pydantic/pull/9787) - Prevent type error for exotic `BaseModel/RootModel` inheritance by [@​dmontagu](https://redirect.github.com/dmontagu) in [#​9913](https://redirect.github.com/pydantic/pydantic/pull/9913) - Fix typing issue with field_validator-decorated methods by [@​dmontagu](https://redirect.github.com/dmontagu) in [#​9914](https://redirect.github.com/pydantic/pydantic/pull/9914) - Replace `str` type annotation with `Any` in validator factories in documentation on validators by [@​maximilianfellhuber](https://redirect.github.com/maximilianfellhuber) in [#​9885](https://redirect.github.com/pydantic/pydantic/pull/9885) - Fix `ComputedFieldInfo.wrapped_property` pointer when a property setter is assigned by [@​tlambert03](https://redirect.github.com/tlambert03) in [#​9892](https://redirect.github.com/pydantic/pydantic/pull/9892) - Fix recursive typing of `main.IncEnx` by [@​tlambert03](https://redirect.github.com/tlambert03) in [#​9924](https://redirect.github.com/pydantic/pydantic/pull/9924) - Allow usage of `type[Annotated[...]]` by [@​Viicos](https://redirect.github.com/Viicos) in [#​9932](https://redirect.github.com/pydantic/pydantic/pull/9932) - `mypy` plugin: handle frozen fields on a per-field basis by [@​dmontagu](https://redirect.github.com/dmontagu) in [#​9935](https://redirect.github.com/pydantic/pydantic/pull/9935) - Fix typo in `invalid-annotated-type` error code by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​9948](https://redirect.github.com/pydantic/pydantic/pull/9948) - Simplify schema generation for `uuid`, `url`, and `ip` types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​9975](https://redirect.github.com/pydantic/pydantic/pull/9975) - Move `date` schemas to `_generate_schema.py` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​9976](https://redirect.github.com/pydantic/pydantic/pull/9976) - Move `decimal.Decimal` validation to `_generate_schema.py` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​9977](https://redirect.github.com/pydantic/pydantic/pull/9977) - Simplify IP address schema in `_std_types_schema.py` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​9959](https://redirect.github.com/pydantic/pydantic/pull/9959) - Fix type annotations for some potentially generic `GenerateSchema.match_type` options by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​9961](https://redirect.github.com/pydantic/pydantic/pull/9961) - Add class name to "has conflict" warnings by [@​msabramo](https://redirect.github.com/msabramo) in [#​9964](https://redirect.github.com/pydantic/pydantic/pull/9964) - Fix `dataclass` ignoring `default_factory` passed in Annotated by [@​kc0506](https://redirect.github.com/kc0506) in [#​9971](https://redirect.github.com/pydantic/pydantic/pull/9971) - Fix `Sequence` ignoring `discriminator` by [@​kc0506](https://redirect.github.com/kc0506) in [#​9980](https://redirect.github.com/pydantic/pydantic/pull/9980) - Fix typing for `IPvAnyAddress` and `IPvAnyInterface` by [@​haoyun](https://redirect.github.com/haoyun) in [#​9990](https://redirect.github.com/pydantic/pydantic/pull/9990) - Fix false positives on v1 models in `mypy` plugin for `from_orm` check requiring from_attributes=True config by [@​radekwlsk](https://redirect.github.com/radekwlsk) in [#​9938](https://redirect.github.com/pydantic/pydantic/pull/9938) - Apply `strict=True` to `__init__` in `mypy` plugin by [@​kc0506](https://redirect.github.com/kc0506) in [#​9998](https://redirect.github.com/pydantic/pydantic/pull/9998) - Refactor application of `deque` annotations by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10018](https://redirect.github.com/pydantic/pydantic/pull/10018) - Raise a better user error when failing to evaluate a forward reference by [@​Viicos](https://redirect.github.com/Viicos) in [#​10030](https://redirect.github.com/pydantic/pydantic/pull/10030) - Fix evaluation of `__pydantic_extra__` annotation in specific circumstances by [@​Viicos](https://redirect.github.com/Viicos) in [#​10070](https://redirect.github.com/pydantic/pydantic/pull/10070) - Fix `frozen` enforcement for `dataclasses` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10066](https://redirect.github.com/pydantic/pydantic/pull/10066) - Remove logic to handle unused `__get_pydantic_core_schema__` signature by [@​Viicos](https://redirect.github.com/Viicos) in [#​10075](https://redirect.github.com/pydantic/pydantic/pull/10075) - Use `is_annotated` consistently by [@​Viicos](https://redirect.github.com/Viicos) in [#​10095](https://redirect.github.com/pydantic/pydantic/pull/10095) - Fix `PydanticDeprecatedSince26` typo by [@​kc0506](https://redirect.github.com/kc0506) in [#​10101](https://redirect.github.com/pydantic/pydantic/pull/10101) - Improve `pyright` tests, refactor model decorators signatures by [@​Viicos](https://redirect.github.com/Viicos) in [#​10092](https://redirect.github.com/pydantic/pydantic/pull/10092) - Fix `ip` serialization logic by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10112](https://redirect.github.com/pydantic/pydantic/pull/10112) - Warn when frozen defined twice for `dataclasses` by [@​mochi22](https://redirect.github.com/mochi22) in [#​10082](https://redirect.github.com/pydantic/pydantic/pull/10082) - Do not compute JSON Schema default when plain serializers are used with `when_used` set to `'json-unless-none'` and the default value is `None` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10121](https://redirect.github.com/pydantic/pydantic/pull/10121) - Fix `ImportString` special cases by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10137](https://redirect.github.com/pydantic/pydantic/pull/10137) - Blacklist default globals to support exotic user code with `__` prefixed annotations by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10136](https://redirect.github.com/pydantic/pydantic/pull/10136) - Handle `nullable` schemas with `serialization` schema available during JSON Schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10132](https://redirect.github.com/pydantic/pydantic/pull/10132) - Reorganize `BaseModel` annotations by [@​kc0506](https://redirect.github.com/kc0506) in [#​10110](https://redirect.github.com/pydantic/pydantic/pull/10110) - Fix core schema simplification when serialization schemas are involved in specific scenarios by [@​Viicos](https://redirect.github.com/Viicos) in [#​10155](https://redirect.github.com/pydantic/pydantic/pull/10155) - Add support for stringified annotations when using `PrivateAttr` with `Annotated` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10157](https://redirect.github.com/pydantic/pydantic/pull/10157) - Fix JSON Schema `number` type for literal and enum schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​10172](https://redirect.github.com/pydantic/pydantic/pull/10172) - Fix JSON Schema generation of fields with plain validators in serialization mode by [@​Viicos](https://redirect.github.com/Viicos) in [#​10167](https://redirect.github.com/pydantic/pydantic/pull/10167) - Fix invalid JSON Schemas being generated for functions in certain scenarios by [@​Viicos](https://redirect.github.com/Viicos) in [#​10188](https://redirect.github.com/pydantic/pydantic/pull/10188) - Make sure generated JSON Schemas are valid in tests by [@​Viicos](https://redirect.github.com/Viicos) in [#​10182](https://redirect.github.com/pydantic/pydantic/pull/10182) - Fix key error with custom serializer by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10200](https://redirect.github.com/pydantic/pydantic/pull/10200) - Add 'wss' for allowed schemes in NatsDsn by [@​swelborn](https://redirect.github.com/swelborn) in [#​10224](https://redirect.github.com/pydantic/pydantic/pull/10224) - Fix `Mapping` and `MutableMapping` annotations to use mapping schema instead of dict schema by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10020](https://redirect.github.com/pydantic/pydantic/pull/10020) - Fix JSON Schema generation for constrained dates by [@​Viicos](https://redirect.github.com/Viicos) in [#​10185](https://redirect.github.com/pydantic/pydantic/pull/10185) - Fix discriminated union bug regression when using enums by [@​kfreezen](https://redirect.github.com/kfreezen) in [pydantic/pydantic-core#1286](https://redirect.github.com/pydantic/pydantic-core/pull/1286) - Fix `field_serializer` with computed field when using `*` by [@​nix010](https://redirect.github.com/nix010) in [pydantic/pydantic-core#1349](https://redirect.github.com/pydantic/pydantic-core/pull/1349) - Try each option in `Union` serializer before inference by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1398](https://redirect.github.com/pydantic/pydantic-core/pull/1398) - Fix `float` serialization behavior in `strict` mode by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1400](https://redirect.github.com/pydantic/pydantic-core/pull/1400) - Introduce `exactness` into Decimal validation logic to improve union validation behavior by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in in [pydantic/pydantic-core#1405](https://redirect.github.com/pydantic/pydantic-core/pull/1405) - Fix new warnings assertions to use `pytest.warns()` by [@​mgorny](https://redirect.github.com/mgorny) in [#​10241](https://redirect.github.com/pydantic/pydantic/pull/10241) - Fix a crash when cleaning the namespace in `ModelMetaclass` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10242](https://redirect.github.com/pydantic/pydantic/pull/10242) - Fix parent namespace issue with model rebuilds by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10257](https://redirect.github.com/pydantic/pydantic/pull/10257) - Remove defaults filter for namespace by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10261](https://redirect.github.com/pydantic/pydantic/pull/10261) - Use identity instead of equality after validating model in `__init__` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10264](https://redirect.github.com/pydantic/pydantic/pull/10264) - Support `BigInt` serialization for `int` subclasses by [@​kxx317](https://redirect.github.com/kxx317) in [pydantic/pydantic-core#1417](https://redirect.github.com/pydantic/pydantic-core/pull/1417) - Support signature for wrap validators without `info` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10277](https://redirect.github.com/pydantic/pydantic/pull/10277) - Ensure `__pydantic_complete__` is set when rebuilding `dataclasses` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10291](https://redirect.github.com/pydantic/pydantic/pull/10291) - Respect `schema_generator` config value in `TypeAdapter` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10300](https://redirect.github.com/pydantic/pydantic/pull/10300) ##### New Contributors ##### `pydantic` - [@​kwint](https://redirect.github.com/kwint) made their first contribution in [#​9787](https://redirect.github.com/pydantic/pydantic/pull/9787) - [@​seekinginfiniteloop](https://redirect.github.com/seekinginfiniteloop) made their first contribution in [#​9822](https://redirect.github.com/pydantic/pydantic/pull/9822) - [@​a-alexander](https://redirect.github.com/a-alexander) made their first contribution in [#​9848](https://redirect.github.com/pydantic/pydantic/pull/9848) - [@​maximilianfellhuber](https://redirect.github.com/maximilianfellhuber) made their first contribution in [#​9885](https://redirect.github.com/pydantic/pydantic/pull/9885) - [@​karmaBonfire](https://redirect.github.com/karmaBonfire) made their first contribution in [#​9945](https://redirect.github.com/pydantic/pydantic/pull/9945) - [@​s-rigaud](https://redirect.github.com/s-rigaud) made their first contribution in [#​9958](https://redirect.github.com/pydantic/pydantic/pull/9958) - [@​msabramo](https://redirect.github.com/msabramo) made their first contribution in [#​9964](https://redirect.github.com/pydantic/pydantic/pull/9964) - [@​DimaCybr](https://redirect.github.com/DimaCybr) made their first contribution in [#​9972](https://redirect.github.com/pydantic/pydantic/pull/9972) - [@​kc0506](https://redirect.github.com/kc0506) made their first contribution in [#​9971](https://redirect.github.com/pydantic/pydantic/pull/9971) - [@​haoyun](https://redirect.github.com/haoyun) made their first contribution in [#​9990](https://redirect.github.com/pydantic/pydantic/pull/9990) - [@​radekwlsk](https://redirect.github.com/radekwlsk) made their first contribution in [#​9938](https://redirect.github.com/pydantic/pydantic/pull/9938) - [@​dpeachey](https://redirect.github.com/dpeachey) made their first contribution in [#​10029](https://redirect.github.com/pydantic/pydantic/pull/10029) - [@​BoxyUwU](https://redirect.github.com/BoxyUwU) made their first contribution in [#​10085](https://redirect.github.com/pydantic/pydantic/pull/10085) - [@​mochi22](https://redirect.github.com/mochi22) made their first contribution in [#​10082](https://redirect.github.com/pydantic/pydantic/pull/10082) - [@​aditkumar72](https://redirect.github.com/aditkumar72) made their first contribution in [#​10128](https://redirect.github.com/pydantic/pydantic/pull/10128) - [@​changhc](https://redirect.github.com/changhc) made their first contribution in [#​9654](https://redirect.github.com/pydantic/pydantic/pull/9654) - [@​insumanth](https://redirect.github.com/insumanth) made their first contribution in [#​10229](https://redirect.github.com/pydantic/pydantic/pull/10229) - [@​AdolfoVillalobos](https://redirect.github.com/AdolfoVillalobos) made their first contribution in [#​10240](https://redirect.github.com/pydantic/pydantic/pull/10240) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - "every weekday" (UTC). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzkuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJpbXBhY3Qvbm8tY2hhbmdlbG9nLXJlcXVpcmVkIl19--> Co-authored-by: pulumi-renovate[bot] <189166143+pulumi-renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [poetry-core](https://redirect.github.com/python-poetry/poetry-core) | `^1.9.1` -> `^2.1.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pytest-cov](https://redirect.github.com/pytest-dev/pytest-cov) ([changelog](https://pytest-cov.readthedocs.io/en/latest/changelog.html)) | `^5.0.0` -> `^6.2.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>canonical/cos-lib (cosl)</summary> ### [`v1.0.0`](https://redirect.github.com/canonical/cos-lib/releases/tag/1.0.0) [Compare Source](https://redirect.github.com/canonical/cos-lib/compare/0.1.1...1.0.0) #### What's Changed - Move `coordinated_workers` out of `cosl` by [@​michaeldmitry](https://redirect.github.com/michaeldmitry) in [https://github.com/canonical/cos-lib/pull/146](https://redirect.github.com/canonical/cos-lib/pull/146) **Full Changelog**: https://github.com/canonical/cos-lib/compare/0.1.1...1.0.0 ### [`v0.1.1`](https://redirect.github.com/canonical/cos-lib/releases/tag/0.1.1) [Compare Source](https://redirect.github.com/canonical/cos-lib/compare/0.1.0...0.1.1) #### What's Changed - Deprecate `coordinated_workers` module by [@​michaeldmitry](https://redirect.github.com/michaeldmitry) in [https://github.com/canonical/cos-lib/pull/148](https://redirect.github.com/canonical/cos-lib/pull/148) **Full Changelog**: https://github.com/canonical/cos-lib/compare/0.1.0...0.1.1 ### [`v0.1.0`](https://redirect.github.com/canonical/cos-lib/releases/tag/0.1.0) [Compare Source](https://redirect.github.com/canonical/cos-lib/compare/0.0.57...0.1.0) #### What's Changed - Add SECURITY.md file by [@​simskij](https://redirect.github.com/simskij) in [https://github.com/canonical/cos-lib/pull/137](https://redirect.github.com/canonical/cos-lib/pull/137) - Add Tiobe TiCS to the CI by [@​michaeldmitry](https://redirect.github.com/michaeldmitry) in [https://github.com/canonical/cos-lib/pull/141](https://redirect.github.com/canonical/cos-lib/pull/141) - Lift coordinators' nginx config generation to cosl by [@​michaeldmitry](https://redirect.github.com/michaeldmitry) in [https://github.com/canonical/cos-lib/pull/143](https://redirect.github.com/canonical/cos-lib/pull/143) **Full Changelog**: https://github.com/canonical/cos-lib/compare/0.0.57...0.1.0 ### [`v0.0.57`](https://redirect.github.com/canonical/cos-lib/releases/tag/0.0.57) [Compare Source](https://redirect.github.com/canonical/cos-lib/compare/0.0.56...0.0.57) Surface an otherwise hard-to-spot issue, where the ingress is handing the coordinated workers an HTTPS endpoint, but the coordinator and workers themselves don't have a certificates relation. Workers and coordinator now set blocked on TLS misconfiguration. #### What's Changed - Fix `test-distributed-charms` CI workflow by [@​michaeldmitry](https://redirect.github.com/michaeldmitry) in [https://github.com/canonical/cos-lib/pull/134](https://redirect.github.com/canonical/cos-lib/pull/134) - worker and coordinator block on tls misconfiguration by [@​PietroPasotti](https://redirect.github.com/PietroPasotti) in [https://github.com/canonical/cos-lib/pull/133](https://redirect.github.com/canonical/cos-lib/pull/133) - vbump by [@​PietroPasotti](https://redirect.github.com/PietroPasotti) in [https://github.com/canonical/cos-lib/pull/135](https://redirect.github.com/canonical/cos-lib/pull/135) **Full Changelog**: https://github.com/canonical/cos-lib/compare/0.0.56...0.0.57 ### [`v0.0.56`](https://redirect.github.com/canonical/cos-lib/releases/tag/0.0.56) [Compare Source](https://redirect.github.com/canonical/cos-lib/compare/0.0.55...0.0.56) #### What's Changed - Feat/open specific worker ports by [@​PietroPasotti](https://redirect.github.com/PietroPasotti) in [https://github.com/canonical/cos-lib/pull/131](https://redirect.github.com/canonical/cos-lib/pull/131) **Full Changelog**: https://github.com/canonical/cos-lib/compare/0.0.55...0.0.56 </details> <details> <summary>python-poetry/poetry-core (poetry-core)</summary> ### [`v2.1.3`](https://redirect.github.com/python-poetry/poetry-core/blob/HEAD/CHANGELOG.md#213---2025-05-04) [Compare Source](https://redirect.github.com/python-poetry/poetry-core/compare/2.1.2...2.1.3) ##### Changed - Update list of supported licenses ([#​864](https://redirect.github.com/python-poetry/poetry-core/pull/864)). ##### Fixed - Fix an issue where the union of specific inverse or partially inverse markers was not simplified ([#​858](https://redirect.github.com/python-poetry/poetry-core/pull/858)). - Fix an issue where optional dependencies defined in the `project` section were treated as non-optional when a source was defined for them in the `tool.poetry` section ([#​857](https://redirect.github.com/python-poetry/poetry-core/pull/857)). - Fix an issue where markers with `===` were not parsed correctly ([#​860](https://redirect.github.com/python-poetry/poetry-core/pull/860)). - Fix an issue where local versions with upper case letters caused an error ([#​859](https://redirect.github.com/python-poetry/poetry-core/pull/859)). - Fix an issue where `extra` markers with a value starting with "in" were not validated correctly ([#​862](https://redirect.github.com/python-poetry/poetry-core/pull/862)). - Fix an issue where inheriting from `WheelBuilder` was unnecessarily difficult ([#​855](https://redirect.github.com/python-poetry/poetry-core/pull/855)). ### [`v2.1.2`](https://redirect.github.com/python-poetry/poetry-core/blob/HEAD/CHANGELOG.md#212---2025-03-29) [Compare Source](https://redirect.github.com/python-poetry/poetry-core/compare/2.1.1...2.1.2) ##### Changed - Improve performance of marker operations ([#​851](https://redirect.github.com/python-poetry/poetry-core/pull/851)). ##### Fixed - Fix an issue where incorrect markers were calculated when removing parts covered by the project's Python constraint ([#​841](https://redirect.github.com/python-poetry/poetry-core/pull/841), [#​846](https://redirect.github.com/python-poetry/poetry-core/pull/846)). - Fix an issue where `extra` markers were not simplified ([#​842](https://redirect.github.com/python-poetry/poetry-core/pull/842), [#​845](https://redirect.github.com/python-poetry/poetry-core/pull/845), [#​847](https://redirect.github.com/python-poetry/poetry-core/pull/847)). - Fix an issue where the intersection and union of markers was not deterministic ([#​843](https://redirect.github.com/python-poetry/poetry-core/pull/843)). - Fix an issue where the intersection of `python_version` markers was not recognized as empty ([#​849](https://redirect.github.com/python-poetry/poetry-core/pull/849)). - Fix an issue where `python_version` markers were not simplified ([#​848](https://redirect.github.com/python-poetry/poetry-core/pull/848), [#​851](https://redirect.github.com/python-poetry/poetry-core/pull/851)). - Fix an issue where Python constraints on a package were converted into invalid markers ([#​853](https://redirect.github.com/python-poetry/poetry-core/pull/853)). ### [`v2.1.1`](https://redirect.github.com/python-poetry/poetry-core/blob/HEAD/CHANGELOG.md#211---2025-02-16) [Compare Source](https://redirect.github.com/python-poetry/poetry-core/compare/2.1.0...2.1.1) ##### Fixed - Fix an issue where simplifying a `python_version` marker resulted in an invalid marker ([#​838](https://redirect.github.com/python-poetry/poetry-core/pull/838)). ### [`v2.1.0`](https://redirect.github.com/python-poetry/poetry-core/blob/HEAD/CHANGELOG.md#210---2025-02-15) [Compare Source](https://redirect.github.com/python-poetry/poetry-core/compare/2.0.1...2.1.0) ##### Added - Pass a local version label to the build backend interface ([#​814](https://redirect.github.com/python-poetry/poetry-core/pull/814)). - Expose build-system dependencies via the `poetry` instance ([#​319](https://redirect.github.com/python-poetry/poetry-core/pull/319)). - Add `has_upper_bound method` to `VersionConstraint` ([#​833](https://redirect.github.com/python-poetry/poetry-core/pull/833)). ##### Changed - Improve performance of calculating intersections and unions of `extra` markers ([#​818](https://redirect.github.com/python-poetry/poetry-core/pull/818)). - Improve performance of calculating intersections and unions of complex markers ([#​821](https://redirect.github.com/python-poetry/poetry-core/pull/821), [#​832](https://redirect.github.com/python-poetry/poetry-core/pull/832)). - Improve performance of marker operations by simplifying `python_version` markers ([#​826](https://redirect.github.com/python-poetry/poetry-core/pull/826)). - Improve performance by caching parsed requirements ([#​828](https://redirect.github.com/python-poetry/poetry-core/pull/828)). - Improve error message when a referenced license file is missing ([#​827](https://redirect.github.com/python-poetry/poetry-core/pull/827)). ##### Fixed - Fix an issue where inclusive ordering with post releases was inconsistent with PEP 440 ([#​379](https://redirect.github.com/python-poetry/poetry-core/pull/379)). - Fix an issue where invalid URI tokens in PEP 508 requirement strings were silently discarded ([#​817](https://redirect.github.com/python-poetry/poetry-core/pull/817)). - Fix an issue where wrong markers were calculated when removing parts covered by the project's python constraint ([#​824](https://redirect.github.com/python-poetry/poetry-core/pull/824)). - Fix an issue where optional dependencies that are not part of an extra were included in the wheel metadata ([#​830](https://redirect.github.com/python-poetry/poetry-core/pull/830)). - Fix an issue where the `__pycache__` directory and `*.pyc` files were included in sdists and wheels ([#​835](https://redirect.github.com/python-poetry/poetry-core/pull/835)). ### [`v2.0.1`](https://redirect.github.com/python-poetry/poetry-core/blob/HEAD/CHANGELOG.md#201---2025-01-11) [Compare Source](https://redirect.github.com/python-poetry/poetry-core/compare/2.0.0...2.0.1) ##### Changed - Replace the deprecated core metadata field `Home-page` with `Project-URL: Homepage` ([#​807](https://redirect.github.com/python-poetry/poetry-core/pull/807)). ##### Fixed - Fix an issue where includes from `tool.poetry.packages` without a specified `format` were not initialized with the default value resulting in a `KeyError` ([#​805](https://redirect.github.com/python-poetry/poetry-core/pull/805)). - Fix an issue where some `project.urls` entries were not processed correctly resulting in a `KeyError` ([#​807](https://redirect.github.com/python-poetry/poetry-core/pull/807)). - Fix an issue where dynamic `project.dependencies` via `tool.poetry.dependencies` were ignored if `project.optional-dependencies` were defined ([#​811](https://redirect.github.com/python-poetry/poetry-core/pull/811)). ### [`v2.0.0`](https://redirect.github.com/python-poetry/poetry-core/blob/HEAD/CHANGELOG.md#200---2025-01-04) [Compare Source](https://redirect.github.com/python-poetry/poetry-core/compare/1.9.1...2.0.0) ##### Added - **Add support for the `project` section in the `pyproject.toml` file according to PEP 621** ([#​708](https://redirect.github.com/python-poetry/poetry-core/pull/708), [#​792](https://redirect.github.com/python-poetry/poetry-core/pull/792)). - Add support for non PEP440 compliant version in the `platform_release` marker ([#​722](https://redirect.github.com/python-poetry/poetry-core/pull/722)). - Add support for string comparisons with `in` / `not in` in generic constraints ([#​722](https://redirect.github.com/python-poetry/poetry-core/pull/722)). - Add support for script files that are generated by a build script ([#​710](https://redirect.github.com/python-poetry/poetry-core/pull/710)). - Add support for `SOURCE_DATE_EPOCH` when building packages ([#​766](https://redirect.github.com/python-poetry/poetry-core/pull/766), [#​781](https://redirect.github.com/python-poetry/poetry-core/pull/781)). ##### Changed - Drop support for Python 3.8 ([#​798](https://redirect.github.com/python-poetry/poetry-core/pull/798)). - Create `METADATA` files with version 2.3 instead of 2.2 ([#​707](https://redirect.github.com/python-poetry/poetry-core/pull/707)). - Normalize source vcs URLs ([#​701](https://redirect.github.com/python-poetry/poetry-core/pull/701)). - Make `allow-prereleases` a tri-state setting ([#​783](https://redirect.github.com/python-poetry/poetry-core/pull/783)). - Rename exceptions to have an `Error` suffix ([#​767](https://redirect.github.com/python-poetry/poetry-core/pull/767)). - Remove support for `x` in version constraints ([#​770](https://redirect.github.com/python-poetry/poetry-core/pull/770)). - Remove support for scripts with extras ([#​708](https://redirect.github.com/python-poetry/poetry-core/pull/708)). - Remove deprecated features and interfaces ([#​702](https://redirect.github.com/python-poetry/poetry-core/pull/702), [#​769](https://redirect.github.com/python-poetry/poetry-core/pull/769)). - Deprecate `tool.poetry.dev-dependencies` in favor of `tool.poetry.group.dev.dependencies` ([#​754](https://redirect.github.com/python-poetry/poetry-core/pull/754)). - Deprecate `Package.python_marker` ([#​446](https://redirect.github.com/python-poetry/poetry-core/pull/446)). - Improve Cygwin git support under Windows ([#​704](https://redirect.github.com/python-poetry/poetry-core/pull/704)). - Improve error message when the `pyproject.toml` file cannot be parsed ([#​734](https://redirect.github.com/python-poetry/poetry-core/pull/734)). - Improve handling of `readme` files ([#​752](https://redirect.github.com/python-poetry/poetry-core/pull/752)). - Improve error handling when the Python constraint is empty ([#​761](https://redirect.github.com/python-poetry/poetry-core/pull/761)). - Improve performance for creating a PEP 508 requirement from a dependency ([#​779](https://redirect.github.com/python-poetry/poetry-core/pull/779)). - Update list of supported licenses ([#​706](https://redirect.github.com/python-poetry/poetry-core/pull/706), [#​718](https://redirect.github.com/python-poetry/poetry-core/pull/718), [#​727](https://redirect.github.com/python-poetry/poetry-core/pull/727), [#​736](https://redirect.github.com/python-poetry/poetry-core/pull/736), [#​746](https://redirect.github.com/python-poetry/poetry-core/pull/746), [#​755](https://redirect.github.com/python-poetry/poetry-core/pull/755), [#​764](https://redirect.github.com/python-poetry/poetry-core/pull/764), [#​784](https://redirect.github.com/python-poetry/poetry-core/pull/784), [#​787](https://redirect.github.com/python-poetry/poetry-core/pull/787), [#​795](https://redirect.github.com/python-poetry/poetry-core/pull/795)). ##### Fixed - Fix an issue where the `platlib` directory of the wrong Python was used ([#​726](https://redirect.github.com/python-poetry/poetry-core/pull/726)). - Fix handling of generic constraints ([#​732](https://redirect.github.com/python-poetry/poetry-core/pull/732)). - Fix an issue where building a wheel in a nested output directory results in an error ([#​762](https://redirect.github.com/python-poetry/poetry-core/pull/762)). - Fix an issue where `+` was not allowed in git URL paths ([#​765](https://redirect.github.com/python-poetry/poetry-core/pull/765)). - Fix an issue where the temporary directory was not cleaned up on error ([#​775](https://redirect.github.com/python-poetry/poetry-core/pull/775)). - Fix an issue where the regular expression for author names was too restrictive ([#​517](https://redirect.github.com/python-poetry/poetry-core/pull/517)). - Fix an issue where basic auth http(s) credentials could not be parsed ([#​791](https://redirect.github.com/python-poetry/poetry-core/pull/791)). ##### Vendoring - [`fastjsonschema==2.21.1`](https://redirect.github.com/horejsek/python-fastjsonschema/blob/master/CHANGELOG.txt) - [`lark==1.2.2`](https://redirect.github.com/lark-parser/lark/releases/tag/1.2.2) - [`packaging==24.2`](https://redirect.github.com/pypa/packaging/blob/main/CHANGELOG.rst) - [`tomli==2.2.1`](https://redirect.github.com/hukkin/tomli/blob/master/CHANGELOG.md) </details> <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.11.7`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2117-2025-06-14) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.6...v2.11.7) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.7) ##### What's Changed ##### Fixes - Copy `FieldInfo` instance if necessary during `FieldInfo` build by [@​Viicos](https://redirect.github.com/Viicos) in [#​11898](https://redirect.github.com/pydantic/pydantic/pull/11898) ### [`v2.11.6`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2116-2025-06-13) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.6) ##### What's Changed ##### Fixes - Rebuild dataclass fields before schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​11949](https://redirect.github.com/pydantic/pydantic/pull/11949) - Always store the original field assignment on `FieldInfo` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11946](https://redirect.github.com/pydantic/pydantic/pull/11946) ### [`v2.11.5`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2115-2025-05-22) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.4...v2.11.5) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.5) ##### What's Changed ##### Fixes - Check if `FieldInfo` is complete after applying type variable map by [@​Viicos](https://redirect.github.com/Viicos) in [#​11855](https://redirect.github.com/pydantic/pydantic/pull/11855) - Do not delete mock validator/serializer in `model_rebuild()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11890](https://redirect.github.com/pydantic/pydantic/pull/11890) - Do not duplicate metadata on model rebuild by [@​Viicos](https://redirect.github.com/Viicos) in [#​11902](https://redirect.github.com/pydantic/pydantic/pull/11902) ### [`v2.11.4`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2114-2025-04-29) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.3...v2.11.4) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.4) ##### What's Changed ##### Packaging - Bump `mkdocs-llmstxt` to v0.2.0 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11725](https://redirect.github.com/pydantic/pydantic/pull/11725) ##### Changes - Allow config and bases to be specified together in `create_model()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11714](https://redirect.github.com/pydantic/pydantic/pull/11714). This change was backported as it was previously possible (although not meant to be supported) to provide `model_config` as a field, which would make it possible to provide both configuration and bases. ##### Fixes - Remove generics cache workaround by [@​Viicos](https://redirect.github.com/Viicos) in [#​11755](https://redirect.github.com/pydantic/pydantic/pull/11755) - Remove coercion of decimal constraints by [@​Viicos](https://redirect.github.com/Viicos) in [#​11772](https://redirect.github.com/pydantic/pydantic/pull/11772) - Fix crash when expanding root type in the mypy plugin by [@​Viicos](https://redirect.github.com/Viicos) in [#​11735](https://redirect.github.com/pydantic/pydantic/pull/11735) - Fix issue with recursive generic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11775](https://redirect.github.com/pydantic/pydantic/pull/11775) - Traverse `function-before` schemas during schema gathering by [@​Viicos](https://redirect.github.com/Viicos) in [#​11801](https://redirect.github.com/pydantic/pydantic/pull/11801) ### [`v2.11.3`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2113-2025-04-08) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.2...v2.11.3) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.3) ##### What's Changed ##### Packaging - Update V1 copy to v1.10.21 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11706](https://redirect.github.com/pydantic/pydantic/pull/11706) ##### Fixes - Preserve field description when rebuilding model fields by [@​Viicos](https://redirect.github.com/Viicos) in [#​11698](https://redirect.github.com/pydantic/pydantic/pull/11698) ### [`v2.11.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2112-2025-04-03) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.1...v2.11.2) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.2) ##### What's Changed ##### Fixes - Bump `pydantic-core` to v2.33.1 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11678](https://redirect.github.com/pydantic/pydantic/pull/11678) - Make sure `__pydantic_private__` exists before setting private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​11666](https://redirect.github.com/pydantic/pydantic/pull/11666) - Do not override `FieldInfo._complete` when using field from parent class by [@​Viicos](https://redirect.github.com/Viicos) in [#​11668](https://redirect.github.com/pydantic/pydantic/pull/11668) - Provide the available definitions when applying discriminated unions by [@​Viicos](https://redirect.github.com/Viicos) in [#​11670](https://redirect.github.com/pydantic/pydantic/pull/11670) - Do not expand root type in the mypy plugin for variables by [@​Viicos](https://redirect.github.com/Viicos) in [#​11676](https://redirect.github.com/pydantic/pydantic/pull/11676) - Mention the attribute name in model fields deprecation message by [@​Viicos](https://redirect.github.com/Viicos) in [#​11674](https://redirect.github.com/pydantic/pydantic/pull/11674) - Properly validate parameterized mappings by [@​Viicos](https://redirect.github.com/Viicos) in [#​11658](https://redirect.github.com/pydantic/pydantic/pull/11658) ### [`v2.11.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2111-2025-03-28) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.0...v2.11.1) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.1) ##### What's Changed ##### Fixes - Do not override `'definitions-ref'` schemas containing serialization schemas or metadata by [@​Viicos](https://redirect.github.com/Viicos) in [#​11644](https://redirect.github.com/pydantic/pydantic/pull/11644) ### [`v2.11.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2110-2025-03-27) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.6...v2.11.0) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.0) ##### What's Changed Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general). See the [blog post](https://pydantic.dev/articles/pydantic-v2-11-release) for more details. ##### Packaging - Bump `pydantic-core` to v2.33.0 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11631](https://redirect.github.com/pydantic/pydantic/pull/11631) ##### New Features - Add `encoded_string()` method to the URL types by [@​YassinNouh21](https://redirect.github.com/YassinNouh21) in [#​11580](https://redirect.github.com/pydantic/pydantic/pull/11580) - Add support for `defer_build` with `@validate_call` decorator by [@​Viicos](https://redirect.github.com/Viicos) in [#​11584](https://redirect.github.com/pydantic/pydantic/pull/11584) - Allow `@with_config` decorator to be used with keyword arguments by [@​Viicos](https://redirect.github.com/Viicos) in [#​11608](https://redirect.github.com/pydantic/pydantic/pull/11608) - Simplify customization of default value inclusion in JSON Schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​11634](https://redirect.github.com/pydantic/pydantic/pull/11634) - Add `generate_arguments_schema()` function by [@​Viicos](https://redirect.github.com/Viicos) in [#​11572](https://redirect.github.com/pydantic/pydantic/pull/11572) ##### Fixes - Allow generic typed dictionaries to be used for unpacked variadic keyword parameters by [@​Viicos](https://redirect.github.com/Viicos) in [#​11571](https://redirect.github.com/pydantic/pydantic/pull/11571) - Fix runtime error when computing model string representation involving cached properties and self-referenced models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11579](https://redirect.github.com/pydantic/pydantic/pull/11579) - Preserve other steps when using the ellipsis in the pipeline API by [@​Viicos](https://redirect.github.com/Viicos) in [#​11626](https://redirect.github.com/pydantic/pydantic/pull/11626) - Fix deferred discriminator application logic by [@​Viicos](https://redirect.github.com/Viicos) in [#​11591](https://redirect.github.com/pydantic/pydantic/pull/11591) ##### New Contributors - [@​cmenon12](https://redirect.github.com/cmenon12) made their first contribution in [#​11562](https://redirect.github.com/pydantic/pydantic/pull/11562) - [@​Jeukoh](https://redirect.github.com/Jeukoh) made their first contribution in [#​11611](https://redirect.github.com/pydantic/pydantic/pull/11611) ### [`v2.10.6`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2106-2025-01-23) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.5...v2.10.6) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.6) ##### What's Changed ##### Fixes - Fix JSON Schema reference collection with `'examples'` keys by [@​Viicos](https://redirect.github.com/Viicos) in [#​11325](https://redirect.github.com/pydantic/pydantic/pull/11325) - Fix url python serialization by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11331](https://redirect.github.com/pydantic/pydantic/pull/11331) ### [`v2.10.5`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2105-2025-01-08) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.4...v2.10.5) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.5) ##### What's Changed ##### Fixes - Remove custom MRO implementation of Pydantic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11184](https://redirect.github.com/pydantic/pydantic/pull/11184) - Fix URL serialization for unions by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11233](https://redirect.github.com/pydantic/pydantic/pull/11233) ### [`v2.10.4`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2104-2024-12-18) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.4) ##### What's Changed ##### Packaging - Bump `pydantic-core` to v2.27.2 by [@​davidhewitt](https://redirect.github.com/davidhewitt) in [#​11138](https://redirect.github.com/pydantic/pydantic/pull/11138) ##### Fixes - Fix for comparison of `AnyUrl` objects by [@​alexprabhat99](https://redirect.github.com/alexprabhat99) in [#​11082](https://redirect.github.com/pydantic/pydantic/pull/11082) - Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by [@​Viicos](https://redirect.github.com/Viicos) in [#​11093](https://redirect.github.com/pydantic/pydantic/pull/11093) - Include JSON Schema input core schema in function schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​11085](https://redirect.github.com/pydantic/pydantic/pull/11085) - Add `len` to `_BaseUrl` to avoid TypeError by [@​Kharianne](https://redirect.github.com/Kharianne) in [#​11111](https://redirect.github.com/pydantic/pydantic/pull/11111) - Make sure the type reference is removed from the seen references by [@​Viicos](https://redirect.github.com/Viicos) in [#​11143](https://redirect.github.com/pydantic/pydantic/pull/11143) ##### New Contributors - [@​FyZzyss](https://redirect.github.com/FyZzyss) made their first contribution in [#​10789](https://redirect.github.com/pydantic/pydantic/pull/10789) - [@​tamird](https://redirect.github.com/tamird) made their first contribution in [#​10948](https://redirect.github.com/pydantic/pydantic/pull/10948) - [@​felixxm](https://redirect.github.com/felixxm) made their first contribution in [#​11077](https://redirect.github.com/pydantic/pydantic/pull/11077) - [@​alexprabhat99](https://redirect.github.com/alexprabhat99) made their first contribution in [#​11082](https://redirect.github.com/pydantic/pydantic/pull/11082) - [@​Kharianne](https://redirect.github.com/Kharianne) made their first contribution in [#​11111](https://redirect.github.com/pydantic/pydantic/pull/11111) ### [`v2.10.3`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2103-2024-12-03) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.2...v2.10.3) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.3) ##### What's Changed ##### Fixes - Set fields when `defer_build` is set on Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10984](https://redirect.github.com/pydantic/pydantic/pull/10984) - Do not resolve the JSON Schema reference for `dict` core schema keys by [@​Viicos](https://redirect.github.com/Viicos) in [#​10989](https://redirect.github.com/pydantic/pydantic/pull/10989) - Use the globals of the function when evaluating the return type for `PlainSerializer` and `WrapSerializer` functions by [@​Viicos](https://redirect.github.com/Viicos) in [#​11008](https://redirect.github.com/pydantic/pydantic/pull/11008) - Fix host required enforcement for urls to be compatible with v2.9 behavior by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11027](https://redirect.github.com/pydantic/pydantic/pull/11027) - Add a `default_factory_takes_validated_data` property to `FieldInfo` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11034](https://redirect.github.com/pydantic/pydantic/pull/11034) - Fix url json schema in `serialization` mode by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11035](https://redirect.github.com/pydantic/pydantic/pull/11035) ### [`v2.10.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2102-2024-11-25) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.1...v2.10.2) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.2) ##### What's Changed ##### Fixes - Only evaluate FieldInfo annotations if required during schema building by [@​Viicos](https://redirect.github.com/Viicos) in [#​10769](https://redirect.github.com/pydantic/pydantic/pull/10769) - Do not evaluate annotations for private fields by [@​Viicos](https://redirect.github.com/Viicos) in [#​10962](https://redirect.github.com/pydantic/pydantic/pull/10962) - Support serialization as any for `Secret` types and `Url` types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10947](https://redirect.github.com/pydantic/pydantic/pull/10947) - Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by [@​Viicos](https://redirect.github.com/Viicos) in [#​10972](https://redirect.github.com/pydantic/pydantic/pull/10972) - Add hashing support for URL types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10975](https://redirect.github.com/pydantic/pydantic/pull/10975) - Hide `BaseModel.__replace__` definition from type checkers by [@​Viicos](https://redirect.github.com/Viicos) in [#​10979](https://redirect.github.com/pydantic/pydantic/pull/10979) ### [`v2.10.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2101-2024-11-21) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.0...v2.10.1) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.1) ##### What's Changed ##### Packaging - Bump `pydantic-core` version to `v2.27.1` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10938](https://redirect.github.com/pydantic/pydantic/pull/10938) ##### Fixes - Use the correct frame when instantiating a parametrized `TypeAdapter` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10893](https://redirect.github.com/pydantic/pydantic/pull/10893) - Relax check for validated data in `default_factory` utils by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10909](https://redirect.github.com/pydantic/pydantic/pull/10909) - Fix type checking issue with `model_fields` and `model_computed_fields` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10911](https://redirect.github.com/pydantic/pydantic/pull/10911) - Use the parent configuration during schema generation for stdlib `dataclass`es by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10928](https://redirect.github.com/pydantic/pydantic/pull/10928) - Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by [@​Viicos](https://redirect.github.com/Viicos) in [#​10929](https://redirect.github.com/pydantic/pydantic/pull/10929) - Fix URL constraint application by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10922](https://redirect.github.com/pydantic/pydantic/pull/10922) - Fix URL equality with different validation methods by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10934](https://redirect.github.com/pydantic/pydantic/pull/10934) - Fix JSON schema title when specified as `''` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10936](https://redirect.github.com/pydantic/pydantic/pull/10936) - Fix `python` mode serialization for `complex` inference by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic-core#1549](https://redirect.github.com/pydantic/pydantic-core/pull/1549) ##### New Contributors ### [`v2.10.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.2...v2.10.0) The code released in v2.10.0 is practically identical to that of v2.10.0b2. [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.0) See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights! ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.27.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Replaced pdm with uv by [@​frfahim](https://redirect.github.com/frfahim) in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) ##### New Features - Support `fractions.Fraction` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10318](https://redirect.github.com/pydantic/pydantic/pull/10318) - Support `Hashable` for json validation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10324](https://redirect.github.com/pydantic/pydantic/pull/10324) - Add a `SocketPath` type for `linux` systems by [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - Allow arbitrary refs in JSON schema `examples` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10417](https://redirect.github.com/pydantic/pydantic/pull/10417) - Support `defer_build` for Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10313](https://redirect.github.com/pydantic/pydantic/pull/10313) - Adding v1 / v2 incompatibility warning for nested v1 model by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10431](https://redirect.github.com/pydantic/pydantic/pull/10431) - Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10416](https://redirect.github.com/pydantic/pydantic/pull/10416) - Support compiled patterns in `protected_namespaces` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10522](https://redirect.github.com/pydantic/pydantic/pull/10522) - Add support for `propertyNames` in JSON schema by [@​FlorianSW](https://redirect.github.com/FlorianSW) in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - Adding `__replace__` protocol for Python 3.13+ support by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10596](https://redirect.github.com/pydantic/pydantic/pull/10596) - Expose public `sort` method for JSON schema generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10595](https://redirect.github.com/pydantic/pydantic/pull/10595) - Add runtime validation of `@validate_call` callable argument by [@​kc0506](https://redirect.github.com/kc0506) in [#​10627](https://redirect.github.com/pydantic/pydantic/pull/10627) - Add `experimental_allow_partial` support by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10748](https://redirect.github.com/pydantic/pydantic/pull/10748) - Support default factories taking validated data as an argument by [@​Viicos](https://redirect.github.com/Viicos) in [#​10678](https://redirect.github.com/pydantic/pydantic/pull/10678) - Allow subclassing `ValidationError` and `PydanticCustomError` by [@​Youssefares](https://redirect.github.com/Youssefares) in [pydantic/pydantic-core#1413](https://redirect.github.com/pydantic/pydantic-core/pull/1413) - Add `trailing-strings` support to `experimental_allow_partial` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10537](https://redirect.github.com/pydantic/pydantic/pull/10537) - Improve `TypeAdapter` instance repr by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10872](https://redirect.github.com/pydantic/pydantic/pull/10872) ##### Changes - Don't allow customization of `SchemaGenerator` until interface is more stable by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10303](https://redirect.github.com/pydantic/pydantic/pull/10303) - Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10329](https://redirect.github.com/pydantic/pydantic/pull/10329) - Fix `mro` of generic subclass by [@​kc0506](https://redirect.github.com/kc0506) in [#​10100](https://redirect.github.com/pydantic/pydantic/pull/10100) - Strip whitespaces on JSON Schema title generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10404](https://redirect.github.com/pydantic/pydantic/pull/10404) - Use `b64decode` and `b64encode` for `Base64Bytes` type by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10486](https://redirect.github.com/pydantic/pydantic/pull/10486) - Relax protected namespace config default by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10441](https://redirect.github.com/pydantic/pydantic/pull/10441) - Revalidate parametrized generics if instance's origin is subclass of OG class by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10666](https://redirect.github.com/pydantic/pydantic/pull/10666) - Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10406](https://redirect.github.com/pydantic/pydantic/pull/10406) - Recommend against using `Ellipsis` (...) with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10661](https://redirect.github.com/pydantic/pydantic/pull/10661) - Migrate to subclassing instead of annotated approach for pydantic url types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10662](https://redirect.github.com/pydantic/pydantic/pull/10662) - Change JSON schema generation of `Literal`s and `Enums` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10692](https://redirect.github.com/pydantic/pydantic/pull/10692) - Simplify unions involving `Any` or `Never` when replacing type variables by [@​Viicos](https://redirect.github.com/Viicos) in [#​10338](https://redirect.github.com/pydantic/pydantic/pull/10338) - Do not require padding when decoding `base64` bytes by [@​bschoenmaeckers](https://redirect.github.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://redirect.github.com/pydantic/pydantic-core/pull/1448) - Support dates all the way to 1BC by [@​changhc](https://redirect.github.com/changhc) in [pydantic/speedate#77](https://redirect.github.com/pydantic/speedate/pull/77) ##### Performance - Schema cleaning: skip unnecessary copies during schema walking by [@​Viicos](https://redirect.github.com/Viicos) in [#​10286](https://redirect.github.com/pydantic/pydantic/pull/10286) - Refactor namespace logic for annotations evaluation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10530](https://redirect.github.com/pydantic/pydantic/pull/10530) - Improve email regexp on edge cases by [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10675](https://redirect.github.com/pydantic/pydantic/pull/10675) ##### Fixes - Remove guarding check on `computed_field` with `field_serializer` by [@​nix010](https://redirect.github.com/nix010) in [#​10390](https://redirect.github.com/pydantic/pydantic/pull/10390) - Fix `Predicate` issue in `v2.9.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10321](https://redirect.github.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10327](https://redirect.github.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://redirect.github.com/jakob-keller) in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - Use correct types namespace when building `namedtuple` core schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​10337](https://redirect.github.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://redirect.github.com/Viicos) in [#​10347](https://redirect.github.com/pydantic/pydantic/pull/10347) - Fix `IncEx` type alias definition by [@​Viicos](https://redirect.github.com/Viicos) in [#​10339](https://redirect.github.com/pydantic/pydantic/pull/10339) - Do not error when trying to evaluate annotations of private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​10358](https://redirect.github.com/pydantic/pydantic/pull/10358) - Fix nested type statement by [@​kc0506](https://redirect.github.com/kc0506) in [#​10369](https://redirect.github.com/pydantic/pydantic/pull/10369) - Improve typing of `ModelMetaclass.mro` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10372](https://redirect.github.com/pydantic/pydantic/pull/10372) - Fix class access of deprecated `computed_field`s by [@​Viicos](https://redirect.github.com/Viicos) in [#​10391](https://redirect.github.com/pydantic/pydantic/pull/10391) - Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@​MovisLi](https://redirect.github.com/MovisLi) in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - Fix `NameError` when using `validate_call` with PEP 695 on a class by [@​kc0506](https://redirect.github.com/kc0506) in [#​10380](https://redirect.github.com/pydantic/pydantic/pull/10380) - Fix `ZoneInfo` with various invalid types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10408](https://redirect.github.com/pydantic/pydantic/pull/10408) - Fix `PydanticUserError` on empty `model_config` with annotations by [@​cdwilson](https://redirect.github.com/cdwilson) in [#​10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10414](https://redirect.github.com/pydantic/pydantic/pull/10414) - Fix serialization schema generation when using `PlainValidator` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10427](https://redirect.github.com/pydantic/pydantic/pull/10427) - Fix schema generation error when serialization schema holds references by [@​Viicos](https://redirect.github.com/Viicos) in [#​10444](https://redirect.github.com/pydantic/pydantic/pull/10444) - Inline references if possible when generating schema for `json_schema_input_type` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10439](https://redirect.github.com/pydantic/pydantic/pull/10439) - Fix recursive arguments in `Representation` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10480](https://redirect.github.com/pydantic/pydantic/pull/10480) - Fix representation for builtin function types by [@​kschwab](https://redirect.github.com/kschwab) in [#​10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10506](https://redirect.github.com/pydantic/pydantic/pull/10506) - Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10518](https://redirect.github.com/pydantic/pydantic/pull/10518) - Fix `stacklevel` on deprecation warnings for `BaseModel` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10520](https://redirect.github.com/pydantic/pydantic/pull/10520) - Fix warning `stacklevel` in `BaseModel.__init__` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10526](https://redirect.github.com/pydantic/pydantic/pull/10526) - Improve error handling for in-evaluable refs for discriminator application by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10440](https://redirect.github.com/pydantic/pydantic/pull/10440) - Change the signature of `ConfigWrapper.core_config` to take the title directly by [@​Viicos](https://redirect.github.com/Viicos) in [#​10562](https://redirect.github.com/pydantic/pydantic/pull/10562) - Do not use the previous config from the stack for dataclasses without config by [@​Viicos](https://redirect.github.com/Viicos) in [#​10576](https://redirect.github.com/pydantic/pydantic/pull/10576) - Fix serialization for IP types with `mode='python'` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10594](https://redirect.github.com/pydantic/pydantic/pull/10594) - Support constraint application for `Base64Etc` types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10584](https://redirect.github.com/pydantic/pydantic/pull/10584) - Fix `validate_call` ignoring `Field` in `Annotated` by [@​kc0506](https://redirect.github.com/kc0506) in [#​10610](https://redirect.github.com/pydantic/pydantic/pull/10610) - Raise an error when `Self` is invalid by [@​kc0506](https://redirect.github.com/kc0506) in [#​10609](https://redirect.github.com/pydantic/pydantic/pull/10609) - Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10523](https://redirect.github.com/pydantic/pydantic/pull/10523) - Tweak type alias logic by [@​kc0506](https://redirect.github.com/kc0506) in [#​10643](https://redirect.github.com/pydantic/pydantic/pull/10643) - Support usage of `type` with `typing.Self` and type aliases by [@​kc0506](https://redirect.github.com/kc0506) in [#​10621](https://redirect.github.com/pydantic/pydantic/pull/10621) - Use overloads for `Field` and `PrivateAttr` functions by [@​Viicos](https://redirect.github.com/Viicos) in [#​10651](https://redirect.github.com/pydantic/pydantic/pull/10651) - Clean up the `mypy` plugin implementation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10669](https://redirect.github.com/pydantic/pydantic/pull/10669) - Properly check for `typing_extensions` variant of `TypeAliasType` by [@​Daraan](https://redirect.github.com/Daraan) in [#​10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - Allow any mapping in `BaseModel.model_copy()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10751](https://redirect.github.com/pydantic/pydantic/pull/10751) - Fix `isinstance` behavior for urls by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10766](https://redirect.github.com/pydantic/pydantic/pull/10766) - Ensure `cached_property` can be set on Pydantic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​10774](https://redirect.github.com/pydantic/pydantic/pull/10774) - Fix equality checks for primitives in literals by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://redirect.github.com/pydantic/pydantic-core/pull/1459) - Properly enforce `host_required` for URLs by [@​Viicos](https://redirect.github.com/Viicos) in [pydantic/pydantic-core#1488](https://redirect.github.com/pydantic/pydantic-core/pull/1488) - Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@​andrey-berenda](https://redirect.github.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://redirect.github.com/pydantic/pydantic-core/pull/1515) - Fix serializing `complex` values in `Enum`s by [@​changhc](https://redirect.github.com/changhc) in [pydantic/pydantic-core#1524](https://redirect.github.com/pydantic/pydantic-core/pull/1524) - Refactor `_typing_extra` module by [@​Viicos](https://redirect.github.com/Viicos) in [#​10725](https://redirect.github.com/pydantic/pydantic/pull/10725) - Support intuitive equality for urls by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10798](https://redirect.github.com/pydantic/pydantic/pull/10798) - Add `bytearray` to `TypeAdapter.validate_json` signature by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10802](https://redirect.github.com/pydantic/pydantic/pull/10802) - Ensure class access of method descriptors is performed when used as a default with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10816](https://redirect.github.com/pydantic/pydantic/pull/10816) - Fix circular import with `validate_call` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10807](https://redirect.github.com/pydantic/pydantic/pull/10807) - Fix error when using type aliases referencing other type aliases by [@​Viicos](https://redirect.github.com/Viicos) in [#​10809](https://redirect.github.com/pydantic/pydantic/pull/10809) - Fix `IncEx` type alias to be compatible with mypy by [@​Viicos](https://redirect.github.com/Viicos) in [#​10813](https://redirect.github.com/pydantic/pydantic/pull/10813) - Make `__signature__` a lazy property, do not deepcopy defaults by [@​Viicos](https://redirect.github.com/Viicos) in [#​10818](https://redirect.github.com/pydantic/pydantic/pull/10818) - Make `__signature__` lazy for dataclasses, too by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10832](https://redirect.github.com/pydantic/pydantic/pull/10832) - Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10856](https://redirect.github.com/pydantic/pydantic/pull/10856) ##### New Contributors - [@​jakob-keller](https://redirect.github.com/jakob-keller) made their first contribution in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - [@​MovisLi](https://redirect.github.com/MovisLi) made their first contribution in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - [@​joaopalmeiro](https://redirect.github.com/joaopalmeiro) made their first contribution in [#​10405](https://redirect.github.com/pydantic/pydantic/pull/10405) - [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) made their first contribution in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - [@​cdwilson](https://redirect.github.com/cdwilson) made their first contribution in [#​10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - [@​dlax](https://redirect.github.com/dlax) made their first contribution in [#​10421](https://redirect.github.com/pydantic/pydantic/pull/10421) - [@​kschwab](https://redirect.github.com/kschwab) made their first contribution in [#​10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - [@​santibreo](https://redirect.github.com/santibreo) made their first contribution in [#​10453](https://redirect.github.com/pydantic/pydantic/pull/10453) - [@​FlorianSW](https://redirect.github.com/FlorianSW) made their first contribution in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - [@​tkasuz](https://redirect.github.com/tkasuz) made their first contribution in [#​10555](https://redirect.github.com/pydantic/pydantic/pull/10555) - [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) made their first contribution in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - [@​NiclasvanEyk](https://redirect.github.com/NiclasvanEyk) made their first contribution in [#​10667](https://redirect.github.com/pydantic/pydantic/pull/10667) - [@​mschoettle](https://redirect.github.com/mschoettle) made their first contribution in [#​10677](https://redirect.github.com/pydantic/pydantic/pull/10677) - [@​Daraan](https://redirect.github.com/Daraan) made their first contribution in [#​10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - [@​k4nar](https://redirect.github.com/k4nar) made their first cont </details> --- ### Configuration 📅 **Schedule**: Branch creation - Between 01:00 AM and 05:59 AM, only on Tuesday ( * 1-5 * * 2 ) in timezone Etc/UTC, 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://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/canonical/mysql-router-operator). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjQxLjQwLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIm5vdCBidWcgb3IgZW5oYW5jZW1lbnQiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Carl Csaposs <[email protected]>
> [!NOTE] > Mend has cancelled [the proposed renaming](https://redirect.github.com/renovatebot/renovate/discussions/37842) of the Renovate GitHub app being renamed to `mend[bot]`. > > This notice will be removed on 2025-10-07. <hr> This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [pydantic](https://redirect.github.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `>=2.5.0,<2.8` -> `>=2.5.0,<2.12` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.11.10`](https://redirect.github.com/pydantic/pydantic/compare/v2.11.9...v2.11.10) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.9...v2.11.10) ### [`v2.11.9`](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.9): 2025-09-13 [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9) ##### What's Changed ##### Fixes - Backport v1.10.23 changes by [@​Viicos](https://redirect.github.com/Viicos) **Full Changelog**: <https://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9> ### [`v2.11.8`](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.8): 2025-09-13 [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8) #### v2.11.8 (2025-09-13) ##### What's Changed ##### Fixes - Fix mypy plugin for mypy 1.18 by [@​cdce8p](https://redirect.github.com/cdce8p) in [#​12209](https://redirect.github.com/pydantic/pydantic/pull/12209) **Full Changelog**: <https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8> ### [`v2.11.7`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2117-2025-06-14) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.6...v2.11.7) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.7) ##### What's Changed ##### Fixes - Copy `FieldInfo` instance if necessary during `FieldInfo` build by [@​Viicos](https://redirect.github.com/Viicos) in [#​11898](https://redirect.github.com/pydantic/pydantic/pull/11898) ### [`v2.11.6`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2116-2025-06-13) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.6) ##### What's Changed ##### Fixes - Rebuild dataclass fields before schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​11949](https://redirect.github.com/pydantic/pydantic/pull/11949) - Always store the original field assignment on `FieldInfo` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11946](https://redirect.github.com/pydantic/pydantic/pull/11946) ### [`v2.11.5`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2115-2025-05-22) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.4...v2.11.5) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.5) ##### What's Changed ##### Fixes - Check if `FieldInfo` is complete after applying type variable map by [@​Viicos](https://redirect.github.com/Viicos) in [#​11855](https://redirect.github.com/pydantic/pydantic/pull/11855) - Do not delete mock validator/serializer in `model_rebuild()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11890](https://redirect.github.com/pydantic/pydantic/pull/11890) - Do not duplicate metadata on model rebuild by [@​Viicos](https://redirect.github.com/Viicos) in [#​11902](https://redirect.github.com/pydantic/pydantic/pull/11902) ### [`v2.11.4`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2114-2025-04-29) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.3...v2.11.4) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.4) ##### What's Changed ##### Packaging - Bump `mkdocs-llmstxt` to v0.2.0 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11725](https://redirect.github.com/pydantic/pydantic/pull/11725) ##### Changes - Allow config and bases to be specified together in `create_model()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11714](https://redirect.github.com/pydantic/pydantic/pull/11714). This change was backported as it was previously possible (although not meant to be supported) to provide `model_config` as a field, which would make it possible to provide both configuration and bases. ##### Fixes - Remove generics cache workaround by [@​Viicos](https://redirect.github.com/Viicos) in [#​11755](https://redirect.github.com/pydantic/pydantic/pull/11755) - Remove coercion of decimal constraints by [@​Viicos](https://redirect.github.com/Viicos) in [#​11772](https://redirect.github.com/pydantic/pydantic/pull/11772) - Fix crash when expanding root type in the mypy plugin by [@​Viicos](https://redirect.github.com/Viicos) in [#​11735](https://redirect.github.com/pydantic/pydantic/pull/11735) - Fix issue with recursive generic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11775](https://redirect.github.com/pydantic/pydantic/pull/11775) - Traverse `function-before` schemas during schema gathering by [@​Viicos](https://redirect.github.com/Viicos) in [#​11801](https://redirect.github.com/pydantic/pydantic/pull/11801) ### [`v2.11.3`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2113-2025-04-08) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.2...v2.11.3) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.3) ##### What's Changed ##### Packaging - Update V1 copy to v1.10.21 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11706](https://redirect.github.com/pydantic/pydantic/pull/11706) ##### Fixes - Preserve field description when rebuilding model fields by [@​Viicos](https://redirect.github.com/Viicos) in [#​11698](https://redirect.github.com/pydantic/pydantic/pull/11698) ### [`v2.11.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2112-2025-04-03) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.1...v2.11.2) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.2) ##### What's Changed ##### Fixes - Bump `pydantic-core` to v2.33.1 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11678](https://redirect.github.com/pydantic/pydantic/pull/11678) - Make sure `__pydantic_private__` exists before setting private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​11666](https://redirect.github.com/pydantic/pydantic/pull/11666) - Do not override `FieldInfo._complete` when using field from parent class by [@​Viicos](https://redirect.github.com/Viicos) in [#​11668](https://redirect.github.com/pydantic/pydantic/pull/11668) - Provide the available definitions when applying discriminated unions by [@​Viicos](https://redirect.github.com/Viicos) in [#​11670](https://redirect.github.com/pydantic/pydantic/pull/11670) - Do not expand root type in the mypy plugin for variables by [@​Viicos](https://redirect.github.com/Viicos) in [#​11676](https://redirect.github.com/pydantic/pydantic/pull/11676) - Mention the attribute name in model fields deprecation message by [@​Viicos](https://redirect.github.com/Viicos) in [#​11674](https://redirect.github.com/pydantic/pydantic/pull/11674) - Properly validate parameterized mappings by [@​Viicos](https://redirect.github.com/Viicos) in [#​11658](https://redirect.github.com/pydantic/pydantic/pull/11658) ### [`v2.11.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2111-2025-03-28) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.0...v2.11.1) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.1) ##### What's Changed ##### Fixes - Do not override `'definitions-ref'` schemas containing serialization schemas or metadata by [@​Viicos](https://redirect.github.com/Viicos) in [#​11644](https://redirect.github.com/pydantic/pydantic/pull/11644) ### [`v2.11.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2110-2025-03-27) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.6...v2.11.0) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.0) ##### What's Changed Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general). See the [blog post](https://pydantic.dev/articles/pydantic-v2-11-release) for more details. ##### Packaging - Bump `pydantic-core` to v2.33.0 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11631](https://redirect.github.com/pydantic/pydantic/pull/11631) ##### New Features - Add `encoded_string()` method to the URL types by [@​YassinNouh21](https://redirect.github.com/YassinNouh21) in [#​11580](https://redirect.github.com/pydantic/pydantic/pull/11580) - Add support for `defer_build` with `@validate_call` decorator by [@​Viicos](https://redirect.github.com/Viicos) in [#​11584](https://redirect.github.com/pydantic/pydantic/pull/11584) - Allow `@with_config` decorator to be used with keyword arguments by [@​Viicos](https://redirect.github.com/Viicos) in [#​11608](https://redirect.github.com/pydantic/pydantic/pull/11608) - Simplify customization of default value inclusion in JSON Schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​11634](https://redirect.github.com/pydantic/pydantic/pull/11634) - Add `generate_arguments_schema()` function by [@​Viicos](https://redirect.github.com/Viicos) in [#​11572](https://redirect.github.com/pydantic/pydantic/pull/11572) ##### Fixes - Allow generic typed dictionaries to be used for unpacked variadic keyword parameters by [@​Viicos](https://redirect.github.com/Viicos) in [#​11571](https://redirect.github.com/pydantic/pydantic/pull/11571) - Fix runtime error when computing model string representation involving cached properties and self-referenced models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11579](https://redirect.github.com/pydantic/pydantic/pull/11579) - Preserve other steps when using the ellipsis in the pipeline API by [@​Viicos](https://redirect.github.com/Viicos) in [#​11626](https://redirect.github.com/pydantic/pydantic/pull/11626) - Fix deferred discriminator application logic by [@​Viicos](https://redirect.github.com/Viicos) in [#​11591](https://redirect.github.com/pydantic/pydantic/pull/11591) ##### New Contributors - [@​cmenon12](https://redirect.github.com/cmenon12) made their first contribution in [#​11562](https://redirect.github.com/pydantic/pydantic/pull/11562) - [@​Jeukoh](https://redirect.github.com/Jeukoh) made their first contribution in [#​11611](https://redirect.github.com/pydantic/pydantic/pull/11611) ### [`v2.10.6`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2106-2025-01-23) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.5...v2.10.6) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.6) ##### What's Changed ##### Fixes - Fix JSON Schema reference collection with `'examples'` keys by [@​Viicos](https://redirect.github.com/Viicos) in [#​11325](https://redirect.github.com/pydantic/pydantic/pull/11325) - Fix url python serialization by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11331](https://redirect.github.com/pydantic/pydantic/pull/11331) ### [`v2.10.5`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2105-2025-01-08) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.4...v2.10.5) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.5) ##### What's Changed ##### Fixes - Remove custom MRO implementation of Pydantic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11184](https://redirect.github.com/pydantic/pydantic/pull/11184) - Fix URL serialization for unions by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11233](https://redirect.github.com/pydantic/pydantic/pull/11233) ### [`v2.10.4`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2104-2024-12-18) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.4) ##### What's Changed ##### Packaging - Bump `pydantic-core` to v2.27.2 by [@​davidhewitt](https://redirect.github.com/davidhewitt) in [#​11138](https://redirect.github.com/pydantic/pydantic/pull/11138) ##### Fixes - Fix for comparison of `AnyUrl` objects by [@​alexprabhat99](https://redirect.github.com/alexprabhat99) in [#​11082](https://redirect.github.com/pydantic/pydantic/pull/11082) - Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by [@​Viicos](https://redirect.github.com/Viicos) in [#​11093](https://redirect.github.com/pydantic/pydantic/pull/11093) - Include JSON Schema input core schema in function schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​11085](https://redirect.github.com/pydantic/pydantic/pull/11085) - Add `len` to `_BaseUrl` to avoid TypeError by [@​Kharianne](https://redirect.github.com/Kharianne) in [#​11111](https://redirect.github.com/pydantic/pydantic/pull/11111) - Make sure the type reference is removed from the seen references by [@​Viicos](https://redirect.github.com/Viicos) in [#​11143](https://redirect.github.com/pydantic/pydantic/pull/11143) ##### New Contributors - [@​FyZzyss](https://redirect.github.com/FyZzyss) made their first contribution in [#​10789](https://redirect.github.com/pydantic/pydantic/pull/10789) - [@​tamird](https://redirect.github.com/tamird) made their first contribution in [#​10948](https://redirect.github.com/pydantic/pydantic/pull/10948) - [@​felixxm](https://redirect.github.com/felixxm) made their first contribution in [#​11077](https://redirect.github.com/pydantic/pydantic/pull/11077) - [@​alexprabhat99](https://redirect.github.com/alexprabhat99) made their first contribution in [#​11082](https://redirect.github.com/pydantic/pydantic/pull/11082) - [@​Kharianne](https://redirect.github.com/Kharianne) made their first contribution in [#​11111](https://redirect.github.com/pydantic/pydantic/pull/11111) ### [`v2.10.3`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2103-2024-12-03) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.2...v2.10.3) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.3) ##### What's Changed ##### Fixes - Set fields when `defer_build` is set on Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10984](https://redirect.github.com/pydantic/pydantic/pull/10984) - Do not resolve the JSON Schema reference for `dict` core schema keys by [@​Viicos](https://redirect.github.com/Viicos) in [#​10989](https://redirect.github.com/pydantic/pydantic/pull/10989) - Use the globals of the function when evaluating the return type for `PlainSerializer` and `WrapSerializer` functions by [@​Viicos](https://redirect.github.com/Viicos) in [#​11008](https://redirect.github.com/pydantic/pydantic/pull/11008) - Fix host required enforcement for urls to be compatible with v2.9 behavior by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11027](https://redirect.github.com/pydantic/pydantic/pull/11027) - Add a `default_factory_takes_validated_data` property to `FieldInfo` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11034](https://redirect.github.com/pydantic/pydantic/pull/11034) - Fix url json schema in `serialization` mode by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11035](https://redirect.github.com/pydantic/pydantic/pull/11035) ### [`v2.10.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2102-2024-11-25) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.1...v2.10.2) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.2) ##### What's Changed ##### Fixes - Only evaluate FieldInfo annotations if required during schema building by [@​Viicos](https://redirect.github.com/Viicos) in [#​10769](https://redirect.github.com/pydantic/pydantic/pull/10769) - Do not evaluate annotations for private fields by [@​Viicos](https://redirect.github.com/Viicos) in [#​10962](https://redirect.github.com/pydantic/pydantic/pull/10962) - Support serialization as any for `Secret` types and `Url` types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10947](https://redirect.github.com/pydantic/pydantic/pull/10947) - Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by [@​Viicos](https://redirect.github.com/Viicos) in [#​10972](https://redirect.github.com/pydantic/pydantic/pull/10972) - Add hashing support for URL types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10975](https://redirect.github.com/pydantic/pydantic/pull/10975) - Hide `BaseModel.__replace__` definition from type checkers by [@​Viicos](https://redirect.github.com/Viicos) in [#​10979](https://redirect.github.com/pydantic/pydantic/pull/10979) ### [`v2.10.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2101-2024-11-21) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.0...v2.10.1) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.1) ##### What's Changed ##### Packaging - Bump `pydantic-core` version to `v2.27.1` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10938](https://redirect.github.com/pydantic/pydantic/pull/10938) ##### Fixes - Use the correct frame when instantiating a parametrized `TypeAdapter` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10893](https://redirect.github.com/pydantic/pydantic/pull/10893) - Relax check for validated data in `default_factory` utils by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10909](https://redirect.github.com/pydantic/pydantic/pull/10909) - Fix type checking issue with `model_fields` and `model_computed_fields` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10911](https://redirect.github.com/pydantic/pydantic/pull/10911) - Use the parent configuration during schema generation for stdlib `dataclass`es by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10928](https://redirect.github.com/pydantic/pydantic/pull/10928) - Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by [@​Viicos](https://redirect.github.com/Viicos) in [#​10929](https://redirect.github.com/pydantic/pydantic/pull/10929) - Fix URL constraint application by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10922](https://redirect.github.com/pydantic/pydantic/pull/10922) - Fix URL equality with different validation methods by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10934](https://redirect.github.com/pydantic/pydantic/pull/10934) - Fix JSON schema title when specified as `''` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10936](https://redirect.github.com/pydantic/pydantic/pull/10936) - Fix `python` mode serialization for `complex` inference by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic-core#1549](https://redirect.github.com/pydantic/pydantic-core/pull/1549) ##### New Contributors ### [`v2.10.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.2...v2.10.0) The code released in v2.10.0 is practically identical to that of v2.10.0b2. [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.0) See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights! ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.27.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Replaced pdm with uv by [@​frfahim](https://redirect.github.com/frfahim) in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) ##### New Features - Support `fractions.Fraction` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10318](https://redirect.github.com/pydantic/pydantic/pull/10318) - Support `Hashable` for json validation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10324](https://redirect.github.com/pydantic/pydantic/pull/10324) - Add a `SocketPath` type for `linux` systems by [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - Allow arbitrary refs in JSON schema `examples` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10417](https://redirect.github.com/pydantic/pydantic/pull/10417) - Support `defer_build` for Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10313](https://redirect.github.com/pydantic/pydantic/pull/10313) - Adding v1 / v2 incompatibility warning for nested v1 model by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10431](https://redirect.github.com/pydantic/pydantic/pull/10431) - Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10416](https://redirect.github.com/pydantic/pydantic/pull/10416) - Support compiled patterns in `protected_namespaces` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10522](https://redirect.github.com/pydantic/pydantic/pull/10522) - Add support for `propertyNames` in JSON schema by [@​FlorianSW](https://redirect.github.com/FlorianSW) in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - Adding `__replace__` protocol for Python 3.13+ support by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10596](https://redirect.github.com/pydantic/pydantic/pull/10596) - Expose public `sort` method for JSON schema generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10595](https://redirect.github.com/pydantic/pydantic/pull/10595) - Add runtime validation of `@validate_call` callable argument by [@​kc0506](https://redirect.github.com/kc0506) in [#​10627](https://redirect.github.com/pydantic/pydantic/pull/10627) - Add `experimental_allow_partial` support by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10748](https://redirect.github.com/pydantic/pydantic/pull/10748) - Support default factories taking validated data as an argument by [@​Viicos](https://redirect.github.com/Viicos) in [#​10678](https://redirect.github.com/pydantic/pydantic/pull/10678) - Allow subclassing `ValidationError` and `PydanticCustomError` by [@​Youssefares](https://redirect.github.com/Youssefares) in [pydantic/pydantic-core#1413](https://redirect.github.com/pydantic/pydantic-core/pull/1413) - Add `trailing-strings` support to `experimental_allow_partial` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10537](https://redirect.github.com/pydantic/pydantic/pull/10537) - Improve `TypeAdapter` instance repr by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10872](https://redirect.github.com/pydantic/pydantic/pull/10872) ##### Changes - Don't allow customization of `SchemaGenerator` until interface is more stable by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10303](https://redirect.github.com/pydantic/pydantic/pull/10303) - Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10329](https://redirect.github.com/pydantic/pydantic/pull/10329) - Fix `mro` of generic subclass by [@​kc0506](https://redirect.github.com/kc0506) in [#​10100](https://redirect.github.com/pydantic/pydantic/pull/10100) - Strip whitespaces on JSON Schema title generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10404](https://redirect.github.com/pydantic/pydantic/pull/10404) - Use `b64decode` and `b64encode` for `Base64Bytes` type by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10486](https://redirect.github.com/pydantic/pydantic/pull/10486) - Relax protected namespace config default by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10441](https://redirect.github.com/pydantic/pydantic/pull/10441) - Revalidate parametrized generics if instance's origin is subclass of OG class by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10666](https://redirect.github.com/pydantic/pydantic/pull/10666) - Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10406](https://redirect.github.com/pydantic/pydantic/pull/10406) - Recommend against using `Ellipsis` (...) with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10661](https://redirect.github.com/pydantic/pydantic/pull/10661) - Migrate to subclassing instead of annotated approach for pydantic url types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10662](https://redirect.github.com/pydantic/pydantic/pull/10662) - Change JSON schema generation of `Literal`s and `Enums` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10692](https://redirect.github.com/pydantic/pydantic/pull/10692) - Simplify unions involving `Any` or `Never` when replacing type variables by [@​Viicos](https://redirect.github.com/Viicos) in [#​10338](https://redirect.github.com/pydantic/pydantic/pull/10338) - Do not require padding when decoding `base64` bytes by [@​bschoenmaeckers](https://redirect.github.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://redirect.github.com/pydantic/pydantic-core/pull/1448) - Support dates all the way to 1BC by [@​changhc](https://redirect.github.com/changhc) in [pydantic/speedate#77](https://redirect.github.com/pydantic/speedate/pull/77) ##### Performance - Schema cleaning: skip unnecessary copies during schema walking by [@​Viicos](https://redirect.github.com/Viicos) in [#​10286](https://redirect.github.com/pydantic/pydantic/pull/10286) - Refactor namespace logic for annotations evaluation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10530](https://redirect.github.com/pydantic/pydantic/pull/10530) - Improve email regexp on edge cases by [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10675](https://redirect.github.com/pydantic/pydantic/pull/10675) ##### Fixes - Remove guarding check on `computed_field` with `field_serializer` by [@​nix010](https://redirect.github.com/nix010) in [#​10390](https://redirect.github.com/pydantic/pydantic/pull/10390) - Fix `Predicate` issue in `v2.9.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10321](https://redirect.github.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10327](https://redirect.github.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://redirect.github.com/jakob-keller) in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - Use correct types namespace when building `namedtuple` core schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​10337](https://redirect.github.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://redirect.github.com/Viicos) in [#​10347](https://redirect.github.com/pydantic/pydantic/pull/10347) - Fix `IncEx` type alias definition by [@​Viicos](https://redirect.github.com/Viicos) in [#​10339](https://redirect.github.com/pydantic/pydantic/pull/10339) - Do not error when trying to evaluate annotations of private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​10358](https://redirect.github.com/pydantic/pydantic/pull/10358) - Fix nested type statement by [@​kc0506](https://redirect.github.com/kc0506) in [#​10369](https://redirect.github.com/pydantic/pydantic/pull/10369) - Improve typing of `ModelMetaclass.mro` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10372](https://redirect.github.com/pydantic/pydantic/pull/10372) - Fix class access of deprecated `computed_field`s by [@​Viicos](https://redirect.github.com/Viicos) in [#​10391](https://redirect.github.com/pydantic/pydantic/pull/10391) - Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@​MovisLi](https://redirect.github.com/MovisLi) in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - Fix `NameError` when using `validate_call` with PEP 695 on a class by [@​kc0506](https://redirect.github.com/kc0506) in [#​10380](https://redirect.github.com/pydantic/pydantic/pull/10380) - Fix `ZoneInfo` with various invalid types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10408](https://redirect.github.com/pydantic/pydantic/pull/10408) - Fix `PydanticUserError` on empty `model_config` with annotations by [@​cdwilson](https://redirect.github.com/cdwilson) in [#​10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10414](https://redirect.github.com/pydantic/pydantic/pull/10414) - Fix serialization schema generation when using `PlainValidator` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10427](https://redirect.github.com/pydantic/pydantic/pull/10427) - Fix schema generation error when serialization schema holds references by [@​Viicos](https://redirect.github.com/Viicos) in [#​10444](https://redirect.github.com/pydantic/pydantic/pull/10444) - Inline references if possible when generating schema for `json_schema_input_type` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10439](https://redirect.github.com/pydantic/pydantic/pull/10439) - Fix recursive arguments in `Representation` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10480](https://redirect.github.com/pydantic/pydantic/pull/10480) - Fix representation for builtin function types by [@​kschwab](https://redirect.github.com/kschwab) in [#​10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10506](https://redirect.github.com/pydantic/pydantic/pull/10506) - Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10518](https://redirect.github.com/pydantic/pydantic/pull/10518) - Fix `stacklevel` on deprecation warnings for `BaseModel` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10520](https://redirect.github.com/pydantic/pydantic/pull/10520) - Fix warning `stacklevel` in `BaseModel.__init__` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10526](https://redirect.github.com/pydantic/pydantic/pull/10526) - Improve error handling for in-evaluable refs for discriminator application by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10440](https://redirect.github.com/pydantic/pydantic/pull/10440) - Change the signature of `ConfigWrapper.core_config` to take the title directly by [@​Viicos](https://redirect.github.com/Viicos) in [#​10562](https://redirect.github.com/pydantic/pydantic/pull/10562) - Do not use the previous config from the stack for dataclasses without config by [@​Viicos](https://redirect.github.com/Viicos) in [#​10576](https://redirect.github.com/pydantic/pydantic/pull/10576) - Fix serialization for IP types with `mode='python'` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10594](https://redirect.github.com/pydantic/pydantic/pull/10594) - Support constraint application for `Base64Etc` types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10584](https://redirect.github.com/pydantic/pydantic/pull/10584) - Fix `validate_call` ignoring `Field` in `Annotated` by [@​kc0506](https://redirect.github.com/kc0506) in [#​10610](https://redirect.github.com/pydantic/pydantic/pull/10610) - Raise an error when `Self` is invalid by [@​kc0506](https://redirect.github.com/kc0506) in [#​10609](https://redirect.github.com/pydantic/pydantic/pull/10609) - Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10523](https://redirect.github.com/pydantic/pydantic/pull/10523) - Tweak type alias logic by [@​kc0506](https://redirect.github.com/kc0506) in [#​10643](https://redirect.github.com/pydantic/pydantic/pull/10643) - Support usage of `type` with `typing.Self` and type aliases by [@​kc0506](https://redirect.github.com/kc0506) in [#​10621](https://redirect.github.com/pydantic/pydantic/pull/10621) - Use overloads for `Field` and `PrivateAttr` functions by [@​Viicos](https://redirect.github.com/Viicos) in [#​10651](https://redirect.github.com/pydantic/pydantic/pull/10651) - Clean up the `mypy` plugin implementation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10669](https://redirect.github.com/pydantic/pydantic/pull/10669) - Properly check for `typing_extensions` variant of `TypeAliasType` by [@​Daraan](https://redirect.github.com/Daraan) in [#​10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - Allow any mapping in `BaseModel.model_copy()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10751](https://redirect.github.com/pydantic/pydantic/pull/10751) - Fix `isinstance` behavior for urls by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10766](https://redirect.github.com/pydantic/pydantic/pull/10766) - Ensure `cached_property` can be set on Pydantic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​10774](https://redirect.github.com/pydantic/pydantic/pull/10774) - Fix equality checks for primitives in literals by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://redirect.github.com/pydantic/pydantic-core/pull/1459) - Properly enforce `host_required` for URLs by [@​Viicos](https://redirect.github.com/Viicos) in [pydantic/pydantic-core#1488](https://redirect.github.com/pydantic/pydantic-core/pull/1488) - Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@​andrey-berenda](https://redirect.github.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://redirect.github.com/pydantic/pydantic-core/pull/1515) - Fix serializing `complex` values in `Enum`s by [@​changhc](https://redirect.github.com/changhc) in [pydantic/pydantic-core#1524](https://redirect.github.com/pydantic/pydantic-core/pull/1524) - Refactor `_typing_extra` module by [@​Viicos](https://redirect.github.com/Viicos) in [#​10725](https://redirect.github.com/pydantic/pydantic/pull/10725) - Support intuitive equality for urls by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10798](https://redirect.github.com/pydantic/pydantic/pull/10798) - Add `bytearray` to `TypeAdapter.validate_json` signature by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10802](https://redirect.github.com/pydantic/pydantic/pull/10802) - Ensure class access of method descriptors is performed when used as a default with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10816](https://redirect.github.com/pydantic/pydantic/pull/10816) - Fix circular import with `validate_call` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10807](https://redirect.github.com/pydantic/pydantic/pull/10807) - Fix error when using type aliases referencing other type aliases by [@​Viicos](https://redirect.github.com/Viicos) in [#​10809](https://redirect.github.com/pydantic/pydantic/pull/10809) - Fix `IncEx` type alias to be compatible with mypy by [@​Viicos](https://redirect.github.com/Viicos) in [#​10813](https://redirect.github.com/pydantic/pydantic/pull/10813) - Make `__signature__` a lazy property, do not deepcopy defaults by [@​Viicos](https://redirect.github.com/Viicos) in [#​10818](https://redirect.github.com/pydantic/pydantic/pull/10818) - Make `__signature__` lazy for dataclasses, too by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10832](https://redirect.github.com/pydantic/pydantic/pull/10832) - Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10856](https://redirect.github.com/pydantic/pydantic/pull/10856) ##### New Contributors - [@​jakob-keller](https://redirect.github.com/jakob-keller) made their first contribution in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - [@​MovisLi](https://redirect.github.com/MovisLi) made their first contribution in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - [@​joaopalmeiro](https://redirect.github.com/joaopalmeiro) made their first contribution in [#​10405](https://redirect.github.com/pydantic/pydantic/pull/10405) - [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) made their first contribution in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - [@​cdwilson](https://redirect.github.com/cdwilson) made their first contribution in [#​10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - [@​dlax](https://redirect.github.com/dlax) made their first contribution in [#​10421](https://redirect.github.com/pydantic/pydantic/pull/10421) - [@​kschwab](https://redirect.github.com/kschwab) made their first contribution in [#​10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - [@​santibreo](https://redirect.github.com/santibreo) made their first contribution in [#​10453](https://redirect.github.com/pydantic/pydantic/pull/10453) - [@​FlorianSW](https://redirect.github.com/FlorianSW) made their first contribution in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - [@​tkasuz](https://redirect.github.com/tkasuz) made their first contribution in [#​10555](https://redirect.github.com/pydantic/pydantic/pull/10555) - [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) made their first contribution in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - [@​NiclasvanEyk](https://redirect.github.com/NiclasvanEyk) made their first contribution in [#​10667](https://redirect.github.com/pydantic/pydantic/pull/10667) - [@​mschoettle](https://redirect.github.com/mschoettle) made their first contribution in [#​10677](https://redirect.github.com/pydantic/pydantic/pull/10677) - [@​Daraan](https://redirect.github.com/Daraan) made their first contribution in [#​10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - [@​k4nar](https://redirect.github.com/k4nar) made their first contribution in [#​10736](https://redirect.github.com/pydantic/pydantic/pull/10736) - [@​UriyaHarpeness](https://redirect.github.com/UriyaHarpeness) made their first contribution in [#​10740](https://redirect.github.com/pydantic/pydantic/pull/10740) - [@​frfahim](https://redirect.github.com/frfahim) made their first contribution in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) ### [`v2.9.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v292-2024-09-17) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.1...v2.9.2) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.9.2) ##### What's Changed ##### Fixes - Do not error when trying to evaluate annotations of private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​10358](https://redirect.github.com/pydantic/pydantic/pull/10358) - Adding notes on designing sound `Callable` discriminators by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10400](https://redirect.github.com/pydantic/pydantic/pull/10400) - Fix serialization schema generation when using `PlainValidator` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10427](https://redirect.github.com/pydantic/pydantic/pull/10427) - Fix `Union` serialization warnings by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1449](https://redirect.github.com/pydantic/pydantic-core/pull/1449) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10414](https://redirect.github.com/pydantic/pydantic/pull/10414) - Fix `ZoneInfo` validation with various invalid types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10408](https://redirect.github.com/pydantic/pydantic/pull/10408) ### [`v2.9.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v291-2024-09-09) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.0...v2.9.1) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.9.1) ##### What's Changed ##### Fixes - Fix Predicate issue in v2.9.0 by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10321](https://redirect.github.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound to `>=0.6.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10327](https://redirect.github.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://redirect.github.com/jakob-keller) in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - Fix `IncExc` type alias definition by [@​Viicos](https://redirect.github.com/Viicos) in [#​10339](https://redirect.github.com/pydantic/pydantic/pull/10339) - Use correct types namespace when building namedtuple core schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​10337](https://redirect.github.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://redirect.github.com/Viicos) in [#​10347](https://redirect.github.com/pydantic/pydantic/pull/10347) - Fix tagged union serialization with alias generators by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1442](https://redirect.github.com/pydantic/pydantic-core/pull/1442) ### [`v2.9.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.8.2...v2.9.0) The code released in v2.10.0 is practically identical to that of v2.10.0b2. [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.0) See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights! ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.27.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Replaced pdm with uv by [@​frfahim](https://redirect.github.com/frfahim) in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) ##### New Features - Support `fractions.Fraction` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10318](https://redirect.github.com/pydantic/pydantic/pull/10318) - Support `Hashable` for json validation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10324](https://redirect.github.com/pydantic/pydantic/pull/10324) - Add a `SocketPath` type for `linux` systems by [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - Allow arbitrary refs in JSON schema `examples` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10417](https://redirect.github.com/pydantic/pydantic/pull/10417) - Support `defer_build` for Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10313](https://redirect.github.com/pydantic/pydantic/pull/10313) - Adding v1 / v2 incompatibility warning for nested v1 model by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10431](https://redirect.github.com/pydantic/pydantic/pull/10431) - Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10416](https://redirect.github.com/pydantic/pydantic/pull/10416) - Support compiled patterns in `protected_namespaces` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10522](https://redirect.github.com/pydantic/pydantic/pull/10522) - Add support for `propertyNames` in JSON schema by [@​FlorianSW](https://redirect.github.com/FlorianSW) in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - Adding `__replace__` protocol for Python 3.13+ support by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10596](https://redirect.github.com/pydantic/pydantic/pull/10596) - Expose public `sort` method for JSON schema generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10595](https://redirect.github.com/pydantic/pydantic/pull/10595) - Add runtime validation of `@validate_call` callable argument by [@​kc0506](https://redirect.github.com/kc0506) in [#​10627](https://redirect.github.com/pydantic/pydantic/pull/10627) - Add `experimental_allow_partial` support by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10748](https://redirect.github.com/pydantic/pydantic/pull/10748) - Support default factories taking validated data as an argument by [@​Viicos](https://redirect.github.com/Viicos) in [#​10678](https://redirect.github.com/pydantic/pydantic/pull/10678) - Allow subclassing `ValidationError` and `PydanticCustomError` by [@​Youssefares](https://redirect.github.com/Youssefares) in [pydantic/pydantic-core#1413](https://redirect.github.com/pydantic/pydantic-core/pull/1413) - Add `trailing-strings` support to `experimental_allow_partial` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10537](https://redirect.github.com/pydantic/pydantic/pull/10537) - Improve `TypeAdapter` instance repr by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10872](https://redirect.github.com/pydantic/pydantic/pull/10872) ##### Changes - Don't allow customization of `SchemaGenerator` until interface is more stable by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10303](https://redirect.github.com/pydantic/pydantic/pull/10303) - Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10329](https://redirect.github.com/pydantic/pydantic/pull/10329) - Fix `mro` of generic subclass by [@​kc0506](https://redirect.github.com/kc0506) in [#​10100](https://redirect.github.com/pydantic/pydantic/pull/10100) - Strip whitespaces on JSON Schema title generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10404](https://redirect.github.com/pydantic/pydantic/pull/10404) - Use `b64decode` and `b64encode` for `Base64Bytes` type by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10486](https://redirect.github.com/pydantic/pydantic/pull/10486) - Relax protected namespace config default by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10441](https://redirect.github.com/pydantic/pydantic/pull/10441) - Revalidate parametrized generics if instance's origin is subclass of OG class by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10666](https://redirect.github.com/pydantic/pydantic/pull/10666) - Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10406](https://redirect.github.com/pydantic/pydantic/pull/10406) - Recommend against using `Ellipsis` (...) with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10661](https://redirect.github.com/pydantic/pydantic/pull/10661) - Migrate to subclassing instead of annotated approach for pydantic url types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10662](https://redirect.github.com/pydantic/pydantic/pull/10662) - Change JSON schema generation of `Literal`s and `Enums` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10692](https://redirect.github.com/pydantic/pydantic/pull/10692) - Simplify unions involving `Any` or `Never` when replacing type variables by [@​Viicos](https://redirect.github.com/Viicos) in [#​10338](https://redirect.github.com/pydantic/pydantic/pull/10338) - Do not require padding when decoding `base64` bytes by [@​bschoenmaeckers](https://redirect.github.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://redirect.github.com/pydantic/pydantic-core/pull/1448) - Support dates all the way to 1BC by [@​changhc](https://redirect.github.com/changhc) in [pydantic/speedate#77](https://redirect.github.com/pydantic/speedate/pull/77) ##### Performance - Schema cleaning: skip unnecessary copies during schema walking by [@​Viicos](https://redirect.github.com/Viicos) in [#​10286](https://redirect.github.com/pydantic/pydantic/pull/10286) - Refactor namespace logic for annotations evaluation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10530](https://redirect.github.com/pydantic/pydantic/pull/10530) - Improve email regexp on edge cases by [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10675](https://redirect.github.com/pydantic/pydantic/pull/10675) ##### Fixes - Remove guarding check on `computed_field` with `field_serializer` by [@​nix010](https://redirect.github.com/nix010) in [#​10390](https://redirect.github.com/pydantic/pydantic/pull/10390) - Fix `Predicate` issue in `v2.9.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10321](https://redirect.github.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10327](https://redirect.github.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://redirect.github.com/jakob-keller) in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - Use correct types namespace when building `namedtuple` core schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​10337](https://redirect.github.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://redirect.github.com/Viicos) in [#​10347](https://redirect.github.com/pydantic/pydantic/pull/10347) - Fix `IncEx` type alias definition by [@​Viicos](https://redirect.github.com/Viicos) in [#​10339](https://redirect.github.com/pydantic/pydantic/pull/10339) - Do not error when trying to evaluate annotations of private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​10358](https://redirect.github.com/pydantic/pydantic/pull/10358) - Fix nested type statement by [@​kc0506](https://redirect.github.com/kc0506) in [#​10369](https://redirect.github.com/pydantic/pydantic/pull/10369) - Improve typing of `ModelMetaclass.mro` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10372](https://redirect.github.com/pydantic/pydantic/pull/10372) - Fix class access of deprecated `computed_field`s by [@​Viicos](https://redirect.github.com/Viicos) in [#​10391](https://redirect.github.com/pydantic/pydantic/pull/10391) - Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@​MovisLi](https://redirect.github.com/MovisLi) in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - Fix `NameError` when using `validate_call` with PEP 695 on a class by [@​kc0506](https://redirect.github.com/kc0506) in [#​10380](https://redirect.github.com/pydantic/pydantic/pull/10380) - Fix `ZoneInfo` with various invalid types by [@​sydney-runkle](https://redirect.github.com/sydney-r </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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/libretime/libretime). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS40MC4wIiwidXBkYXRlZEluVmVyIjoiNDEuMTMxLjkiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInB5dGhvbiJdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: jo <[email protected]>
This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [pydantic](https://redirect.github.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | project.dependencies | minor | `>=2,<2.10` -> `>=2,<2.13` | `2.12.2` | --- ### Release Notes <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.12.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2120-2025-10-07) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.10...v2.12.0) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.12.0) ##### What's Changed This is the final 2.12 release. It features the work of 20 external contributors and provides useful new features, along with initial Python 3.14 support. Several minor changes (considered non-breaking changes according to our [versioning policy](https://docs.pydantic.dev/2.12/version-policy/#pydantic-v2)) are also included in this release. Make sure to look into them before upgrading. **Note that Pydantic V1 is not compatible with Python 3.14 and greater**. Changes (see the alpha and beta releases for additional changes since 2.11): ##### Packaging - Update V1 copy to v1.10.24 by [@​Viicos](https://redirect.github.com/Viicos) in [#​12338](https://redirect.github.com/pydantic/pydantic/pull/12338) ##### New Features - Add `extra` parameter to the validate functions by [@​anvilpete](https://redirect.github.com/anvilpete) in [#​12233](https://redirect.github.com/pydantic/pydantic/pull/12233) - Add `exclude_computed_fields` serialization option by [@​Viicos](https://redirect.github.com/Viicos) in [#​12334](https://redirect.github.com/pydantic/pydantic/pull/12334) - Add `preverse_empty_path` URL options by [@​Viicos](https://redirect.github.com/Viicos) in [#​12336](https://redirect.github.com/pydantic/pydantic/pull/12336) - Add `union_format` parameter to JSON Schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​12147](https://redirect.github.com/pydantic/pydantic/pull/12147) - Add `__qualname__` parameter for `create_model` by [@​Atry](https://redirect.github.com/Atry) in [#​12001](https://redirect.github.com/pydantic/pydantic/pull/12001) ##### Fixes - Do not try to infer name from lambda definitions in pipelines API by [@​Viicos](https://redirect.github.com/Viicos) in [#​12289](https://redirect.github.com/pydantic/pydantic/pull/12289) - Use proper namespace for functions in `TypeAdapter` by [@​Viicos](https://redirect.github.com/Viicos) in [#​12324](https://redirect.github.com/pydantic/pydantic/pull/12324) - Use `Any` for context type annotation in `TypeAdapter` by [@​inducer](https://redirect.github.com/inducer) in [#​12279](https://redirect.github.com/pydantic/pydantic/pull/12279) - Expose `FieldInfo` in `pydantic.fields.__all__` by [@​Viicos](https://redirect.github.com/Viicos) in [#​12339](https://redirect.github.com/pydantic/pydantic/pull/12339) - Respect `validation_alias` in `@validate_call` by [@​Viicos](https://redirect.github.com/Viicos) in [#​12340](https://redirect.github.com/pydantic/pydantic/pull/12340) - Use `Any` as context annotation in plugin API by [@​Viicos](https://redirect.github.com/Viicos) in [#​12341](https://redirect.github.com/pydantic/pydantic/pull/12341) - Use proper `stacklevel` in warnings when possible by [@​Viicos](https://redirect.github.com/Viicos) in [#​12342](https://redirect.github.com/pydantic/pydantic/pull/12342) ##### New Contributors - [@​anvilpete](https://redirect.github.com/anvilpete) made their first contribution in [#​12233](https://redirect.github.com/pydantic/pydantic/pull/12233) - [@​JonathanWindell](https://redirect.github.com/JonathanWindell) made their first contribution in [#​12327](https://redirect.github.com/pydantic/pydantic/pull/12327) - [@​inducer](https://redirect.github.com/inducer) made their first contribution in [#​12279](https://redirect.github.com/pydantic/pydantic/pull/12279) - [@​Atry](https://redirect.github.com/Atry) made their first contribution in [#​12001](https://redirect.github.com/pydantic/pydantic/pull/12001) ### [`v2.11.10`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v21110-2025-10-04) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.9...v2.11.10) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.10) ##### What's Changed ##### Fixes - Backport v1.10.24 changes by [@​Viicos](https://redirect.github.com/Viicos) ### [`v2.11.9`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2119-2025-09-13) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.9) ##### What's Changed ##### Fixes - Backport v1.10.23 changes by [@​Viicos](https://redirect.github.com/Viicos) ### [`v2.11.8`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2118-2025-09-13) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.8) ##### What's Changed ##### Fixes - Fix mypy plugin for mypy 1.18 by [@​cdce8p](https://redirect.github.com/cdce8p) in [#​12209](https://redirect.github.com/pydantic/pydantic/pull/12209) ### [`v2.11.7`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2117-2025-06-14) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.6...v2.11.7) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.7) ##### What's Changed ##### Fixes - Copy `FieldInfo` instance if necessary during `FieldInfo` build by [@​Viicos](https://redirect.github.com/Viicos) in [#​11898](https://redirect.github.com/pydantic/pydantic/pull/11898) ### [`v2.11.6`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2116-2025-06-13) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.6) ##### What's Changed ##### Fixes - Rebuild dataclass fields before schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​11949](https://redirect.github.com/pydantic/pydantic/pull/11949) - Always store the original field assignment on `FieldInfo` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11946](https://redirect.github.com/pydantic/pydantic/pull/11946) ### [`v2.11.5`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2115-2025-05-22) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.4...v2.11.5) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.5) ##### What's Changed ##### Fixes - Check if `FieldInfo` is complete after applying type variable map by [@​Viicos](https://redirect.github.com/Viicos) in [#​11855](https://redirect.github.com/pydantic/pydantic/pull/11855) - Do not delete mock validator/serializer in `model_rebuild()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11890](https://redirect.github.com/pydantic/pydantic/pull/11890) - Do not duplicate metadata on model rebuild by [@​Viicos](https://redirect.github.com/Viicos) in [#​11902](https://redirect.github.com/pydantic/pydantic/pull/11902) ### [`v2.11.4`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2114-2025-04-29) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.3...v2.11.4) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.4) ##### What's Changed ##### Packaging - Bump `mkdocs-llmstxt` to v0.2.0 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11725](https://redirect.github.com/pydantic/pydantic/pull/11725) ##### Changes - Allow config and bases to be specified together in `create_model()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11714](https://redirect.github.com/pydantic/pydantic/pull/11714). This change was backported as it was previously possible (although not meant to be supported) to provide `model_config` as a field, which would make it possible to provide both configuration and bases. ##### Fixes - Remove generics cache workaround by [@​Viicos](https://redirect.github.com/Viicos) in [#​11755](https://redirect.github.com/pydantic/pydantic/pull/11755) - Remove coercion of decimal constraints by [@​Viicos](https://redirect.github.com/Viicos) in [#​11772](https://redirect.github.com/pydantic/pydantic/pull/11772) - Fix crash when expanding root type in the mypy plugin by [@​Viicos](https://redirect.github.com/Viicos) in [#​11735](https://redirect.github.com/pydantic/pydantic/pull/11735) - Fix issue with recursive generic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11775](https://redirect.github.com/pydantic/pydantic/pull/11775) - Traverse `function-before` schemas during schema gathering by [@​Viicos](https://redirect.github.com/Viicos) in [#​11801](https://redirect.github.com/pydantic/pydantic/pull/11801) ### [`v2.11.3`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2113-2025-04-08) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.2...v2.11.3) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.3) ##### What's Changed ##### Packaging - Update V1 copy to v1.10.21 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11706](https://redirect.github.com/pydantic/pydantic/pull/11706) ##### Fixes - Preserve field description when rebuilding model fields by [@​Viicos](https://redirect.github.com/Viicos) in [#​11698](https://redirect.github.com/pydantic/pydantic/pull/11698) ### [`v2.11.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2112-2025-04-03) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.1...v2.11.2) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.2) ##### What's Changed ##### Fixes - Bump `pydantic-core` to v2.33.1 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11678](https://redirect.github.com/pydantic/pydantic/pull/11678) - Make sure `__pydantic_private__` exists before setting private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​11666](https://redirect.github.com/pydantic/pydantic/pull/11666) - Do not override `FieldInfo._complete` when using field from parent class by [@​Viicos](https://redirect.github.com/Viicos) in [#​11668](https://redirect.github.com/pydantic/pydantic/pull/11668) - Provide the available definitions when applying discriminated unions by [@​Viicos](https://redirect.github.com/Viicos) in [#​11670](https://redirect.github.com/pydantic/pydantic/pull/11670) - Do not expand root type in the mypy plugin for variables by [@​Viicos](https://redirect.github.com/Viicos) in [#​11676](https://redirect.github.com/pydantic/pydantic/pull/11676) - Mention the attribute name in model fields deprecation message by [@​Viicos](https://redirect.github.com/Viicos) in [#​11674](https://redirect.github.com/pydantic/pydantic/pull/11674) - Properly validate parameterized mappings by [@​Viicos](https://redirect.github.com/Viicos) in [#​11658](https://redirect.github.com/pydantic/pydantic/pull/11658) ### [`v2.11.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v21110-2025-10-04) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.0...v2.11.1) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.10) ##### What's Changed ##### Fixes - Backport v1.10.24 changes by [@​Viicos](https://redirect.github.com/Viicos) ### [`v2.11.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2110-2025-03-27) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.6...v2.11.0) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.0) ##### What's Changed Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general). See the [blog post](https://pydantic.dev/articles/pydantic-v2-11-release) for more details. ##### Packaging - Bump `pydantic-core` to v2.33.0 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11631](https://redirect.github.com/pydantic/pydantic/pull/11631) ##### New Features - Add `encoded_string()` method to the URL types by [@​YassinNouh21](https://redirect.github.com/YassinNouh21) in [#​11580](https://redirect.github.com/pydantic/pydantic/pull/11580) - Add support for `defer_build` with `@validate_call` decorator by [@​Viicos](https://redirect.github.com/Viicos) in [#​11584](https://redirect.github.com/pydantic/pydantic/pull/11584) - Allow `@with_config` decorator to be used with keyword arguments by [@​Viicos](https://redirect.github.com/Viicos) in [#​11608](https://redirect.github.com/pydantic/pydantic/pull/11608) - Simplify customization of default value inclusion in JSON Schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​11634](https://redirect.github.com/pydantic/pydantic/pull/11634) - Add `generate_arguments_schema()` function by [@​Viicos](https://redirect.github.com/Viicos) in [#​11572](https://redirect.github.com/pydantic/pydantic/pull/11572) ##### Fixes - Allow generic typed dictionaries to be used for unpacked variadic keyword parameters by [@​Viicos](https://redirect.github.com/Viicos) in [#​11571](https://redirect.github.com/pydantic/pydantic/pull/11571) - Fix runtime error when computing model string representation involving cached properties and self-referenced models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11579](https://redirect.github.com/pydantic/pydantic/pull/11579) - Preserve other steps when using the ellipsis in the pipeline API by [@​Viicos](https://redirect.github.com/Viicos) in [#​11626](https://redirect.github.com/pydantic/pydantic/pull/11626) - Fix deferred discriminator application logic by [@​Viicos](https://redirect.github.com/Viicos) in [#​11591](https://redirect.github.com/pydantic/pydantic/pull/11591) ##### New Contributors - [@​cmenon12](https://redirect.github.com/cmenon12) made their first contribution in [#​11562](https://redirect.github.com/pydantic/pydantic/pull/11562) - [@​Jeukoh](https://redirect.github.com/Jeukoh) made their first contribution in [#​11611](https://redirect.github.com/pydantic/pydantic/pull/11611) ### [`v2.10.6`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2106-2025-01-23) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.5...v2.10.6) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.6) ##### What's Changed ##### Fixes - Fix JSON Schema reference collection with `'examples'` keys by [@​Viicos](https://redirect.github.com/Viicos) in [#​11325](https://redirect.github.com/pydantic/pydantic/pull/11325) - Fix url python serialization by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11331](https://redirect.github.com/pydantic/pydantic/pull/11331) ### [`v2.10.5`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2105-2025-01-08) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.4...v2.10.5) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.5) ##### What's Changed ##### Fixes - Remove custom MRO implementation of Pydantic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11184](https://redirect.github.com/pydantic/pydantic/pull/11184) - Fix URL serialization for unions by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11233](https://redirect.github.com/pydantic/pydantic/pull/11233) ### [`v2.10.4`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2104-2024-12-18) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.4) ##### What's Changed ##### Packaging - Bump `pydantic-core` to v2.27.2 by [@​davidhewitt](https://redirect.github.com/davidhewitt) in [#​11138](https://redirect.github.com/pydantic/pydantic/pull/11138) ##### Fixes - Fix for comparison of `AnyUrl` objects by [@​alexprabhat99](https://redirect.github.com/alexprabhat99) in [#​11082](https://redirect.github.com/pydantic/pydantic/pull/11082) - Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by [@​Viicos](https://redirect.github.com/Viicos) in [#​11093](https://redirect.github.com/pydantic/pydantic/pull/11093) - Include JSON Schema input core schema in function schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​11085](https://redirect.github.com/pydantic/pydantic/pull/11085) - Add `len` to `_BaseUrl` to avoid TypeError by [@​Kharianne](https://redirect.github.com/Kharianne) in [#​11111](https://redirect.github.com/pydantic/pydantic/pull/11111) - Make sure the type reference is removed from the seen references by [@​Viicos](https://redirect.github.com/Viicos) in [#​11143](https://redirect.github.com/pydantic/pydantic/pull/11143) ##### New Contributors - [@​FyZzyss](https://redirect.github.com/FyZzyss) made their first contribution in [#​10789](https://redirect.github.com/pydantic/pydantic/pull/10789) - [@​tamird](https://redirect.github.com/tamird) made their first contribution in [#​10948](https://redirect.github.com/pydantic/pydantic/pull/10948) - [@​felixxm](https://redirect.github.com/felixxm) made their first contribution in [#​11077](https://redirect.github.com/pydantic/pydantic/pull/11077) - [@​alexprabhat99](https://redirect.github.com/alexprabhat99) made their first contribution in [#​11082](https://redirect.github.com/pydantic/pydantic/pull/11082) - [@​Kharianne](https://redirect.github.com/Kharianne) made their first contribution in [#​11111](https://redirect.github.com/pydantic/pydantic/pull/11111) ### [`v2.10.3`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2103-2024-12-03) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.2...v2.10.3) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.3) ##### What's Changed ##### Fixes - Set fields when `defer_build` is set on Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10984](https://redirect.github.com/pydantic/pydantic/pull/10984) - Do not resolve the JSON Schema reference for `dict` core schema keys by [@​Viicos](https://redirect.github.com/Viicos) in [#​10989](https://redirect.github.com/pydantic/pydantic/pull/10989) - Use the globals of the function when evaluating the return type for `PlainSerializer` and `WrapSerializer` functions by [@​Viicos](https://redirect.github.com/Viicos) in [#​11008](https://redirect.github.com/pydantic/pydantic/pull/11008) - Fix host required enforcement for urls to be compatible with v2.9 behavior by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11027](https://redirect.github.com/pydantic/pydantic/pull/11027) - Add a `default_factory_takes_validated_data` property to `FieldInfo` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11034](https://redirect.github.com/pydantic/pydantic/pull/11034) - Fix url json schema in `serialization` mode by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11035](https://redirect.github.com/pydantic/pydantic/pull/11035) ### [`v2.10.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2102-2024-11-25) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.1...v2.10.2) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.2) ##### What's Changed ##### Fixes - Only evaluate FieldInfo annotations if required during schema building by [@​Viicos](https://redirect.github.com/Viicos) in [#​10769](https://redirect.github.com/pydantic/pydantic/pull/10769) - Do not evaluate annotations for private fields by [@​Viicos](https://redirect.github.com/Viicos) in [#​10962](https://redirect.github.com/pydantic/pydantic/pull/10962) - Support serialization as any for `Secret` types and `Url` types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10947](https://redirect.github.com/pydantic/pydantic/pull/10947) - Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by [@​Viicos](https://redirect.github.com/Viicos) in [#​10972](https://redirect.github.com/pydantic/pydantic/pull/10972) - Add hashing support for URL types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10975](https://redirect.github.com/pydantic/pydantic/pull/10975) - Hide `BaseModel.__replace__` definition from type checkers by [@​Viicos](https://redirect.github.com/Viicos) in [#​10979](https://redirect.github.com/pydantic/pydantic/pull/10979) ### [`v2.10.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2101-2024-11-21) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.0...v2.10.1) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.1) ##### What's Changed ##### Packaging - Bump `pydantic-core` version to `v2.27.1` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10938](https://redirect.github.com/pydantic/pydantic/pull/10938) ##### Fixes - Use the correct frame when instantiating a parametrized `TypeAdapter` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10893](https://redirect.github.com/pydantic/pydantic/pull/10893) - Relax check for validated data in `default_factory` utils by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10909](https://redirect.github.com/pydantic/pydantic/pull/10909) - Fix type checking issue with `model_fields` and `model_computed_fields` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10911](https://redirect.github.com/pydantic/pydantic/pull/10911) - Use the parent configuration during schema generation for stdlib `dataclass`es by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10928](https://redirect.github.com/pydantic/pydantic/pull/10928) - Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by [@​Viicos](https://redirect.github.com/Viicos) in [#​10929](https://redirect.github.com/pydantic/pydantic/pull/10929) - Fix URL constraint application by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10922](https://redirect.github.com/pydantic/pydantic/pull/10922) - Fix URL equality with different validation methods by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10934](https://redirect.github.com/pydantic/pydantic/pull/10934) - Fix JSON schema title when specified as `''` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10936](https://redirect.github.com/pydantic/pydantic/pull/10936) - Fix `python` mode serialization for `complex` inference by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic-core#1549](https://redirect.github.com/pydantic/pydantic-core/pull/1549) ##### New Contributors ### [`v2.10.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.2...v2.10.0) The code released in v2.10.0 is practically identical to that of v2.10.0b2. [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.0) See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights! ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.27.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Replaced pdm with uv by [@​frfahim](https://redirect.github.com/frfahim) in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) ##### New Features - Support `fractions.Fraction` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10318](https://redirect.github.com/pydantic/pydantic/pull/10318) - Support `Hashable` for json validation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10324](https://redirect.github.com/pydantic/pydantic/pull/10324) - Add a `SocketPath` type for `linux` systems by [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - Allow arbitrary refs in JSON schema `examples` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10417](https://redirect.github.com/pydantic/pydantic/pull/10417) - Support `defer_build` for Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10313](https://redirect.github.com/pydantic/pydantic/pull/10313) - Adding v1 / v2 incompatibility warning for nested v1 model by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10431](https://redirect.github.com/pydantic/pydantic/pull/10431) - Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10416](https://redirect.github.com/pydantic/pydantic/pull/10416) - Support compiled patterns in `protected_namespaces` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10522](https://redirect.github.com/pydantic/pydantic/pull/10522) - Add support for `propertyNames` in JSON schema by [@​FlorianSW](https://redirect.github.com/FlorianSW) in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - Adding `__replace__` protocol for Python 3.13+ support by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10596](https://redirect.github.com/pydantic/pydantic/pull/10596) - Expose public `sort` method for JSON schema generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10595](https://redirect.github.com/pydantic/pydantic/pull/10595) - Add runtime validation of `@validate_call` callable argument by [@​kc0506](https://redirect.github.com/kc0506) in [#​10627](https://redirect.github.com/pydantic/pydantic/pull/10627) - Add `experimental_allow_partial` support by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10748](https://redirect.github.com/pydantic/pydantic/pull/10748) - Support default factories taking validated data as an argument by [@​Viicos](https://redirect.github.com/Viicos) in [#​10678](https://redirect.github.com/pydantic/pydantic/pull/10678) - Allow subclassing `ValidationError` and `PydanticCustomError` by [@​Youssefares](https://redirect.github.com/Youssefares) in [pydantic/pydantic-core#1413](https://redirect.github.com/pydantic/pydantic-core/pull/1413) - Add `trailing-strings` support to `experimental_allow_partial` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10537](https://redirect.github.com/pydantic/pydantic/pull/10537) - Improve `TypeAdapter` instance repr by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10872](https://redirect.github.com/pydantic/pydantic/pull/10872) ##### Changes - Don't allow customization of `SchemaGenerator` until interface is more stable by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10303](https://redirect.github.com/pydantic/pydantic/pull/10303) - Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10329](https://redirect.github.com/pydantic/pydantic/pull/10329) - Fix `mro` of generic subclass by [@​kc0506](https://redirect.github.com/kc0506) in [#​10100](https://redirect.github.com/pydantic/pydantic/pull/10100) - Strip whitespaces on JSON Schema title generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10404](https://redirect.github.com/pydantic/pydantic/pull/10404) - Use `b64decode` and `b64encode` for `Base64Bytes` type by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10486](https://redirect.github.com/pydantic/pydantic/pull/10486) - Relax protected namespace config default by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10441](https://redirect.github.com/pydantic/pydantic/pull/10441) - Revalidate parametrized generics if instance's origin is subclass of OG class by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10666](https://redirect.github.com/pydantic/pydantic/pull/10666) - Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10406](https://redirect.github.com/pydantic/pydantic/pull/10406) - Recommend against using `Ellipsis` (...) with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10661](https://redirect.github.com/pydantic/pydantic/pull/10661) - Migrate to subclassing instead of annotated approach for pydantic url types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10662](https://redirect.github.com/pydantic/pydantic/pull/10662) - Change JSON schema generation of `Literal`s and `Enums` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10692](https://redirect.github.com/pydantic/pydantic/pull/10692) - Simplify unions involving `Any` or `Never` when replacing type variables by [@​Viicos](https://redirect.github.com/Viicos) in [#​10338](https://redirect.github.com/pydantic/pydantic/pull/10338) - Do not require padding when decoding `base64` bytes by [@​bschoenmaeckers](https://redirect.github.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://redirect.github.com/pydantic/pydantic-core/pull/1448) - Support dates all the way to 1BC by [@​changhc](https://redirect.github.com/changhc) in [pydantic/speedate#77](https://redirect.github.com/pydantic/speedate/pull/77) ##### Performance - Schema cleaning: skip unnecessary copies during schema walking by [@​Viicos](https://redirect.github.com/Viicos) in [#​10286](https://redirect.github.com/pydantic/pydantic/pull/10286) - Refactor namespace logic for annotations evaluation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10530](https://redirect.github.com/pydantic/pydantic/pull/10530) - Improve email regexp on edge cases by [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10675](https://redirect.github.com/pydantic/pydantic/pull/10675) ##### Fixes - Remove guarding check on `computed_field` with `field_serializer` by [@​nix010](https://redirect.github.com/nix010) in [#​10390](https://redirect.github.com/pydantic/pydantic/pull/10390) - Fix `Predicate` issue in `v2.9.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10321](https://redirect.github.com/pydantic/pydantic/pull/10321) - Fixing `annotated-types` bound by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10327](https://redirect.github.com/pydantic/pydantic/pull/10327) - Turn `tzdata` install requirement into optional `timezone` dependency by [@​jakob-keller](https://redirect.github.com/jakob-keller) in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - Use correct types namespace when building `namedtuple` core schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​10337](https://redirect.github.com/pydantic/pydantic/pull/10337) - Fix evaluation of stringified annotations during namespace inspection by [@​Viicos](https://redirect.github.com/Viicos) in [#​10347](https://redirect.github.com/pydantic/pydantic/pull/10347) - Fix `IncEx` type alias definition by [@​Viicos](https://redirect.github.com/Viicos) in [#​10339](https://redirect.github.com/pydantic/pydantic/pull/10339) - Do not error when trying to evaluate annotations of private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​10358](https://redirect.github.com/pydantic/pydantic/pull/10358) - Fix nested type statement by [@​kc0506](https://redirect.github.com/kc0506) in [#​10369](https://redirect.github.com/pydantic/pydantic/pull/10369) - Improve typing of `ModelMetaclass.mro` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10372](https://redirect.github.com/pydantic/pydantic/pull/10372) - Fix class access of deprecated `computed_field`s by [@​Viicos](https://redirect.github.com/Viicos) in [#​10391](https://redirect.github.com/pydantic/pydantic/pull/10391) - Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@​MovisLi](https://redirect.github.com/MovisLi) in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - Fix `NameError` when using `validate_call` with PEP 695 on a class by [@​kc0506](https://redirect.github.com/kc0506) in [#​10380](https://redirect.github.com/pydantic/pydantic/pull/10380) - Fix `ZoneInfo` with various invalid types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10408](https://redirect.github.com/pydantic/pydantic/pull/10408) - Fix `PydanticUserError` on empty `model_config` with annotations by [@​cdwilson](https://redirect.github.com/cdwilson) in [#​10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - Fix variance issue in `_IncEx` type alias, only allow `True` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10414](https://redirect.github.com/pydantic/pydantic/pull/10414) - Fix serialization schema generation when using `PlainValidator` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10427](https://redirect.github.com/pydantic/pydantic/pull/10427) - Fix schema generation error when serialization schema holds references by [@​Viicos](https://redirect.github.com/Viicos) in [#​10444](https://redirect.github.com/pydantic/pydantic/pull/10444) - Inline references if possible when generating schema for `json_schema_input_type` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10439](https://redirect.github.com/pydantic/pydantic/pull/10439) - Fix recursive arguments in `Representation` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10480](https://redirect.github.com/pydantic/pydantic/pull/10480) - Fix representation for builtin function types by [@​kschwab](https://redirect.github.com/kschwab) in [#​10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10506](https://redirect.github.com/pydantic/pydantic/pull/10506) - Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10518](https://redirect.github.com/pydantic/pydantic/pull/10518) - Fix `stacklevel` on deprecation warnings for `BaseModel` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10520](https://redirect.github.com/pydantic/pydantic/pull/10520) - Fix warning `stacklevel` in `BaseModel.__init__` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10526](https://redirect.github.com/pydantic/pydantic/pull/10526) - Improve error handling for in-evaluable refs for discriminator application by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10440](https://redirect.github.com/pydantic/pydantic/pull/10440) - Change the signature of `ConfigWrapper.core_config` to take the title directly by [@​Viicos](https://redirect.github.com/Viicos) in [#​10562](https://redirect.github.com/pydantic/pydantic/pull/10562) - Do not use the previous config from the stack for dataclasses without config by [@​Viicos](https://redirect.github.com/Viicos) in [#​10576](https://redirect.github.com/pydantic/pydantic/pull/10576) - Fix serialization for IP types with `mode='python'` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10594](https://redirect.github.com/pydantic/pydantic/pull/10594) - Support constraint application for `Base64Etc` types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10584](https://redirect.github.com/pydantic/pydantic/pull/10584) - Fix `validate_call` ignoring `Field` in `Annotated` by [@​kc0506](https://redirect.github.com/kc0506) in [#​10610](https://redirect.github.com/pydantic/pydantic/pull/10610) - Raise an error when `Self` is invalid by [@​kc0506](https://redirect.github.com/kc0506) in [#​10609](https://redirect.github.com/pydantic/pydantic/pull/10609) - Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10523](https://redirect.github.com/pydantic/pydantic/pull/10523) - Tweak type alias logic by [@​kc0506](https://redirect.github.com/kc0506) in [#​10643](https://redirect.github.com/pydantic/pydantic/pull/10643) - Support usage of `type` with `typing.Self` and type aliases by [@​kc0506](https://redirect.github.com/kc0506) in [#​10621](https://redirect.github.com/pydantic/pydantic/pull/10621) - Use overloads for `Field` and `PrivateAttr` functions by [@​Viicos](https://redirect.github.com/Viicos) in [#​10651](https://redirect.github.com/pydantic/pydantic/pull/10651) - Clean up the `mypy` plugin implementation by [@​Viicos](https://redirect.github.com/Viicos) in [#​10669](https://redirect.github.com/pydantic/pydantic/pull/10669) - Properly check for `typing_extensions` variant of `TypeAliasType` by [@​Daraan](https://redirect.github.com/Daraan) in [#​10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - Allow any mapping in `BaseModel.model_copy()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10751](https://redirect.github.com/pydantic/pydantic/pull/10751) - Fix `isinstance` behavior for urls by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10766](https://redirect.github.com/pydantic/pydantic/pull/10766) - Ensure `cached_property` can be set on Pydantic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​10774](https://redirect.github.com/pydantic/pydantic/pull/10774) - Fix equality checks for primitives in literals by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://redirect.github.com/pydantic/pydantic-core/pull/1459) - Properly enforce `host_required` for URLs by [@​Viicos](https://redirect.github.com/Viicos) in [pydantic/pydantic-core#1488](https://redirect.github.com/pydantic/pydantic-core/pull/1488) - Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@​andrey-berenda](https://redirect.github.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://redirect.github.com/pydantic/pydantic-core/pull/1515) - Fix serializing `complex` values in `Enum`s by [@​changhc](https://redirect.github.com/changhc) in [pydantic/pydantic-core#1524](https://redirect.github.com/pydantic/pydantic-core/pull/1524) - Refactor `_typing_extra` module by [@​Viicos](https://redirect.github.com/Viicos) in [#​10725](https://redirect.github.com/pydantic/pydantic/pull/10725) - Support intuitive equality for urls by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10798](https://redirect.github.com/pydantic/pydantic/pull/10798) - Add `bytearray` to `TypeAdapter.validate_json` signature by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10802](https://redirect.github.com/pydantic/pydantic/pull/10802) - Ensure class access of method descriptors is performed when used as a default with `Field` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10816](https://redirect.github.com/pydantic/pydantic/pull/10816) - Fix circular import with `validate_call` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10807](https://redirect.github.com/pydantic/pydantic/pull/10807) - Fix error when using type aliases referencing other type aliases by [@​Viicos](https://redirect.github.com/Viicos) in [#​10809](https://redirect.github.com/pydantic/pydantic/pull/10809) - Fix `IncEx` type alias to be compatible with mypy by [@​Viicos](https://redirect.github.com/Viicos) in [#​10813](https://redirect.github.com/pydantic/pydantic/pull/10813) - Make `__signature__` a lazy property, do not deepcopy defaults by [@​Viicos](https://redirect.github.com/Viicos) in [#​10818](https://redirect.github.com/pydantic/pydantic/pull/10818) - Make `__signature__` lazy for dataclasses, too by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10832](https://redirect.github.com/pydantic/pydantic/pull/10832) - Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10856](https://redirect.github.com/pydantic/pydantic/pull/10856) ##### New Contributors - [@​jakob-keller](https://redirect.github.com/jakob-keller) made their first contribution in [#​10331](https://redirect.github.com/pydantic/pydantic/pull/10331) - [@​MovisLi](https://redirect.github.com/MovisLi) made their first contribution in [#​10374](https://redirect.github.com/pydantic/pydantic/pull/10374) - [@​joaopalmeiro](https://redirect.github.com/joaopalmeiro) made their first contribution in [#​10405](https://redirect.github.com/pydantic/pydantic/pull/10405) - [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) made their first contribution in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - [@​cdwilson](https://redirect.github.com/cdwilson) made their first contribution in [#​10412](https://redirect.github.com/pydantic/pydantic/pull/10412) - [@​dlax](https://redirect.github.com/dlax) made their first contribution in [#​10421](https://redirect.github.com/pydantic/pydantic/pull/10421) - [@​kschwab](https://redirect.github.com/kschwab) made their first contribution in [#​10479](https://redirect.github.com/pydantic/pydantic/pull/10479) - [@​santibreo](https://redirect.github.com/santibreo) made their first contribution in [#​10453](https://redirect.github.com/pydantic/pydantic/pull/10453) - [@​FlorianSW](https://redirect.github.com/FlorianSW) made their first contribution in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - [@​tkasuz](https://redirect.github.com/tkasuz) made their first contribution in [#​10555](https://redirect.github.com/pydantic/pydantic/pull/10555) - [@​AlekseyLobanov](https://redirect.github.com/AlekseyLobanov) made their first contribution in [#​10601](https://redirect.github.com/pydantic/pydantic/pull/10601) - [@​NiclasvanEyk](https://redirect.github.com/NiclasvanEyk) made their first contribution in [#​10667](https://redirect.github.com/pydantic/pydantic/pull/10667) - [@​mschoettle](https://redirect.github.com/mschoettle) made their first contribution in [#​10677](https://redirect.github.com/pydantic/pydantic/pull/10677) - [@​Daraan](https://redirect.github.com/Daraan) made their first contribution in [#​10713](https://redirect.github.com/pydantic/pydantic/pull/10713) - [@​k4nar](https://redirect.github.com/k4nar) made their first contribution in [#​10736](https://redirect.github.com/pydantic/pydantic/pull/10736) - [@​UriyaHarpeness](https://redirect.github.com/UriyaHarpeness) made their first contribution in [#​10740](https://redirect.github.com/pydantic/pydantic/pull/10740) - [@​frfahim](https://redirect.github.com/frfahim) made their first contribution in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) </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 is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDguNiIsInVwZGF0ZWRJblZlciI6IjQxLjE0OC42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> --------- Co-authored-by: Eric Heße <[email protected]>
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [boto3](https://redirect.github.com/boto/boto3) | `1.40.36` -> `1.40.53` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [boto3-stubs](https://redirect.github.com/youtype/mypy_boto3_builder) | `1.40.36` -> `1.40.53` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [dynaconf](https://redirect.github.com/dynaconf/dynaconf) | `3.2.11` -> `3.2.12` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [moto](https://redirect.github.com/getmoto/moto) ([changelog](https://redirect.github.com/getmoto/moto/blob/master/CHANGELOG.md)) | `5.1.13` -> `5.1.14` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pandas](https://redirect.github.com/pandas-dev/pandas) | `2.3.2` -> `2.3.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pydantic](https://redirect.github.com/pydantic/pydantic) ([changelog](https://docs.pydantic.dev/latest/changelog/)) | `2.9.2` -> `2.12.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pydantic-settings](https://redirect.github.com/pydantic/pydantic-settings) ([changelog](https://redirect.github.com/pydantic/pydantic-settings/releases)) | `2.10.1` -> `2.11.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [pylint](https://redirect.github.com/pylint-dev/pylint) ([changelog](https://pylint.readthedocs.io/en/latest/whatsnew/3/)) | `3.3.8` -> `3.3.9` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [ruff](https://docs.astral.sh/ruff) ([source](https://redirect.github.com/astral-sh/ruff), [changelog](https://redirect.github.com/astral-sh/ruff/blob/main/CHANGELOG.md)) | `^0.13.0` -> `^0.14.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [safety](https://redirect.github.com/pyupio/safety) ([changelog](https://redirect.github.com/pyupio/safety/blob/main/CHANGELOG.md)) | `3.6.1` -> `3.6.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [slack-sdk](https://redirect.github.com/slackapi/python-slack-sdk) | `3.36.0` -> `3.37.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [sqlalchemy](https://www.sqlalchemy.org) ([changelog](https://docs.sqlalchemy.org/en/latest/changelog/)) | `2.0.43` -> `2.0.44` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>boto/boto3 (boto3)</summary> ### [`v1.40.53`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14053) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.52...1.40.53) \======= - api-change:`bedrock`: \[`botocore`] Amazon Bedrock Automated Reasoning Policy now offers enhanced AWS KMS integration. The CreateAutomatedReasoningPolicy API includes a new kmsKeyId field, allowing customers to specify their preferred KMS key for encryption, improving control and compliance with AWS encryption mandates. - api-change:`docdb`: \[`botocore`] Add support for NetworkType field in CreateDbCluster, ModifyDbCluster, RestoreDbClusterFromSnapshot and RestoreDbClusterToPointInTime for DocumentDB. - api-change:`ec2`: \[`botocore`] Introducing EC2 Capacity Manager for monitoring and analyzing capacity usage across On-Demand Instances, Spot Instances, and Capacity Reservations. - api-change:`elbv2`: \[`botocore`] This release expands Listener Rule Conditions to support RegexValues and adds support for a new Transforms field in Listener Rules. - api-change:`guardduty`: \[`botocore`] Added default pagination value for ListMalwareProtectionPlans API and updated UpdateFindingsFeedback API - api-change:`lightsail`: \[`botocore`] Add support for manage Lightsail Bucket CORS configuration - api-change:`timestream-influxdb`: \[`botocore`] This release adds support for creating and managing InfluxDB 3 Core and Enterprise DbClusters. ### [`v1.40.52`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14052) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.51...1.40.52) \======= - api-change:`appstream`: \[`botocore`] This release introduces support for Microsoft license included applications streaming. - api-change:`backup`: \[`botocore`] The AWS Backup job attribute extension enhancement helps customers better understand the plan that initiated each job, and the properties of the resource each job creates. - api-change:`connect`: \[`botocore`] SDK release for TaskTemplateInfo in Contact for DescribeContact response. - api-change:`datazone`: \[`botocore`] Support creating scoped and trustedIdentityPropagation enabled connections. - api-change:`ec2`: \[`botocore`] This release adds support for creating instant, point-in-time copies of EBS volumes within the same Availability Zone - api-change:`transcribe`: \[`botocore`] Move UntagResource API body member to query parameter - api-change:`transfer`: \[`botocore`] SFTP connectors now support routing connections via customers' VPC. This enables connections to remote servers that are only accessible in a customer's VPC environment, and to servers that are accessible over the internet but need connections coming from an IP address in a customer VPC's CIDR range. ### [`v1.40.51`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14051) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.50...1.40.51) \======= - api-change:`bedrock-agentcore`: \[`botocore`] Updated InvokeAgentRuntime API to accept account id optionally and added CompleteResourceTokenAuth API. - api-change:`bedrock-agentcore-control`: \[`botocore`] Updated http status code in control plane apis of agentcore runtime, tools and identity. Additional included provider types for AgentCore Identity - api-change:`ec2`: \[`botocore`] Release Amazon EC2 c8i, c8i-flex, m8a, and r8gb - api-change:`observabilityadmin`: \[`botocore`] CloudWatch Observability Admin adds the ability to enable Resource tags for telemetry in a customer account. The release introduces new APIs to enable, disable and describe the status of Resource tags for telemetry feature. This new capability simplifies monitoring AWS resources using tags. ### [`v1.40.50`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14050) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.49...1.40.50) \======= - api-change:`bedrock-agentcore`: \[`botocore`] Bedrock AgentCore release for Runtime, and Memory. - api-change:`bedrock-agentcore-control`: \[`botocore`] Bedrock AgentCore release for Gateway, and Memory including Self-Managed Strategies support for Memory. - api-change:`cloudfront`: \[`botocore`] Added new viewer security policy, TLSv1.2\_2025, for CloudFront. - api-change:`glue`: \[`botocore`] Addition of AuditContext in GetTable/GetTables Request - api-change:`lambda`: \[`botocore`] Add InvokedViaFunctionUrl context key to limit invocations to only FURL invokes. - api-change:`odb`: \[`botocore`] This release adds APIs that allow you to specify CIDR ranges in your ODB peering connection. - api-change:`rds`: \[`botocore`] Updated the text in the Important section of the ModifyDBClusterParameterGroup page. ### [`v1.40.49`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14049) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.48...1.40.49) \======= - api-change:`quicksight`: \[`botocore`] This release adds support for ActionConnector and Flow, which are new resources associated with Amazon Quick Suite. Additional updates include expanded Data Source options, further branding customization, and new capabilities that can be restricted by Admins. - api-change:`wafv2`: \[`botocore`] This release adds the ability to throw WafLimitsExceededException when the maximum number of Application Load Balancer (ALB) associations per AWS WAF v2 WebACL is exceeded. ### [`v1.40.48`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14048) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.47...1.40.48) \======= - api-change:`bedrock-agentcore-control`: \[`botocore`] Adding support for authorizer type AWS\_IAM to AgentCore Control Gateway. - api-change:`license-manager-user-subscriptions`: \[`botocore`] Released support for IPv6 and dual-stack active directories - api-change:`outposts`: \[`botocore`] This release adds the new StartOutpostDecommission API, which starts the decommission process to return Outposts racks or servers. - api-change:`service-quotas`: \[`botocore`] introduces Service Quotas Automatic Management. Users can opt-in to monitoring and managing service quotas, receive notifications when quota usage reaches thresholds, configure notification channels, subscribe to EventBridge events for automation, and view notifications in the AWS Health dashboard. ### [`v1.40.47`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14047) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.46...1.40.47) \======= - api-change:`proton`: \[`botocore`] Deprecating APIs in AWS Proton namespace. ### [`v1.40.46`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14046) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.45...1.40.46) \======= - api-change:`backup`: \[`botocore`] Adds optional MaxScheduledRunsPreview input to GetBackupPlan API to provide a preview of up to 10 next scheduled backup plan runs in the GetBackupPlan response. - api-change:`bedrock-agentcore`: \[`botocore`] Add support for batch memory management, agent card retrieval and session termination - api-change:`bedrock-agentcore-control`: \[`botocore`] Add support for VM lifecycle configuration parameters and A2A protocol - api-change:`glue`: \[`botocore`] Adds labeling for DataQualityRuleResult for GetDataQualityResult and PublishDataQualityResult APIs - api-change:`mediaconnect`: \[`botocore`] Enabling Tag-on-Create for AWS Elemental MediaConnect flow-based resource types - api-change:`memorydb`: \[`botocore`] Support for DescribeMultiRegionParameterGroups and DescribeMultiRegionParameters API. - api-change:`quicksight`: \[`botocore`] Documentation improvements for QuickSight API documentation to clarify that delete operation APIs are global. - api-change:`rds`: \[`botocore`] Documentation updates to the CreateDBClusterMessage$PubliclyAccessible and CreateDBInstanceMessage$PubliclyAccessible properties. - api-change:`resource-explorer-2`: \[`botocore`] Add new AWS Resource Explorer APIs ### [`v1.40.45`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14045) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.44...1.40.45) \======= - api-change:`cleanrooms`: \[`botocore`] Added support for reading data sources across regions, and results delivery to allowedlisted regions. - api-change:`medialive`: \[`botocore`] AWS Elemental MediaLive enables Mediapackage V2 users to configure ID3, KLV, Nielsen ID3, and Segment Length related parameters through the Mediapackage output group. - api-change:`payment-cryptography-data`: \[`botocore`] Added a new API - translateKeyMaterial; allows keys wrapped by ECDH derived keys to be rewrapped under a static AES keyblock without first importing the key into the service. - api-change:`qconnect`: \[`botocore`] Updated Amazon Q in Connect APIs to support Email Contact Recommendations. ### [`v1.40.44`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14044) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.43...1.40.44) \======= - api-change:`cloudformation`: \[`botocore`] Add new warning type 'EXCLUDED\_RESOURCES' - api-change:`connectcases`: \[`botocore`] New Search All Related Items API enables searching related items across cases - api-change:`dynamodb`: \[`botocore`] Add support for dual-stack account endpoint generation - api-change:`endpoint-rules`: \[`botocore`] Update endpoint-rules client to latest version - api-change:`guardduty`: \[`botocore`] Updated descriptions for the Location parameter in CreateTrustedEntitySet and CreateThreatEntitySet. - api-change:`synthetics`: \[`botocore`] Adds support to configure canaries with pre-configured blueprint code on supported runtime versions. This behavior can be controlled via the new BlueprintTypes property exposed in the CreateCanary and UpdateCanary APIs. ### [`v1.40.43`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14043) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.42...1.40.43) \======= - api-change:`chime-sdk-meetings`: \[`botocore`] Add support to receive dual stack MediaPlacement URLs in Chime Meetings SDK - api-change:`cleanrooms`: \[`botocore`] This release introduces data access budgets to control how many times a table can be used for queries and jobs in a collaboration. - api-change:`cleanroomsml`: \[`botocore`] This release introduces data access budgets to view how many times an input channel can be used for ML jobs in a collaboration. - api-change:`dms`: \[`botocore`] This is a doc-only update, revising text for kms-key-arns. - api-change:`ecs`: \[`botocore`] This is a documentation only Amazon ECS release that adds additional information for health checks. - api-change:`pcs`: \[`botocore`] Added the UpdateCluster API action to modify cluster configurations, and Slurm custom settings for queues. ### [`v1.40.42`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14042) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.41...1.40.42) \======= - api-change:`application-signals`: \[`botocore`] Amazon CloudWatch Application Signals is introducing the Application Map to give users a more comprehensive view of their service health. Users will now be able to group services, track their latest deployments, and view automated audit findings concerning service performance. - api-change:`bedrock-agentcore-control`: \[`botocore`] Tagging support for AgentCore Gateway - api-change:`chime-sdk-voice`: \[`botocore`] Added support for IPv4-only and dual-stack network configurations for VoiceConnector and CreateVoiceConnector API. - api-change:`connectcases`: \[`botocore`] This release adds support for two new related item types: ConnectCase for linking Amazon Connect cases and Custom for user-defined related items with configurable fields. - api-change:`customer-profiles`: \[`botocore`] This release introduces ListProfileHistoryRecords and GetProfileHistoryRecord APIs for comprehensive profile history tracking with complete audit trails of creation, updates, merges, deletions, and data ingestion events. - api-change:`datasync`: \[`botocore`] Added support for FIPS VPC endpoints in FIPS-enabled AWS Regions. - api-change:`datazone`: \[`botocore`] This release adds support for creation of EMR on EKS Connections in Amazon DataZone. - api-change:`ds`: \[`botocore`] AWS Directory service now supports IPv6-native and dual-stack configurations for AWS Managed Microsoft AD, AD Connector, and Simple AD (dual-stack only). Additionally, AWS Managed Microsoft AD Standard Edition directories can be upgraded to Enterprise Edition directories through a single API call. - api-change:`ecs`: \[`botocore`] This release adds support for Managed Instances on Amazon ECS. - api-change:`fsx`: \[`botocore`] Add Dual-Stack support for Amazon FSx for NetApp ONTAP and Windows File Server - api-change:`mediatailor`: \[`botocore`] Adding TPS Traffic Shaping to Prefetch Schedules - api-change:`quicksight`: \[`botocore`] added warnings to a few CLI pages - api-change:`rds`: \[`botocore`] Enhanced RDS error handling: Added DBProxyEndpointNotFoundFault, DBShardGroupNotFoundFault, KMSKeyNotAccessibleFault for snapshots/restores/backups, NetworkTypeNotSupported, StorageTypeNotSupportedFault for restores, and granular state validation faults. Changed DBInstanceNotReadyFault to HTTP 400. - api-change:`transfer`: \[`botocore`] Add support for updating server identity provider type ### [`v1.40.41`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14041) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.40...1.40.41) \======= - api-change:`bedrock`: \[`botocore`] Release for fixing GetFoundationModel API behavior. Imported and custom models have their own exclusive API and GetFM should not accept those ARNS as input - api-change:`bedrock-runtime`: \[`botocore`] New stop reason for Converse and ConverseStream - api-change:`imagebuilder`: \[`botocore`] This release introduces several new features and improvements to enhance pipeline management, logging, and resource configuration. - api-change:`vpc-lattice`: \[`botocore`] Adds support for specifying the number of IPv4 addresses in each ENI for the resource gateway for VPC Lattice. ### [`v1.40.40`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14040) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.39...1.40.40) \======= - api-change:`bedrock-agent-runtime`: \[`botocore`] This release enhances the information provided through Flow Traces. New information includes source/next node tracking, execution chains for complex nodes, dependency action (operation) details, and dependency traces. - api-change:`bedrock-data-automation`: \[`botocore`] Added support for configurable Speaker Labeling and Channel Labeling features for Audio modality. - api-change:`billing`: \[`botocore`] Add ability to combine custom billing views to create new consolidated views. - api-change:`ce`: \[`botocore`] Support for payer account dimension and billing view health status. - api-change:`connect`: \[`botocore`] Adds supports for manual contact picking (WorkList) operations on Routing Profiles, Agent Management and SearchContacts APIs. - api-change:`dynamodbstreams`: \[`botocore`] Added support for IPv6 compatible endpoints for DynamoDB Streams. - api-change:`ec2`: \[`botocore`] This release includes documentation updates for Amazon EBS General Purpose SSD (gp3) volumes with larger size and higher IOPS and throughput. - api-change:`endpoint-rules`: \[`botocore`] Update endpoint-rules client to latest version - api-change:`redshift`: \[`botocore`] Support tagging and tag propagation to IAM Identity Center for Redshift Idc Applications ### [`v1.40.39`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14039) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.38...1.40.39) \======= - api-change:`glue`: \[`botocore`] Update GetConnection(s) API to return KmsKeyArn & Add 63 missing connection types - api-change:`lightsail`: \[`botocore`] Attribute HTTP binding update for Get/Delete operations - api-change:`network-firewall`: \[`botocore`] Network Firewall now introduces Reject and Alert action support for stateful domain list rule groups, providing customers with more granular control over their network traffic. ### [`v1.40.38`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14038) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.37...1.40.38) \======= - api-change:`appstream`: \[`botocore`] G6f instance support for AppStream 2.0 - api-change:`cloudwatch`: \[`botocore`] Fix default dualstack FIPS endpoints in AWS GovCloud(US) regions - api-change:`dax`: \[`botocore`] This release adds support for IPv6-only, DUAL\_STACK DAX instances - api-change:`endpoint-rules`: \[`botocore`] Update endpoint-rules client to latest version - api-change:`kms`: \[`botocore`] Documentation only updates for KMS. - api-change:`neptune`: \[`botocore`] Doc-only update to address customer use. ### [`v1.40.37`](https://redirect.github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#14037) [Compare Source](https://redirect.github.com/boto/boto3/compare/1.40.36...1.40.37) \======= - api-change:`cleanrooms`: \[`botocore`] Added support for running incremental ID mapping for rule-based workflows. - api-change:`ec2`: \[`botocore`] Add Amazon EC2 R8gn instance types - api-change:`entityresolution`: \[`botocore`] Support incremental id mapping workflow for AWS Entity Resolution - api-change:`ssm`: \[`botocore`] Added Dualstack support to GetDeployablePatchSnapshotForInstance - api-change:`sso-admin`: \[`botocore`] Add support for encryption at rest with Customer Managed KMS Key in AWS IAM Identity Center - api-change:`sso-oidc`: \[`botocore`] This release includes exception definition and documentation updates. </details> <details> <summary>dynaconf/dynaconf (dynaconf)</summary> ### [`v3.2.12`](https://redirect.github.com/dynaconf/dynaconf/releases/tag/3.2.12) [Compare Source](https://redirect.github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12) #### What's Changed - Incremental improvment to access performance by [@​pedro-psb](https://redirect.github.com/pedro-psb) in [#​1304](https://redirect.github.com/dynaconf/dynaconf/pull/1304) - fix: get method to return Any type. by [@​rochacbruno](https://redirect.github.com/rochacbruno) in [#​1314](https://redirect.github.com/dynaconf/dynaconf/pull/1314) - perf: add lru caching to `find_the_correct_casing` function by [@​pedro-psb](https://redirect.github.com/pedro-psb) in [#​1326](https://redirect.github.com/dynaconf/dynaconf/pull/1326) **Full Changelog**: <https://github.com/dynaconf/dynaconf/compare/3.2.11...3.2.12> </details> <details> <summary>getmoto/moto (moto)</summary> ### [`v5.1.14`](https://redirect.github.com/getmoto/moto/blob/HEAD/CHANGELOG.md#5114) [Compare Source](https://redirect.github.com/getmoto/moto/compare/5.1.13...5.1.14) Docker Digest for 5.1.14: *sha256:800719627036dc38dc699e9f314f624f2c98ac3d8bb754db078cb2698f08ee77* ``` New Services: * CloudWatch-Synthetics: * create_canary() * get_canary() * describe_canaries() * list_tags_for_resource() * MediaPackageV2: * create_channel() * create_channel_group() * delete_channel() * delete_channel_group() * get_channel() * get_channel_group() * list_channel_groups() * VPCLattice: * create_service() * create_service_network() * create_service_network_vpc_association() * create_rule() New Methods: * Kinesis: * describe_limits() * Macie2: * disassociate_member() * enable_organization_admin_account() * list_organization_admin_accounts() * SecurityHub: * describe_hub() * disable_security_hub() * enable_security_hub() * ServiceHub-AppRegistry: * get_configuration() * put_configuration() Miscellaneous: * IOTData: update_thing_shadow() now supports state=None * ResourceGroupsTaggingAPI: list_tags_for_resource() now returns ARN's for Athena resources, instead of names * ResourceGroupsTaggingAPI: list_tags_for_resource() now supports Kinesis Firehose resources * S3: put_object() now stores the correct (actual) content when using the Java SDK, and no longer include the checksum headers in the body * Shield: create_protection() now only allows ARN's of Elastic IP Addresses, instead of all EC2 resources ``` </details> <details> <summary>pandas-dev/pandas (pandas)</summary> ### [`v2.3.3`](https://redirect.github.com/pandas-dev/pandas/releases/tag/v2.3.3): Pandas 2.3.3 [Compare Source](https://redirect.github.com/pandas-dev/pandas/compare/v2.3.2...v2.3.3) We are pleased to announce the release of pandas 2.3.3. This release includes some improvements and fixes to the future string data type (preview feature for the upcoming pandas 3.0). We recommend that all users upgrade to this version. See the [full whatsnew](https://pandas.pydata.org/pandas-docs/version/2.3/whatsnew/v2.3.3.html) for a list of all the changes. Pandas 2.3.3 supports Python 3.9 and higher, and is the first release to support Python 3.14. The release will be available on the conda-forge channel: ``` conda install pandas --channel conda-forge ``` Or via PyPI: ``` python3 -m pip install --upgrade pandas ``` Please report any issues with the release on the [pandas issue tracker](https://redirect.github.com/pandas-dev/pandas/issues). Thanks to all the contributors who made this release possible. </details> <details> <summary>pydantic/pydantic (pydantic)</summary> ### [`v2.12.2`](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.12.2): 2025-10-14 [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.12.1...v2.12.2) #### v2.12.2 (2025-10-14) ##### What's Changed ##### Fixes - Release a new `pydantic-core` version, as a corrupted CPython 3.10 `manylinux2014_aarch64` wheel got uploaded ([pydantic-core#1843](https://redirect.github.com/pydantic/pydantic-core/pull/1843)). - Fix issue with recursive generic models with a parent model class by [@​Viicos](https://redirect.github.com/Viicos) in [#​12398](https://redirect.github.com/pydantic/pydantic/pull/12398) **Full Changelog**: <https://github.com/pydantic/pydantic/compare/v2.12.1...v2.12.2> ### [`v2.12.1`](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.12.1): 2025-10-13 [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.12.0...v2.12.1) #### v2.12.1 (2025-10-13) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.12.1) ##### What's Changed This is the first 2.12 patch release, addressing most (but not all yet) regressions from the initial 2.12.0 release. ##### Fixes - Do not evaluate annotations when inspecting validators and serializers by [@​Viicos](https://redirect.github.com/Viicos) in [#​12355](https://redirect.github.com/pydantic/pydantic/pull/12355) - Make sure `None` is converted as `NoneType` in Python 3.14 by [@​Viicos](https://redirect.github.com/Viicos) in [#​12370](https://redirect.github.com/pydantic/pydantic/pull/12370) - Backport V1 runtime warning when using Python 3.14 by [@​Viicos](https://redirect.github.com/Viicos) in [#​12367](https://redirect.github.com/pydantic/pydantic/pull/12367) - Fix error message for invalid validator signatures by [@​Viicos](https://redirect.github.com/Viicos) in [#​12366](https://redirect.github.com/pydantic/pydantic/pull/12366) - Populate field name in `ValidationInfo` for validation of default value by [@​Viicos](https://redirect.github.com/Viicos) in [pydantic-core#1826](https://redirect.github.com/pydantic/pydantic-core/pull/1826) - Encode credentials in `MultiHostUrl` builder by [@​willswire](https://redirect.github.com/willswire) in [pydantic-core#1829](https://redirect.github.com/pydantic/pydantic-core/pull/1829) - Respect field serializers when using `serialize_as_any` serialization flag by [@​davidhewitt](https://redirect.github.com/davidhewitt) in [pydantic-core#1829](https://redirect.github.com/pydantic/pydantic-core/pull/1829) - Fix various `RootModel` serialization issues by [@​davidhewitt](https://redirect.github.com/davidhewitt) in [pydantic-core#1836](https://redirect.github.com/pydantic/pydantic-core/pull/1836) ##### New Contributors - [@​willswire](https://redirect.github.com/willswire) made their first contribution in [pydantic-core#1829](https://redirect.github.com/pydantic/pydantic-core/pull/1829) **Full Changelog**: <https://github.com/pydantic/pydantic/compare/v2.12.0...v2.12.1> ### [`v2.12.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2120-2025-10-07) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.10...v2.12.0) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.12.0) ##### What's Changed This is the final 2.12 release. It features the work of 20 external contributors and provides useful new features, along with initial Python 3.14 support. Several minor changes (considered non-breaking changes according to our [versioning policy](https://docs.pydantic.dev/2.12/version-policy/#pydantic-v2)) are also included in this release. Make sure to look into them before upgrading. Changes (see the alpha and beta releases for additional changes since 2.11): ##### Packaging - Update V1 copy to v1.10.24 by [@​Viicos](https://redirect.github.com/Viicos) in [#​12338](https://redirect.github.com/pydantic/pydantic/pull/12338) ##### New Features - Add `extra` parameter to the validate functions by [@​anvilpete](https://redirect.github.com/anvilpete) in [#​12233](https://redirect.github.com/pydantic/pydantic/pull/12233) - Add `exclude_computed_fields` serialization option by [@​Viicos](https://redirect.github.com/Viicos) in [#​12334](https://redirect.github.com/pydantic/pydantic/pull/12334) - Add `preverse_empty_path` URL options by [@​Viicos](https://redirect.github.com/Viicos) in [#​12336](https://redirect.github.com/pydantic/pydantic/pull/12336) - Add `union_format` parameter to JSON Schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​12147](https://redirect.github.com/pydantic/pydantic/pull/12147) - Add `__qualname__` parameter for `create_model` by [@​Atry](https://redirect.github.com/Atry) in [#​12001](https://redirect.github.com/pydantic/pydantic/pull/12001) ##### Fixes - Do not try to infer name from lambda definitions in pipelines API by [@​Viicos](https://redirect.github.com/Viicos) in [#​12289](https://redirect.github.com/pydantic/pydantic/pull/12289) - Use proper namespace for functions in `TypeAdapter` by [@​Viicos](https://redirect.github.com/Viicos) in [#​12324](https://redirect.github.com/pydantic/pydantic/pull/12324) - Use `Any` for context type annotation in `TypeAdapter` by [@​inducer](https://redirect.github.com/inducer) in [#​12279](https://redirect.github.com/pydantic/pydantic/pull/12279) - Expose `FieldInfo` in `pydantic.fields.__all__` by [@​Viicos](https://redirect.github.com/Viicos) in [#​12339](https://redirect.github.com/pydantic/pydantic/pull/12339) - Respect `validation_alias` in `@validate_call` by [@​Viicos](https://redirect.github.com/Viicos) in [#​12340](https://redirect.github.com/pydantic/pydantic/pull/12340) - Use `Any` as context annotation in plugin API by [@​Viicos](https://redirect.github.com/Viicos) in [#​12341](https://redirect.github.com/pydantic/pydantic/pull/12341) - Use proper `stacklevel` in warnings when possible by [@​Viicos](https://redirect.github.com/Viicos) in [#​12342](https://redirect.github.com/pydantic/pydantic/pull/12342) ##### New Contributors - [@​anvilpete](https://redirect.github.com/anvilpete) made their first contribution in [#​12233](https://redirect.github.com/pydantic/pydantic/pull/12233) - [@​JonathanWindell](https://redirect.github.com/JonathanWindell) made their first contribution in [#​12327](https://redirect.github.com/pydantic/pydantic/pull/12327) - [@​inducer](https://redirect.github.com/inducer) made their first contribution in [#​12279](https://redirect.github.com/pydantic/pydantic/pull/12279) - [@​Atry](https://redirect.github.com/Atry) made their first contribution in [#​12001](https://redirect.github.com/pydantic/pydantic/pull/12001) ### [`v2.11.10`](https://redirect.github.com/pydantic/pydantic/compare/v2.11.9...v2.11.10) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.9...v2.11.10) ### [`v2.11.9`](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.9): 2025-09-13 [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9) ##### What's Changed ##### Fixes - Backport v1.10.23 changes by [@​Viicos](https://redirect.github.com/Viicos) **Full Changelog**: <https://github.com/pydantic/pydantic/compare/v2.11.8...v2.11.9> ### [`v2.11.8`](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.8): 2025-09-13 [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8) #### v2.11.8 (2025-09-13) ##### What's Changed ##### Fixes - Fix mypy plugin for mypy 1.18 by [@​cdce8p](https://redirect.github.com/cdce8p) in [#​12209](https://redirect.github.com/pydantic/pydantic/pull/12209) **Full Changelog**: <https://github.com/pydantic/pydantic/compare/v2.11.7...v2.11.8> ### [`v2.11.7`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2117-2025-06-14) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.6...v2.11.7) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.7) ##### What's Changed ##### Fixes - Copy `FieldInfo` instance if necessary during `FieldInfo` build by [@​Viicos](https://redirect.github.com/Viicos) in [#​11898](https://redirect.github.com/pydantic/pydantic/pull/11898) ### [`v2.11.6`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2116-2025-06-13) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.5...v2.11.6) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.6) ##### What's Changed ##### Fixes - Rebuild dataclass fields before schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​11949](https://redirect.github.com/pydantic/pydantic/pull/11949) - Always store the original field assignment on `FieldInfo` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11946](https://redirect.github.com/pydantic/pydantic/pull/11946) ### [`v2.11.5`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2115-2025-05-22) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.4...v2.11.5) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.5) ##### What's Changed ##### Fixes - Check if `FieldInfo` is complete after applying type variable map by [@​Viicos](https://redirect.github.com/Viicos) in [#​11855](https://redirect.github.com/pydantic/pydantic/pull/11855) - Do not delete mock validator/serializer in `model_rebuild()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11890](https://redirect.github.com/pydantic/pydantic/pull/11890) - Do not duplicate metadata on model rebuild by [@​Viicos](https://redirect.github.com/Viicos) in [#​11902](https://redirect.github.com/pydantic/pydantic/pull/11902) ### [`v2.11.4`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2114-2025-04-29) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.3...v2.11.4) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.4) ##### What's Changed ##### Packaging - Bump `mkdocs-llmstxt` to v0.2.0 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11725](https://redirect.github.com/pydantic/pydantic/pull/11725) ##### Changes - Allow config and bases to be specified together in `create_model()` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11714](https://redirect.github.com/pydantic/pydantic/pull/11714). This change was backported as it was previously possible (although not meant to be supported) to provide `model_config` as a field, which would make it possible to provide both configuration and bases. ##### Fixes - Remove generics cache workaround by [@​Viicos](https://redirect.github.com/Viicos) in [#​11755](https://redirect.github.com/pydantic/pydantic/pull/11755) - Remove coercion of decimal constraints by [@​Viicos](https://redirect.github.com/Viicos) in [#​11772](https://redirect.github.com/pydantic/pydantic/pull/11772) - Fix crash when expanding root type in the mypy plugin by [@​Viicos](https://redirect.github.com/Viicos) in [#​11735](https://redirect.github.com/pydantic/pydantic/pull/11735) - Fix issue with recursive generic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11775](https://redirect.github.com/pydantic/pydantic/pull/11775) - Traverse `function-before` schemas during schema gathering by [@​Viicos](https://redirect.github.com/Viicos) in [#​11801](https://redirect.github.com/pydantic/pydantic/pull/11801) ### [`v2.11.3`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2113-2025-04-08) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.2...v2.11.3) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.3) ##### What's Changed ##### Packaging - Update V1 copy to v1.10.21 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11706](https://redirect.github.com/pydantic/pydantic/pull/11706) ##### Fixes - Preserve field description when rebuilding model fields by [@​Viicos](https://redirect.github.com/Viicos) in [#​11698](https://redirect.github.com/pydantic/pydantic/pull/11698) ### [`v2.11.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2112-2025-04-03) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.1...v2.11.2) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.2) ##### What's Changed ##### Fixes - Bump `pydantic-core` to v2.33.1 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11678](https://redirect.github.com/pydantic/pydantic/pull/11678) - Make sure `__pydantic_private__` exists before setting private attributes by [@​Viicos](https://redirect.github.com/Viicos) in [#​11666](https://redirect.github.com/pydantic/pydantic/pull/11666) - Do not override `FieldInfo._complete` when using field from parent class by [@​Viicos](https://redirect.github.com/Viicos) in [#​11668](https://redirect.github.com/pydantic/pydantic/pull/11668) - Provide the available definitions when applying discriminated unions by [@​Viicos](https://redirect.github.com/Viicos) in [#​11670](https://redirect.github.com/pydantic/pydantic/pull/11670) - Do not expand root type in the mypy plugin for variables by [@​Viicos](https://redirect.github.com/Viicos) in [#​11676](https://redirect.github.com/pydantic/pydantic/pull/11676) - Mention the attribute name in model fields deprecation message by [@​Viicos](https://redirect.github.com/Viicos) in [#​11674](https://redirect.github.com/pydantic/pydantic/pull/11674) - Properly validate parameterized mappings by [@​Viicos](https://redirect.github.com/Viicos) in [#​11658](https://redirect.github.com/pydantic/pydantic/pull/11658) ### [`v2.11.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v21110-2025-10-04) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.11.0...v2.11.1) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.10) ##### What's Changed ##### Fixes - Backport v1.10.24 changes by [@​Viicos](https://redirect.github.com/Viicos) ### [`v2.11.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2110-2025-03-27) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.6...v2.11.0) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.11.0) ##### What's Changed Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general). See the [blog post](https://pydantic.dev/articles/pydantic-v2-11-release) for more details. ##### Packaging - Bump `pydantic-core` to v2.33.0 by [@​Viicos](https://redirect.github.com/Viicos) in [#​11631](https://redirect.github.com/pydantic/pydantic/pull/11631) ##### New Features - Add `encoded_string()` method to the URL types by [@​YassinNouh21](https://redirect.github.com/YassinNouh21) in [#​11580](https://redirect.github.com/pydantic/pydantic/pull/11580) - Add support for `defer_build` with `@validate_call` decorator by [@​Viicos](https://redirect.github.com/Viicos) in [#​11584](https://redirect.github.com/pydantic/pydantic/pull/11584) - Allow `@with_config` decorator to be used with keyword arguments by [@​Viicos](https://redirect.github.com/Viicos) in [#​11608](https://redirect.github.com/pydantic/pydantic/pull/11608) - Simplify customization of default value inclusion in JSON Schema generation by [@​Viicos](https://redirect.github.com/Viicos) in [#​11634](https://redirect.github.com/pydantic/pydantic/pull/11634) - Add `generate_arguments_schema()` function by [@​Viicos](https://redirect.github.com/Viicos) in [#​11572](https://redirect.github.com/pydantic/pydantic/pull/11572) ##### Fixes - Allow generic typed dictionaries to be used for unpacked variadic keyword parameters by [@​Viicos](https://redirect.github.com/Viicos) in [#​11571](https://redirect.github.com/pydantic/pydantic/pull/11571) - Fix runtime error when computing model string representation involving cached properties and self-referenced models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11579](https://redirect.github.com/pydantic/pydantic/pull/11579) - Preserve other steps when using the ellipsis in the pipeline API by [@​Viicos](https://redirect.github.com/Viicos) in [#​11626](https://redirect.github.com/pydantic/pydantic/pull/11626) - Fix deferred discriminator application logic by [@​Viicos](https://redirect.github.com/Viicos) in [#​11591](https://redirect.github.com/pydantic/pydantic/pull/11591) ##### New Contributors - [@​cmenon12](https://redirect.github.com/cmenon12) made their first contribution in [#​11562](https://redirect.github.com/pydantic/pydantic/pull/11562) - [@​Jeukoh](https://redirect.github.com/Jeukoh) made their first contribution in [#​11611](https://redirect.github.com/pydantic/pydantic/pull/11611) ### [`v2.10.6`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2106-2025-01-23) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.5...v2.10.6) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.6) ##### What's Changed ##### Fixes - Fix JSON Schema reference collection with `'examples'` keys by [@​Viicos](https://redirect.github.com/Viicos) in [#​11325](https://redirect.github.com/pydantic/pydantic/pull/11325) - Fix url python serialization by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11331](https://redirect.github.com/pydantic/pydantic/pull/11331) ### [`v2.10.5`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2105-2025-01-08) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.4...v2.10.5) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.5) ##### What's Changed ##### Fixes - Remove custom MRO implementation of Pydantic models by [@​Viicos](https://redirect.github.com/Viicos) in [#​11184](https://redirect.github.com/pydantic/pydantic/pull/11184) - Fix URL serialization for unions by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11233](https://redirect.github.com/pydantic/pydantic/pull/11233) ### [`v2.10.4`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2104-2024-12-18) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.4) ##### What's Changed ##### Packaging - Bump `pydantic-core` to v2.27.2 by [@​davidhewitt](https://redirect.github.com/davidhewitt) in [#​11138](https://redirect.github.com/pydantic/pydantic/pull/11138) ##### Fixes - Fix for comparison of `AnyUrl` objects by [@​alexprabhat99](https://redirect.github.com/alexprabhat99) in [#​11082](https://redirect.github.com/pydantic/pydantic/pull/11082) - Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by [@​Viicos](https://redirect.github.com/Viicos) in [#​11093](https://redirect.github.com/pydantic/pydantic/pull/11093) - Include JSON Schema input core schema in function schemas by [@​Viicos](https://redirect.github.com/Viicos) in [#​11085](https://redirect.github.com/pydantic/pydantic/pull/11085) - Add `len` to `_BaseUrl` to avoid TypeError by [@​Kharianne](https://redirect.github.com/Kharianne) in [#​11111](https://redirect.github.com/pydantic/pydantic/pull/11111) - Make sure the type reference is removed from the seen references by [@​Viicos](https://redirect.github.com/Viicos) in [#​11143](https://redirect.github.com/pydantic/pydantic/pull/11143) ##### New Contributors - [@​FyZzyss](https://redirect.github.com/FyZzyss) made their first contribution in [#​10789](https://redirect.github.com/pydantic/pydantic/pull/10789) - [@​tamird](https://redirect.github.com/tamird) made their first contribution in [#​10948](https://redirect.github.com/pydantic/pydantic/pull/10948) - [@​felixxm](https://redirect.github.com/felixxm) made their first contribution in [#​11077](https://redirect.github.com/pydantic/pydantic/pull/11077) - [@​alexprabhat99](https://redirect.github.com/alexprabhat99) made their first contribution in [#​11082](https://redirect.github.com/pydantic/pydantic/pull/11082) - [@​Kharianne](https://redirect.github.com/Kharianne) made their first contribution in [#​11111](https://redirect.github.com/pydantic/pydantic/pull/11111) ### [`v2.10.3`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2103-2024-12-03) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.2...v2.10.3) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.3) ##### What's Changed ##### Fixes - Set fields when `defer_build` is set on Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10984](https://redirect.github.com/pydantic/pydantic/pull/10984) - Do not resolve the JSON Schema reference for `dict` core schema keys by [@​Viicos](https://redirect.github.com/Viicos) in [#​10989](https://redirect.github.com/pydantic/pydantic/pull/10989) - Use the globals of the function when evaluating the return type for `PlainSerializer` and `WrapSerializer` functions by [@​Viicos](https://redirect.github.com/Viicos) in [#​11008](https://redirect.github.com/pydantic/pydantic/pull/11008) - Fix host required enforcement for urls to be compatible with v2.9 behavior by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11027](https://redirect.github.com/pydantic/pydantic/pull/11027) - Add a `default_factory_takes_validated_data` property to `FieldInfo` by [@​Viicos](https://redirect.github.com/Viicos) in [#​11034](https://redirect.github.com/pydantic/pydantic/pull/11034) - Fix url json schema in `serialization` mode by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​11035](https://redirect.github.com/pydantic/pydantic/pull/11035) ### [`v2.10.2`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2102-2024-11-25) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.1...v2.10.2) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.2) ##### What's Changed ##### Fixes - Only evaluate FieldInfo annotations if required during schema building by [@​Viicos](https://redirect.github.com/Viicos) in [#​10769](https://redirect.github.com/pydantic/pydantic/pull/10769) - Do not evaluate annotations for private fields by [@​Viicos](https://redirect.github.com/Viicos) in [#​10962](https://redirect.github.com/pydantic/pydantic/pull/10962) - Support serialization as any for `Secret` types and `Url` types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10947](https://redirect.github.com/pydantic/pydantic/pull/10947) - Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by [@​Viicos](https://redirect.github.com/Viicos) in [#​10972](https://redirect.github.com/pydantic/pydantic/pull/10972) - Add hashing support for URL types by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10975](https://redirect.github.com/pydantic/pydantic/pull/10975) - Hide `BaseModel.__replace__` definition from type checkers by [@​Viicos](https://redirect.github.com/Viicos) in [#​10979](https://redirect.github.com/pydantic/pydantic/pull/10979) ### [`v2.10.1`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2101-2024-11-21) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.10.0...v2.10.1) [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.1) ##### What's Changed ##### Packaging - Bump `pydantic-core` version to `v2.27.1` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10938](https://redirect.github.com/pydantic/pydantic/pull/10938) ##### Fixes - Use the correct frame when instantiating a parametrized `TypeAdapter` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10893](https://redirect.github.com/pydantic/pydantic/pull/10893) - Relax check for validated data in `default_factory` utils by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10909](https://redirect.github.com/pydantic/pydantic/pull/10909) - Fix type checking issue with `model_fields` and `model_computed_fields` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10911](https://redirect.github.com/pydantic/pydantic/pull/10911) - Use the parent configuration during schema generation for stdlib `dataclass`es by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10928](https://redirect.github.com/pydantic/pydantic/pull/10928) - Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by [@​Viicos](https://redirect.github.com/Viicos) in [#​10929](https://redirect.github.com/pydantic/pydantic/pull/10929) - Fix URL constraint application by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10922](https://redirect.github.com/pydantic/pydantic/pull/10922) - Fix URL equality with different validation methods by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10934](https://redirect.github.com/pydantic/pydantic/pull/10934) - Fix JSON schema title when specified as `''` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10936](https://redirect.github.com/pydantic/pydantic/pull/10936) - Fix `python` mode serialization for `complex` inference by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [pydantic-core#1549](https://redirect.github.com/pydantic/pydantic-core/pull/1549) ##### New Contributors ### [`v2.10.0`](https://redirect.github.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v2100-2024-11-20) [Compare Source](https://redirect.github.com/pydantic/pydantic/compare/v2.9.2...v2.10.0) The code released in v2.10.0 is practically identical to that of v2.10.0b2. [GitHub release](https://redirect.github.com/pydantic/pydantic/releases/tag/v2.10.0) See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights! ##### What's Changed ##### Packaging - Bump `pydantic-core` to `v2.27.0` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10825](https://redirect.github.com/pydantic/pydantic/pull/10825) - Replaced pdm with uv by [@​frfahim](https://redirect.github.com/frfahim) in [#​10727](https://redirect.github.com/pydantic/pydantic/pull/10727) ##### New Features - Support `fractions.Fraction` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10318](https://redirect.github.com/pydantic/pydantic/pull/10318) - Support `Hashable` for json validation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10324](https://redirect.github.com/pydantic/pydantic/pull/10324) - Add a `SocketPath` type for `linux` systems by [@​theunkn0wn1](https://redirect.github.com/theunkn0wn1) in [#​10378](https://redirect.github.com/pydantic/pydantic/pull/10378) - Allow arbitrary refs in JSON schema `examples` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10417](https://redirect.github.com/pydantic/pydantic/pull/10417) - Support `defer_build` for Pydantic dataclasses by [@​Viicos](https://redirect.github.com/Viicos) in [#​10313](https://redirect.github.com/pydantic/pydantic/pull/10313) - Adding v1 / v2 incompatibility warning for nested v1 model by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10431](https://redirect.github.com/pydantic/pydantic/pull/10431) - Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@​Viicos](https://redirect.github.com/Viicos) in [#​10416](https://redirect.github.com/pydantic/pydantic/pull/10416) - Support compiled patterns in `protected_namespaces` by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10522](https://redirect.github.com/pydantic/pydantic/pull/10522) - Add support for `propertyNames` in JSON schema by [@​FlorianSW](https://redirect.github.com/FlorianSW) in [#​10478](https://redirect.github.com/pydantic/pydantic/pull/10478) - Adding `__replace__` protocol for Python 3.13+ support by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10596](https://redirect.github.com/pydantic/pydantic/pull/10596) - Expose public `sort` method for JSON schema generation by [@​sydney-runkle](https://redirect.github.com/sydney-runkle) in [#​10595](https://redirect.github.com/pydantic/pydantic/pull/10595) - Add runtime validation of `@validate_call` callable argument by [@​kc0506](https://redirect.github.com/kc0506) in [#​10627](https://redirect.github.com/pydantic/pydantic/pull/10627) - Add `experimental_allow_partial` support by [@​samuelcolvin](https://redirect.github.com/samuelcolvin) in [#​10748](https://redirect.github.com/pydantic/pydantic/pull/10748) - Support default factories taking validated data as an argument by [@​Viicos](https://redirect.github.com/Viicos) in [#​10678](https://redirect.github.com/pydantic/pydantic/pull/10678) - Allow subclassing `ValidationError` and `PydanticCustomError` by [@​Youssefares](https://redirect.github.com/Youssefares) in [pydantic/pydantic-core#1413](https://redirect.github.com/pydantic/pydantic-core/pull/1413) - A --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: widal001 <[email protected]>
Change Summary
Related issue number
pydantic/pydantic#9686
#1380
pydantic/pydantic#8092
Checklist
pydantic-core
(except for expected changes)Selected Reviewer: @davidhewitt