@@ -10,15 +10,21 @@ Changes will be added here periodically from the "Suggested changelog entry"
10
10
block in pull request descriptions.
11
11
12
12
13
- Version 2.11.0 (June 2, 2023)
13
+ IN DEVELOPMENT
14
+ --------------
15
+
16
+ Changes will be summarized here periodically.
17
+
18
+
19
+ Version 2.11.0 (July 14, 2023)
14
20
-----------------------------
15
21
16
22
New features:
17
23
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 ``.
24
+ * The newly added ``pybind11::detail::is_move_constructible `` trait can be
25
+ specialized for cases in which ``std::is_move_constructible `` does not work
26
+ as needed. This is very similar to the long-established
27
+ ``pybind11::detail::is_copy_constructible ``.
22
28
`#4631 <https://github.com/pybind/pybind11/pull/4631 >`_
23
29
24
30
* Introduce ``recursive_container_traits ``.
@@ -30,6 +36,19 @@ New features:
30
36
with ``pybind/pybind11.h ``).
31
37
`#4601 <https://github.com/pybind/pybind11/pull/4601 >`_
32
38
39
+ * ``format_descriptor<> `` & ``npy_format_descriptor<> `` ``PyObject * ``
40
+ specializations were added. The latter enables ``py::array_t<PyObject *> ``
41
+ to/from-python conversions.
42
+ `#4674 <https://github.com/pybind/pybind11/pull/4674 >`_
43
+
44
+ * ``buffer_info `` gained an ``item_type_is_equivalent_to<T>() `` member
45
+ function.
46
+ `#4674 <https://github.com/pybind/pybind11/pull/4674 >`_
47
+
48
+ * The ``capsule `` API gained a user-friendly constructor
49
+ (``py::capsule(ptr, "name", dtor) ``).
50
+ `#4720 <https://github.com/pybind/pybind11/pull/4720 >`_
51
+
33
52
Changes:
34
53
35
54
* ``PyGILState_Check() ``'s in ``pybind11::handle ``'s ``inc_ref() `` &
@@ -46,6 +65,12 @@ Changes:
46
65
sizes slightly (~1.5%) but the error messages are much more informative.
47
66
`#4463 <https://github.com/pybind/pybind11/pull/4463 >`_
48
67
68
+ * The docstring generation for the ``std::array ``-list caster was fixed.
69
+ Previously, signatures included the size of the list in a non-standard,
70
+ non-spec compliant way. The new format conforms to PEP 593.
71
+ **Tooling for processing the docstrings may need to be updated accordingly. **
72
+ `#4679 <https://github.com/pybind/pybind11/pull/4679 >`_
73
+
49
74
* Setter return values (which are inaccessible for all practical purposes) are
50
75
no longer converted to Python (only to be discarded).
51
76
`#4621 <https://github.com/pybind/pybind11/pull/4621 >`_
@@ -58,7 +83,7 @@ Changes:
58
83
signatures on C++17 and higher.
59
84
`#4587 <https://github.com/pybind/pybind11/pull/4587 >`_
60
85
61
- * Compatibility with Python 3.12 (alpha ). Note that the minimum pybind11
86
+ * Compatibility with Python 3.12 (beta ). Note that the minimum pybind11
62
87
ABI version for Python 3.12 is version 5. (The default ABI version
63
88
for Python versions up to and including 3.11 is still version 4.).
64
89
`#4570 <https://github.com/pybind/pybind11/pull/4570 >`_
@@ -69,22 +94,36 @@ Changes:
69
94
types defined in the unnamed namespace.
70
95
`#4319 <https://github.com/pybind/pybind11/pull/4319 >`_
71
96
97
+ * Python exception ``__notes__ `` (introduced with Python 3.11) are now added to
98
+ the ``error_already_set::what() `` output.
99
+ `#4678 <https://github.com/pybind/pybind11/pull/4678 >`_
100
+
72
101
Build system improvements:
73
102
103
+ * CMake 3.27 support was added, CMake 3.4 support was dropped.
104
+ FindPython will be used if ``FindPythonInterp `` is not present.
105
+ `#4719 <https://github.com/pybind/pybind11/pull/4719 >`_
106
+
74
107
* Update clang-tidy to 15 in CI.
75
108
`#4387 <https://github.com/pybind/pybind11/pull/4387 >`_
76
109
77
110
* Moved the linting framework over to Ruff.
78
111
`#4483 <https://github.com/pybind/pybind11/pull/4483 >`_
79
112
80
- * Skip lto checks and target generation when
113
+ * Skip `` lto `` checks and target generation when
81
114
``CMAKE_INTERPROCEDURAL_OPTIMIZATION `` is defined.
82
115
`#4643 <https://github.com/pybind/pybind11/pull/4643 >`_
83
116
84
117
* No longer inject ``-stdlib=libc++ ``, not needed for modern Pythons
85
118
(macOS 10.9+).
86
119
`#4639 <https://github.com/pybind/pybind11/pull/4639 >`_
87
120
121
+ * PyPy 3.10 support was added, PyPy 3.7 support was dropped.
122
+ `#4728 <https://github.com/pybind/pybind11/pull/4728 >`_
123
+
124
+ * Testing with Python 3.12 beta releases was added.
125
+ `#4713 <https://github.com/pybind/pybind11/pull/4713 >`_
126
+
88
127
89
128
Version 2.10.4 (Mar 16, 2023)
90
129
-----------------------------
0 commit comments