v26.1.0
- Add the
tomllibpreconf converter. See here for details. (#716) - Customizing un/structuring of attrs classes, dataclasses, TypedDicts and dict NamedTuples is now possible by using
Annotated[T, override()]on fields. See here for more details. (#717) - Fix structuring of nested generic classes with stringified annotations. (#688)
- Python 3.9 is no longer supported, as it is end-of-life. Use previous versions on this Python version. (#698)
- Apply the attrs converter to the default value before checking if it is equal to the attribute's value, when
omit_if_defaultis true and an attrs converter is specified. (#696) - Use the optional
_value_type hint to structure and unstructure enums if present. (#699) - Aliases (when in use) now properly generate rename metadata in generated hooks. (#706 #710)
- cattrs now tracks performance using codspeed. (#703)
- The
tomlkitpreconf converter now properly handles nativedateobjects when structuring. (#707 #708) - The
tomlkitpreconf converter now passes date objects directly to tomlkit for unstructuring. (#707 #708) - Enum handling has been optimized by switching to hook factories, improving performance especially for plain enums. (#705)
- Fix
cattrs.strategies.include_subclasseswhen used withcattrs.strategies.configure_tagged_unionand classes using diamond inheritance. (#685 #713) - Fix
cattrs.strategies.configure_tagged_unionwhen used with recursive type aliases. (#678 #714)
New Contributors
- @calebj made their first contribution in #688
- @antony-frolov made their first contribution in #696
- @reversefold made their first contribution in #702
Full Changelog: v25.3.0...v26.1.0