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::frozenset
were added, with copying (cast) tostd::set
(similar toset
). #3901type_caster<std::monostate>
was added.std::monostate
is a tag type that allowsstd::variant
to act as an optional, or allows default construction of astd::variant
holding a non-default constructible type. #3818pybind11::capsule::set_name
added to mutate the name of the capsule instance. #3866dtype.num
,dtype.byteorder
,dtype.flags
anddtype.alignment
added. #3868Changes:
error_already_set
is now safer and more performant, especially for exceptions with long tracebacks, by delaying computation. #1895str
bindings. #3826PYBIND11_OBJECT_CVT
andPYBIND11_OBJECT_CVT_DEFAULT
macro can now be used to define classes in namespaces other than pybind11. #3797PYBIND11_DETAILED_ERROR_MESSAGES
instead of requiringNDEBUG
, allowing use with release builds if desired. #39130
topybind11::handle
is now disabled. #4008Bug fixes:
pybind11::weakref()
fails. #3739module_::def_submodule
was missing proper error handling. This is fixed now. #3973error_already_set
was 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-object
warnings 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_guard
to one of the dtors. #3958strip_padding
for numpy. #3994stl_bind.h
bindings now take slice args as a const-ref. #3852PyErr_Restore
is called only once. #3872make_iterator
functions. #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.h
header. 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