github pybind/pybind11 v2.13.0
Version 2.13.0

latest releases: v2.13.6, v2.11.2, v2.12.1...
4 months ago

New Features:

  • Support free-threaded CPython (3.13t). Add py::mod_gil_not_used() tag to indicate if a module supports running with the GIL disabled. #5148
  • Support for Python 3.6 was removed. (Official end-of-life: 2021-12-23). #5177
  • py::list gained a .clear() method. #5153
  • Support for Union, Optional, type[T], typing.TypeGuard, typing.TypeIs, typing.Never, typing.NoReturn and typing.Literal was added to pybind11/typing.h. #5166 #5165 #5194 #5193 #5192
  • In CMake, if PYBIND11_USE_CROSSCOMPILING is enabled, then CMAKE_CROSSCOMPILING will be respected and will keep pybind11 from accessing the interpreter during configuration. Several CMake variables will be required in this case, but can be deduced from the environment variable SETUPTOOLS_EXT_SUFFIX. The default (currently OFF) may be changed in the future. #5083

Bug fixes:

  • A refcount bug (leading to heap-use-after-free) involving trampoline functions with PyObject * return type was fixed. #5156
  • Return py::ssize_t from .ref_count() instead of int. #5139
  • A subtle bug involving C++ types with unusual operator& overrides was fixed. #5189
  • Support Python 3.13 with minor fix, add to CI. #5127
  • Fix mistake affecting old cmake and old boost. #5149

Documentation:

  • Build docs updated to feature scikit-build-core and meson-python, and updated setuptools instructions. #5168

Tests:

  • Avoid immortal objects in tests. #5150

CI:

Other:

  • Some cleanup in preparation for 3.13 support. #5137
  • Avoid a warning by ensuring an iterator end check is included in release mode. #5129
  • Bump max cmake to 3.29. #5075
  • Update docs and noxfile. #5071

Don't miss a new pybind11 release

NewReleases is sending notifications on new releases.