@@ -10,11 +10,49 @@ Starting with version 1.8.0, pybind11 releases use a `semantic versioning
10
10
IN DEVELOPMENT
11
11
--------------
12
12
13
+ v2.8.0 (Oct 27, 2021)
14
+ ---------------------
15
+
16
+ Changes and additions:
17
+
13
18
* The simple namespace creation shortcut added in 2.8.0 was deprecated due to
14
19
usage of CPython internal API, and will be removed soon. Use
15
20
``py::module_::import("types").attr("SimpleNamespace") ``.
16
21
`#3374 <https://github.com/pybinyyd/pybind11/pull/3374 >`_
17
22
23
+ * Add C++ Exception type to throw and catch ``AttributeError ``. Useful for
24
+ defining custom ``__setattr__ `` and ``__getattr__ `` methods.
25
+ `#3387 <https://github.com/pybind/pybind11/pull/3387 >`_
26
+
27
+ Fixes:
28
+
29
+ * Fixed the potential for dangling references when using properties with
30
+ ``std::optional `` types.
31
+ `#3376 <https://github.com/pybind/pybind11/pull/3376 >`_
32
+
33
+ * Modernize usage of ``PyCodeObject `` on Python 3.9+ (moving toward support for
34
+ Python 3.11a1)
35
+ `#3368 <https://github.com/pybind/pybind11/pull/3368 >`_
36
+
37
+ * A long-standing bug in ``eigen.h `` was fixed (originally PR #3343). The bug
38
+ was unmasked by newly added ``static_assert ``'s in the Eigen 3.4.0 release.
39
+ `#3352 <https://github.com/pybind/pybind11/pull/3352 >`_
40
+
41
+ * Support multiple raw inclusion of CMake helper files (Conan.io does this for
42
+ multi-config generators).
43
+ `#3420 <https://github.com/pybind/pybind11/pull/3420 >`_
44
+
45
+ * Fix harmless warning on upcoming CMake 3.22.
46
+ `#3368 <https://github.com/pybind/pybind11/pull/3368 >`_
47
+
48
+ * Fix 2.8.0 regression with MSVC 2017 + C++17 mode + Python 3.
49
+ `#3407 <https://github.com/pybind/pybind11/pull/3407 >`_
50
+
51
+ * Fix 2.8.0 regression that caused undefined behavior (typically
52
+ segfaults) in ``make_key_iterator ``/``make_value_iterator `` if dereferencing
53
+ the iterator returned a temporary value instead of a reference.
54
+ `#3348 <https://github.com/pybind/pybind11/pull/3348 >`_
55
+
18
56
19
57
v2.8.0 (Oct 4, 2021)
20
58
--------------------
0 commit comments