- Update to 2.39.0:
* build: bump pytest to 8.4
* Add exclude_computed_fields serialization option
* Switch to PEP 639 license information
* Simplify ValidationError.from_exception_data() docstring
* feat: make TzInfo instantiable without any arguments
* Implement val_temporal_unit for deciding how datetimes and dates timestamps get validated.
* Add missing entries in missing-sentinel core schema
* Add MISSING sentinel
* Implement ser_json_temporal config option
* Properly coerce fractions as int
* Add exclude_if logic at the field level
OBS-URL: https://build.opensuse.org/request/show/1299307
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic-core?expand=0&rev=11
* build: bump pytest to 8.4
* Add exclude_computed_fields serialization option
* Switch to PEP 639 license information
* Simplify ValidationError.from_exception_data() docstring
* feat: make TzInfo instantiable without any arguments
* Implement val_temporal_unit for deciding how datetimes and dates timestamps get validated.
* Add missing entries in missing-sentinel core schema
* Add MISSING sentinel
* Implement ser_json_temporal config option
* Properly coerce fractions as int
* Add exclude_if logic at the field level
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic-core?expand=0&rev=23
- Update to 2.35.1:
* Fix generic issues with ValidationInfo and SerializationInfo by @Viicos in #1736
2.35.0:
* Do not reuse validator and serializer when unpickling by @Viicos in #1693
* Remove unnecessary required fields count when exclude_none is set by @Viicos in #1708
* Update test dependencies after 3.8 dropped support by @Viicos in #1710
* Mark constructor parameters of exceptions as positional-only by @Viicos in #1699
* fix: submodel fields with wrap validator affect smart union selection by @weiliddat in #1700
* use pypa/gh-action-pypi-publish by @samuelcolvin in #1599
* add critical sections around bytearray reads by @davidhewitt in #1717
* simplify ser-as-any mechanism by @davidhewitt in #1478
* Coerce 'time' schema constraints by @Viicos in #1720
* drop serde-json preserve_order feature by @davidhewitt in #1724
* Remove core schema validation by @Viicos in #1715
* Improve uncaught PydanticUseDefault exception message by @Viicos in #1730
* Add support for Python 3.14 by @Viicos in #1714
* drop pypy3.9 support, add pypy3.11 support by @davidhewitt in #1726
* Add ensure_ascii option by @Viicos in #1689
* Update repr of TzInfo by @Viicos in #1701
* Make ValidationInfo and SerializationInfo generic for context by @Viicos in #1686
OBS-URL: https://build.opensuse.org/request/show/1287849
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic-core?expand=0&rev=9
* Fix generic issues with ValidationInfo and SerializationInfo by @Viicos in #1736
2.35.0:
* Do not reuse validator and serializer when unpickling by @Viicos in #1693
* Remove unnecessary required fields count when exclude_none is set by @Viicos in #1708
* Update test dependencies after 3.8 dropped support by @Viicos in #1710
* Mark constructor parameters of exceptions as positional-only by @Viicos in #1699
* fix: submodel fields with wrap validator affect smart union selection by @weiliddat in #1700
* use pypa/gh-action-pypi-publish by @samuelcolvin in #1599
* add critical sections around bytearray reads by @davidhewitt in #1717
* simplify ser-as-any mechanism by @davidhewitt in #1478
* Coerce 'time' schema constraints by @Viicos in #1720
* drop serde-json preserve_order feature by @davidhewitt in #1724
* Remove core schema validation by @Viicos in #1715
* Improve uncaught PydanticUseDefault exception message by @Viicos in #1730
* Add support for Python 3.14 by @Viicos in #1714
* drop pypy3.9 support, add pypy3.11 support by @davidhewitt in #1726
* Add ensure_ascii option by @Viicos in #1689
* Update repr of TzInfo by @Viicos in #1701
* Make ValidationInfo and SerializationInfo generic for context by @Viicos in #1686
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic-core?expand=0&rev=19
- Update to 2.34.1:
* Fixes
+ fix clippy lints for Rust 1.86
+ Allow JSON BigInt to validate against float schema
+ Ensure ValidationInfo.field_name is correct on validator reuse
+ Coerce 'timedelta' schema constraints
+ Add support for extra keys validation for model fields
+ Revert by_alias default value change for to_json() and
to_jsonable_python()
+ Skip reusing after validators in prebuilt schemas
+ Skip reusing wrap validators / serializers for prebuilt variants
+ Add cls_name to typed-dict schema
+ Coerce validator constraints to their valid type
+ Use core schema fns to initalize SchemaValidators in the test suite
+ Fix enum strict JSON validation when validators are present
+ Add support for validating v7 UUIDs
+ Refactor LookupKey logic to reduce redundancy
+ Add support for UUIDv6 and UUIDv8 validation
+ Remove unneeded Option map in PyMultiHostUrl.build
+ bump to PyO3 0.23.5, support PyPy 3.11
+ Fix strict behavior for unions
+ Improving the alias configuration API for validation and serialization
+ Fix float multiple_of validation for negative numbers
+ Fix wasm preview
+ Raise validation error when unhashable items added to a set
+ Fix condition before using prebuilt validator/serializer
+ minimal upgrade to PyO3 0.23 (ignoring deprecations)
+ Use UserWarning from pyo3
+ Forward default_value calls to the underlying schema for
DefinitionRefValidator
OBS-URL: https://build.opensuse.org/request/show/1272286
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic-core?expand=0&rev=8
* Fixes
+ fix clippy lints for Rust 1.86
+ Allow JSON BigInt to validate against float schema
+ Ensure ValidationInfo.field_name is correct on validator reuse
+ Coerce 'timedelta' schema constraints
+ Add support for extra keys validation for model fields
+ Revert by_alias default value change for to_json() and
to_jsonable_python()
+ Skip reusing after validators in prebuilt schemas
+ Skip reusing wrap validators / serializers for prebuilt variants
+ Add cls_name to typed-dict schema
+ Coerce validator constraints to their valid type
+ Use core schema fns to initalize SchemaValidators in the test suite
+ Fix enum strict JSON validation when validators are present
+ Add support for validating v7 UUIDs
+ Refactor LookupKey logic to reduce redundancy
+ Add support for UUIDv6 and UUIDv8 validation
+ Remove unneeded Option map in PyMultiHostUrl.build
+ bump to PyO3 0.23.5, support PyPy 3.11
+ Fix strict behavior for unions
+ Improving the alias configuration API for validation and serialization
+ Fix float multiple_of validation for negative numbers
+ Fix wasm preview
+ Raise validation error when unhashable items added to a set
+ Fix condition before using prebuilt validator/serializer
+ minimal upgrade to PyO3 0.23 (ignoring deprecations)
+ Use UserWarning from pyo3
+ Forward default_value calls to the underlying schema for
DefinitionRefValidator
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic-core?expand=0&rev=17
- Update ot 2.27.2
- fix linux PGO wheel build in #1557
- Forward default_value calls to the underlying schema for DefinitionRefValidator in #1573
- Include JSON Schema input core schema in function schemas in #1572
- fix ValueError on year zero in #1583
- Changes from 2.27.1
- Simplify shared union serializer logic in #1538
- Tidy up some uses of Bound<'_, PyString>::to_str in #1544
- Fix serialization inference for complex types in python in #1549
- Bump to PyO3 v0.22.6 in #1550
- Fix performance regression for JSON tagged union in #1552
- Changes from 2.27.0
- Remove Url and MultiHostUrl docstrings, we moved them to pydantic in #1531
- Fix panic in validate_assignment when field has gone missing in #1532
- Fix for Union serializer: do not raise warnings in nested unions in #1513
- Fix _IncEx type alias to be compatible with mypy in #1537
- More union serialization tidying in #1536
- Fix wrap serializer breaking union serialization in presence of extra fields in #1530
- Support trailing-strings with allow_partial in #1539
- Changes from 2.26.0
* Fixes
- Revert changes to url schemas that support cls, the 2x validation isn't worth it (and is breaking) in #1514
- Fix when coerce_numbers_to_str enabled and string has invalid unicode character in #1515
- Fix serializing complex values in enums in #1524
* Packaging
- Bump serde from 1.0.213 to 1.0.214 in #1519
- Bump regex from 1.11.0 to 1.11.1 in #1520
- Bump jiter from 0.6.1 to 0.7.0 in #1521
- bump speedate to 0.15 in #1526
* New Features
- Add allow_partial in #1512
- Changes from 2.25.1
- Bump jiter from 0.5.0 to 0.6.1 in #1498
- Update Pyodide to v0.26.3 in #1507
- Allow subclassing ValidationError and PydanticCustomError in #1413
- Revert "feat: add 'millisecond' option to ser_json_timedelta" in #1503
- Support subclass inits for Url and MultiHostUrl in #1508
- Changes from 2.25.0
- Properly enforce host_required for URLs in #1488
- Support revalidation of parametrized generics in #1489
- Support default factories taking validated data as an argument in #1491
- Changes from 2.24.2
- Add serialization key to InvalidSchema in #1482
- Changes from 2.24.1
* Packaging
- Restore Windows aarch64 builds in #1464
- Limit windows builds to Rust 1.77 (to keep Windows 7 support) in #1463
- Bump pyo3 from 0.22.2 to 0.22.3 in #1472
- Bump serde from 1.0.209 to 1.0.210 in #1471
- Bump regex from 1.10.6 to 1.11.0 in #1470
* Fixes
- Fix equality checks for primitives in literals in #1459
* Changes
- Add invalid schema placeholder in #1469
- Relax intensity of error for issubclass and isinstance schemas from json in #1479
- Changes from 2.24.0
* Features
- Add milliseconds option to ser_json_timedelta config parameterin #1427
- Add support for unpacked TypedDict to type hint variadic keyword arguments in ArgumentsValidator in #1451
* Fixes
- Do not require padding when decoding base64 bytes in #1448
- Support wider variety of enum validation cases in #1456
OBS-URL: https://build.opensuse.org/request/show/1240256
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic-core?expand=0&rev=14
- update to 2.20.0:
* Tidy up `tagged_union_schema`
* Improvements in `Union` matching logic during validation
* Fix `Union` validation logic when `extra='allow'`
* Add list `fail_fast` config option
* Update to PyO3 0.22, add Python 3.13 support
- update to 2.19.0:
* Lower MSRV to 1.75
* Bump `libc` from 0.2.147 to 0.2.155
* Make `ValidatorFunctionWrapHandler` positional only
* Reuse `re.Pattern` object in regex patterns
* Add ser_json_inf_nan='strings' mode to produce valid JSON
OBS-URL: https://build.opensuse.org/request/show/1184352
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic-core?expand=0&rev=5
* Tidy up `tagged_union_schema`
* Improvements in `Union` matching logic during validation
* Fix `Union` validation logic when `extra='allow'`
* Add list `fail_fast` config option
* Update to PyO3 0.22, add Python 3.13 support
- update to 2.19.0:
* Lower MSRV to 1.75
* Bump `libc` from 0.2.147 to 0.2.155
* Make `ValidatorFunctionWrapHandler` positional only
* Reuse `re.Pattern` object in regex patterns
* Add ser_json_inf_nan='strings' mode to produce valid JSON
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic-core?expand=0&rev=10
- update to 2.18.4:
* Bump uuid from 1.7.0 to 1.8.0
* Bump serde from 1.0.197 to 1.0.203
* Bump the python-packages group with 6 updates
* Uprev `jiter` to v0.4.1
- update to 2.18.3:
* Bump `serde_json` from 1.0.114 to 1.0.116
* Bump the python-packages group with 7 updates
* Bump `regex` from 1.10.3 to 1.10.4
* Bump `pyo3` from 0.21.1 to 0.21.2
* Bump `uraimo/run-on-arch-action` from 2.7.1 to 2.7.2
OBS-URL: https://build.opensuse.org/request/show/1179035
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic-core?expand=0&rev=4
* Bump uuid from 1.7.0 to 1.8.0
* Bump serde from 1.0.197 to 1.0.203
* Bump the python-packages group with 6 updates
* Uprev `jiter` to v0.4.1
- update to 2.18.3:
* Bump `serde_json` from 1.0.114 to 1.0.116
* Bump the python-packages group with 7 updates
* Bump `regex` from 1.10.3 to 1.10.4
* Bump `pyo3` from 0.21.1 to 0.21.2
* Bump `uraimo/run-on-arch-action` from 2.7.1 to 2.7.2
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic-core?expand=0&rev=8
- update to 2.18.2:
* 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
- update to 2.18.1:
* allow serialization functions to upgrade warnings to
exceptions
* Fix: add `coerce_numbers_to_str option` in `StringSchema`
* Trim leading zeros before parsing `str` -> `int`
* Prevent trailing dots in integers
- update to 2.18.0:
* update to PyO3 0.21 final
* Add coerce_numbers_to_str option in str_schema
* caching strings from JSON
* fix build warnings on python <3.11
* Fixes for `ser_json_inf_nan` inference
* Adopt jiter `0.2.0`
- update to 2.17.0:
* Add benchmarks for serializing model with complete schema
* Prevent panicking when `__dict__` changes during iteration
* Fix `TzInfo` equality check based on offset
* Fix stack overflow due to recursion in some recursive
serializer schemas.
* Use PEP570 syntax
* Fix parsing `BigInt` from `str`
* Use new typing syntax for `_pydantic_core.pyi`
OBS-URL: https://build.opensuse.org/request/show/1170439
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-pydantic-core?expand=0&rev=3
* 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
- update to 2.18.1:
* allow serialization functions to upgrade warnings to
exceptions
* Fix: add `coerce_numbers_to_str option` in `StringSchema`
* Trim leading zeros before parsing `str` -> `int`
* Prevent trailing dots in integers
- update to 2.18.0:
* update to PyO3 0.21 final
* Add coerce_numbers_to_str option in str_schema
* caching strings from JSON
* fix build warnings on python <3.11
* Fixes for `ser_json_inf_nan` inference
* Adopt jiter `0.2.0`
- update to 2.17.0:
* Add benchmarks for serializing model with complete schema
* Prevent panicking when `__dict__` changes during iteration
* Fix `TzInfo` equality check based on offset
* Fix stack overflow due to recursion in some recursive
serializer schemas.
* Use PEP570 syntax
* Fix parsing `BigInt` from `str`
* Use new typing syntax for `_pydantic_core.pyi`
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pydantic-core?expand=0&rev=6