- update to 2.8.0:
* Update citation version automatically with new releases
* Bump pyright to `v1.1.367` and add type checking tests for
pipeline API
* Update `pydantic.v1` stub to `v1.10.17`
* General package updates to prep for `v2.8.0b1`
* Bump `pydantic-core` to `v2.20.0`
* Add support for Python 3.13
* Update `pdm` version used for `pdm.lock` to v2.16.1
* Update to `ruff` `v0.4.8`
* Experimental: support `defer_build` for `TypeAdapter`
* Implement `deprecated` field in json schema
* Experimental: Add pipeline API
* Add support for programmatic title generation
* Implement `fail_fast` feature
* Add `ser_json_inf_nan='strings'` mode to produce valid JSON
* Replace `__spec__.parent` with `__package__`
* Fix Outputted Model JSON Schema for `Sequence` type
* Fix typing of `_frame_depth`
* Make `ImportString` json schema compatible
* Hide private attributes (`PrivateAttr`) from `__init__`
signature in type checkers
* Make detection of `TypeVar` defaults robust to the CPython
`PEP-696` implementation
* Fix usage of `PlainSerializer` with builtin types
* Add more robust custom validation examples
* Fix ignored `strict` specification for
`StringConstraint(strict=False)`
* Use `Self` where possible
* Do not alter `RootModel.model_construct` signature in the
OBS-URL: https://build.opensuse.org/request/show/1184776
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=29
* Update citation version automatically with new releases
* Bump pyright to `v1.1.367` and add type checking tests for
pipeline API
* Update `pydantic.v1` stub to `v1.10.17`
* General package updates to prep for `v2.8.0b1`
* Bump `pydantic-core` to `v2.20.0`
* Add support for Python 3.13
* Update `pdm` version used for `pdm.lock` to v2.16.1
* Update to `ruff` `v0.4.8`
* Experimental: support `defer_build` for `TypeAdapter`
* Implement `deprecated` field in json schema
* Experimental: Add pipeline API
* Add support for programmatic title generation
* Implement `fail_fast` feature
* Add `ser_json_inf_nan='strings'` mode to produce valid JSON
* Replace `__spec__.parent` with `__package__`
* Fix Outputted Model JSON Schema for `Sequence` type
* Fix typing of `_frame_depth`
* Make `ImportString` json schema compatible
* Hide private attributes (`PrivateAttr`) from `__init__`
signature in type checkers
* Make detection of `TypeVar` defaults robust to the CPython
`PEP-696` implementation
* Fix usage of `PlainSerializer` with builtin types
* Add more robust custom validation examples
* Fix ignored `strict` specification for
`StringConstraint(strict=False)`
* Use `Self` where possible
* Do not alter `RootModel.model_construct` signature in the
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=59
- update to 2.7.1:
* Bump `pydantic-core` to `v2.18.2`
* Ftp and Websocket connection strings support
* Use field description for RootModel schema description when
there is `…`
* Fix `validation_alias` behavior with `model_construct` for
`AliasChoices` and `AliasPath`
* Revert `typing.Literal` and import it outside the
TYPE_CHECKING block
* Fix `Secret` serialization schema, applicable for unions
* Fix `strict` application to `function-after` with
`use_enum_values`
* Address case where `model_construct` on a class which defines
`model_post_init` fails with `AttributeError`
* Fix `model_json_schema` with config types
* Support multiple zeros as an `int`
* Fix validation of `int`s with leading unary plus
* Fix interaction between `extra != 'ignore'` and
`from_attributes=True`
* Handle error from `Enum`'s `missing` function as
`ValidationError`
* Fix memory leak with `Iterable` validation
* Adopt `jiter` `v0.2.0`
* Extract attribute docstrings from `FieldInfo.description`
* Add a `with_config` decorator to comply with typing spec
* Allow an optional separator splitting the value and unit of
the result of `ByteSize.human_readable`
* Add generic `Secret` base type
* Make use of `Sphinx` inventories for cross references in docs
* Add environment variable to disable plugins
OBS-URL: https://build.opensuse.org/request/show/1170440
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=25
* Bump `pydantic-core` to `v2.18.2`
* Ftp and Websocket connection strings support
* Use field description for RootModel schema description when
there is `…`
* Fix `validation_alias` behavior with `model_construct` for
`AliasChoices` and `AliasPath`
* Revert `typing.Literal` and import it outside the
TYPE_CHECKING block
* Fix `Secret` serialization schema, applicable for unions
* Fix `strict` application to `function-after` with
`use_enum_values`
* Address case where `model_construct` on a class which defines
`model_post_init` fails with `AttributeError`
* Fix `model_json_schema` with config types
* Support multiple zeros as an `int`
* Fix validation of `int`s with leading unary plus
* Fix interaction between `extra != 'ignore'` and
`from_attributes=True`
* Handle error from `Enum`'s `missing` function as
`ValidationError`
* Fix memory leak with `Iterable` validation
* Adopt `jiter` `v0.2.0`
* Extract attribute docstrings from `FieldInfo.description`
* Add a `with_config` decorator to comply with typing spec
* Allow an optional separator splitting the value and unit of
the result of `ByteSize.human_readable`
* Add generic `Secret` base type
* Make use of `Sphinx` inventories for cross references in docs
* Add environment variable to disable plugins
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=49
- Update to 2.6.3:
* Fix inheriting `Field` annotations in dataclasses
* Fix warning for tuple of wrong size in `Union`
* Fix `computed_field` JSON serializer `exclude_none` behavior
* Check for `email-validator` version >= 2.0
* Add `NatsDsn`
* Add `ConfigDict.ser_json_inf_nan`
* Support `AliasGenerator` usage
* Support `yyyy-MM-DD` datetime parsing
* Added bits conversions to the `ByteSize` class
* Add `eval_type_backport` to handle union operator
* Add support for `dataclass` fields `init`
* Implement pickling for `ValidationError`
* Add unified tuple validator that can handle "variadic" tuples via PEP-646
* Drop Python3.7 support
* Make `@validate_call` return a function instead of a custom descriptor
* Introducing `classproperty` decorator for `model_computed_fields`
* Move `getattr` warning in deprecated `BaseConfig`
* Only hash `model_fields`, not whole `__dict__`
* Fix overload position of `computed_field`
* Fix issue `unittest.mock` deprecation warnings
* Fix `to_snake` conversion
* Add support for field `alias` in `dataclass` signature
* Fix ordering of keys in `__dict__` with `model_construct` call
* Fix usage of `@deprecated`
* Add more support for private attributes in `model_construct` call
* Support `pydantic.Field(repr=False)` in dataclasses
* Override `dataclass_transform` behavior for `RootModel`
* Refactor signature generation for simplicity
* Fix ordering bug of PlainValidator annotation
OBS-URL: https://build.opensuse.org/request/show/1155773
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=22
* Fix inheriting `Field` annotations in dataclasses
* Fix warning for tuple of wrong size in `Union`
* Fix `computed_field` JSON serializer `exclude_none` behavior
* Check for `email-validator` version >= 2.0
* Add `NatsDsn`
* Add `ConfigDict.ser_json_inf_nan`
* Support `AliasGenerator` usage
* Support `yyyy-MM-DD` datetime parsing
* Added bits conversions to the `ByteSize` class
* Add `eval_type_backport` to handle union operator
* Add support for `dataclass` fields `init`
* Implement pickling for `ValidationError`
* Add unified tuple validator that can handle "variadic" tuples via PEP-646
* Drop Python3.7 support
* Make `@validate_call` return a function instead of a custom descriptor
* Introducing `classproperty` decorator for `model_computed_fields`
* Move `getattr` warning in deprecated `BaseConfig`
* Only hash `model_fields`, not whole `__dict__`
* Fix overload position of `computed_field`
* Fix issue `unittest.mock` deprecation warnings
* Fix `to_snake` conversion
* Add support for field `alias` in `dataclass` signature
* Fix ordering of keys in `__dict__` with `model_construct` call
* Fix usage of `@deprecated`
* Add more support for private attributes in `model_construct` call
* Support `pydantic.Field(repr=False)` in dataclasses
* Override `dataclass_transform` behavior for `RootModel`
* Refactor signature generation for simplicity
* Fix ordering bug of PlainValidator annotation
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=43
- update to 1.10.13:
* Fix: Add max length check to `pydantic.validate_email`
* Docs: Fix pip commands to install v1
* Fixes the `maxlen` property being dropped on `deque`
validation. Happened only if the deque item has been typed.
Changes the `_validate_sequence_like` func, #6581 by
* Importing create_model in tools.py through relative path
instead of absolute path - so that it doesn't import V2 code
when copied over to V2 branch, #6361 by @SharathHuddar
* Add Pydantic `Json` field support to settings management,
* Fixed literal validator errors for unhashable values
* Fixed bug with generics receiving forward refs
* Update install method of FastAPI for internal tests in CI,
#6117 by @Kludex
- add Fix-Python-3.12-test-failures.patch: fix test fails with
Python 3.12
* Use packaging, not pkg_resources for versions.
- Skip some truculent tests.
* Security fix: Fix date and datetime parsing so passing either 'infinity'
* BaseSettings now uses the special env settings to define which
* Change the precedence of aliases so child model aliases override
* Add support for required Optional with name: Optional[AnyType] = Field(...)
* alias precedence logic changed so aliases on a field always take
OBS-URL: https://build.opensuse.org/request/show/1137356
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=20
* Fix: Add max length check to `pydantic.validate_email`
* Docs: Fix pip commands to install v1
* Fixes the `maxlen` property being dropped on `deque`
validation. Happened only if the deque item has been typed.
Changes the `_validate_sequence_like` func, #6581 by
* Importing create_model in tools.py through relative path
instead of absolute path - so that it doesn't import V2 code
when copied over to V2 branch, #6361 by @SharathHuddar
* Add Pydantic `Json` field support to settings management,
* Fixed literal validator errors for unhashable values
* Fixed bug with generics receiving forward refs
* Update install method of FastAPI for internal tests in CI,
#6117 by @Kludex
* Use packaging, not pkg_resources for versions.
- Skip some truculent tests.
* Security fix: Fix date and datetime parsing so passing either 'infinity'
* BaseSettings now uses the special env settings to define which
* Change the precedence of aliases so child model aliases override
* Add support for required Optional with name: Optional[AnyType] = Field(...)
* alias precedence logic changed so aliases on a field always take
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=38
- update to 1.10.7:
* Fix creating schema from model using `ConstrainedStr` with
`regex` as dict key
* Address bug in mypy plugin caused by
explicit_package_bases=True
* Add implicit defaults in the mypy plugin for Field with no
default argument
* Fix schema generated for Enum values used as Literals in
discriminated unions
* Fix mypy failures caused by the pydantic mypy plugin when
users define `from_orm` in their own classes
* Fix `InitVar` usage with pydantic dataclasses, mypy version
`1.1.1` and the custom mypy plugin
* Implement logic to support creating validators from non
standard callables by using defaults to identify them and
unwrapping `functools.partial` and `functools.partialmethod`
when checking the signature
* Fix mypy plugin for v1.1.1, and fix `dataclass_transform`
decorator for pydantic dataclasses
* Raise `ValidationError`, not `ConfigError`, when a
discriminator value is unhashable
* Fix broken parametrized bases handling with `GenericModel`s
with complex sets of models
* Invalidate mypy cache if plugin config changes
* Fix `RecursionError` when deep-copying dataclass types
wrapped by pydantic
* Fix `X | Y` union syntax breaking `GenericModel`
OBS-URL: https://build.opensuse.org/request/show/1074635
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=17
* Fix creating schema from model using `ConstrainedStr` with
`regex` as dict key
* Address bug in mypy plugin caused by
explicit_package_bases=True
* Add implicit defaults in the mypy plugin for Field with no
default argument
* Fix schema generated for Enum values used as Literals in
discriminated unions
* Fix mypy failures caused by the pydantic mypy plugin when
users define `from_orm` in their own classes
* Fix `InitVar` usage with pydantic dataclasses, mypy version
`1.1.1` and the custom mypy plugin
* Implement logic to support creating validators from non
standard callables by using defaults to identify them and
unwrapping `functools.partial` and `functools.partialmethod`
when checking the signature
* Fix mypy plugin for v1.1.1, and fix `dataclass_transform`
decorator for pydantic dataclasses
* Raise `ValidationError`, not `ConfigError`, when a
discriminator value is unhashable
* Fix broken parametrized bases handling with `GenericModel`s
with complex sets of models
* Invalidate mypy cache if plugin config changes
* Fix `RecursionError` when deep-copying dataclass types
wrapped by pydantic
* Fix `X | Y` union syntax breaking `GenericModel`
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=32
- update to v1.10.4:
* Change dependency to typing-extensions>=4.2.0, #4885 by @samuelcolvin
* fix parsing of custom root models, #4883 by @gou177
* fix: use dataclass proxy for frozen or empty dataclasses, #4878 by
@PrettyWood
* Fix schema and schema_json on models where a model instance is a one of
default values, #4781 by @Bobronium
* Add Jina AI to sponsors on docs index page, #4767 by @samuelcolvin
* fix: support assignment on DataclassProxy, #4695 by @PrettyWood
* Add postgresql+psycopg as allowed scheme for PostgreDsn to make it
usable with SQLAlchemy 2, #4689 by @morian
* Allow dict schemas to have both patternProperties and
additionalProperties, #4641 by @jparise
* Fixes error passing None for optional lists with unique_items, #4568 by
@mfulgo
* Fix GenericModel with Callable param raising a TypeError, #4551 by
@mfulgo
* Fix field regex with StrictStr type annotation, #4538 by @sisp
* Correct dataclass_transform keyword argument name from field_descriptors
to field_specifiers, #4500 by @samuelcolvin
* fix: avoid multiple calls of __post_init__ when dataclasses are
inherited, #4487 by @PrettyWood
* Reduce the size of binary wheels, #2276 by @samuelcolvin
OBS-URL: https://build.opensuse.org/request/show/1055778
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=15
* Change dependency to typing-extensions>=4.2.0, #4885 by @samuelcolvin
* fix parsing of custom root models, #4883 by @gou177
* fix: use dataclass proxy for frozen or empty dataclasses, #4878 by
@PrettyWood
* Fix schema and schema_json on models where a model instance is a one of
default values, #4781 by @Bobronium
* Add Jina AI to sponsors on docs index page, #4767 by @samuelcolvin
* fix: support assignment on DataclassProxy, #4695 by @PrettyWood
* Add postgresql+psycopg as allowed scheme for PostgreDsn to make it
usable with SQLAlchemy 2, #4689 by @morian
* Allow dict schemas to have both patternProperties and
additionalProperties, #4641 by @jparise
* Fixes error passing None for optional lists with unique_items, #4568 by
@mfulgo
* Fix GenericModel with Callable param raising a TypeError, #4551 by
@mfulgo
* Fix field regex with StrictStr type annotation, #4538 by @sisp
* Correct dataclass_transform keyword argument name from field_descriptors
to field_specifiers, #4500 by @samuelcolvin
* fix: avoid multiple calls of __post_init__ when dataclasses are
inherited, #4487 by @PrettyWood
* Reduce the size of binary wheels, #2276 by @samuelcolvin
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=28
- Update to 1.10.2:
* Prevent long (length > 4_300) strings/bytes as input to int fields, see
python/cpython#95778 and CVE-2020-10735
* fix: dataclass wrapper was not always called
* Use tomllib on Python 3.11 when parsing mypy configuration
* Basic fix of GenericModel cache to detect order of arguments in Union models
* Fix mypy plugin when using bare types like list and dict as default_factory
* Add __hash__ method to pydancic.color.Color class
* Refactor the whole pydantic dataclass decorator to really act like its
standard lib equivalent. It hence keeps __eq__, __hash__, ... and makes
comparison with its non-validated version possible.
* Now that Config.extra is supported, dataclass ignores by default extra
arguments (like BaseModel)
* Fix PEP487 __set_name__ protocol in BaseModel for PrivateAttrs
* Allow for custom parsing of environment variables via parse_env_var in
Config
* Fix StrictStr does not raise ValidationError when max_length is present
in Field
* Make SecretStr and SecretBytes hashable
* Fix StrictBytes does not raise ValidationError when max_length is present
in Field
* Add support for bare type
* Support Python 3.11, including binaries for 3.11 in PyPI
* Add support for re.Pattern
* Fix __post_init_post_parse__ is incorrectly passed keyword arguments when
no __post_init__ is defined
* Fix implicitly importing ForwardRef and Callable from pydantic.typing
instead of typing and also expose MappingIntStrAny
* remove Any types from the dataclass decorator so it can be used with the
disallow_any_expr mypy option
OBS-URL: https://build.opensuse.org/request/show/1002215
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic?expand=0&rev=14
* Prevent long (length > 4_300) strings/bytes as input to int fields, see
python/cpython#95778 and CVE-2020-10735
* fix: dataclass wrapper was not always called
* Use tomllib on Python 3.11 when parsing mypy configuration
* Basic fix of GenericModel cache to detect order of arguments in Union models
* Fix mypy plugin when using bare types like list and dict as default_factory
* Add __hash__ method to pydancic.color.Color class
* Refactor the whole pydantic dataclass decorator to really act like its
standard lib equivalent. It hence keeps __eq__, __hash__, ... and makes
comparison with its non-validated version possible.
* Now that Config.extra is supported, dataclass ignores by default extra
arguments (like BaseModel)
* Fix PEP487 __set_name__ protocol in BaseModel for PrivateAttrs
* Allow for custom parsing of environment variables via parse_env_var in
Config
* Fix StrictStr does not raise ValidationError when max_length is present
in Field
* Make SecretStr and SecretBytes hashable
* Fix StrictBytes does not raise ValidationError when max_length is present
in Field
* Add support for bare type
* Support Python 3.11, including binaries for 3.11 in PyPI
* Add support for re.Pattern
* Fix __post_init_post_parse__ is incorrectly passed keyword arguments when
no __post_init__ is defined
* Fix implicitly importing ForwardRef and Callable from pydantic.typing
instead of typing and also expose MappingIntStrAny
* remove Any types from the dataclass decorator so it can be used with the
disallow_any_expr mypy option
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=26
- Update to 1.8.2 (bsc#1186019, CVE-2021-29510)
* Security fix: Fix date and datetime parsing so passing either 'infinity'
or float('inf') (or their negative values) does not cause an infinite loop
* Allow passing json_encoders in class kwargs
* support arbitrary types with custom __eq__
* Hypothesis plugin for testing
* support for NamedTuple and TypedDict
* Support Annotated hints on model fields
* frozen parameter on Config to allow models to be hashed
* Breaking Change, remove old deprecation aliases from v1
* Breaking Change: always validate only first sublevel items with each_item
* many more changes, see upstream changelog
OBS-URL: https://build.opensuse.org/request/show/892675
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic?expand=0&rev=18