blob: 80d14a8d150614f8782d59caa28466a35cedf826 [file] [log] [blame]
Wenzel Jakob1ae77fe2016-01-17 22:36:43 +01001.. _changelog:
2
3Changelog
4#########
5
Wenzel Jakob2c5d5602016-04-11 18:46:11 +020061.5 (not yet released)
7----------------------
Wenzel Jakobc79dbe42016-04-17 21:54:31 +02008* For polymorphic types, use RTTI to try to return the closest type registered with pybind11
Wenzel Jakobd7efa4f2016-04-13 13:45:09 +02009* Pickling support for serializing and unserializing C++ instances to a byte stream in Python
Wenzel Jakobb2825952016-04-13 23:33:00 +020010* Added a convenience routine ``make_iterator()`` which turns a range indicated
11 by a pair of C++ iterators into a iterable Python object
12* Added ``len()`` and a variadic ``make_tuple()`` function
Wenzel Jakobb2b44a92016-04-15 17:50:40 +020013* Addressed a rare issue that could confuse the current virtual function
14 dispatcher and another that could lead to crashes in multi-threaded
15 applications
Wenzel Jakobb2825952016-04-13 23:33:00 +020016* Added a ``get_include()`` function to the Python module that returns the path
17 of the directory containing the installed pybind11 header files
Wenzel Jakob1c329aa2016-04-13 02:37:36 +020018* Documentation improvements: import issues, symbol visibility, pickling, limitations
Wenzel Jakobdbe43ff2016-04-21 12:21:14 +020019* Added casting support for ``std::reference_wrapper<>``
Wenzel Jakob2c5d5602016-04-11 18:46:11 +020020
Wenzel Jakob33c2a042016-04-07 09:06:49 +0200211.4 (April 7, 2016)
Wenzel Jakobd2385e82016-03-08 18:04:43 +010022--------------------------
Wenzel Jakob81dfd2c2016-03-08 19:40:32 +010023* Transparent type conversion for ``std::wstring`` and ``wchar_t``
Wenzel Jakob0e6ca592016-04-07 08:49:37 +020024* Allow passing ``nullptr``-valued strings
Wenzel Jakob34116732016-04-06 17:55:41 +020025* Transparent passing of ``void *`` pointers using capsules
Wenzel Jakob0e6ca592016-04-07 08:49:37 +020026* Transparent support for returning values wrapped in ``std::unique_ptr<>``
Wenzel Jakob4e455dd2016-03-09 16:38:28 +010027* Improved docstring generation for compatibility with Sphinx
Wenzel Jakob34116732016-04-06 17:55:41 +020028* Nicer debug error message when default parameter construction fails
29* Support for "opaque" types that bypass the transparent conversion layer for STL containers
30* Redesigned type casting interface to avoid ambiguities that could occasionally cause compiler errors
Wenzel Jakob2c5d5602016-04-11 18:46:11 +020031* Redesigned property implementation; fixes crashes due to an unfortunate default return value policy
Wenzel Jakob4e455dd2016-03-09 16:38:28 +010032* Anaconda package generation support
Wenzel Jakobd2385e82016-03-08 18:04:43 +010033
341.3 (March 8, 2016)
Wenzel Jakob8ed28082016-02-07 17:32:37 +010035--------------------------
Wenzel Jakobcf2b87a2016-02-22 17:32:44 +010036
37* Added support for the Intel C++ compiler (v15+)
38* Added support for the STL unordered set/map data structures
Wenzel Jakobd2385e82016-03-08 18:04:43 +010039* Added support for the STL linked list data structure
Wenzel Jakobcf2b87a2016-02-22 17:32:44 +010040* NumPy-style broadcasting support in ``pybind11::vectorize``
Wenzel Jakob2c5d5602016-04-11 18:46:11 +020041* pybind11 now displays more verbose error messages when ``arg::operator=()`` fails
Wenzel Jakobd2385e82016-03-08 18:04:43 +010042* pybind11 internal data structures now live in a version-dependent namespace to avoid ABI issues
43* Many, many bugfixes involving corner cases and advanced usage
Wenzel Jakob8ed28082016-02-07 17:32:37 +010044
451.2 (February 7, 2016)
Wenzel Jakob1ae77fe2016-01-17 22:36:43 +010046--------------------------
Wenzel Jakob48548ea2016-01-17 22:36:44 +010047
Wenzel Jakob1ae77fe2016-01-17 22:36:43 +010048* Optional: efficient generation of function signatures at compile time using C++14
Wenzel Jakob48548ea2016-01-17 22:36:44 +010049* Switched to a simpler and more general way of dealing with function default
50 arguments. Unused keyword arguments in function calls are now detected and
51 cause errors as expected
Wenzel Jakob1ae77fe2016-01-17 22:36:43 +010052* New ``keep_alive`` call policy analogous to Boost.Python's ``with_custodian_and_ward``
Wenzel Jakob48548ea2016-01-17 22:36:44 +010053* New ``pybind11::base<>`` attribute to indicate a subclass relationship
Wenzel Jakob1ae77fe2016-01-17 22:36:43 +010054* Improved interface for RAII type wrappers in ``pytypes.h``
55* Use RAII type wrappers consistently within pybind11 itself. This
56 fixes various potential refcount leaks when exceptions occur
Wenzel Jakob2c5d5602016-04-11 18:46:11 +020057* Added new ``bytes`` RAII type wrapper (maps to ``string`` in Python 2.7)
Wenzel Jakob48548ea2016-01-17 22:36:44 +010058* Made handle and related RAII classes const correct, using them more
59 consistently everywhere now
Wenzel Jakob1ae77fe2016-01-17 22:36:43 +010060* Got rid of the ugly ``__pybind11__`` attributes on the Python side---they are
61 now stored in a C++ hash table that is not visible in Python
62* Fixed refcount leaks involving NumPy arrays and bound functions
63* Vastly improved handling of shared/smart pointers
64* Removed an unnecessary copy operation in ``pybind11::vectorize``
65* Fixed naming clashes when both pybind11 and NumPy headers are included
66* Added conversions for additional exception types
Wenzel Jakob48548ea2016-01-17 22:36:44 +010067* Documentation improvements (using multiple extension modules, smart pointers,
68 other minor clarifications)
Wenzel Jakob61587162016-01-18 22:38:52 +010069* unified infrastructure for parsing variadic arguments in ``class_`` and cpp_function
Wenzel Jakob1ae77fe2016-01-17 22:36:43 +010070* Fixed license text (was: ZLIB, should have been: 3-clause BSD)
71* Python 3.2 compatibility
Wenzel Jakobcd4e6ae2016-01-29 11:48:40 +010072* Fixed remaining issues when accessing types in another plugin module
73* Added enum comparison and casting methods
74* Improved SFINAE-based detection of whether types are copy-constructible
75* Eliminated many warnings about unused variables and the use of ``offsetof()``
Wenzel Jakob8ed28082016-02-07 17:32:37 +010076* Support for ``std::array<>`` conversions
Wenzel Jakob1ae77fe2016-01-17 22:36:43 +010077
781.1 (December 7, 2015)
79--------------------------
80
81* Documentation improvements (GIL, wrapping functions, casting, fixed many typos)
82* Generalized conversion of integer types
83* Improved support for casting function objects
84* Improved support for ``std::shared_ptr<>`` conversions
85* Initial support for ``std::set<>`` conversions
86* Fixed type resolution issue for types defined in a separate plugin module
87* Cmake build system improvements
88* Factored out generic functionality to non-templated code (smaller code size)
89* Added a code size / compile time benchmark vs Boost.Python
90* Added an appveyor CI script
91
921.0 (October 15, 2015)
93------------------------
94* Initial release