Version 2.10.0 #4070
henryiii
announced in
Announcements
Version 2.10.0
#4070
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Removed support for Python 2.7, Python 3.5, and MSVC 2015. Support for MSVC 2017 is limited due to availability of CI runners; we highly recommend MSVC 2019 or 2022 be used. Initial support added for Python 3.11.
New features:
py::anyset&py::frozensetwere added, with copying (cast) tostd::set(similar toset). #3901type_caster<std::monostate>was added.std::monostateis a tag type that allowsstd::variantto act as an optional, or allows default construction of astd::variantholding a non-default constructible type. #3818pybind11::capsule::set_nameadded to mutate the name of the capsule instance. #3866dtype.num,dtype.byteorder,dtype.flagsanddtype.alignmentadded. #3868Changes:
error_already_setis now safer and more performant, especially for exceptions with long tracebacks, by delaying computation. #1895strbindings. #3826PYBIND11_OBJECT_CVTandPYBIND11_OBJECT_CVT_DEFAULTmacro can now be used to define classes in namespaces other than pybind11. #3797PYBIND11_DETAILED_ERROR_MESSAGESinstead of requiringNDEBUG, allowing use with release builds if desired. #39130topybind11::handleis now disabled. #4008Bug fixes:
pybind11::weakref()fails. #3739module_::def_submodulewas missing proper error handling. This is fixed now. #3973error_already_setwas made safer and the highly opaque "Unknown internal error occurred" message was replaced with a more helpful message. #3982error_already_set::what()now handles non-normalized exceptions correctly. #3971std::experimental::filesystem. #3840-Wfree-nonheap-objectwarnings produced by GCC by avoiding returning pointers to static objects withreturn_value_policy::take_ownership. #3946PYBIND11_NAMESPACE__attribute__((visibility("hidden")))inconsistencies are now fixed (affects only unusual environments). #4043pybind11::detail::get_internals()is now resilient to in-flight Python exceptions. #3981Performance and style:
(object &&key)to reference steal the object when using python types as keys. This prevents unnecessary reference count overhead for attr, dictionary, tuple, and sequence look ups. Added additional regression tests. Fixed a performance bug the caused accessor assignments to potentially perform unnecessary copies. #3970make_iterator. #3980error_guardto one of the dtors. #3958strip_paddingfor numpy. #3994stl_bind.hbindings now take slice args as a const-ref. #3852PyErr_Restoreis called only once. #3872make_iteratorfunctions. #3860strdup_gaurd. #3905misc-definitions-in-headers,modernize-loop-convert, andmodernize-use-nullptr. #3881 #3988Build system improvements:
Backend and tidying up:
#include <iostream>was removed from thepybind11/stl.hheader. Your project may break if it has a transitive dependency on this include. The fix is to "Include What You Use". #3928setup.py <command>usage in internal tests. #3734This discussion was created from the release Version 2.10.0.
Beta Was this translation helpful? Give feedback.
All reactions