diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 70dcb0e0..11dd81a0 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,17 +4,47 @@ Changelog Versions follow `CalVer `_ with a strict backwards compatibility policy. The third digit is only for regressions. -Changes for the upcoming release can be found in the `"changelog.d" directory `_ in our repository. - -.. - Do *NOT* add changelog entries here! - - This changelog is managed by towncrier and is compiled at release time. - - See https://www.attrs.org/en/latest/contributing.html#changelog for details. - .. towncrier release notes start +20.3.0 (2020-11-05) +------------------- + +Backward-incompatible Changes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +- ``attr.define()``, ``attr.frozen()``, ``attr.mutable()``, and ``attr.field()`` remain **provisional**. + + This release does **not** change change anything about them and they are already used widely in production though. + + If you wish to use them together with mypy, you can simply drop `this plugin `_ into your project. + + Feel free to provide feedback to them in the linked issue #668. + + We will release the ``attrs`` namespace once we have the feeling that the APIs have properly settled. + `#668 `_ + + +Changes +^^^^^^^ + +- ``attr.s()`` now has a *field_transformer* hook that is called for all ``Attribute``\ s and returns a (modified or updated) list of ``Attribute`` instances. + ``attr.asdict()`` has a *value_serializer* hook that can change the way values are converted. + Both hooks are meant to help with data (de-)serialization workflows. + `#653 `_ +- ``kw_only=True`` now works on Python 2. + `#700 `_ +- ``raise from`` now works on frozen classes on PyPy. + `#703 `_, + `#712 `_ +- ``attr.asdict()`` and ``attr.astuple()`` now treat ``frozenset``\ s like ``set``\ s with regards to the *retain_collection_types* argument. + `#704 `_ +- The type stubs for ``attr.s()`` and ``attr.make_class()`` are not missing the *collect_by_mro* argument anymore. + `#711 `_ + + +---- + + 20.2.0 (2020-09-05) ------------------- diff --git a/changelog.d/653.change.rst b/changelog.d/653.change.rst deleted file mode 100644 index 241a9144..00000000 --- a/changelog.d/653.change.rst +++ /dev/null @@ -1,3 +0,0 @@ -``attr.s()`` now has a *field_transformer* hook that is called for all ``Attribute``\ s and returns a (modified or updated) list of ``Attribute`` instances. -``attr.asdict()`` has a *value_serializer* hook that can change the way values are converted. -Both hooks are meant to help with data (de-)serialization workflows. diff --git a/changelog.d/668.breaking.rst b/changelog.d/668.breaking.rst deleted file mode 100644 index 66656e39..00000000 --- a/changelog.d/668.breaking.rst +++ /dev/null @@ -1,9 +0,0 @@ -``attr.define()``, ``attr.frozen()``, ``attr.mutable()``, and ``attr.field()`` remain **provisional**. - -This release does **not** change change anything about them and they are already used widely in production though. - -If you wish to use them together with mypy, you can simply drop `this plugin `_ into your project. - -Feel free to provide feedback to them in the linked issue #668. - -We will release the ``attrs`` namespace once we have the feeling that the APIs have properly settled. diff --git a/changelog.d/700.change.rst b/changelog.d/700.change.rst deleted file mode 100644 index d4dc2dfd..00000000 --- a/changelog.d/700.change.rst +++ /dev/null @@ -1 +0,0 @@ -``kw_only=True`` now works on Python 2. diff --git a/changelog.d/703.change.rst b/changelog.d/703.change.rst deleted file mode 100644 index c0fde46f..00000000 --- a/changelog.d/703.change.rst +++ /dev/null @@ -1 +0,0 @@ -``raise from`` now works on frozen classes on PyPy. diff --git a/changelog.d/704.change.rst b/changelog.d/704.change.rst deleted file mode 100644 index 26b08e22..00000000 --- a/changelog.d/704.change.rst +++ /dev/null @@ -1 +0,0 @@ -``attr.asdict()`` and ``attr.astuple()`` now treat ``frozenset``\ s like ``set``\ s with regards to the *retain_collection_types* argument. diff --git a/changelog.d/711.change.rst b/changelog.d/711.change.rst deleted file mode 100644 index 66865e8b..00000000 --- a/changelog.d/711.change.rst +++ /dev/null @@ -1 +0,0 @@ -The type stubs for ``attr.s()`` and ``attr.make_class()`` are not missing the *collect_by_mro* argument anymore. diff --git a/changelog.d/712.change.rst b/changelog.d/712.change.rst deleted file mode 100644 index c0fde46f..00000000 --- a/changelog.d/712.change.rst +++ /dev/null @@ -1 +0,0 @@ -``raise from`` now works on frozen classes on PyPy. diff --git a/src/attr/__init__.py b/src/attr/__init__.py index 2073552d..bf329cad 100644 --- a/src/attr/__init__.py +++ b/src/attr/__init__.py @@ -21,7 +21,7 @@ from ._make import ( from ._version_info import VersionInfo -__version__ = "20.3.0.dev0" +__version__ = "20.3.0" __version_info__ = VersionInfo._from_version_string(__version__) __title__ = "attrs"