@@ -16,6 +16,125 @@ IN DEVELOPMENT
16
16
Changes will be summarized here periodically.
17
17
18
18
19
+ New Features:
20
+
21
+ * ``pybind11/gil_safe_call_once.h `` was added (it needs to be included explicitly). The primary use case is GIL-safe initialization of C++ ``static `` variables.
22
+ `#4877 <https://github.com/pybind/pybind11/pull/4877 >`_
23
+
24
+ * Support move-only iterators in ``py::make_iterator ``, ``py::make_key_iterator ``, ``py::make_value_iterator ``.
25
+ `#4834 <https://github.com/pybind/pybind11/pull/4834 >`_
26
+
27
+ * Two simple ``py::set_error() `` functions were added and the documentation was updated accordingly. In particular, ``py::exception<>::operator() `` was deprecated (use one of the new function instead). The
28
+ documentation for ``py::exception<> `` was further updated to not suggest code that may result in undefined behavior.
29
+ `#4772 <https://github.com/pybind/pybind11/pull/4772 >`_
30
+
31
+ Bug fixes:
32
+
33
+ * ``pybind11 `` now supports compiling for NumPy 2. The required changes are
34
+ small and should not matter to most projects. However, if you experience
35
+ issues you can use ``#define PYBIND11_NUMPY_1_ONLY `` to disable the new
36
+ support for now.
37
+ `#5050 <https://github.com/pybind/pybind11/pull/5050 >`_
38
+
39
+ * Removes potential for Undefined Behavior during process teardown.
40
+ `#4897 <https://github.com/pybind/pybind11/pull/4897 >`_
41
+
42
+ * Improve compatibility with the nvcc compiler (especially CUDA 12.1/12.2).
43
+ `#4893 <https://github.com/pybind/pybind11/pull/4893 >`_
44
+
45
+ * ``pybind11/numpy.h `` now imports NumPy's ``multiarray `` and ``_internal `` submodules with paths depending on the version of installed NumPy (handling change in NumPy 2.0).
46
+ `#4857 <https://github.com/pybind/pybind11/pull/4857 >`_
47
+
48
+ * Builtins collections names in docstrings are now consistently rendered in lowercase (list, set, dict, tuple), in accordance with PEP 585.
49
+ `#4833 <https://github.com/pybind/pybind11/pull/4833 >`_
50
+
51
+ * Added ``py::typing::Iterator<T> ``, ``py::typing::Iterable<T> ``.
52
+ `#4832 <https://github.com/pybind/pybind11/pull/4832 >`_
53
+
54
+ * Render ``py::function `` as ``Callable `` in docstring.
55
+ `#4829 <https://github.com/pybind/pybind11/pull/4829 >`_
56
+
57
+ * Also bump ``PYBIND11_INTERNALS_VERSION `` for MSVC, which unlocks two new features without creating additional incompatibilities.
58
+ `#4819 <https://github.com/pybind/pybind11/pull/4819 >`_
59
+
60
+ * Guard against crashes/corruptions caused by modules built with different MSVC versions.
61
+ `#4779 <https://github.com/pybind/pybind11/pull/4779 >`_
62
+
63
+ * A long-standing bug in the handling of Python multiple inheritance was fixed. See PR #4762 for the rather complex details.
64
+ `#4762 <https://github.com/pybind/pybind11/pull/4762 >`_
65
+
66
+ * Fix ``bind_map `` with ``using `` declarations.
67
+ `#4952 <https://github.com/pybind/pybind11/pull/4952 >`_
68
+
69
+
70
+ * Render typed iterators for ``make_iterator ``, ``make_key_iterator ``, ``make_value_iterator ``.
71
+ `#4876 <https://github.com/pybind/pybind11/pull/4876 >`_
72
+
73
+ * Change docstring render for ``py::buffer ``, ``py::sequence `` and ``py::handle `` (to ``Buffer ``, ``Sequence ``, ``Any ``).
74
+ `#4831 <https://github.com/pybind/pybind11/pull/4831 >`_
75
+
76
+ * Fixed ``base_enum.__str__ `` docstring.
77
+ `#4827 <https://github.com/pybind/pybind11/pull/4827 >`_
78
+
79
+ * Enforce single line docstring signatures.
80
+ `#4735 <https://github.com/pybind/pybind11/pull/4735 >`_
81
+
82
+ * Special 'typed' wrappers now available in typing.h to annotate tuple, dict, list, set, and function.
83
+ `#4259 <https://github.com/pybind/pybind11/pull/4259 >`_
84
+
85
+
86
+ * Fix FindPython mode exports & avoid ``pkg_resources `` if ``importlib.metadata `` available.
87
+ `#4941 <https://github.com/pybind/pybind11/pull/4941 >`_
88
+
89
+ * ``Python_ADDITIONAL_VERSIONS `` (classic search) now includes 3.12.
90
+ `#4909 <https://github.com/pybind/pybind11/pull/4909 >`_
91
+
92
+ * ``pybind11.pc `` is now relocatable by default as long as install destinations are not absolute paths.
93
+ `#4830 <https://github.com/pybind/pybind11/pull/4830 >`_
94
+
95
+ * Correctly detect CMake FindPython removal when used as a subdirectory.
96
+ `#4806 <https://github.com/pybind/pybind11/pull/4806 >`_
97
+
98
+ * Don't require the libs component on CMake 3.18+ when using PYBIND11_FINDPYTHON (fixes manylinux builds).
99
+ `#4805 <https://github.com/pybind/pybind11/pull/4805 >`_
100
+
101
+ * ``pybind11_strip `` is no longer automatically applied when ``CMAKE_BUILD_TYPE `` is unset.
102
+ `#4780 <https://github.com/pybind/pybind11/pull/4780 >`_
103
+
104
+ * Support DEBUG_POSFIX correctly for debug builds.
105
+ `#4761 <https://github.com/pybind/pybind11/pull/4761 >`_
106
+
107
+ * Hardcode lto/thin lto for Emscripten cross-compiles.
108
+ `#4642 <https://github.com/pybind/pybind11/pull/4642 >`_
109
+
110
+ Documentation:
111
+
112
+ * Small fix to grammar in functions.rst.
113
+ `#4791 <https://github.com/pybind/pybind11/pull/4791 >`_
114
+
115
+ * Remove upper bound in example pyproject.toml for setuptools.
116
+ `#4774 <https://github.com/pybind/pybind11/pull/4774 >`_
117
+
118
+ CI:
119
+
120
+ * CI: Update NVHPC to 23.5 and Ubuntu 20.04.
121
+ `#4764 <https://github.com/pybind/pybind11/pull/4764 >`_
122
+
123
+ * Test on PyPy 3.10.
124
+ `#4714 <https://github.com/pybind/pybind11/pull/4714 >`_
125
+
126
+ Other:
127
+
128
+ * Use new PyCode API on Python 3.12+.
129
+ `#4916 <https://github.com/pybind/pybind11/pull/4916 >`_
130
+
131
+ * Use Ruff formatter instead of Black.
132
+ `#4912 <https://github.com/pybind/pybind11/pull/4912 >`_
133
+
134
+ * An ``assert() `` was added to help Coverty avoid generating a false positive.
135
+ `#4817 <https://github.com/pybind/pybind11/pull/4817 >`_
136
+
137
+
19
138
Version 2.11.1 (July 17, 2023)
20
139
-----------------------------
21
140
0 commit comments