@@ -16,6 +16,107 @@ IN DEVELOPMENT
16
16
17
17
Changes will be summarized here periodically.
18
18
19
+ Version 2.10.1 (Oct 2?, 2022)
20
+ -----------------------------
21
+
22
+
23
+ Changes:
24
+
25
+
26
+ * Allow ``pybind11::capsule `` constructor to take null destructor pointers.
27
+ `#4221 <https://github.com/pybind/pybind11/pull/4221 >`_
28
+
29
+ * ``embed.h `` was changed so that ``PYTHONPATH `` is used also with Python 3.11
30
+ (established behavior).
31
+ `#4119 <https://github.com/pybind/pybind11/pull/4119 >`_
32
+
33
+ Bug fixes:
34
+
35
+ * Fix MSVC 2019 v.1924 & C++14 mode error for ``overload_cast ``.
36
+ `#4188 <https://github.com/pybind/pybind11/pull/4188 >`_
37
+
38
+ * Make augmented assignment operators non-const for the object-api. Behavior
39
+ was previously broken for augmented assignment operators.
40
+ `#4065 <https://github.com/pybind/pybind11/pull/4065 >`_
41
+
42
+ * Add proper error checking to C++ bindings for Python list append and insert.
43
+ `#4208 <https://github.com/pybind/pybind11/pull/4208 >`_
44
+
45
+ * Work-around for Nvidia's CUDA nvcc compiler in versions 11.4.0 - 11.8.0.
46
+ `#4220 <https://github.com/pybind/pybind11/pull/4220 >`_
47
+
48
+ * A workaround for PyPy was added in the ``py::error_already_set ``
49
+ implementation, related to PR `#1895 <https://github.com/pybind/pybind11/pull/1895 >`_
50
+ released with v2.10.0.
51
+ `#4079 <https://github.com/pybind/pybind11/pull/4079 >`_
52
+
53
+ * Fixed compiler errors when C++23 ``std::forward_like `` is available.
54
+ `#4136 <https://github.com/pybind/pybind11/pull/4136 >`_
55
+
56
+ * Properly raise exceptions in contains methods (like when an object in unhashable).
57
+ `#4209 <https://github.com/pybind/pybind11/pull/4209 >`_
58
+
59
+ * Further improve another error in exception handling.
60
+ `#4232 <https://github.com/pybind/pybind11/pull/4232 >`_
61
+
62
+ * ``get_local_internals() `` was made compatible with
63
+ ``finalize_interpreter() ``, fixing potential freezes during interpreter
64
+ finalization.
65
+ `#4192 <https://github.com/pybind/pybind11/pull/4192 >`_
66
+
67
+
68
+ Performance and style:
69
+
70
+ * Reserve space in set and STL map casters if possible. This will prevent
71
+ unnecessary rehashing / resizing by knowing the number of keys ahead of time
72
+ for Python to C++ casting. This improvement will greatly speed up the casting
73
+ of large unordered maps and sets.
74
+ `#4194 <https://github.com/pybind/pybind11/pull/4194 >`_
75
+
76
+ * GIL RAII scopes are non-copyable to avoid potential bugs.
77
+ `#4183 <https://github.com/pybind/pybind11/pull/4183 >`_
78
+
79
+ * Explicitly default all relevant ctors for pytypes in the ``PYBIND11_OBJECT ``
80
+ macros and enforce the clang-tidy checks ``modernize-use-equals-default `` in
81
+ macros as well.
82
+ `#4017 <https://github.com/pybind/pybind11/pull/4017 >`_
83
+
84
+ * Optimize iterator advancement in C++ bindings.
85
+ `#4237 <https://github.com/pybind/pybind11/pull/4237 >`_
86
+
87
+ * Use the modern ``PyObject_GenericGetDict `` and ``PyObject_GenericSetDict ``
88
+ for handling dynamic attribute dictionaries.
89
+ `#4106 <https://github.com/pybind/pybind11/pull/4106 >`_
90
+
91
+ * Document that users should use ``PYBIND11_NAMESPACE `` instead of using ``pybind11 `` when
92
+ opening namespaces. Using namespace declarations and namespace qualification
93
+ remain the same as ``pybind11 ``. This is done to ensure consistent symbol
94
+ visibility.
95
+ `#4098 <https://github.com/pybind/pybind11/pull/4098 >`_
96
+
97
+ * Mark ``detail::forward_like `` as constexpr.
98
+ `#4147 <https://github.com/pybind/pybind11/pull/4147 >`_
99
+
100
+ * Optimize unpacking_collector when processing ``arg_v `` arguments.
101
+ `#4219 <https://github.com/pybind/pybind11/pull/4219 >`_
102
+
103
+
104
+ Build system improvements:
105
+
106
+ * Experimental support for ``cmake.modules `` entrypoint.
107
+ `#4258 <https://github.com/pybind/pybind11/pull/4258 >`_
108
+
109
+ * Include a pkg-config file when installing pybind11, such as in the Python
110
+ package.
111
+ `#4077 <https://github.com/pybind/pybind11/pull/4077 >`_
112
+
113
+ * Avoid stripping debug symbols when ``CMAKE_BUILD_TYPE `` is set to ``DEBUG ``
114
+ instead of ``Debug ``.
115
+ `#4078 <https://github.com/pybind/pybind11/pull/4078 >`_
116
+
117
+ * Followup to `#3948 <https://github.com/pybind/pybind11/pull/3948 >`_, fixing vcpkg again.
118
+ `#4123 <https://github.com/pybind/pybind11/pull/4123 >`_
119
+
19
120
Version 2.10.0 (Jul 15, 2022)
20
121
-----------------------------
21
122
0 commit comments