There is a newer version of the record available.

Published December 28, 2021 | Version v2.9.0
Software Open

pybind/pybind11: Version 2.9.0

  • 1. EPFL
  • 2. Princeton University
  • 3. @lumicks
  • 4. Google
  • 5. Max Planck Institute for Psycholinguistics & Vrije Universiteit Brussel
  • 6. @facebookresearch
  • 7. LBNL, previously HZDR
  • 8. Toyota Research Institute
  • 9. QuantStack
  • 10. Georgia Tech
  • 11. Johns Hopkins University
  • 12. @4TelPtyLtd
  • 13. Virginia Tech/MolSSI
  • 14. Bielefeld University

Description

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
  • Add C++ Exception type to throw and catch AttributeError. Useful for defining custom __setattr__ and __getattr__ methods. #3387

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 regression in 2.8.0 that caused undefined behavior (typically segfaults) in make_key_iterator/make_value_iterator if dereferencing the iterator returned a temporary value instead of a reference. #3348
  • 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
  • Fix 2.8.0 regression with MSVC 2017 + C++17 mode + Python 3. #3407
  • Modernize usage of PyCodeObject on Python 3.9 (toward supporting Python 3.11a1) #3368
  • A long-standing bug in eigen.h was fixed (originally PR #3343). The bug was unmasked by newly added static_assert's in the Eigen 3.4.0 release. #3352
  • Replace usage of deprecated Eigen::MappedSparseMatrix with Eigen::Map<Eigen::SparseMatrix<...>> for Eigen 3.3+. #3499
  • Fixed the potential for dangling references when using properties with std::optional types. #3376
  • 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
  • Support multiple raw inclusion of CMake helper files (Conan.io does this for multi-config generators). #3420
  • Fix harmless warning on CMake 3.22. #3368
  • 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

Files

pybind/pybind11-v2.9.0.zip

Files (805.8 kB)

Name Size Download all
md5:855830beddcd40ab4760a58e7f9a1e34
805.8 kB Preview Download

Additional details

Related works