@@ -42,6 +42,18 @@ New Features:
42
42
trampoline objects, and ` std::enable_shared_from_this ` .
43
43
[ #5542 ] ( https://github.com/pybind/pybind11/pull/5542 )
44
44
45
+ - Added support for ` std::shared_ptr<const T> ` in ` py::init() ` when using
46
+ ` py::smart_holder ` , complementing existing support for
47
+ ` std::unique_ptr<const T> ` .
48
+ [ #5731 ] ( https://github.com/pybind/pybind11/pull/5731 )
49
+
50
+ - Support const-only smart pointers.
51
+ [ #5718 ] ( https://github.com/pybind/pybind11/pull/5718 )
52
+
53
+ - Eliminate cross-DSO RTTI reliance from ` trampoline_self_life_support ` functionality, ` smart_holder ` deleter detection, and other
54
+ ` smart_holder ` bookkeeping. Resolves platform-specific issues on macOS related to cross-DSO ` dynamic_cast ` and ` typeid ` mismatches.
55
+ [ #5728 ] ( https://github.com/pybind/pybind11/pull/5728 ) (replaces [ #5700 ] ( https://github.com/pybind/pybind11/pull/5700 ) )
56
+
45
57
- Changed ` PYBIND11_MODULE ` macro implementation to perform multi-phase
46
58
module initialization (PEP 489) behind the scenes.
47
59
[ #5574 ] ( https://github.com/pybind/pybind11/pull/5574 ) and avoid destruction
@@ -64,6 +76,9 @@ New Features:
64
76
- Modify internals pointer-to-pointer implementation to not use ` thread_local ` (better iOS support).
65
77
[ #5709 ] ( https://github.com/pybind/pybind11/pull/5709 )
66
78
79
+ - Support implementations without subinterpreter support.
80
+ [ #5732 ] ( https://github.com/pybind/pybind11/pull/5732 )
81
+
67
82
- Changed ` PYBIND11_EMBEDDED_MODULE ` macro implementation to perform
68
83
multi-phase module initialization (PEP 489) behind the scenes and to
69
84
support ` py::mod_gil_not_used() ` ,
@@ -85,6 +100,9 @@ New Features:
85
100
- Fix signature for functions with a ` native_enum ` in the signature.
86
101
[ #5619 ] ( https://github.com/pybind/pybind11/pull/5619 )
87
102
103
+ - Support ` py::numpy_scalar<> ` / ` py::make_scalar() ` for NumPy types.
104
+ [ #5726 ] ( https://github.com/pybind/pybind11/pull/5726 )
105
+
88
106
- A ` py::release_gil_before_calling_cpp_dtor ` option (for ` py::class_ ` )
89
107
was added to resolve the long-standing issue \# 1446.
90
108
[ #5522 ] ( https://github.com/pybind/pybind11/pull/5522 )
@@ -124,7 +142,7 @@ New Features:
124
142
update example for ` pybind11::custom_type_setup ` in documentation.
125
143
[ #5669 ] ( https://github.com/pybind/pybind11/pull/5669 )
126
144
127
- * Added ` py::scoped_critical_section ` to support free-threaded mode.
145
+ - Added ` py::scoped_critical_section ` to support free-threaded mode.
128
146
[ #5684 ] ( https://github.com/pybind/pybind11/pull/5684 ) \|
129
147
[ #5706 ] ( https://github.com/pybind/pybind11/pull/5706 )
130
148
@@ -216,12 +234,6 @@ Bug fixes:
216
234
[ #5381 ] ( https://github.com/pybind/pybind11/pull/5381 )
217
235
- Disable false-positive GCC 12 Bound Check warning.
218
236
[ #5355 ] ( https://github.com/pybind/pybind11/pull/5355 )
219
- - fix: using ` __cpp_nontype_template_args ` instead of
220
- ` __cpp_nontype_template_parameter_class ` .
221
- [ #5330 ] ( https://github.com/pybind/pybind11/pull/5330 )
222
- - Properly translate C++ exception to Python exception when creating
223
- Python buffer from wrapped object.
224
- [ #5324 ] ( https://github.com/pybind/pybind11/pull/5324 )
225
237
- Update the dict when restoring pickles, instead of assigning a
226
238
replacement dict.
227
239
[ #5658 ] ( https://github.com/pybind/pybind11/pull/5658 )
@@ -232,8 +244,6 @@ Bug fixes:
232
244
- Change the behavior of the default constructor of ` py::slice ` to be
233
245
equivalent to ` :: ` in Python.
234
246
[ #5620 ] ( https://github.com/pybind/pybind11/pull/5620 )
235
- - Expose required symbol when using clang.
236
- [ #5700 ] ( https://github.com/pybind/pybind11/pull/5700 )
237
247
238
248
Bug fixes and features (CMake):
239
249
@@ -254,10 +264,9 @@ Bug fixes and features (CMake):
254
264
- Add support for running pybind11's tests via presets in CMake 3.25+.
255
265
[ #5655 ] ( https://github.com/pybind/pybind11/pull/5655 ) and support ` --fresh ` .
256
266
[ #5668 ] ( https://github.com/pybind/pybind11/pull/5668 )
257
- - Restructure venv support to support ` --fresh ` , make in build folder.
258
- [ #5668 ] ( https://github.com/pybind/pybind11/pull/5668 )
259
-
260
- * Presets now generate ` compile_commands.json ` .
267
+ - Experimental CMake support for Android.
268
+ [ #5733 ] ( https://github.com/pybind/pybind11/pull/5733 )
269
+ - Presets now generate ` compile_commands.json ` .
261
270
[ #5685 ] ( https://github.com/pybind/pybind11/pull/5685 )
262
271
263
272
Bug fixes (free-threading):
@@ -282,7 +291,7 @@ Internals:
282
291
that it can easily be reused.
283
292
[ #5614 ] ( https://github.com/pybind/pybind11/pull/5614 )
284
293
285
- * Use CPython macros to construct ` PYBIND11_VERSION_HEX ` .
294
+ - Use CPython macros to construct ` PYBIND11_VERSION_HEX ` .
286
295
[ #5683 ] ( https://github.com/pybind/pybind11/pull/5683 )
287
296
288
297
Documentation:
@@ -293,10 +302,6 @@ Documentation:
293
302
- A new "Double locking, deadlocking, GIL" document was added.
294
303
[ #5394 ] ( https://github.com/pybind/pybind11/pull/5394 )
295
304
296
- - Adds an answer (FAQ) for "What is a highly conclusive and simple way
297
- to find memory leaks?".
298
- [ #5340 ] ( https://github.com/pybind/pybind11/pull/5340 )
299
-
300
305
- Add documenting for free-threading and subinterpreters.
301
306
[ #5659 ] ( https://github.com/pybind/pybind11/pull/5659 )
302
307
@@ -309,20 +314,20 @@ Tests:
309
314
compiling using ` clang ` on Linux with the ` -funsigned-char ` flag.
310
315
[ #5545 ] ( https://github.com/pybind/pybind11/pull/5545 )
311
316
312
- - Test PyPy3.11 in CI.
313
- [ #5534 ] ( https://github.com/pybind/pybind11/pull/5534 )
314
-
315
317
- CI testing now includes
316
318
` -Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls `
317
319
in some jobs.
318
320
[ #5523 ] ( https://github.com/pybind/pybind11/pull/5523 )
319
321
320
- * Add nightly wheels to scientific-python's nightly wheelhouse.
322
+ - Add nightly wheels to scientific-python's nightly wheelhouse.
321
323
[ #5675 ] ( https://github.com/pybind/pybind11/pull/5675 )
322
324
323
- * Expect free-threaded warning when loading a non-free-threaded module.
325
+ - Expect free-threaded warning when loading a non-free-threaded module.
324
326
[ #5680 ] ( https://github.com/pybind/pybind11/pull/5680 )
325
327
328
+ - Run pytest under Python devmode.
329
+ [ #5715 ] ( https://github.com/pybind/pybind11/pull/5715 )
330
+
326
331
New and removed platforms:
327
332
328
333
- Support Python 3.14 (beta 1+).
@@ -337,15 +342,18 @@ New and removed platforms:
337
342
338
343
- Support for PyPy 3.11 added.
339
344
[ #5508 ] ( https://github.com/pybind/pybind11/pull/5508 )
345
+ And test in ci.
346
+ [ #5534 ] ( https://github.com/pybind/pybind11/pull/5534 )
340
347
341
348
- Support for PyPy 3.8 and 3.9 was dropped.
342
349
[ #5578 ] ( https://github.com/pybind/pybind11/pull/5578 )
343
350
344
351
- Support for Python 3.7 was removed. (Official end-of-life:
345
- 2023-06-27). [ #5191 ] ( https://github.com/pybind/pybind11/pull/5191 )
352
+ 2023-06-27).
353
+ [ #5191 ] ( https://github.com/pybind/pybind11/pull/5191 )
346
354
347
355
- Support for CMake older than 3.15 removed. CMake 3.15-4.0 supported.
348
- [ #5304 ] ( https://github.com/pybind/pybind11/pull/5304 ) and fix regression [ #5688 ] ( https://github.com/pybind/pybind11/pull/5688 ) .
356
+ [ #5304 ] ( https://github.com/pybind/pybind11/pull/5304 ) and fix regression [ #5691 ] ( https://github.com/pybind/pybind11/pull/5691 ) .
349
357
350
358
- Use scikit-build-core for the build backend for the PyPI ` pybind11 ` .
351
359
The CMake generation has been moved to the sdist-\> wheel step.
@@ -362,7 +370,6 @@ New and removed platforms:
362
370
- Support Windows C++20 and Linux C++23 in tests.
363
371
[ #5707 ] ( https://github.com/pybind/pybind11/pull/5707 )
364
372
365
-
366
373
## Version 2.13.6 (September 13, 2024)
367
374
368
375
New Features:
0 commit comments