Version 2.9.0
This is the last version to support Python 2.7 and 3.5.
New Features:
- Allow
py::argsto be followed by other arguments; the remaining arguments are implicitly keyword-only, as if apy::kw_only{}annotation had been used. #3402
Changes:
- Make str/bytes/memoryview more interoperable with
std::string_view. #3521 - Replace
_withconst_namein internals, avoid definingpybind::_if_defined as macro (common gettext usage) #3423
Bug fixes:
- Fix a rare warning about extra copy in an Eigen constructor. #3486
- Fix caching of the C++ overrides. #3465
- Add missing
std::forwardcalls to somecpp_functionoverloads. #3443 - Support PyPy 7.3.7 and the PyPy3.8 beta. Test python-3.11 on PRs with the
python devlabel. #3419 - Replace usage of deprecated
Eigen::MappedSparseMatrixwithEigen::Map<Eigen::SparseMatrix<...>>for Eigen 3.3+. #3499 - Tweaks to support Microsoft Visual Studio 2022. #3497
Build system improvements:
- Nicer CMake printout and IDE organisation for pybind11's own tests. #3479
- CMake: report version type as part of the version string to avoid a spurious space in the package status message. #3472
- Flags starting with
-gin$CFLAGSand$CPPFLAGSare no longer overridden by.Pybind11Extension. #3436 - Ensure ThreadPool is closed in
setup_helpers. #3548 - Avoid LTS on
mips64andppc64le(reported broken). #3557