chore: prepare for the 2.6.2 release (#2821)

diff --git a/docs/changelog.rst b/docs/changelog.rst
index 0fdada9..157b296 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -10,7 +10,6 @@
 v2.6.2 (Jan 26, 2021)
 ---------------------
 
-
 Minor missing functionality added:
 
 * enum: add missing Enum.value property.
@@ -20,6 +19,20 @@
   ``.disarm`` for ``gil_scoped_acquire``/``gil_scoped_release``.
   `#2657 <https://github.com/pybind/pybind11/pull/2657>`_
 
+Fixed or improved behavior in a few special cases:
+
+* Fix bug where the constructor of ``object`` subclasses would not throw on
+  being passed a Python object of the wrong type.
+  `#2701 <https://github.com/pybind/pybind11/pull/2701>`_
+
+* The ``type_caster`` for integers does not convert Python objects with
+  ``__int__`` anymore with ``noconvert`` or during the first round of trying
+  overloads.
+  `#2698 <https://github.com/pybind/pybind11/pull/2698>`_
+
+* When casting to a C++ integer, ``__index__`` is always called and not
+  considered as conversion, consistent with Python 3.8+.
+  `#2801 <https://github.com/pybind/pybind11/pull/2801>`_
 
 Build improvements:
 
@@ -53,23 +66,6 @@
 
 Bug fixes:
 
-* Fix invalid access when calling a pybind11 ``__init__`` on a non-pybind11
-  class instance.
-  `#2755 <https://github.com/pybind/pybind11/pull/2755>`_
-
-* The ``type_caster`` for integers does not convert Python objects with
-  ``__int__`` anymore with ``noconvert`` or during the first round of trying
-  overloads.
-  `#2698 <https://github.com/pybind/pybind11/pull/2698>`_
-
-* When casting to a C++ integer, ``__index__`` is always called and not
-  considered as conversion, consistent with Python 3.8+.
-  `#2801 <https://github.com/pybind/pybind11/pull/2801>`_
-
-* Fix bug where the constructor of ``object`` subclasses would not throw on
-  being passed a Python object of the wrong type.
-  `#2701 <https://github.com/pybind/pybind11/pull/2701>`_
-
 * Fixed segfault in multithreaded environments when using
   ``scoped_ostream_redirect``.
   `#2675 <https://github.com/pybind/pybind11/pull/2675>`_
@@ -105,6 +101,10 @@
 
 Valgrind work:
 
+* Fix invalid access when calling a pybind11 ``__init__`` on a non-pybind11
+  class instance.
+  `#2755 <https://github.com/pybind/pybind11/pull/2755>`_
+
 * Fixed various minor memory leaks in pybind11's test suite.
   `#2758 <https://github.com/pybind/pybind11/pull/2758>`_
 
diff --git a/docs/release.rst b/docs/release.rst
index 80ec713..9dbff03 100644
--- a/docs/release.rst
+++ b/docs/release.rst
@@ -52,7 +52,8 @@
     name (if you didn't tag above, it will be made here), fill in a release
     name like "Version X.Y.Z", and optionally copy-and-paste the changelog into
     the description (processed as markdown by Pandoc). Check "pre-release" if
-    this is a beta/RC.
+    this is a beta/RC. You can get partway there with
+    ``cat docs/changelog.rst | pandsoc -f rst -t markdown``.
   - CLI method: with ``gh`` installed, run ``gh release create vX.Y.Z -t "Version X.Y.Z"``
     If this is a pre-release, add ``-p``.
 
diff --git a/include/pybind11/detail/common.h b/include/pybind11/detail/common.h
index 950bd37..de495e4 100644
--- a/include/pybind11/detail/common.h
+++ b/include/pybind11/detail/common.h
@@ -11,7 +11,7 @@
 
 #define PYBIND11_VERSION_MAJOR 2
 #define PYBIND11_VERSION_MINOR 6
-#define PYBIND11_VERSION_PATCH 2.dev1
+#define PYBIND11_VERSION_PATCH 2
 
 #define PYBIND11_NAMESPACE_BEGIN(name) namespace name {
 #define PYBIND11_NAMESPACE_END(name) }
diff --git a/pybind11/_version.py b/pybind11/_version.py
index abfb85e..f8b795e 100644
--- a/pybind11/_version.py
+++ b/pybind11/_version.py
@@ -8,5 +8,5 @@
         return s
 
 
-__version__ = "2.6.2.dev1"
+__version__ = "2.6.2"
 version_info = tuple(_to_int(s) for s in __version__.split("."))