@@ -16,6 +16,125 @@ IN DEVELOPMENT
1616Changes will be summarized here periodically.
1717
1818
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+
19138Version 2.11.1 (July 17, 2023)
20139-----------------------------
21140
0 commit comments