You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.rst
+90-6Lines changed: 90 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,16 +4,100 @@ Changelog
4
4
Versions follow `CalVer <http://calver.org>`_ with a strict backwards compatibility policy.
5
5
The third digit is only for regressions.
6
6
7
-
Changes for the upcoming release can be found in the `"changelog.d" directory <https://github.com/python-attrs/attrs/tree/master/changelog.d>`_ in our repository.
8
7
9
-
..
10
-
Do *NOT* add changelog entries here!
8
+
.. towncrier release notes start
11
9
12
-
This changelog is managed by towncrier and is compiled at release time.
10
+
17.4.0 (2017-12-30)
11
+
-------------------
13
12
14
-
See http://www.attrs.org/en/latest/contributing.html#changelog for details.
13
+
Backward-incompatible Changes
14
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15
15
16
-
.. towncrier release notes start
16
+
- The traversal of MROs when using multiple inheritance was backward:
17
+
If you defined a class ``C`` that subclasses ``A`` and ``B`` like ``C(A, B)``, ``attrs`` would have collected the attributes from ``B`` *before* those of ``A``.
18
+
19
+
This is now fixed and means that in classes that employ multiple inheritance, the output of ``__repr__`` and the order of positional arguments in ``__init__`` changes.
20
+
Due to the nature of this bug, a proper deprecation cycle was unfortunately impossible.
21
+
22
+
Generally speaking, it's advisable to prefer ``kwargs``-based initialization anyways – *especially* if you employ multiple inheritance and diamond-shaped hierarchies.
0 commit comments