cattrs.Converter has been renamed to cattrs.BaseConverter, and cattrs.GenConverter to cattrs.Converter.
The GenConverter name is still available for backwards compatibility, but is deprecated.
If you were depending on functionality specific to the old Converter, change your import to from cattrs import BaseConverter.NewTypes <https://docs.python.org/3/library/typing.html#newtype>_ are now supported by the cattrs.Converter.
(#255 <https://github.com/python-attrs/cattrs/pull/255>, #94 <https://github.com/python-attrs/cattrs/issues/94>, #297 <https://github.com/python-attrs/cattrs/issues/297>_)cattrs.Converter and cattrs.BaseConverter can now copy themselves using the copy method.
(#284 <https://github.com/python-attrs/cattrs/pull/284>_)kw_only fields on attrs classes into/from dictionaries.
(#247 <https://github.com/python-attrs/cattrs/pull/247>_)#253 <https://github.com/python-attrs/cattrs/issues/253>_)detailed_validation flag to mapping and counter structuring generators.typing.Set applying too broadly when used with the GenConverter.unstruct_collection_overrides parameter on Python versions below 3.9. Switch to typing.AbstractSet on those versions to restore the old behavior.
(#264 <https://github.com/python-attrs/cattrs/issues/264>_)#275 <https://github.com/python-attrs/cattrs/issues/275>_)Converter.register_structure_hook_factory and cattrs.gen.make_dict_unstructure_fn type annotations.
(#281 <https://github.com/python-attrs/cattrs/issues/281>_)cattr.errors namespace. Note that it is deprecated, just use cattrs.errors.
(#252 <https://github.com/python-attrs/cattrs/issues/252>_)#291 <https://github.com/python-attrs/cattrs/issues/291>_ #277 <https://github.com/python-attrs/cattrs/issues/277>_)PEP 678 <https://peps.python.org/pep-0678/>, supported since exceptiongroup>=1.0.0rc4.
(#303 <303 <https://github.com/python-attrs/cattrs/pull/303>)here <https://cattrs.readthedocs.io/en/latest/validation.html>_.
The old behavior can be restored by creating the converter with detailed_validation=False.attrs and dataclass structuring is now ~25% faster.typing.List s on Pythons lower than 3.9.
(#209 <https://github.com/python-attrs/cattrs/issues/209>_)list/dict/... on Pythons lower than 3.9.
(#218 <https://github.com/python-attrs/cattrs/issues/218>_)typing.Tuple on Pythons lower than 3.9.
(#218 <https://github.com/python-attrs/cattrs/issues/218>_)AttributeError of an missing __parameters__ attribute. This could happen
when inheriting certain generic classes β for example typing.* classes are affected.
(#217 <https://github.com/python-attrs/cattrs/issues/217>_)enum.Enum instances in typing.Literal types.
(#231 <https://github.com/python-attrs/cattrs/pull/231>_)list.
(#226 <https://github.com/python-attrs/cattrs/issues/226>_)forbid_extra_keys raise custom ForbiddenExtraKeyError instead of generic Exception.
(#225 <https://github.com/python-attrs/cattrs/pull/225>_)loads and dumps directly. See an example here <https://cattrs.readthedocs.io/en/latest/preconf.html>_.#241 <https://github.com/python-attrs/cattrs/issues/241>_)