@@ -10,10 +10,25 @@ Changes will be added here periodically from the "Suggested changelog entry"
10
10
block in pull request descriptions.
11
11
12
12
13
- IN DEVELOPMENT
14
- --------------
13
+ Version 2.11.0 (June 2, 2023)
14
+ -----------------------------
15
+
16
+ New features:
17
+
18
+ * ``pybind11::detail::is_move_constructible `` can now be specialized for cases
19
+ in which ``std::is_move_constructible `` does not work as needed. This is
20
+ very similar to the long-established
21
+ ``pybind11::detail::is_copy_constructible ``.
22
+ `#4631 <https://github.com/pybind/pybind11/pull/4631 >`_
15
23
16
- Changes will be summarized here periodically.
24
+ * Introduce ``recursive_container_traits ``.
25
+ `#4623 <https://github.com/pybind/pybind11/pull/4623 >`_
26
+
27
+ * ``pybind11/type_caster_pyobject_ptr.h `` was added to support automatic
28
+ wrapping of APIs that make use of ``PyObject * ``. This header needs to
29
+ included explicitly (i.e. it is not included implicitly
30
+ with ``pybind/pybind11.h ``).
31
+ `#4601 <https://github.com/pybind/pybind11/pull/4601 >`_
17
32
18
33
Changes:
19
34
@@ -31,6 +46,28 @@ Changes:
31
46
sizes slightly (~1.5%) but the error messages are much more informative.
32
47
`#4463 <https://github.com/pybind/pybind11/pull/4463 >`_
33
48
49
+ * Setter return values (which are inaccessible for all practical purposes) are
50
+ no longer converted to Python (only to be discarded).
51
+ `#4621 <https://github.com/pybind/pybind11/pull/4621 >`_
52
+
53
+ * Allow lambda specified to function definition to be ``noexcept(true) ``
54
+ in C++17.
55
+ `#4593 <https://github.com/pybind/pybind11/pull/4593 >`_
56
+
57
+ * Get rid of recursive template instantiations for concatenating type
58
+ signatures on C++17 and higher.
59
+ `#4587 <https://github.com/pybind/pybind11/pull/4587 >`_
60
+
61
+ * Compatibility with Python 3.12 (alpha). Note that the minimum pybind11
62
+ ABI version for Python 3.12 is version 5. (The default ABI version
63
+ for Python versions up to and including 3.11 is still version 4.).
64
+ `#4570 <https://github.com/pybind/pybind11/pull/4570 >`_
65
+
66
+ * With ``PYBIND11_INTERNALS_VERSION 5 `` (default for Python 3.12+), MSVC builds
67
+ use ``std::hash<std::type_index> `` and ``std::equal_to<std::type_index> ``
68
+ instead of string-based type comparisons. This resolves issues when binding
69
+ types defined in the unnamed namespace.
70
+ `#4319 <https://github.com/pybind/pybind11/pull/4319 >`_
34
71
35
72
Build system improvements:
36
73
@@ -40,8 +77,17 @@ Build system improvements:
40
77
* Moved the linting framework over to Ruff.
41
78
`#4483 <https://github.com/pybind/pybind11/pull/4483 >`_
42
79
80
+ * Skip lto checks and target generation when
81
+ ``CMAKE_INTERPROCEDURAL_OPTIMIZATION `` is defined.
82
+ `#4643 <https://github.com/pybind/pybind11/pull/4643 >`_
83
+
84
+ * No longer inject ``-stdlib=libc++ ``, not needed for modern Pythons
85
+ (macOS 10.9+).
86
+ `#4639 <https://github.com/pybind/pybind11/pull/4639 >`_
87
+
88
+
43
89
Version 2.10.4 (Mar 16, 2023)
44
- ----------------------------
90
+ -----------------------------
45
91
46
92
Changes:
47
93
0 commit comments