@@ -10,6 +10,76 @@ Starting with version 1.8.0, pybind11 releases use a `semantic versioning
1010IN DEVELOPMENT
1111--------------
1212
13+ New Features:
14+
15+ * Allow ``py::args `` to be followed by other arguments; the remaining arguments
16+ are implicitly keyword-only, as if a ``py::kw_only{} `` annotation had been
17+ used.
18+ `#3402 <https://github.com/pybind/pybind11/pull/3402 >`_
19+
20+ * Add C++ Exception type to throw and catch ``AttributeError ``. Useful for
21+ defining custom ``__setattr__ `` and ``__getattr__ `` methods.
22+ `#3387 <https://github.com/pybind/pybind11/pull/3387 >`_
23+
24+ Bug fixes:
25+
26+ * Fix a regression in 2.8.0 that caused undefined behavior (typically
27+ segfaults) in ``make_key_iterator ``/``make_value_iterator `` if dereferencing
28+ the iterator returned a temporary value instead of a reference.
29+ `#3348 <https://github.com/pybind/pybind11/pull/3348 >`_
30+
31+ * Fix a rare warning about extra copy in an Eigen constructor.
32+ `#3486 <https://github.com/pybind/pybind11/pull/3486 >`_
33+
34+ * Fix caching of the C++ overrides.
35+ `#3465 <https://github.com/pybind/pybind11/pull/3465 >`_
36+
37+ * Add missing ``std::forward `` calls to some ``cpp_function `` overloads.
38+ `#3443 <https://github.com/pybind/pybind11/pull/3443 >`_
39+
40+ * Support PyPy 7.3.7 and the PyPy3.8 beta. Test python-3.11 on PRs with the ``python dev `` label.
41+ `#3419 <https://github.com/pybind/pybind11/pull/3419 >`_
42+
43+ * Fix 2.8.0 regression with MSVC 2017 + C++17 mode + Python 3.
44+ `#3407 <https://github.com/pybind/pybind11/pull/3407 >`_
45+
46+ * Modernize usage of ``PyCodeObject `` on Python 3.9 (toward supporting Python
47+ 3.11a1)
48+ `#3368 <https://github.com/pybind/pybind11/pull/3368 >`_
49+
50+ * A long-standing bug in eigen.h was fixed (originally PR #3343). The bug was
51+ unmasked by newly added ``static_assert ``'s in the Eigen 3.4.0 release.
52+ `#3352 <https://github.com/pybind/pybind11/pull/3352 >`_
53+
54+ * Replace usage of deprecated ``Eigen::MappedSparseMatrix `` with
55+ ``Eigen::Map<Eigen::SparseMatrix<...>> `` for Eigen 3.3+.
56+ `#3499 <https://github.com/pybind/pybind11/pull/3499 >`_
57+
58+ * Fixed the potential for dangling references when using properties with
59+ ``std::optional `` types.
60+ `#3376 <https://github.com/pybind/pybind11/pull/3376 >`_
61+
62+ Build system improvements:
63+
64+ * Nicer CMake printout and IDE organisation for pybind11's own tests.
65+ `#3479 <https://github.com/pybind/pybind11/pull/3479 >`_
66+
67+ * CMake: report version type as part of the version string to avoid a spurious
68+ space in the package status message.
69+ `#3472 <https://github.com/pybind/pybind11/pull/3472 >`_
70+
71+ * Support multiple raw inclusion of CMake helper files (Conan.io does this for
72+ multi-config generators).
73+ `#3420 <https://github.com/pybind/pybind11/pull/3420 >`_
74+
75+ * Fix harmless warning on CMake 3.22.
76+ `#3368 <https://github.com/pybind/pybind11/pull/3368 >`_
77+
78+ * Flags starting with ``-g `` in ``$CFLAGS `` and ``$CPPFLAGS `` are no longer
79+ overridden by ``.Pybind11Extension ``.
80+ `#3436 <https://github.com/pybind/pybind11/pull/3436 >`_
81+
82+
1383v2.8.1 (Oct 27, 2021)
1484---------------------
1585
0 commit comments