@@ -15,6 +15,100 @@ IN DEVELOPMENT
15
15
16
16
Changes will be summarized here periodically.
17
17
18
+ Version 2.13.0 (June 25, 2024)
19
+ ------------------------------
20
+
21
+ New Features:
22
+
23
+ * Support free-threaded CPython (3.13t). Add ``py::mod_gil_not_used() `` tag to
24
+ indicate if a module supports running with the GIL disabled.
25
+ `#5148 <https://github.com/pybind/pybind11/pull/5148 >`_
26
+
27
+ * Support for Python 3.6 was removed. (Official end-of-life: 2021-12-23).
28
+ `#5177 <https://github.com/pybind/pybind11/pull/5177 >`_
29
+
30
+ * ``py::list `` gained a ``.clear() `` method.
31
+ `#5153 <https://github.com/pybind/pybind11/pull/5153 >`_
32
+
33
+
34
+ .. feat(types)
35
+
36
+ * Support for ``type[T] `` was added to pybind11/typing.h.
37
+ `#5166 <https://github.com/pybind/pybind11/pull/5166 >`_
38
+
39
+ * ``Union `` and ``Optional `` were added to ``pybind11/typing.h ``.
40
+ `#5165 <https://github.com/pybind/pybind11/pull/5165 >`_
41
+
42
+ .. feat(cmake)
43
+
44
+ * In CMake, if ``PYBIND11_USE_CROSSCOMPILING `` is enabled, then
45
+ ``CMAKE_CROSSCOMPILING `` will be respected and will keep pybind11 from
46
+ accessing the interpreter during configuration. Several CMake variables will
47
+ be required in this case, but can be deduced from the environment variable
48
+ ``SETUPTOOLS_EXT_SUFFIX ``. The default (currently ``OFF ``) may be changed in
49
+ the future.
50
+ `#5083 <https://github.com/pybind/pybind11/pull/5083 >`_
51
+
52
+
53
+ Bug fixes:
54
+
55
+ * A refcount bug (leading to heap-use-after-free) involving trampoline
56
+ functions with ``PyObject * `` return type was fixed.
57
+ `#5156 <https://github.com/pybind/pybind11/pull/5156 >`_
58
+
59
+ * Return ``py::ssize_t `` from ``.ref_count() `` instead of ``int ``.
60
+ `#5139 <https://github.com/pybind/pybind11/pull/5139 >`_
61
+
62
+ * A subtle bug involving C++ types with unusual ``operator& `` overrides
63
+ was fixed.
64
+ `#5189 <https://github.com/pybind/pybind11/pull/5189 >`_
65
+
66
+ * Support Python 3.13 with minor fix, add to CI.
67
+ `#5127 <https://github.com/pybind/pybind11/pull/5127 >`_
68
+
69
+
70
+ .. fix(cmake)
71
+
72
+ * Fix mistake affecting old cmake and old boost.
73
+ `#5149 <https://github.com/pybind/pybind11/pull/5149 >`_
74
+
75
+
76
+ Documentation:
77
+
78
+ * Build docs updated to feature scikit-build-core and meson-python, and updated
79
+ setuptools instructions.
80
+ `#5168 <https://github.com/pybind/pybind11/pull/5168 >`_
81
+
82
+
83
+ Tests:
84
+
85
+ * Avoid immortal objects in tests.
86
+ `#5150 <https://github.com/pybind/pybind11/pull/5150 >`_
87
+
88
+
89
+ CI:
90
+
91
+ * Compile against Python 3.13t in CI.
92
+
93
+ * Use ``macos-13 `` (Intel) for CI jobs for now (will drop Python 3.7 soon).
94
+ `#5109 <https://github.com/pybind/pybind11/pull/5109 >`_
95
+
96
+
97
+ Other:
98
+
99
+ * Some cleanup in preparation for 3.13 support.
100
+ `#5137 <https://github.com/pybind/pybind11/pull/5137 >`_
101
+
102
+ * Avoid a warning by ensuring an iterator end check is included in release mode.
103
+ `#5129 <https://github.com/pybind/pybind11/pull/5129 >`_
104
+
105
+ * Bump max cmake to 3.29.
106
+ `#5075 <https://github.com/pybind/pybind11/pull/5075 >`_
107
+
108
+ * Update docs and noxfile.
109
+ `#5071 <https://github.com/pybind/pybind11/pull/5071 >`_
110
+
111
+
18
112
Version 2.12.0 (March 27, 2024)
19
113
-------------------------------
20
114
0 commit comments