Bug fixes:
- Fixed compilation error in
type_caster_enum_type
when casting pointer-to-enum types. Added pointer overload to handle dereferencing before enum conversion. #5776 - Implement binary version of
make_index_sequence
to reduce template depth requirements for functions with many parameters. #5751 - Subinterpreter-specific exception handling code was removed to resolve segfaults. #5795
- Fixed issue that caused
PYBIND11_MODULE
code to run again if the module was re-imported after being deleted fromsys.modules
. #5782 - Prevent concurrent creation of sub-interpreters as a workaround for stdlib concurrency issues in Python 3.12. #5779
- Fixed potential crash when using
cpp_function
objects with sub-interpreters. #5771 - Fixed non-entrant check in
implicitly_convertible()
. #5777 - Support C++20 on platforms that have older c++ runtimes. #5761
- Fix compilation with clang on msys2. #5757
- Avoid
nullptr
dereference warning with GCC 13.3.0 and python 3.11.13. #5756 - Fix potential warning about number of threads being too large. #5807
- Fix gcc 11.4+ warning about serial compilation using CMake. #5791
Documentation:
- Improve
buffer_info
type checking in numpy docs. #5805 - Replace
robotpy-build
withsemiwrap
in the binding tool list. #5804 - Show nogil in most examples. #5770
- Fix
py::trampoline_self_life_support
visibility in docs. #5766
Tests:
- Avoid a spurious warning about
DOWNLOAD_CATCH
being manually specified. #5803 - Fix an IsolatedConfig test. #5768
CI:
- Add CI testing for Android. #5714
Internal:
- Rename internal variables to avoid the word
slots
(reads better). #5793