.. _changelog: Changelog ######### 1.3 (not yet released) -------------------------- * Added support for the Intel C++ compiler (v15+) * Added support for the STL unordered set/map data structures * NumPy-style broadcasting support in ``pybind11::vectorize`` * pybind11 now displays more verbose error messages when ``arg::operator=()`` fails. * Removed 'pybind11' python package whose purpose was never quite defined 1.2 (February 7, 2016) -------------------------- * 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 1.1 (December 7, 2015) -------------------------- * Documentation improvements (GIL, wrapping functions, casting, fixed many typos) * Generalized conversion of integer types * Improved support for casting function objects * Improved support for ``std::shared_ptr<>`` conversions * Initial support for ``std::set<>`` conversions * Fixed type resolution issue for types defined in a separate plugin module * Cmake build system improvements * Factored out generic functionality to non-templated code (smaller code size) * Added a code size / compile time benchmark vs Boost.Python * Added an appveyor CI script 1.0 (October 15, 2015) ------------------------ * Initial release