@@ -15,6 +15,107 @@ 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 ``Union ``, ``Optional ``, ``type[T] ``, ``typing.TypeGuard ``,
37
+ ``typing.TypeIs ``, ``typing.Never ``, ``typing.NoReturn `` and
38
+ ``typing.Literal `` was added to ``pybind11/typing.h ``.
39
+ `#5166 <https://github.com/pybind/pybind11/pull/5166 >`_
40
+ `#5165 <https://github.com/pybind/pybind11/pull/5165 >`_
41
+ `#5194 <https://github.com/pybind/pybind11/pull/5194 >`_
42
+ `#5193 <https://github.com/pybind/pybind11/pull/5193 >`_
43
+ `#5192 <https://github.com/pybind/pybind11/pull/5192 >`_
44
+
45
+
46
+ .. feat(cmake)
47
+
48
+ * In CMake, if ``PYBIND11_USE_CROSSCOMPILING `` is enabled, then
49
+ ``CMAKE_CROSSCOMPILING `` will be respected and will keep pybind11 from
50
+ accessing the interpreter during configuration. Several CMake variables will
51
+ be required in this case, but can be deduced from the environment variable
52
+ ``SETUPTOOLS_EXT_SUFFIX ``. The default (currently ``OFF ``) may be changed in
53
+ the future.
54
+ `#5083 <https://github.com/pybind/pybind11/pull/5083 >`_
55
+
56
+
57
+ Bug fixes:
58
+
59
+ * A refcount bug (leading to heap-use-after-free) involving trampoline
60
+ functions with ``PyObject * `` return type was fixed.
61
+ `#5156 <https://github.com/pybind/pybind11/pull/5156 >`_
62
+
63
+ * Return ``py::ssize_t `` from ``.ref_count() `` instead of ``int ``.
64
+ `#5139 <https://github.com/pybind/pybind11/pull/5139 >`_
65
+
66
+ * A subtle bug involving C++ types with unusual ``operator& `` overrides
67
+ was fixed.
68
+ `#5189 <https://github.com/pybind/pybind11/pull/5189 >`_
69
+
70
+ * Support Python 3.13 with minor fix, add to CI.
71
+ `#5127 <https://github.com/pybind/pybind11/pull/5127 >`_
72
+
73
+
74
+ .. fix(cmake)
75
+
76
+ * Fix mistake affecting old cmake and old boost.
77
+ `#5149 <https://github.com/pybind/pybind11/pull/5149 >`_
78
+
79
+
80
+ Documentation:
81
+
82
+ * Build docs updated to feature scikit-build-core and meson-python, and updated
83
+ setuptools instructions.
84
+ `#5168 <https://github.com/pybind/pybind11/pull/5168 >`_
85
+
86
+
87
+ Tests:
88
+
89
+ * Avoid immortal objects in tests.
90
+ `#5150 <https://github.com/pybind/pybind11/pull/5150 >`_
91
+
92
+
93
+ CI:
94
+
95
+ * Compile against Python 3.13t in CI.
96
+
97
+ * Use ``macos-13 `` (Intel) for CI jobs for now (will drop Python 3.7 soon).
98
+ `#5109 <https://github.com/pybind/pybind11/pull/5109 >`_
99
+
100
+ * Releases now have artifact attestations, visible at
101
+ https://github.com/pybind/pybind11/attestations.
102
+ `#5196 <https://github.com/pybind/pybind11/pull/5196 >`_
103
+
104
+ Other:
105
+
106
+ * Some cleanup in preparation for 3.13 support.
107
+ `#5137 <https://github.com/pybind/pybind11/pull/5137 >`_
108
+
109
+ * Avoid a warning by ensuring an iterator end check is included in release mode.
110
+ `#5129 <https://github.com/pybind/pybind11/pull/5129 >`_
111
+
112
+ * Bump max cmake to 3.29.
113
+ `#5075 <https://github.com/pybind/pybind11/pull/5075 >`_
114
+
115
+ * Update docs and noxfile.
116
+ `#5071 <https://github.com/pybind/pybind11/pull/5071 >`_
117
+
118
+
18
119
Version 2.12.0 (March 27, 2024)
19
120
-------------------------------
20
121
0 commit comments