Skip to content

Version 2.9.0

Compare
Choose a tag to compare
@henryiii henryiii released this 28 Dec 16:53
· 495 commits to master since this release
v2.9.0
45f792e

This is the last version to support Python 2.7 and 3.5.

New Features:

  • Allow py::args to be followed by other arguments; the remaining arguments are implicitly keyword-only, as if a py::kw_only{} annotation had been used. #3402

Changes:

  • Make str/bytes/memoryview more interoperable with std::string_view. #3521
  • Replace _ with const_name in internals, avoid defining pybind::_ 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::forward calls to some cpp_function overloads. #3443
  • Support PyPy 7.3.7 and the PyPy3.8 beta. Test python-3.11 on PRs with the python dev label. #3419
  • Replace usage of deprecated Eigen::MappedSparseMatrix with Eigen::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 -g in $CFLAGS and $CPPFLAGS are no longer overridden by .Pybind11Extension. #3436
  • Ensure ThreadPool is closed in setup_helpers. #3548
  • Avoid LTS on mips64 and ppc64le (reported broken). #3557