v2.4.0 release
diff --git a/docs/changelog.rst b/docs/changelog.rst
index 9576a8b..eaf8c25 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -6,14 +6,69 @@
Starting with version 1.8.0, pybind11 releases use a `semantic versioning
<http://semver.org>`_ policy.
-
-v2.3.1 (Not yet released)
+v2.4.0 (Sep 19, 2019)
-----------------------------------------------------
+* Try harder to keep pybind11-internal data structures separate when there
+ are potential ABI incompatibilities. Fixes crashes that occurred when loading
+ multiple pybind11 extensions that were e.g. compiled by GCC (libstdc++)
+ and Clang (libc++).
+ `1588 <https://github.com/pybind/pybind11/pull/1588>`_ and
+ `c9f5a <https://github.com/pybind/pybind11/commit/c9f5a>`_.
+
+* Added support for ``__await__``, ``__aiter__``, and ``__anext__`` protocols.
+ `1842 <https://github.com/pybind/pybind11/pull/1842>`_.
+
+* ``pybind11_add_module()``: don't strip symbols when compiling in
+ ``RelWithDebInfo`` mode. `1980
+ <https://github.com/pybind/pybind11/pull/1980>`_.
+
+* ``enum_``: Reproduce Python behavior when comparing against invalid values
+ (e.g. ``None``, strings, etc.). Add back support for ``__invert__()``.
+ `1912 <https://github.com/pybind/pybind11/pull/1912>`_,
+ `1907 <https://github.com/pybind/pybind11/pull/1907>`_.
+
+* List insertion operation for ``py::list``.
+ Added ``.empty()`` to all collection types.
+ Added ``py::set::contains()`` and ``py::dict::contains()``.
+ `1887 <https://github.com/pybind/pybind11/pull/1887>`_,
+ `1884 <https://github.com/pybind/pybind11/pull/1884>`_,
+ `1888 <https://github.com/pybind/pybind11/pull/1888>`_.
+
* ``py::details::overload_cast_impl`` is available in C++11 mode, can be used
like ``overload_cast`` with an additional set of parantheses.
`1581 <https://github.com/pybind/pybind11/pull/1581>`_.
+* ``overload_cast_impl`` is now available in C++11.
+ `1581 <https://github.com/pybind/pybind11/pull/1581>`_.
+
+* Fixed ``get_include()`` on Conda.
+ `1877 <https://github.com/pybind/pybind11/pull/1877>`_.
+
+* ``stl_bind.h``: negative indexing support.
+ `1882 <https://github.com/pybind/pybind11/pull/1882>`_.
+
+* Minor CMake fix to add MinGW compatibility.
+ `1851 <https://github.com/pybind/pybind11/pull/1851>`_.
+
+* GIL-related fixes.
+ `1836 <https://github.com/pybind/pybind11/pull/1836>`_,
+ `8b90b <https://github.com/pybind/pybind11/commit/8b90b>`_.
+
+* Other very minor/subtle fixes and improvements.
+ `1329 <https://github.com/pybind/pybind11/pull/1329>`_,
+ `1910 <https://github.com/pybind/pybind11/pull/1910>`_,
+ `1863 <https://github.com/pybind/pybind11/pull/1863>`_,
+ `1847 <https://github.com/pybind/pybind11/pull/1847>`_,
+ `1890 <https://github.com/pybind/pybind11/pull/1890>`_,
+ `1860 <https://github.com/pybind/pybind11/pull/1860>`_,
+ `1848 <https://github.com/pybind/pybind11/pull/1848>`_,
+ `1821 <https://github.com/pybind/pybind11/pull/1821>`_,
+ `1837 <https://github.com/pybind/pybind11/pull/1837>`_,
+ `1833 <https://github.com/pybind/pybind11/pull/1833>`_,
+ `1748 <https://github.com/pybind/pybind11/pull/1748>`_,
+ `1852 <https://github.com/pybind/pybind11/pull/1852>`_.
+
v2.3.0 (June 11, 2019)
-----------------------------------------------------
diff --git a/docs/conf.py b/docs/conf.py
index d17e4ba..da9dd19 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -61,9 +61,9 @@
# built documents.
#
# The short X.Y version.
-version = '2.3'
+version = '2.4'
# The full version, including alpha/beta/rc tags.
-release = '2.3.dev1'
+release = '2.4.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/include/pybind11/detail/common.h b/include/pybind11/detail/common.h
index 7fb427a..d1c6c2b 100644
--- a/include/pybind11/detail/common.h
+++ b/include/pybind11/detail/common.h
@@ -93,8 +93,8 @@
#endif
#define PYBIND11_VERSION_MAJOR 2
-#define PYBIND11_VERSION_MINOR 3
-#define PYBIND11_VERSION_PATCH dev1
+#define PYBIND11_VERSION_MINOR 4
+#define PYBIND11_VERSION_PATCH 0
/// Include Python header, disable linking to pythonX_d.lib on Windows in debug mode
#if defined(_MSC_VER)
diff --git a/pybind11/_version.py b/pybind11/_version.py
index fef541b..fdd1ea3 100644
--- a/pybind11/_version.py
+++ b/pybind11/_version.py
@@ -1,2 +1,2 @@
-version_info = (2, 3, 'dev1')
+version_info = (2, 4, 0)
__version__ = '.'.join(map(str, version_info))