NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #755 most downloaded on PyPI
Seamless operability between C++11 and Python
Last release 1 months ago
06 Aug 2026
Release timing varies
gaps range from 9 days to 8 months
Nearly every release is documented
notes for 55 of 56 stable releases
2 versions withdrawn
withdrawn after publishing
11 years old
68 releases · first in 2015
Nothing published for this version
- Added a new move return value policy that triggers C++11 move semantics. The automatic return value policy falls back to this case whenever a rvalue
Added a new move return value policy that triggers C++11 move semantics. The automatic return value policy falls back to this case whenever a rvalue reference is encountered
Significantly more general GIL state routines that are used instead of Python’s troublesome PyGILState_Ensure and PyGILState_Release API
Redesign of opaque types that drastically simplifies their usage
Extended ability to pass values of type [const] void *
keep_alive fix: don’t fail when there is no patient
functional.h : acquire the GIL before calling a Python function
Added Python RAII type wrappers none and iterable
Added *args and *kwargs pass-through parameters to pybind11.get_include() function
Iterator improvements and fixes
Documentation on return value policies and opaque types improved
One column per quarter.
- Skipped due to upload to PyPI gone wrong and inability to recover
Skipped due to upload to PyPI gone wrong and inability to recover ( https://github.com/pypa/packaging-problems/issues/74 )
- For polymorphic types, use RTTI to try to return the closest type registered with pybind11
For polymorphic types, use RTTI to try to return the closest type registered with pybind11
Pickling support for serializing and unserializing C++ instances to a byte stream in Python
Added a convenience routine make_iterator() which turns a range indicated by a pair of C++ iterators into a iterable Python object
Added len() and a variadic make_tuple() function
Addressed a rare issue that could confuse the current virtual function dispatcher and another that could lead to crashes in multi-threaded applications
Added a get_include() function to the Python module that returns the path of the directory containing the installed pybind11 header files
Documentation improvements: import issues, symbol visibility, pickling, limitations
Added casting support for std::reference_wrapper<>
- Transparent type conversion for std::wstring and wchar_t
Transparent type conversion for std::wstring and wchar_t
Allow passing nullptr -valued strings
Transparent passing of void * pointers using capsules
Transparent support for returning values wrapped in std::unique_ptr<>
Improved docstring generation for compatibility with Sphinx
Nicer debug error message when default parameter construction fails
Support for “opaque” types that bypass the transparent conversion layer for STL containers
Redesigned type casting interface to avoid ambiguities that could occasionally cause compiler errors
Redesigned property implementation; fixes crashes due to an unfortunate default return value policy
Anaconda package generation support
- Added support for the Intel C++ compiler (v15+)
Added support for the Intel C++ compiler (v15+)
Added support for the STL unordered set/map data structures
Added support for the STL linked list data structure
NumPy-style broadcasting support in pybind11::vectorize
pybind11 now displays more verbose error messages when arg::operator=() fails
pybind11 internal data structures now live in a version-dependent namespace to avoid ABI issues
Many, many bugfixes involving corner cases and advanced usage
- Optional: efficient generation of function signatures at compile time using C++14
Optional: efficient generation of function signatures at compile time using C++14
Switched to a simpler and more general way of dealing with function default arguments. Unused keyword arguments in function calls are now detected and cause errors as expected
New keep_alive call policy analogous to Boost.Python’s with_custodian_and_ward
New pybind11::base<> attribute to indicate a subclass relationship
Improved interface for RAII type wrappers in pytypes.h
Use RAII type wrappers consistently within pybind11 itself. This fixes various potential refcount leaks when exceptions occur
Added new bytes RAII type wrapper (maps to string in Python 2.7)
Made handle and related RAII classes const correct, using them more consistently everywhere now
Got rid of the ugly pybind11 attributes on the Python side—they are now stored in a C++ hash table that is not visible in Python
Fixed refcount leaks involving NumPy arrays and bound functions
Vastly improved handling of shared/smart pointers
Removed an unnecessary copy operation in pybind11::vectorize
Fixed naming clashes when both pybind11 and NumPy headers are included
Added conversions for additional exception types
Documentation improvements (using multiple extension modules, smart pointers, other minor clarifications)
unified infrastructure for parsing variadic arguments in class_ and cpp_function
Fixed license text (was: ZLIB, should have been: 3-clause BSD)
Python 3.2 compatibility
Fixed remaining issues when accessing types in another plugin module
Added enum comparison and casting methods
Improved SFINAE-based detection of whether types are copy-constructible
Eliminated many warnings about unused variables and the use of offsetof()
Support for std::array<> conversions
Version 3.0.2 (February 16, 2026)
Initial release
On this page
Changelog
Version 3.1.0 (August 6, 2026)
Version 3.0.4 (April 18, 2026)
Version 3.0.3 (March 31, 2026)
Version 3.0.2 (February 16, 2026)
Version 3.0.1 (August 22, 2025)
Version 3.0.0 (July 10, 2025)
Version 2.13.6 (September 13, 2024)
Version 2.13.5 (August 22, 2024)
Version 2.13.4 (August 14, 2024)
Version 2.13.3 (August 13, 2024)
Version 2.13.2 (August 13, 2024)
Version 2.13.1 (June 26, 2024)
Version 2.13.0 (June 25, 2024)
Version 2.12.1 (September 13, 2024)
Version 2.12.0 (March 27, 2024)
Version 2.11.2 (September 13, 2024)
Version 2.11.1 (July 17, 2023)
Version 2.11.0 (July 14, 2023)
Version 2.10.4 (Mar 16, 2023)
Version 2.10.3 (Jan 3, 2023)
Version 2.10.2 (Dec 20, 2022)
Version 2.10.1 (Oct 31, 2022)
Version 2.10.0 (Jul 15, 2022)
Version 2.9.2 (Mar 29, 2022)
Version 2.9.1 (Feb 2, 2022)
Version 2.9.0 (Dec 28, 2021)
v2.8.1 (Oct 27, 2021)
v2.8.0 (Oct 4, 2021)
v2.7.1 (Aug 3, 2021)
v2.7.0 (Jul 16, 2021)
v2.6.2 (Jan 26, 2021)
v2.6.1 (Nov 11, 2020)
v2.6.0 (Oct 21, 2020)
v2.5.0 (Mar 31, 2020)
v2.4.3 (Oct 15, 2019)
v2.4.2 (Sep 21, 2019)
v2.4.1 (Sep 20, 2019)
v2.4.0 (Sep 19, 2019)
v2.3.0 (June 11, 2019)
v2.2.4 (September 11, 2018)
v2.2.3 (April 29, 2018)
v2.2.2 (February 7, 2018)
v2.2.1 (September 14, 2017)
v2.2.0 (August 31, 2017)
v2.1.1 (April 7, 2017)
v2.1.0 (March 22, 2017)
v2.0.1 (Jan 4, 2017)
v2.0.0 (Jan 1, 2017)
v2.0.0-rc1 (Dec 23, 2016)
1.8.1 (July 12, 2016)
1.8.0 (June 14, 2016)
1.7 (April 30, 2016)
1.6 (April 30, 2016)
1.5 (April 21, 2016)
1.4 (April 7, 2016)
1.3 (March 8, 2016)
1.2 (February 7, 2016)
1.1 (December 7, 2015)
1.0 (October 15, 2015)
Your coding agent can read these notes before it upgrades. Set up the MCP server →