Releases: pydantic/pydantic
Releases Β· pydantic/pydantic
v2.8.2 (2024-07-03)
v2.8.1 (2024-07-03)
What's Changed
Packaging
- Bump
ruff
tov0.5.0
andpyright
tov1.1.369
by @sydney-runkle in #9801 - Bump
pydantic-core
tov2.20.1
,pydantic-extra-types
tov2.9.0
by @sydney-runkle in #9832
Fixes
- Fix breaking change in
to_snake
from v2.7 -> v2.8 by @sydney-runkle in #9812 - Fix list constraint json schema application by @sydney-runkle in #9818
- Support time duration more than 23 by @nix010 in pydantic/speedate#64
- Fix millisecond fraction being handled with the wrong scale by @davidhewitt in pydantic/speedate#65
- Handle negative fractional durations correctly by @sydney-runkle in pydantic/speedate#71
New Contributors
- @kwint made their first contribution in #9787
- @seekinginfiniteloop made their first contribution in #9822
Full Changelog: v2.8.0...v2.8.1
v2.8.0 (2024-07-01)
The code released in v2.8.0
is functionally identical to that of v2.8.0b1
.
Check out our blog post to learn more about the release highlights!
What's Changed
Packaging
- Update citation version automatically with new releases by @sydney-runkle in #9673
- Bump pyright to
v1.1.367
and add type checking tests for pipeline API by @adriangb in #9674 - Update
pydantic.v1
stub tov1.10.17
by @sydney-runkle in #9707 - General package updates to prep for
v2.8.0b1
by @sydney-runkle in #9741 - Bump
pydantic-core
tov2.20.0
by @sydney-runkle in #9745 - Add support for Python 3.13 by @sydney-runkle in #9743
- Update
pdm
version used forpdm.lock
tov2.16.1
by @sydney-runkle in #9761 - Update to
ruff
v0.4.8
by @Viicos in #9585
New Features
- Experimental: support
defer_build
forTypeAdapter
by @MarkusSintonen in #8939 - Implement
deprecated
field in json schema by @NeevCohen in #9298 - Experimental: Add pipeline API by @adriangb in #9459
- Add support for programmatic title generation by @NeevCohen in #9183
- Implement
fail_fast
feature by @uriyyo in #9708 - Add
ser_json_inf_nan='strings'
mode to produce valid JSON by @josh-newman in pydantic/pydantic-core#1307
Changes
- Add warning when "alias" is set in ignored
Annotated
field by @nix010 in #9170 - Support serialization of some serializable defaults in JSON schema by @sydney-runkle in #9624
- Relax type specification for
__validators__
values increate_model
by @sydney-runkle in #9697 - Breaking Change: Improve
smart
union matching logic by @sydney-runkle in pydantic/pydantic-core#1322
You can read more about oursmart
union matching logic here. In some cases, if the old behavior
is desired, you can switch toleft-to-right
mode and change the order of yourUnion
members.
Performance
Internal Improvements
- β‘οΈ Speed up
_display_error_loc()
by 25% inpydantic/v1/error_wrappers.py
by @misrasaurabh1 in #9653 - β‘οΈ Speed up
_get_all_json_refs()
by 34% inpydantic/json_schema.py
by @misrasaurabh1 in #9650 - β‘οΈ Speed up
is_pydantic_dataclass()
by 41% inpydantic/dataclasses.py
by @misrasaurabh1 in #9652 - β‘οΈ Speed up
to_snake()
by 27% inpydantic/alias_generators.py
by @misrasaurabh1 in #9747 - β‘οΈ Speed up
unwrap_wrapped_function()
by 93% inpydantic/_internal/_decorators.py
by @misrasaurabh1 in #9727
Fixes
- Replace
__spec__.parent
with__package__
by @hramezani in #9331 - Fix Outputted Model JSON Schema for
Sequence
type by @anesmemisevic in #9303 - Fix typing of
_frame_depth
by @Viicos in #9353 - Make
ImportString
json schema compatible by @amitschang in #9344 - Hide private attributes (
PrivateAttr
) from__init__
signature in type checkers by @idan22moral in #9293 - Make detection of
TypeVar
defaults robust to the CPythonPEP-696
implementation by @AlexWaygood in #9426 - Fix usage of
PlainSerializer
with builtin types by @Viicos in #9450 - Add more robust custom validation examples by @ChrisPappalardo in #9468
- Fix ignored
strict
specification forStringConstraint(strict=False)
by @vbmendes in #9476 - Use
Self
where possible by @Viicos in #9479 - Do not alter
RootModel.model_construct
signature in themypy
plugin by @Viicos in #9480 - Fixed type hint of
validation_context
by @OhioDschungel6 in #9508 - Support context being passed to TypeAdapter's
dump_json
/dump_python
by @alexcouper in #9495 - Updates type signature for
Field()
constructor by @bjmc in #9484 - Improve builtin alias generators by @sydney-runkle in #9561
- Fix typing of
TypeAdapter
by @Viicos in #9570 - Add fallback default value for private fields in
__setstate__
of BaseModel by @anhpham1509 in #9584 - Support
PEP 746
by @adriangb in #9587 - Allow validator and serializer functions to have default values by @Viicos in #9478
- Fix bug with mypy plugin's handling of covariant
TypeVar
fields by @dmontagu in #9606 - Fix multiple annotation / constraint application logic by @sydney-runkle in #9623
- Respect
regex
flags in validation and json schema by @sydney-runkle in #9591 - Fix type hint on
IpvAnyAddress
by @sydney-runkle in #9640 - Allow a field specifier on
__pydantic_extra__
by @dmontagu in #9659 - Use normalized case for file path comparison by @sydney-runkle in #9737
- Modify constraint application logic to allow field constraints on
Optional[Decimal]
by @lazyhope in #9754 validate_call
type params fix by @sydney-runkle in #9760- Check all warnings returned by
pytest.warns()
by @s-t-e-v-e-n-k in #9702 - Reuse
re.Pattern
object in regex patterns to allow for regex flags by @sydney-runkle in pydantic/pydantic-core#1318
New Contributors
- @idan22moral made their first contribution in #9294
- @anesmemisevic made their first contribution in #9303
- @max-muoto made their first contribution in #9338
- @amitschang made their first contribution in #9344
- @paulmartin91 made their first contribution in #9410
- @OhioDschungel6 made their first contribution in #9405
- @AlexWaygood made their first contribution in #9426
- @kinuax made their first contribution in #9433
- @antoni-jamiolkowski made their first contribution in #9431
- @candleindark made their first contribution in #9448
- @nix010 made their first contribution in #9170
- @tomy0000000 made their first contribution in #9457
- @vbmendes made their first contribution in #9470
- @micheleAlberto made their first contribution in #9471
- @ChrisPappalardo made their first contribution in #9468
- @blueTurtz made their first contribution in #9475
- @WinterBlue16 made their first contribution in #9477
- @bittner made their first contribution in #9500
- @alexcouper made their first contribution in #9495
- @bjmc made their first contribution in #9484
- @pjvv made their first contribution in #9529
- @nedbat made their first contribution in #9530
- @gunnellEvan made their first contribution in #9469
- @jaymbans made their first contribution in [#9531](https://github.com/pydantic/pydanti...
v2.8.0b1 (2024-06-27)
What's Changed
Packaging
- Update citation version automatically with new releases by @sydney-runkle in #9673
- Bump pyright to
v1.1.367
and add type checking tests for pipeline API by @adriangb in #9674 - Update
pydantic.v1
stub tov1.10.17
by @sydney-runkle in #9707 - General package updates to prep for
v2.8.0b1
by @sydney-runkle in #9741 - Bump
pydantic-core
tov2.20.0
by @sydney-runkle in #9745 - Add support for Python 3.13 by @sydney-runkle in #9743
- Update
pdm
version used forpdm.lock
tov2.16.1
by @sydney-runkle in #9761 - Update to
ruff
v0.4.8
by @Viicos in #9585
New Features
- Experimental: support
defer_build
forTypeAdapter
by @MarkusSintonen in #8939 - Implement
deprecated
field in json schema by @NeevCohen in #9298 - Experimental: Add pipeline API by @adriangb in #9459
- Add support for programmatic title generation by @NeevCohen in #9183
- Implement
fail_fast
feature by @uriyyo in #9708 - Add
ser_json_inf_nan='strings'
mode to produce valid JSON by @josh-newman in pydantic/pydantic-core#1307
Changes
- Add warning when "alias" is set in ignored
Annotated
field by @nix010 in #9170 - Support serialization of some serializable defaults in JSON schema by @sydney-runkle in #9624
- Relax type specification for
__validators__
values increate_model
by @sydney-runkle in #9697 - Breaking Change: Improve
smart
union matching logic by @sydney-runkle in pydantic/pydantic-core#1322
You can read more about oursmart
union matching logic here. In some cases, if the old behavior
is desired, you can switch toleft-to-right
mode and change the order of yourUnion
members.
Performance
Internal Improvements
- β‘οΈ Speed up
_display_error_loc()
by 25% inpydantic/v1/error_wrappers.py
by @misrasaurabh1 in #9653 - β‘οΈ Speed up
_get_all_json_refs()
by 34% inpydantic/json_schema.py
by @misrasaurabh1 in #9650 - β‘οΈ Speed up
is_pydantic_dataclass()
by 41% inpydantic/dataclasses.py
by @misrasaurabh1 in #9652 - β‘οΈ Speed up
to_snake()
by 27% inpydantic/alias_generators.py
by @misrasaurabh1 in #9747 - β‘οΈ Speed up
unwrap_wrapped_function()
by 93% inpydantic/_internal/_decorators.py
by @misrasaurabh1 in #9727
Fixes
- Replace
__spec__.parent
with__package__
by @hramezani in #9331 - Fix Outputted Model JSON Schema for
Sequence
type by @anesmemisevic in #9303 - Fix typing of
_frame_depth
by @Viicos in #9353 - Make
ImportString
json schema compatible by @amitschang in #9344 - Hide private attributes (
PrivateAttr
) from__init__
signature in type checkers by @idan22moral in #9293 - Make detection of
TypeVar
defaults robust to the CPythonPEP-696
implementation by @AlexWaygood in #9426 - Fix usage of
PlainSerializer
with builtin types by @Viicos in #9450 - Add more robust custom validation examples by @ChrisPappalardo in #9468
- Fix ignored
strict
specification forStringConstraint(strict=False)
by @vbmendes in #9476 - Use
Self
where possible by @Viicos in #9479 - Do not alter
RootModel.model_construct
signature in themypy
plugin by @Viicos in #9480 - Fixed type hint of
validation_context
by @OhioDschungel6 in #9508 - Support context being passed to TypeAdapter's
dump_json
/dump_python
by @alexcouper in #9495 - Updates type signature for
Field()
constructor by @bjmc in #9484 - Improve builtin alias generators by @sydney-runkle in #9561
- Fix typing of
TypeAdapter
by @Viicos in #9570 - Add fallback default value for private fields in
__setstate__
of BaseModel by @anhpham1509 in #9584 - Support
PEP 746
by @adriangb in #9587 - Allow validator and serializer functions to have default values by @Viicos in #9478
- Fix bug with mypy plugin's handling of covariant
TypeVar
fields by @dmontagu in #9606 - Fix multiple annotation / constraint application logic by @sydney-runkle in #9623
- Respect
regex
flags in validation and json schema by @sydney-runkle in #9591 - Fix type hint on
IpvAnyAddress
by @sydney-runkle in #9640 - Allow a field specifier on
__pydantic_extra__
by @dmontagu in #9659 - Use normalized case for file path comparison by @sydney-runkle in #9737
- Modify constraint application logic to allow field constraints on
Optional[Decimal]
by @lazyhope in #9754 validate_call
type params fix by @sydney-runkle in #9760- Check all warnings returned by
pytest.warns()
by @s-t-e-v-e-n-k in #9702 - Reuse
re.Pattern
object in regex patterns to allow for regex flags by @sydney-runkle in pydantic/pydantic-core#1318
New Contributors
- @idan22moral made their first contribution in #9294
- @anesmemisevic made their first contribution in #9303
- @max-muoto made their first contribution in #9338
- @amitschang made their first contribution in #9344
- @paulmartin91 made their first contribution in #9410
- @OhioDschungel6 made their first contribution in #9405
- @AlexWaygood made their first contribution in #9426
- @kinuax made their first contribution in #9433
- @antoni-jamiolkowski made their first contribution in #9431
- @candleindark made their first contribution in #9448
- @nix010 made their first contribution in #9170
- @tomy0000000 made their first contribution in #9457
- @vbmendes made their first contribution in #9470
- @micheleAlberto made their first contribution in #9471
- @ChrisPappalardo made their first contribution in #9468
- @blueTurtz made their first contribution in #9475
- @WinterBlue16 made their first contribution in #9477
- @bittner made their first contribution in #9500
- @alexcouper made their first contribution in #9495
- @bjmc made their first contribution in #9484
- @pjvv made their first contribution in #9529
- @nedbat made their first contribution in #9530
- @gunnellEvan made their first contribution in #9469
- @jaymbans made their first contribution in #9531
- @MarcBresson made their first contribution in #9534
- @anhpham1509 made their first contribution in [#9584](https://github.com/pydantic/pydan...
v1.10.17 (2024-06-20)
What's Changed
- Advertise Python 3.12 for 1.10.x! Part Deux by @vfazio in #9644
- Mirrored modules in
v1
namespace to fix typing and object resolution in python>3.11 by @exs-dwoodward in #9660 - setup: remove upper bound from python_requires by @vfazio in #9685
Full Changelog: v1.10.16...v1.10.17
v2.7.4 (2024-06-12)
What's Changed
Packaging
- Bump
pydantic.v1
tov1.10.16
reference by @sydney-runkle in #9639
Fixes
Full Changelog: v2.7.3...v2.7.4
v1.10.16 (2024-06-11)
What's Changed
- Import modules/objects directly from
v1
namespace by @exs-dwoodward in #9162 - Fix mypy v1 plugin for upcoming mypy release by @cdce8p in #9586
- Specify
recursive_guard
as kwarg inFutureRef._evaluate
by @vfazio in #9612
New Contributors
- @exs-dwoodward made their first contribution in #9162
- @vfazio made their first contribution in #9612
Full Changelog: v1.10.15...v1.10.16
v2.7.3 (2024-06-03)
What's Changed
Packaging
- Bump
pydantic-core
tov2.18.4
by @sydney-runkle in #9550
Fixes
- Fix u style unicode strings in python @samuelcolvin in pydantic/jiter#110
Full Changelog: v2.7.2...v2.7.3/*
v2.7.2 (2024-05-28)
What's Changed
Packaging
- Bump
pydantic-core
tov2.18.3
by @sydney-runkle in #9515
Fixes
- Replace
__spec__.parent
with__package__
by @hramezani in #9331 - Fix validation of
int
s with leading unary minus by @RajatRajdeep in pydantic/pydantic-core#1291 - Fix
str
subclass validation for enums by @sydney-runkle in pydantic/pydantic-core#1273 - Support
BigInt
s inLiteral
s andEnum
s by @samuelcolvin in pydantic/pydantic-core#1297 - Fix: uuid - allow
str
subclass as input by @davidhewitt in pydantic/pydantic-core#1296
Full Changelog: v2.7.1...v2.7.2/
v2.7.1 (2024-04-23)
What's Changed
Packaging
- Bump
pydantic-core
tov2.18.2
by @sydney-runkle in #9307
New Features
- Ftp and Websocket connection strings support by @CherrySuryp in #9205
Changes
- Use field description for RootModel schema description when there is
β¦
by @LouisGobert in #9214
Fixes
- Fix
validation_alias
behavior withmodel_construct
forAliasChoices
andAliasPath
by @sydney-runkle in #9223 - Revert
typing.Literal
and import it outside the TYPE_CHECKING block by @frost-nzcr4 in #9232 - Fix
Secret
serialization schema, applicable for unions by @sydney-runkle in #9240 - Fix
strict
application tofunction-after
withuse_enum_values
by @sydney-runkle in #9279 - Address case where
model_construct
on a class which definesmodel_post_init
fails withAttributeError
by @babygrimes in #9168 - Fix
model_json_schema
with config types by @NeevCohen in #9287 - Support multiple zeros as an
int
by @samuelcolvin in pydantic/pydantic-core#1269 - Fix validation of
int
s with leading unary plus by @cknv in pydantic/pydantic-core#1272 - Fix interaction between
extra != 'ignore'
andfrom_attributes=True
by @davidhewitt in pydantic/pydantic-core#1276 - Handle error from
Enum
'smissing
function asValidationError
by @sydney-runkle in pydantic/pydantic-core#1274 - Fix memory leak with
Iterable
validation by @davidhewitt in pydantic/pydantic-core#1271
New Contributors
- @zzstoatzz made their first contribution in #9219
- @frost-nzcr4 made their first contribution in #9232
- @CherrySuryp made their first contribution in #9205
- @vagenas made their first contribution in #9268
- @ollz272 made their first contribution in #9262
- @babygrimes made their first contribution in #9168
- @swelborn made their first contribution in #9296
- @kf-novi made their first contribution in #9236
- @lgeiger made their first contribution in #9288
Full Changelog: v2.7.0...v2.7.1/