--- - branch: MAIN date: Sun Nov 19 14:09:31 UTC 2023 files: - new: '1.5' old: '1.4' path: pkgsrc/devel/py-cattrs/Makefile pathrev: pkgsrc/devel/py-cattrs/Makefile@1.5 type: modified - new: '1.4' old: '1.3' path: pkgsrc/devel/py-cattrs/PLIST pathrev: pkgsrc/devel/py-cattrs/PLIST@1.4 type: modified - new: '1.3' old: '1.2' path: pkgsrc/devel/py-cattrs/distinfo pathrev: pkgsrc/devel/py-cattrs/distinfo@1.3 type: modified id: 20231119T140931Z.603e9c2ecd7de2a9bd3f577d2d31ea99647b77be log: | py-cattrs: update to 23.2.1. ## 23.2.1 (2023-11-18) - Fix unnecessary `typing_extensions` import on Python 3.11. ## 23.2.0 (2023-11-17) - **Potentially breaking**: skip _attrs_ fields marked as `init=False` by default. This change is potentially breaking for unstructuring. - **Potentially breaking**: {py:func}`cattrs.gen.make_dict_structure_fn` and {py:func}`cattrs.gen.typeddicts.make_dict_structure_fn` will use the values for the `detailed_validation` and `forbid_extra_keys` parameters from the given converter by default now. If you're using these functions directly, the old behavior can be restored by passing in the desired values directly. - **Potentially breaking**: The default union structuring strategy will also use fields annotated as `typing.Literal` to help guide structuring. - Python 3.12 is now supported. Python 3.7 is no longer supported; use older releases there. - Implement the `union passthrough` strategy, enabling much richer union handling for preconfigured converters. - Introduce the `use_class_methods` strategy. - The `omit` parameter of {py:func}`cattrs.override` is now of type `bool | None` (from `bool`). `None` is the new default and means to apply default _cattrs_ handling to the attribute, which is to omit the attribute if it's marked as `init=False`, and keep it otherwise. - Converters can now be initialized with custom fallback hook factories for un/structuring. - Add support for `date` to preconfigured converters. - Add support for `datetime.date`s to the PyYAML preconfigured converter. - Fix {py:func}`format_exception() ` parameter working for recursive calls to {py:func}`transform_error `. - _attrs_ aliases are now supported, although aliased fields still map to their attribute name instead of their alias by default when un/structuring. - Fix TypedDicts with periods in their field names. - Optimize and improve unstructuring of `Optional` (unions of one type and `None`). - Fix {py:func}`format_exception ` and {py:func}`transform_error ` type annotations. - Improve the implementation of `cattrs._compat.is_typeddict`. The implementation is now simpler, and relies on fewer private implementation details from `typing` and typing_extensions. - Improve handling of TypedDicts with forward references. - Speed up generated _attrs_ and TypedDict structuring functions by changing their signature slightly. - Fix copying of converters with function hooks. - Broaden {py:func}`loads' ` type definition for the preconf orjson converter. - {py:class}`AttributeValidationNote ` and {py:class}`IterableValidationNote ` are now picklable. - Fix structuring `Final` lists. - Fix certain cases of structuring `Annotated` types. - Fix the tagged union strategy to work with `forbid_extra_keys`. - Use PDM instead of Poetry. - _cattrs_ is now linted with Ruff. - Remove some unused lines in the unstructuring code. - Fix handling classes inheriting from non-generic protocols. - The documentation Makefile now supports the `htmlview` and `htmllive` targets. - _cattrs_ is now published using PyPI Trusted Publishers, and `main` branch commits are automatically deployed to Test PyPI. module: pkgsrc subject: 'CVS commit: pkgsrc/devel/py-cattrs' unixtime: '1700402971' user: wiz