@@ -44,7 +44,8 @@ New Features:
4444
4545- Changed ` PYBIND11_MODULE ` macro implementation to perform multi-phase
4646 module initialization (PEP 489) behind the scenes.
47- [ #5574 ] ( https://github.com/pybind/pybind11/pull/5574 )
47+ [ #5574 ] ( https://github.com/pybind/pybind11/pull/5574 ) and avoid destruction
48+ [ #5688 ] ( https://github.com/pybind/pybind11/pull/5688 )
4849
4950- Support for sub-interpreters (both isolated (with separate GILs) and
5051 legacy (with a global GIL). Add the
@@ -54,15 +55,18 @@ New Features:
5455 indicate that a module supports running with sub-interpreters.
5556 [ #5564 ] ( https://github.com/pybind/pybind11/pull/5564 )
5657
58+ - Rename macro ` PYBIND11_SUBINTERPRETER_SUPPORT ` -> ` PYBIND11_HAS_SUBINTERPRETER_SUPPORT ` to meet naming convention.
59+ [ #5682 ] ( https://github.com/pybind/pybind11/pull/5682 )
60+
5761- Changed ` PYBIND11_EMBEDDED_MODULE ` macro implementation to perform
5862 multi-phase module initialization (PEP 489) behind the scenes and to
5963 support ` py::mod_gil_not_used() ` ,
6064 ` py::multiple_interpreters::per_interpreter_gil() ` and
6165 ` py::multiple_interpreters::shared_gil() ` .
6266 [ #5665 ] ( https://github.com/pybind/pybind11/pull/5665 ) and consolidate code
63- [ #5670 ] ( https://github.com/pybind/pybind11/pull/5670 )
67+ [ #5670 ] ( https://github.com/pybind/pybind11/pull/5670 ) .
6468
65- * Added API in ` pybind11/subinterpreter.h ` for embedding sub-intepreters (requires Python 3.12+).
69+ - Added API in ` pybind11/subinterpreter.h ` for embedding sub-intepreters (requires Python 3.12+).
6670 [ #5666 ] ( https://github.com/pybind/pybind11/pull/5666 )
6771
6872- ` py::native_enum ` was added, for conversions between Python's native
@@ -114,6 +118,9 @@ New Features:
114118 update example for ` pybind11::custom_type_setup ` in documentation.
115119 [ #5669 ] ( https://github.com/pybind/pybind11/pull/5669 )
116120
121+ * Added ` py::scoped_critical_section ` to support free-threaded mode.
122+ [ #5684 ] ( https://github.com/pybind/pybind11/pull/5684 )
123+
117124New Features / fixes (typing):
118125
119126- Added option for different arg/return type hints to ` type_caster ` .
@@ -217,7 +224,7 @@ Bug fixes:
217224 equivalent to ` :: ` in Python.
218225 [ #5620 ] ( https://github.com/pybind/pybind11/pull/5620 )
219226
220- Bug fixes (CMake):
227+ Bug fixes and features (CMake):
221228
222229- Enable FindPython mode by default, with a ` COMPAT ` mode that
223230 sets some of the old variables to ease transition.
@@ -239,6 +246,9 @@ Bug fixes (CMake):
239246- Restructure venv support to support ` --fresh ` , make in build folder.
240247 [ #5668 ] ( https://github.com/pybind/pybind11/pull/5668 )
241248
249+ * Presets now generate ` compile_commands.json ` .
250+ [ #5685 ] ( https://github.com/pybind/pybind11/pull/5685 )
251+
242252Bug fixes (free-threading):
243253
244254- Fix data race in free threaded CPython when accessing a shared static
@@ -261,15 +271,21 @@ Internals:
261271 that it can easily be reused.
262272 [ #5614 ] ( https://github.com/pybind/pybind11/pull/5614 )
263273
274+ * Use CPython macros to construct ` PYBIND11_VERSION_HEX ` .
275+ [ #5683 ] ( https://github.com/pybind/pybind11/pull/5683 )
276+
264277Documentation:
265278
266279- Improved ` reference_internal ` policy documentation.
267280 [ #5528 ] ( https://github.com/pybind/pybind11/pull/5528 )
281+
268282- A new "Double locking, deadlocking, GIL" document was added.
269283 [ #5394 ] ( https://github.com/pybind/pybind11/pull/5394 )
284+
270285- Adds an answer (FAQ) for "What is a highly conclusive and simple way
271286 to find memory leaks?".
272287 [ #5340 ] ( https://github.com/pybind/pybind11/pull/5340 )
288+
273289- Add documenting for free-threading and subinterpreters.
274290 [ #5659 ] ( https://github.com/pybind/pybind11/pull/5659 )
275291
@@ -293,27 +309,39 @@ Tests:
293309* Add nightly wheels to scientific-python's nightly wheelhouse.
294310 [ #5675 ] ( https://github.com/pybind/pybind11/pull/5675 )
295311
312+ * Expect free-threaded warning when loading a non-free-threaded module.
313+ [ #5680 ] ( https://github.com/pybind/pybind11/pull/5680 )
314+
296315New and removed platforms:
297316
298317- Support Python 3.14 (beta 1).
299318 [ #5646 ] ( https://github.com/pybind/pybind11/pull/5646 )
319+
300320- Added support for GraalPy Python implementation
301321 (< https://github.com/oracle/graalpython > ).
302322 [ #5380 ] ( https://github.com/pybind/pybind11/pull/5380 )
323+
303324- Support for PyPy 3.11 added.
304325 [ #5508 ] ( https://github.com/pybind/pybind11/pull/5508 )
326+
305327- Support for PyPy 3.8 and 3.9 was dropped.
306328 [ #5578 ] ( https://github.com/pybind/pybind11/pull/5578 )
329+
307330- Support for Python 3.7 was removed. (Official end-of-life:
308331 2023-06-27). [ #5191 ] ( https://github.com/pybind/pybind11/pull/5191 )
332+
309333- Support for CMake older than 3.15 removed. CMake 3.15-4.0 supported.
310- [ #5304 ] ( https://github.com/pybind/pybind11/pull/5304 )
334+ [ #5304 ] ( https://github.com/pybind/pybind11/pull/5304 ) and fix regression [ #5688 ] ( https://github.com/pybind/pybind11/pull/5688 ) .
335+
311336- Use scikit-build-core for the build backend for the PyPI ` pybind11 ` .
312337 The CMake generation has been moved to the sdist-\> wheel step.
313338 ` PYBIND11_GLOBAL_SDIST ` has been removed.
314339 [ #5598 ] ( https://github.com/pybind/pybind11/pull/5598 ) and updated
315340 docs/ci. [ #5676 ] ( https://github.com/pybind/pybind11/pull/5676 )
316341
342+ * clang 20 tested and used for clang-tidy.
343+ [ #5692 ] ( https://github.com/pybind/pybind11/pull/5692 )
344+
317345## Version 2.13.6 (September 13, 2024)
318346
319347New Features:
0 commit comments