Pydantic

Latest version: v2.10.4

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 12 of 26

1.10.5

Not secure
* Fix broken parametrized bases handling with `GenericModel`s with complex sets of models, [5052](https://github.com/pydantic/pydantic/pull/5052) by MarkusSintonen
* Invalidate mypy cache if plugin config changes, [5007](https://github.com/pydantic/pydantic/pull/5007) by cdce8p
* Fix `RecursionError` when deep-copying dataclass types wrapped by pydantic, [4949](https://github.com/pydantic/pydantic/pull/4949) by mbillingr
* Fix `X | Y` union syntax breaking `GenericModel`, [4146](https://github.com/pydantic/pydantic/pull/4146) by thenx
* Switch coverage badge to show coverage for this branch/release, [5060](https://github.com/pydantic/pydantic/pull/5060) by samuelcolvin

1.10.4

Not secure
* fix parsing of custom root models, [4883](https://github.com/pydantic/pydantic/pull/4883) by gou177
* fix: use dataclass proxy for frozen or empty dataclasses, [4878](https://github.com/pydantic/pydantic/pull/4878) by PrettyWood
* Fix `schema` and `schema_json` on models where a model instance is a one of default values, [4781](https://github.com/pydantic/pydantic/pull/4781) by Bobronium
* Add Jina AI to sponsors on docs index page, [4767](https://github.com/pydantic/pydantic/pull/4767) by samuelcolvin
* fix: support assignment on `DataclassProxy`, [4695](https://github.com/pydantic/pydantic/pull/4695) by PrettyWood
* Add `postgresql+psycopg` as allowed scheme for `PostgreDsn` to make it usable with SQLAlchemy 2, [4689](https://github.com/pydantic/pydantic/pull/4689) by morian
* Allow dict schemas to have both `patternProperties` and `additionalProperties`, [4641](https://github.com/pydantic/pydantic/pull/4641) by jparise
* Fixes error passing None for optional lists with `unique_items`, [4568](https://github.com/pydantic/pydantic/pull/4568) by mfulgo
* Fix `GenericModel` with `Callable` param raising a `TypeError`, [4551](https://github.com/pydantic/pydantic/pull/4551) by mfulgo
* Fix field regex with `StrictStr` type annotation, [4538](https://github.com/pydantic/pydantic/pull/4538) by sisp
* Correct `dataclass_transform` keyword argument name from `field_descriptors` to `field_specifiers`, [4500](https://github.com/pydantic/pydantic/pull/4500) by samuelcolvin
* fix: avoid multiple calls of `__post_init__` when dataclasses are inherited, [4487](https://github.com/pydantic/pydantic/pull/4487) by PrettyWood
* Reduce the size of binary wheels, [2276](https://github.com/pydantic/pydantic/pull/2276) by samuelcolvin

1.10.3

Not secure

1.10.2

Not secure
* **Revert Change:** Revert percent encoding of URL parts which was originally added in [4224](https://github.com/pydantic/pydantic/pull/4224), [#4470](https://github.com/pydantic/pydantic/pull/4470) by samuelcolvin
* Prevent long (length > `4_300`) strings/bytes as input to int fields, see
[python/cpython95778](https://github.com/python/cpython/issues/95778) and
[CVE-2020-10735](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735), [#1477](https://github.com/pydantic/pydantic/pull/1477) by samuelcolvin
* fix: dataclass wrapper was not always called, [4477](https://github.com/pydantic/pydantic/pull/4477) by PrettyWood
* Use `tomllib` on Python 3.11 when parsing `mypy` configuration, [4476](https://github.com/pydantic/pydantic/pull/4476) by hauntsaninja
* Basic fix of `GenericModel` cache to detect order of arguments in `Union` models, [4474](https://github.com/pydantic/pydantic/pull/4474) by sveinugu
* Fix mypy plugin when using bare types like `list` and `dict` as `default_factory`, [4457](https://github.com/pydantic/pydantic/pull/4457) by samuelcolvin

1.10.1

Not secure
* Add `__hash__` method to `pydancic.color.Color` class, [4454](https://github.com/pydantic/pydantic/pull/4454) by czaki

1.10.0

Not secure
* 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.
It also fixes usage of `frozen` dataclasses in fields and usage of `default_factory` in nested dataclasses.
The support of `Config.extra` has been added.
Finally, config customization directly via a `dict` is now possible, [2557](https://github.com/pydantic/pydantic/pull/2557) by PrettyWood
<br/><br/>
**BREAKING CHANGES:**
- The `compiled` boolean (whether _pydantic_ is compiled with cython) has been moved from `main.py` to `version.py`
- Now that `Config.extra` is supported, `dataclass` ignores by default extra arguments (like `BaseModel`)
* Fix PEP487 `__set_name__` protocol in `BaseModel` for PrivateAttrs, [4407](https://github.com/pydantic/pydantic/pull/4407) by tlambert03
* Allow for custom parsing of environment variables via `parse_env_var` in `Config`, [4406](https://github.com/pydantic/pydantic/pull/4406) by acmiyaguchi
* Rename `master` to `main`, [4405](https://github.com/pydantic/pydantic/pull/4405) by hramezani
* Fix `StrictStr` does not raise `ValidationError` when `max_length` is present in `Field`, [4388](https://github.com/pydantic/pydantic/pull/4388) by hramezani
* Make `SecretStr` and `SecretBytes` hashable, [4387](https://github.com/pydantic/pydantic/pull/4387) by chbndrhnns
* Fix `StrictBytes` does not raise `ValidationError` when `max_length` is present in `Field`, [4380](https://github.com/pydantic/pydantic/pull/4380) by JeanArhancet
* Add support for bare `type`, [4375](https://github.com/pydantic/pydantic/pull/4375) by hramezani
* Support Python 3.11, including binaries for 3.11 in PyPI, [4374](https://github.com/pydantic/pydantic/pull/4374) by samuelcolvin
* Add support for `re.Pattern`, [4366](https://github.com/pydantic/pydantic/pull/4366) by hramezani
* Fix `__post_init_post_parse__` is incorrectly passed keyword arguments when no `__post_init__` is defined, [4361](https://github.com/pydantic/pydantic/pull/4361) by hramezani
* Fix implicitly importing `ForwardRef` and `Callable` from `pydantic.typing` instead of `typing` and also expose `MappingIntStrAny`, [4358](https://github.com/pydantic/pydantic/pull/4358) by aminalaee
* remove `Any` types from the `dataclass` decorator so it can be used with the `disallow_any_expr` mypy option, [4356](https://github.com/pydantic/pydantic/pull/4356) by DetachHead
* moved repo to `pydantic/pydantic`, [4348](https://github.com/pydantic/pydantic/pull/4348) by yezz123
* fix "extra fields not permitted" error when dataclass with `Extra.forbid` is validated multiple times, [4343](https://github.com/pydantic/pydantic/pull/4343) by detachhead
* Add Python 3.9 and 3.10 examples to docs, [4339](https://github.com/pydantic/pydantic/pull/4339) by Bobronium
* Discriminated union models now use `oneOf` instead of `anyOf` when generating OpenAPI schema definitions, [4335](https://github.com/pydantic/pydantic/pull/4335) by MaxwellPayne
* Allow type checkers to infer inner type of `Json` type. `Json[list[str]]` will be now inferred as `list[str]`,
`Json[Any]` should be used instead of plain `Json`.
Runtime behaviour is not changed, [4332](https://github.com/pydantic/pydantic/pull/4332) by Bobronium
* Allow empty string aliases by using a `alias is not None` check, rather than `bool(alias)`, [4253](https://github.com/pydantic/pydantic/pull/4253) by sergeytsaplin
* Update `ForwardRef`s in `Field.outer_type_`, [4249](https://github.com/pydantic/pydantic/pull/4249) by JacobHayes
* The use of `__dataclass_transform__` has been replaced by `typing_extensions.dataclass_transform`, which is the preferred way to mark pydantic models as a dataclass under [PEP 681](https://peps.python.org/pep-0681/), [#4241](https://github.com/pydantic/pydantic/pull/4241) by multimeric
* Use parent model's `Config` when validating nested `NamedTuple` fields, [4219](https://github.com/pydantic/pydantic/pull/4219) by synek
* Update `BaseModel.construct` to work with aliased Fields, [4192](https://github.com/pydantic/pydantic/pull/4192) by kylebamos
* Catch certain raised errors in `smart_deepcopy` and revert to `deepcopy` if so, [4184](https://github.com/pydantic/pydantic/pull/4184) by coneybeare
* Add `Config.anystr_upper` and `to_upper` kwarg to constr and conbytes, [4165](https://github.com/pydantic/pydantic/pull/4165) by satheler
* Fix JSON schema for `set` and `frozenset` when they include default values, [4155](https://github.com/pydantic/pydantic/pull/4155) by aminalaee
* Teach the mypy plugin that methods decorated by `validator` are classmethods, [4102](https://github.com/pydantic/pydantic/pull/4102) by DMRobertson
* Improve mypy plugin's ability to detect required fields, [4086](https://github.com/pydantic/pydantic/pull/4086) by richardxia
* Support fields of type `Type[]` in schema, [4051](https://github.com/pydantic/pydantic/pull/4051) by aminalaee
* Add `default` value in JSON Schema when `const=True`, [4031](https://github.com/pydantic/pydantic/pull/4031) by aminalaee
* Adds reserved word check to signature generation logic, [4011](https://github.com/pydantic/pydantic/pull/4011) by strue36
* Fix Json strategy failure for the complex nested field, [4005](https://github.com/pydantic/pydantic/pull/4005) by sergiosim
* Add JSON-compatible float constraint `allow_inf_nan`, [3994](https://github.com/pydantic/pydantic/pull/3994) by tiangolo
* Remove undefined behaviour when `env_prefix` had characters in common with `env_nested_delimiter`, [3975](https://github.com/pydantic/pydantic/pull/3975) by arsenron
* Support generics model with `create_model`, [3945](https://github.com/pydantic/pydantic/pull/3945) by hot123s
* allow submodels to overwrite extra field info, [3934](https://github.com/pydantic/pydantic/pull/3934) by PrettyWood
* Document and test structural pattern matching ([PEP 636](https://peps.python.org/pep-0636/)) on `BaseModel`, [#3920](https://github.com/pydantic/pydantic/pull/3920) by irgolic
* Fix incorrect deserialization of python timedelta object to ISO 8601 for negative time deltas.
Minus was serialized in incorrect place ("P-1DT23H59M59.888735S" instead of correct "-P1DT23H59M59.888735S"), [3899](https://github.com/pydantic/pydantic/pull/3899) by 07pepa
* Fix validation of discriminated union fields with an alias when passing a model instance, [3846](https://github.com/pydantic/pydantic/pull/3846) by chornsby
* Add a CockroachDsn type to validate CockroachDB connection strings. The type
supports the following schemes: `cockroachdb`, `cockroachdb+psycopg2` and `cockroachdb+asyncpg`, [3839](https://github.com/pydantic/pydantic/pull/3839) by blubber
* Fix MyPy plugin to not override pre-existing `__init__` method in models, [3824](https://github.com/pydantic/pydantic/pull/3824) by patrick91
* Fix mypy version checking, [3783](https://github.com/pydantic/pydantic/pull/3783) by KotlinIsland
* support overwriting dunder attributes of `BaseModel` instances, [3777](https://github.com/pydantic/pydantic/pull/3777) by PrettyWood
* Added `ConstrainedDate` and `condate`, [3740](https://github.com/pydantic/pydantic/pull/3740) by hottwaj
* Support `kw_only` in dataclasses, [3670](https://github.com/pydantic/pydantic/pull/3670) by detachhead
* Add comparison method for `Color` class, [3646](https://github.com/pydantic/pydantic/pull/3646) by aminalaee
* Drop support for python3.6, associated cleanup, [3605](https://github.com/pydantic/pydantic/pull/3605) by samuelcolvin
* created new function `to_lower_camel()` for "non pascal case" camel case, [3463](https://github.com/pydantic/pydantic/pull/3463) by schlerp
* Add checks to `default` and `default_factory` arguments in Mypy plugin, [3430](https://github.com/pydantic/pydantic/pull/3430) by klaa97
* fix mangling of `inspect.signature` for `BaseModel`, [3413](https://github.com/pydantic/pydantic/pull/3413) by fix-inspect-signature
* Adds the `SecretField` abstract class so that all the current and future secret fields like `SecretStr` and `SecretBytes` will derive from it, [3409](https://github.com/pydantic/pydantic/pull/3409) by expobrain
* Support multi hosts validation in `PostgresDsn`, [3337](https://github.com/pydantic/pydantic/pull/3337) by rglsk
* Fix parsing of very small numeric timedelta values, [3315](https://github.com/pydantic/pydantic/pull/3315) by samuelcolvin
* Update `SecretsSettingsSource` to respect `config.case_sensitive`, [3273](https://github.com/pydantic/pydantic/pull/3273) by JeanArhancet
* Add MongoDB network data source name (DSN) schema, [3229](https://github.com/pydantic/pydantic/pull/3229) by snosratiershad
* Add support for multiple dotenv files, [3222](https://github.com/pydantic/pydantic/pull/3222) by rekyungmin
* Raise an explicit `ConfigError` when multiple fields are incorrectly set for a single validator, [3215](https://github.com/pydantic/pydantic/pull/3215) by SunsetOrange
* Allow ellipsis on `Field`s inside `Annotated` for `TypedDicts` required, [3133](https://github.com/pydantic/pydantic/pull/3133) by ezegomez
* Catch overflow errors in `int_validator`, [3112](https://github.com/pydantic/pydantic/pull/3112) by ojii
* Adds a `__rich_repr__` method to `Representation` class which enables pretty printing with [Rich](https://github.com/willmcgugan/rich), [#3099](https://github.com/pydantic/pydantic/pull/3099) by willmcgugan
* Add percent encoding in `AnyUrl` and descendent types, [3061](https://github.com/pydantic/pydantic/pull/3061) by FaresAhmedb
* `validate_arguments` decorator now supports `alias`, [3019](https://github.com/pydantic/pydantic/pull/3019) by MAD-py
* Avoid `__dict__` and `__weakref__` attributes in `AnyUrl` and IP address fields, [2890](https://github.com/pydantic/pydantic/pull/2890) by nuno-andre
* Add ability to use `Final` in a field type annotation, [2766](https://github.com/pydantic/pydantic/pull/2766) by uriyyo
* Update requirement to `typing_extensions>=4.1.0` to guarantee `dataclass_transform` is available, [4424](https://github.com/pydantic/pydantic/pull/4424) by commonism
* Add Explosion and AWS to main sponsors, [4413](https://github.com/pydantic/pydantic/pull/4413) by samuelcolvin
* Update documentation for `copy_on_model_validation` to reflect recent changes, [4369](https://github.com/pydantic/pydantic/pull/4369) by samuelcolvin
* Runtime warning if `__slots__` is passed to `create_model`, `__slots__` is then ignored, [4432](https://github.com/pydantic/pydantic/pull/4432) by samuelcolvin
* Add type hints to `BaseSettings.Config` to avoid mypy errors, also correct mypy version compatibility notice in docs, [4450](https://github.com/pydantic/pydantic/pull/4450) by samuelcolvin

Page 12 of 26

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.