Prepare 20.2.0
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 11b56b0..7c3fcd1 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -4,17 +4,51 @@
 Versions follow `CalVer <https://calver.org>`_ 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 <https://github.com/python-attrs/attrs/tree/master/changelog.d>`_ 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.2.0 (2020-09-05)
+-------------------
+
+Backward-incompatible Changes
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- ``attr.define()``, ``attr.frozen()``, ``attr.mutable()``, and ``attr.field()`` remain **provisional**.
+
+  This release fixes a bunch of bugs and ergonomics but they remain mostly unchanged.
+
+  If you wish to use them together with mypy, you can simply drop `this plugin <https://gist.github.com/hynek/1e3844d0c99e479e716169034b5fa963#file-attrs_ng_plugin-py>`_ 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 <https://github.com/python-attrs/attrs/issues/668>`_
+
+
+Changes
+^^^^^^^
+
+- ``attr.define()`` et al now correct detect ``__eq__`` and ``__ne__``.
+  `#671 <https://github.com/python-attrs/attrs/issues/671>`_
+- ``attr.define()`` et al's hybrid behavior now also works correctly when arguments are passed.
+  `#675 <https://github.com/python-attrs/attrs/issues/675>`_
+- It's possible to define custom ``__setattr__`` methods on slotted classes again.
+  `#681 <https://github.com/python-attrs/attrs/issues/681>`_
+- In 20.1.0 we introduced the ``inherited`` attribute on the ``attr.Attribute`` class to differentiate attributes that have been inherited and those that have been defined directly on the class.
+
+  It has shown to be problematic to involve that attribute when comparing instances of ``attr.Attribute`` though, because when sub-classing, attributes from base classes are suddenly not equal to themselves in a super class.
+
+  Therefore the ``inherited`` attribute will now be ignored when hashing and comparing instances of ``attr.Attribute``.
+  `#684 <https://github.com/python-attrs/attrs/issues/684>`_
+- ``zope.interface`` is now a "soft dependency" when running the test suite; if ``zope.interface`` is not installed when running the test suite, the interface-related tests will be automatically skipped.
+  `#685 <https://github.com/python-attrs/attrs/issues/685>`_
+- The ergonomics of creating frozen classes using ``@define(frozen=True)`` and sub-classing frozen classes has been improved:
+  you don't have to set ``on_setattr=None`` anymore.
+  `#687 <https://github.com/python-attrs/attrs/issues/687>`_
+
+
+----
+
+
 20.1.0 (2020-08-20)
 -------------------
 
diff --git a/changelog.d/668.breaking.rst b/changelog.d/668.breaking.rst
deleted file mode 100644
index f967e47..0000000
--- 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 fixes a bunch of bugs and ergonomics but they remain mostly unchanged.
-
-If you wish to use them together with mypy, you can simply drop `this plugin <https://gist.github.com/hynek/1e3844d0c99e479e716169034b5fa963#file-attrs_ng_plugin-py>`_ 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/671.change.rst b/changelog.d/671.change.rst
deleted file mode 100644
index c294a56..0000000
--- a/changelog.d/671.change.rst
+++ /dev/null
@@ -1 +0,0 @@
-``attr.define()`` et al now correct detect ``__eq__`` and ``__ne__``.
diff --git a/changelog.d/675.change.rst b/changelog.d/675.change.rst
deleted file mode 100644
index c61e8e3..0000000
--- a/changelog.d/675.change.rst
+++ /dev/null
@@ -1 +0,0 @@
-``attr.define()`` et al's hybrid behavior now also works correctly when arguments are passed.
diff --git a/changelog.d/681.change.rst b/changelog.d/681.change.rst
deleted file mode 100644
index 7d0e054..0000000
--- a/changelog.d/681.change.rst
+++ /dev/null
@@ -1 +0,0 @@
-It's possible to define custom ``__setattr__`` methods on slotted classes again.
diff --git a/changelog.d/684.change.rst b/changelog.d/684.change.rst
deleted file mode 100644
index bc186f0..0000000
--- a/changelog.d/684.change.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-In 20.1.0 we introduced the ``inherited`` attribute on the ``attr.Attribute`` class to differentiate attributes that have been inherited and those that have been defined directly on the class.
-
-It has shown to be problematic to involve that attribute when comparing instances of ``attr.Attribute`` though, because when sub-classing, attributes from base classes are suddenly not equal to themselves in a super class.
-
-Therefore the ``inherited`` attribute will now be ignored when hashing and comparing instances of ``attr.Attribute``.
diff --git a/changelog.d/685.change.rst b/changelog.d/685.change.rst
deleted file mode 100644
index 190f998..0000000
--- a/changelog.d/685.change.rst
+++ /dev/null
@@ -1 +0,0 @@
-``zope.interface`` is now a "soft dependency" when running the test suite; if ``zope.interface`` is not installed when running the test suite, the interface-related tests will be automatically skipped.
diff --git a/changelog.d/687.change.rst b/changelog.d/687.change.rst
deleted file mode 100644
index 7979cc8..0000000
--- a/changelog.d/687.change.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-The ergonomics of creating frozen classes using ``@define(frozen=True)`` and sub-classing frozen classes has been improved:
-you don't have to set ``on_setattr=None`` anymore.
diff --git a/src/attr/__init__.py b/src/attr/__init__.py
index 84c028c..7a79e57 100644
--- a/src/attr/__init__.py
+++ b/src/attr/__init__.py
@@ -21,7 +21,7 @@
 from ._version_info import VersionInfo
 
 
-__version__ = "20.2.0.dev0"
+__version__ = "20.2.0"
 __version_info__ = VersionInfo._from_version_string(__version__)
 
 __title__ = "attrs"