fix(deps): update dependency pydantic to v2.10.0
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| pydantic (changelog) | dependencies | minor |
2.9.2 -> 2.10.0
|
Release Notes
pydantic/pydantic (pydantic)
v2.10.0
The code released in v2.10.0 is practically identical to that of v2.10.0b2.
See the v2.10 release blog post for the highlights!
What's Changed
Packaging
- Bump
pydantic-coretov2.27.0by @sydney-runkle in #10825 - Replaced pdm with uv by @frfahim in #10727
New Features
- Support
fractions.Fractionby @sydney-runkle in #10318 - Support
Hashablefor json validation by @sydney-runkle in #10324 - Add a
SocketPathtype forlinuxsystems by @theunkn0wn1 in #10378 - Allow arbitrary refs in JSON schema
examplesby @sydney-runkle in #10417 - Support
defer_buildfor Pydantic dataclasses by @Viicos in #10313 - Adding v1 / v2 incompatibility warning for nested v1 model by @sydney-runkle in #10431
- Add support for unpacked
TypedDictto type hint variadic keyword arguments with@validate_callby @Viicos in #10416 - Support compiled patterns in
protected_namespacesby @sydney-runkle in #10522 - Add support for
propertyNamesin JSON schema by @FlorianSW in #10478 - Adding
__replace__protocol for Python 3.13+ support by @sydney-runkle in #10596 - Expose public
sortmethod for JSON schema generation by @sydney-runkle in #10595 - Add runtime validation of
@validate_callcallable argument by @kc0506 in #10627 - Add
experimental_allow_partialsupport by @samuelcolvin in #10748 - Support default factories taking validated data as an argument by @Viicos in #10678
- Allow subclassing
ValidationErrorandPydanticCustomErrorby @Youssefares in pydantic/pydantic-core#1413 - Add
trailing-stringssupport toexperimental_allow_partialby @sydney-runkle in #10825 - Add
rebuild()method forTypeAdapterand simplifydefer_buildpatterns by @sydney-runkle in #10537 - Improve
TypeAdapterinstance repr by @sydney-runkle in #10872
Changes
- Don't allow customization of
SchemaGeneratoruntil interface is more stable by @sydney-runkle in #10303 - Cleanly
defer_buildonTypeAdapters, removing experimental flag by @sydney-runkle in #10329 - Fix
mroof generic subclass by @kc0506 in #10100 - Strip whitespaces on JSON Schema title generation by @sydney-runkle in #10404
- Use
b64decodeandb64encodeforBase64Bytestype by @sydney-runkle in #10486 - Relax protected namespace config default by @sydney-runkle in #10441
- Revalidate parametrized generics if instance's origin is subclass of OG class by @sydney-runkle in #10666
- Warn if configuration is specified on the
@dataclassdecorator and with the__pydantic_config__attribute by @sydney-runkle in #10406 - Recommend against using
Ellipsis(...) withFieldby @Viicos in #10661 - Migrate to subclassing instead of annotated approach for pydantic url types by @sydney-runkle in #10662
- Change JSON schema generation of
Literals andEnumsby @Viicos in #10692 - Simplify unions involving
AnyorNeverwhen replacing type variables by @Viicos in #10338 - Do not require padding when decoding
base64bytes by @bschoenmaeckers in pydantic/pydantic-core#1448 - Support dates all the way to 1BC by @changhc in pydantic/speedate#77
Performance
- Schema cleaning: skip unnecessary copies during schema walking by @Viicos in #10286
- Refactor namespace logic for annotations evaluation by @Viicos in #10530
- Improve email regexp on edge cases by @AlekseyLobanov in #10601
-
CoreMetadatarefactor with an emphasis on documentation, schema build time performance, and reducing complexity by @sydney-runkle in #10675
Fixes
- Remove guarding check on
computed_fieldwithfield_serializerby @nix010 in #10390 - Fix
Predicateissue inv2.9.0by @sydney-runkle in #10321 - Fixing
annotated-typesbound by @sydney-runkle in #10327 - Turn
tzdatainstall requirement into optionaltimezonedependency by @jakob-keller in #10331 - Use correct types namespace when building
namedtuplecore schemas by @Viicos in #10337 - Fix evaluation of stringified annotations during namespace inspection by @Viicos in #10347
- Fix
IncExtype alias definition by @Viicos in #10339 - Do not error when trying to evaluate annotations of private attributes by @Viicos in #10358
- Fix nested type statement by @kc0506 in #10369
- Improve typing of
ModelMetaclass.mroby @Viicos in #10372 - Fix class access of deprecated
computed_fields by @Viicos in #10391 - Make sure
inspect.iscoroutinefunctionworks on coroutines decorated with@validate_callby @MovisLi in #10374 - Fix
NameErrorwhen usingvalidate_callwith PEP 695 on a class by @kc0506 in #10380 - Fix
ZoneInfowith various invalid types by @sydney-runkle in #10408 - Fix
PydanticUserErroron emptymodel_configwith annotations by @cdwilson in #10412 - Fix variance issue in
_IncExtype alias, only allowTrueby @Viicos in #10414 - Fix serialization schema generation when using
PlainValidatorby @Viicos in #10427 - Fix schema generation error when serialization schema holds references by @Viicos in #10444
- Inline references if possible when generating schema for
json_schema_input_typeby @Viicos in #10439 - Fix recursive arguments in
Representationby @Viicos in #10480 - Fix representation for builtin function types by @kschwab in #10479
- Add python validators for decimal constraints (
max_digitsanddecimal_places) by @sydney-runkle in #10506 - Only fetch
__pydantic_core_schema__from the current class during schema generation by @Viicos in #10518 - Fix
stacklevelon deprecation warnings forBaseModelby @sydney-runkle in #10520 - Fix warning
stacklevelinBaseModel.__init__by @Viicos in #10526 - Improve error handling for in-evaluable refs for discriminator application by @sydney-runkle in #10440
- Change the signature of
ConfigWrapper.core_configto take the title directly by @Viicos in #10562 - Do not use the previous config from the stack for dataclasses without config by @Viicos in #10576
- Fix serialization for IP types with
mode='python'by @sydney-runkle in #10594 - Support constraint application for
Base64Etctypes by @sydney-runkle in #10584 - Fix
validate_callignoringFieldinAnnotatedby @kc0506 in #10610 - Raise an error when
Selfis invalid by @kc0506 in #10609 - Using
core_schema.InvalidSchemainstead of metadata injection + checks by @sydney-runkle in #10523 - Tweak type alias logic by @kc0506 in #10643
- Support usage of
typewithtyping.Selfand type aliases by @kc0506 in #10621 - Use overloads for
FieldandPrivateAttrfunctions by @Viicos in #10651 - Clean up the
mypyplugin implementation by @Viicos in #10669 - Properly check for
typing_extensionsvariant ofTypeAliasTypeby @Daraan in #10713 - Allow any mapping in
BaseModel.model_copy()by @Viicos in #10751 - Fix
isinstancebehavior for urls by @sydney-runkle in #10766 - Ensure
cached_propertycan be set on Pydantic models by @Viicos in #10774 - Fix equality checks for primitives in literals by @sydney-runkle in pydantic/pydantic-core#1459
- Properly enforce
host_requiredfor URLs by @Viicos in pydantic/pydantic-core#1488 - Fix when
coerce_numbers_to_strenabled and string has invalid Unicode character by @andrey-berenda in pydantic/pydantic-core#1515 - Fix serializing
complexvalues inEnums by @changhc in pydantic/pydantic-core#1524 - Refactor
_typing_extramodule by @Viicos in #10725 - Support intuitive equality for urls by @sydney-runkle in #10798
- Add
bytearraytoTypeAdapter.validate_jsonsignature by @samuelcolvin in #10802 - Ensure class access of method descriptors is performed when used as a default with
Fieldby @Viicos in #10816 - Fix circular import with
validate_callby @sydney-runkle in #10807 - Fix error when using type aliases referencing other type aliases by @Viicos in #10809
- Fix
IncExtype alias to be compatible with mypy by @Viicos in #10813 - Make
__signature__a lazy property, do not deepcopy defaults by @Viicos in #10818 - Make
__signature__lazy for dataclasses, too by @sydney-runkle in #10832 - Subclass all single host url classes from
AnyUrlto preserve behavior from v2.9 by @sydney-runkle in #10856
New Contributors
- @jakob-keller made their first contribution in #10331
- @MovisLi made their first contribution in #10374
- @joaopalmeiro made their first contribution in #10405
- @theunkn0wn1 made their first contribution in #10378
- @cdwilson made their first contribution in #10412
- @dlax made their first contribution in #10421
- @kschwab made their first contribution in #10479
- @santibreo made their first contribution in #10453
- @FlorianSW made their first contribution in #10478
- @tkasuz made their first contribution in #10555
- @AlekseyLobanov made their first contribution in #10601
- @NiclasvanEyk made their first contribution in #10667
- @mschoettle made their first contribution in #10677
- @Daraan made their first contribution in #10713
- @k4nar made their first contribution in #10736
- @UriyaHarpeness made their first contribution in #10740
- @frfahim made their first contribution in #10727
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.