@@ -18,15 +18,57 @@ Whenever there is a need to break compatibility, it is announced here in the cha
18
18
19
19
Changes for the upcoming release can be found in the [ "changelog.d" directory] ( https://github.com/python-attrs/attrs/tree/main/changelog.d ) in our repository.
20
20
21
- <!--
22
- Do *NOT* add changelog entries here!
21
+ <!-- towncrier release notes start -->
22
+
23
+ ## [ 23.1.0] ( https://github.com/python-attrs/attrs/tree/23.1.0 ) - 2023-04-16
23
24
24
- This changelog is managed by towncrier and is compiled at release time.
25
+ ### Backwards-incompatible Changes
25
26
26
- See https://github.com/python-attrs/attrs/blob/main/.github/CONTRIBUTING.md#changelog for details.
27
- -->
27
+ - Python 3.6 has been dropped and packaging switched to static package data using [ Hatch] ( https://hatch.pypa.io/latest/ ) .
28
+ [ #993 ] ( https://github.com/python-attrs/attrs/issues/993 )
29
+
30
+
31
+ ### Deprecations
32
+
33
+ - The support for * zope-interface* via the ` attrs.validators.provides ` validator is now deprecated and will be removed in, or after, April 2024.
34
+
35
+ The presence of a C-based package in our developement dependencies has caused headaches and we're not under the impression it's used a lot.
36
+
37
+ Let us know if you're using it and we might publish it as a separate package.
38
+ [ #1120 ] ( https://github.com/python-attrs/attrs/issues/1120 )
39
+
40
+
41
+ ### Changes
42
+
43
+ - ` attrs.filters.exclude() ` and ` attrs.filters.include() ` now support the passing of attribute names as strings.
44
+ [ #1068 ] ( https://github.com/python-attrs/attrs/issues/1068 )
45
+ - ` attrs.has() ` and ` attrs.fields() ` now handle generic classes correctly.
46
+ [ #1079 ] ( https://github.com/python-attrs/attrs/issues/1079 )
47
+ - Fix frozen exception classes when raised within e.g. ` contextlib.contextmanager ` , which mutates their ` __traceback__ ` attributes.
48
+ [ #1081 ] ( https://github.com/python-attrs/attrs/issues/1081 )
49
+ - ` @frozen ` now works with type checkers that implement [ PEP-681] ( https://peps.python.org/pep-0681/ ) (ex. [ pyright] ( https://github.com/microsoft/pyright/ ) ).
50
+ [ #1084 ] ( https://github.com/python-attrs/attrs/issues/1084 )
51
+ - Restored ability to unpickle instances pickled before 22.2.0.
52
+ [ #1085 ] ( https://github.com/python-attrs/attrs/issues/1085 )
53
+ - ` attrs.asdict() ` 's and ` attrs.astuple() ` 's type stubs now accept the ` attrs.AttrsInstance ` protocol.
54
+ [ #1090 ] ( https://github.com/python-attrs/attrs/issues/1090 )
55
+ - Fix slots class cellvar updating closure in CPython 3.8+ even when ` __code__ ` introspection is unavailable.
56
+ [ #1092 ] ( https://github.com/python-attrs/attrs/issues/1092 )
57
+ - ` attrs.resolve_types() ` can now pass ` include_extras ` to ` typing.get_type_hints() ` on Python 3.9+, and does so by default.
58
+ [ #1099 ] ( https://github.com/python-attrs/attrs/issues/1099 )
59
+ - Added instructions for pull request workflow to ` CONTRIBUTING.md ` .
60
+ [ #1105 ] ( https://github.com/python-attrs/attrs/issues/1105 )
61
+ - Added * type* parameter to ` attrs.field() ` function for use with ` attrs.make_class() ` .
62
+
63
+ Please note that type checkers ignore type metadata passed into ` make_class() ` , but it can be useful if you're wrapping _ attrs_ .
64
+ [ #1107 ] ( https://github.com/python-attrs/attrs/issues/1107 )
65
+ - It is now possible for ` attrs.evolve() ` (and ` attr.evolve() ` ) to change fields named ` inst ` if the instance is passed as a positional argument.
66
+
67
+ Passing the instance using the ` inst ` keyword argument is now deprecated and will be removed in, or after, April 2024.
68
+ [ #1117 ] ( https://github.com/python-attrs/attrs/issues/1117 )
69
+ - ` attrs.validators.optional() ` now also accepts a tuple of validators (in addition to lists of validators).
70
+ [ #1122 ] ( https://github.com/python-attrs/attrs/issues/1122 )
28
71
29
- <!-- towncrier release notes start -->
30
72
31
73
## [ 22.2.0] ( https://github.com/python-attrs/attrs/tree/22.2.0 ) - 2022-12-21
32
74
0 commit comments