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
-
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