Bug fixes:
- Fixed compilation error in
type_caster_enum_typewhen casting pointer-to-enum types. Added pointer overload to handle dereferencing before enum conversion. #5776 - Implement binary version of
make_index_sequenceto 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_MODULEcode 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_functionobjects 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
nullptrdereference 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_infotype checking in numpy docs. #5805 - Replace
robotpy-buildwithsemiwrapin the binding tool list. #5804 - Show nogil in most examples. #5770
- Fix
py::trampoline_self_life_supportvisibility in docs. #5766
Tests:
- Avoid a spurious warning about
DOWNLOAD_CATCHbeing 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