changelog.rst revision 12037
111986Sandreas.sandberg@arm.com.. _changelog: 211986Sandreas.sandberg@arm.com 311986Sandreas.sandberg@arm.comChangelog 411986Sandreas.sandberg@arm.com######### 511986Sandreas.sandberg@arm.com 612037Sandreas.sandberg@arm.comStarting with version 1.8.0, pybind11 releases use a `semantic versioning 712037Sandreas.sandberg@arm.com<http://semver.org>`_ policy. 811986Sandreas.sandberg@arm.com 912037Sandreas.sandberg@arm.com 1012037Sandreas.sandberg@arm.comv2.1.1 (April 7, 2017) 1111986Sandreas.sandberg@arm.com----------------------------------------------------- 1211986Sandreas.sandberg@arm.com 1312037Sandreas.sandberg@arm.com* Fixed minimum version requirement for MSVC 2015u3 1412037Sandreas.sandberg@arm.com `#773 <https://github.com/pybind/pybind11/pull/773>`_. 1511986Sandreas.sandberg@arm.com 1612037Sandreas.sandberg@arm.comv2.1.0 (March 22, 2017) 1712037Sandreas.sandberg@arm.com----------------------------------------------------- 1812037Sandreas.sandberg@arm.com 1912037Sandreas.sandberg@arm.com* pybind11 now performs function overload resolution in two phases. The first 2012037Sandreas.sandberg@arm.com phase only considers exact type matches, while the second allows for implicit 2112037Sandreas.sandberg@arm.com conversions to take place. A special ``noconvert()`` syntax can be used to 2212037Sandreas.sandberg@arm.com completely disable implicit conversions for specific arguments. 2312037Sandreas.sandberg@arm.com `#643 <https://github.com/pybind/pybind11/pull/643>`_, 2412037Sandreas.sandberg@arm.com `#634 <https://github.com/pybind/pybind11/pull/634>`_, 2512037Sandreas.sandberg@arm.com `#650 <https://github.com/pybind/pybind11/pull/650>`_. 2612037Sandreas.sandberg@arm.com 2712037Sandreas.sandberg@arm.com* Fixed a regression where static properties no longer worked with classes 2812037Sandreas.sandberg@arm.com using multiple inheritance. The ``py::metaclass`` attribute is no longer 2912037Sandreas.sandberg@arm.com necessary (and deprecated as of this release) when binding classes with 3012037Sandreas.sandberg@arm.com static properties. 3112037Sandreas.sandberg@arm.com `#679 <https://github.com/pybind/pybind11/pull/679>`_, 3212037Sandreas.sandberg@arm.com 3312037Sandreas.sandberg@arm.com* Classes bound using ``pybind11`` can now use custom metaclasses. 3412037Sandreas.sandberg@arm.com `#679 <https://github.com/pybind/pybind11/pull/679>`_, 3512037Sandreas.sandberg@arm.com 3612037Sandreas.sandberg@arm.com* ``py::args`` and ``py::kwargs`` can now be mixed with other positional 3712037Sandreas.sandberg@arm.com arguments when binding functions using pybind11. 3812037Sandreas.sandberg@arm.com `#611 <https://github.com/pybind/pybind11/pull/611>`_. 3912037Sandreas.sandberg@arm.com 4012037Sandreas.sandberg@arm.com* Improved support for C++11 unicode string and character types; added 4112037Sandreas.sandberg@arm.com extensive documentation regarding pybind11's string conversion behavior. 4212037Sandreas.sandberg@arm.com `#624 <https://github.com/pybind/pybind11/pull/624>`_, 4312037Sandreas.sandberg@arm.com `#636 <https://github.com/pybind/pybind11/pull/636>`_, 4412037Sandreas.sandberg@arm.com `#715 <https://github.com/pybind/pybind11/pull/715>`_. 4512037Sandreas.sandberg@arm.com 4612037Sandreas.sandberg@arm.com* pybind11 can now avoid expensive copies when converting Eigen arrays to NumPy 4712037Sandreas.sandberg@arm.com arrays (and vice versa). `#610 <https://github.com/pybind/pybind11/pull/610>`_. 4812037Sandreas.sandberg@arm.com 4912037Sandreas.sandberg@arm.com* The "fast path" in ``py::vectorize`` now works for any full-size group of C or 5012037Sandreas.sandberg@arm.com F-contiguous arrays. The non-fast path is also faster since it no longer performs 5112037Sandreas.sandberg@arm.com copies of the input arguments (except when type conversions are necessary). 5212037Sandreas.sandberg@arm.com `#610 <https://github.com/pybind/pybind11/pull/610>`_. 5312037Sandreas.sandberg@arm.com 5412037Sandreas.sandberg@arm.com* Added fast, unchecked access to NumPy arrays via a proxy object. 5512037Sandreas.sandberg@arm.com `#746 <https://github.com/pybind/pybind11/pull/746>`_. 5612037Sandreas.sandberg@arm.com 5712037Sandreas.sandberg@arm.com* Transparent support for class-specific ``operator new`` and 5812037Sandreas.sandberg@arm.com ``operator delete`` implementations. 5912037Sandreas.sandberg@arm.com `#755 <https://github.com/pybind/pybind11/pull/755>`_. 6012037Sandreas.sandberg@arm.com 6112037Sandreas.sandberg@arm.com* Slimmer and more efficient STL-compatible iterator interface for sequence types. 6212037Sandreas.sandberg@arm.com `#662 <https://github.com/pybind/pybind11/pull/662>`_. 6312037Sandreas.sandberg@arm.com 6412037Sandreas.sandberg@arm.com* Improved custom holder type support. 6512037Sandreas.sandberg@arm.com `#607 <https://github.com/pybind/pybind11/pull/607>`_. 6612037Sandreas.sandberg@arm.com 6712037Sandreas.sandberg@arm.com* ``nullptr`` to ``None`` conversion fixed in various builtin type casters. 6812037Sandreas.sandberg@arm.com `#732 <https://github.com/pybind/pybind11/pull/732>`_. 6912037Sandreas.sandberg@arm.com 7012037Sandreas.sandberg@arm.com* ``enum_`` now exposes its members via a special ``__members__`` attribute. 7112037Sandreas.sandberg@arm.com `#666 <https://github.com/pybind/pybind11/pull/666>`_. 7212037Sandreas.sandberg@arm.com 7312037Sandreas.sandberg@arm.com* ``std::vector`` bindings created using ``stl_bind.h`` can now optionally 7412037Sandreas.sandberg@arm.com implement the buffer protocol. `#488 <https://github.com/pybind/pybind11/pull/488>`_. 7512037Sandreas.sandberg@arm.com 7612037Sandreas.sandberg@arm.com* Automated C++ reference documentation using doxygen and breathe. 7712037Sandreas.sandberg@arm.com `#598 <https://github.com/pybind/pybind11/pull/598>`_. 7812037Sandreas.sandberg@arm.com 7912037Sandreas.sandberg@arm.com* Added minimum compiler version assertions. 8012037Sandreas.sandberg@arm.com `#727 <https://github.com/pybind/pybind11/pull/727>`_. 8112037Sandreas.sandberg@arm.com 8212037Sandreas.sandberg@arm.com* Improved compatibility with C++1z. 8312037Sandreas.sandberg@arm.com `#677 <https://github.com/pybind/pybind11/pull/677>`_. 8412037Sandreas.sandberg@arm.com 8512037Sandreas.sandberg@arm.com* Improved ``py::capsule`` API. Can be used to implement cleanup 8612037Sandreas.sandberg@arm.com callbacks that are involved at module destruction time. 8712037Sandreas.sandberg@arm.com `#752 <https://github.com/pybind/pybind11/pull/752>`_. 8812037Sandreas.sandberg@arm.com 8912037Sandreas.sandberg@arm.com* Various minor improvements and fixes. 9012037Sandreas.sandberg@arm.com `#595 <https://github.com/pybind/pybind11/pull/595>`_, 9112037Sandreas.sandberg@arm.com `#588 <https://github.com/pybind/pybind11/pull/588>`_, 9212037Sandreas.sandberg@arm.com `#589 <https://github.com/pybind/pybind11/pull/589>`_, 9312037Sandreas.sandberg@arm.com `#603 <https://github.com/pybind/pybind11/pull/603>`_, 9412037Sandreas.sandberg@arm.com `#619 <https://github.com/pybind/pybind11/pull/619>`_, 9512037Sandreas.sandberg@arm.com `#648 <https://github.com/pybind/pybind11/pull/648>`_, 9612037Sandreas.sandberg@arm.com `#695 <https://github.com/pybind/pybind11/pull/695>`_, 9712037Sandreas.sandberg@arm.com `#720 <https://github.com/pybind/pybind11/pull/720>`_, 9812037Sandreas.sandberg@arm.com `#723 <https://github.com/pybind/pybind11/pull/723>`_, 9912037Sandreas.sandberg@arm.com `#729 <https://github.com/pybind/pybind11/pull/729>`_, 10012037Sandreas.sandberg@arm.com `#724 <https://github.com/pybind/pybind11/pull/724>`_, 10112037Sandreas.sandberg@arm.com `#742 <https://github.com/pybind/pybind11/pull/742>`_, 10212037Sandreas.sandberg@arm.com `#753 <https://github.com/pybind/pybind11/pull/753>`_. 10312037Sandreas.sandberg@arm.com 10412037Sandreas.sandberg@arm.comv2.0.1 (Jan 4, 2017) 10512037Sandreas.sandberg@arm.com----------------------------------------------------- 10612037Sandreas.sandberg@arm.com 10712037Sandreas.sandberg@arm.com* Fix pointer to reference error in type_caster on MSVC 10812037Sandreas.sandberg@arm.com `#583 <https://github.com/pybind/pybind11/pull/583>`_. 10912037Sandreas.sandberg@arm.com 11012037Sandreas.sandberg@arm.com* Fixed a segmentation in the test suite due to a typo 11112037Sandreas.sandberg@arm.com `cd7eac <https://github.com/pybind/pybind11/commit/cd7eac>`_. 11212037Sandreas.sandberg@arm.com 11312037Sandreas.sandberg@arm.comv2.0.0 (Jan 1, 2017) 11412037Sandreas.sandberg@arm.com----------------------------------------------------- 11512037Sandreas.sandberg@arm.com 11612037Sandreas.sandberg@arm.com* Fixed a reference counting regression affecting types with custom metaclasses 11712037Sandreas.sandberg@arm.com (introduced in v2.0.0-rc1). 11812037Sandreas.sandberg@arm.com `#571 <https://github.com/pybind/pybind11/pull/571>`_. 11912037Sandreas.sandberg@arm.com 12012037Sandreas.sandberg@arm.com* Quenched a CMake policy warning. 12112037Sandreas.sandberg@arm.com `#570 <https://github.com/pybind/pybind11/pull/570>`_. 12212037Sandreas.sandberg@arm.com 12312037Sandreas.sandberg@arm.comv2.0.0-rc1 (Dec 23, 2016) 12412037Sandreas.sandberg@arm.com----------------------------------------------------- 12512037Sandreas.sandberg@arm.com 12612037Sandreas.sandberg@arm.comThe pybind11 developers are excited to issue a release candidate of pybind11 12712037Sandreas.sandberg@arm.comwith a subsequent v2.0.0 release planned in early January next year. 12812037Sandreas.sandberg@arm.com 12912037Sandreas.sandberg@arm.comAn incredible amount of effort by went into pybind11 over the last ~5 months, 13012037Sandreas.sandberg@arm.comleading to a release that is jam-packed with exciting new features and numerous 13112037Sandreas.sandberg@arm.comusability improvements. The following list links PRs or individual commits 13212037Sandreas.sandberg@arm.comwhenever applicable. 13312037Sandreas.sandberg@arm.com 13412037Sandreas.sandberg@arm.comHappy Christmas! 13512037Sandreas.sandberg@arm.com 13612037Sandreas.sandberg@arm.com* Support for binding C++ class hierarchies that make use of multiple 13712037Sandreas.sandberg@arm.com inheritance. `#410 <https://github.com/pybind/pybind11/pull/410>`_. 13812037Sandreas.sandberg@arm.com 13912037Sandreas.sandberg@arm.com* PyPy support: pybind11 now supports nightly builds of PyPy and will 14012037Sandreas.sandberg@arm.com interoperate with the future 5.7 release. No code changes are necessary, 14112037Sandreas.sandberg@arm.com everything "just" works as usual. Note that we only target the Python 2.7 14212037Sandreas.sandberg@arm.com branch for now; support for 3.x will be added once its ``cpyext`` extension 14312037Sandreas.sandberg@arm.com support catches up. A few minor features remain unsupported for the time 14412037Sandreas.sandberg@arm.com being (notably dynamic attributes in custom types). 14512037Sandreas.sandberg@arm.com `#527 <https://github.com/pybind/pybind11/pull/527>`_. 14612037Sandreas.sandberg@arm.com 14712037Sandreas.sandberg@arm.com* Significant work on the documentation -- in particular, the monolitic 14812037Sandreas.sandberg@arm.com ``advanced.rst`` file was restructured into a easier to read hierarchical 14912037Sandreas.sandberg@arm.com organization. `#448 <https://github.com/pybind/pybind11/pull/448>`_. 15012037Sandreas.sandberg@arm.com 15112037Sandreas.sandberg@arm.com* Many NumPy-related improvements: 15212037Sandreas.sandberg@arm.com 15312037Sandreas.sandberg@arm.com 1. Object-oriented API to access and modify NumPy ``ndarray`` instances, 15412037Sandreas.sandberg@arm.com replicating much of the corresponding NumPy C API functionality. 15512037Sandreas.sandberg@arm.com `#402 <https://github.com/pybind/pybind11/pull/402>`_. 15612037Sandreas.sandberg@arm.com 15712037Sandreas.sandberg@arm.com 2. NumPy array ``dtype`` array descriptors are now first-class citizens and 15812037Sandreas.sandberg@arm.com are exposed via a new class ``py::dtype``. 15912037Sandreas.sandberg@arm.com 16012037Sandreas.sandberg@arm.com 3. Structured dtypes can be registered using the ``PYBIND11_NUMPY_DTYPE()`` 16112037Sandreas.sandberg@arm.com macro. Special ``array`` constructors accepting dtype objects were also 16212037Sandreas.sandberg@arm.com added. 16312037Sandreas.sandberg@arm.com 16412037Sandreas.sandberg@arm.com One potential caveat involving this change: format descriptor strings 16512037Sandreas.sandberg@arm.com should now be accessed via ``format_descriptor::format()`` (however, for 16612037Sandreas.sandberg@arm.com compatibility purposes, the old syntax ``format_descriptor::value`` will 16712037Sandreas.sandberg@arm.com still work for non-structured data types). `#308 16812037Sandreas.sandberg@arm.com <https://github.com/pybind/pybind11/pull/308>`_. 16912037Sandreas.sandberg@arm.com 17012037Sandreas.sandberg@arm.com 4. Further improvements to support structured dtypes throughout the system. 17112037Sandreas.sandberg@arm.com `#472 <https://github.com/pybind/pybind11/pull/472>`_, 17212037Sandreas.sandberg@arm.com `#474 <https://github.com/pybind/pybind11/pull/474>`_, 17312037Sandreas.sandberg@arm.com `#459 <https://github.com/pybind/pybind11/pull/459>`_, 17412037Sandreas.sandberg@arm.com `#453 <https://github.com/pybind/pybind11/pull/453>`_, 17512037Sandreas.sandberg@arm.com `#452 <https://github.com/pybind/pybind11/pull/452>`_, and 17612037Sandreas.sandberg@arm.com `#505 <https://github.com/pybind/pybind11/pull/505>`_. 17712037Sandreas.sandberg@arm.com 17812037Sandreas.sandberg@arm.com 5. Fast access operators. `#497 <https://github.com/pybind/pybind11/pull/497>`_. 17912037Sandreas.sandberg@arm.com 18012037Sandreas.sandberg@arm.com 6. Constructors for arrays whose storage is owned by another object. 18112037Sandreas.sandberg@arm.com `#440 <https://github.com/pybind/pybind11/pull/440>`_. 18212037Sandreas.sandberg@arm.com 18312037Sandreas.sandberg@arm.com 7. Added constructors for ``array`` and ``array_t`` explicitly accepting shape 18412037Sandreas.sandberg@arm.com and strides; if strides are not provided, they are deduced assuming 18512037Sandreas.sandberg@arm.com C-contiguity. Also added simplified constructors for 1-dimensional case. 18612037Sandreas.sandberg@arm.com 18712037Sandreas.sandberg@arm.com 8. Added buffer/NumPy support for ``char[N]`` and ``std::array<char, N>`` types. 18812037Sandreas.sandberg@arm.com 18912037Sandreas.sandberg@arm.com 9. Added ``memoryview`` wrapper type which is constructible from ``buffer_info``. 19012037Sandreas.sandberg@arm.com 19112037Sandreas.sandberg@arm.com* Eigen: many additional conversions and support for non-contiguous 19212037Sandreas.sandberg@arm.com arrays/slices. 19312037Sandreas.sandberg@arm.com `#427 <https://github.com/pybind/pybind11/pull/427>`_, 19412037Sandreas.sandberg@arm.com `#315 <https://github.com/pybind/pybind11/pull/315>`_, 19512037Sandreas.sandberg@arm.com `#316 <https://github.com/pybind/pybind11/pull/316>`_, 19612037Sandreas.sandberg@arm.com `#312 <https://github.com/pybind/pybind11/pull/312>`_, and 19712037Sandreas.sandberg@arm.com `#267 <https://github.com/pybind/pybind11/pull/267>`_ 19812037Sandreas.sandberg@arm.com 19912037Sandreas.sandberg@arm.com* Incompatible changes in ``class_<...>::class_()``: 20012037Sandreas.sandberg@arm.com 20112037Sandreas.sandberg@arm.com 1. Declarations of types that provide access via the buffer protocol must 20212037Sandreas.sandberg@arm.com now include the ``py::buffer_protocol()`` annotation as an argument to 20312037Sandreas.sandberg@arm.com the ``class_`` constructor. 20412037Sandreas.sandberg@arm.com 20512037Sandreas.sandberg@arm.com 2. Declarations of types that require a custom metaclass (i.e. all classes 20612037Sandreas.sandberg@arm.com which include static properties via commands such as 20712037Sandreas.sandberg@arm.com ``def_readwrite_static()``) must now include the ``py::metaclass()`` 20812037Sandreas.sandberg@arm.com annotation as an argument to the ``class_`` constructor. 20912037Sandreas.sandberg@arm.com 21012037Sandreas.sandberg@arm.com These two changes were necessary to make type definitions in pybind11 21112037Sandreas.sandberg@arm.com future-proof, and to support PyPy via its cpyext mechanism. `#527 21212037Sandreas.sandberg@arm.com <https://github.com/pybind/pybind11/pull/527>`_. 21312037Sandreas.sandberg@arm.com 21412037Sandreas.sandberg@arm.com 21512037Sandreas.sandberg@arm.com 3. This version of pybind11 uses a redesigned mechnism for instantiating 21612037Sandreas.sandberg@arm.com trempoline classes that are used to override virtual methods from within 21712037Sandreas.sandberg@arm.com Python. This led to the following user-visible syntax change: instead of 21812037Sandreas.sandberg@arm.com 21912037Sandreas.sandberg@arm.com .. code-block:: cpp 22012037Sandreas.sandberg@arm.com 22112037Sandreas.sandberg@arm.com py::class_<TrampolineClass>("MyClass") 22212037Sandreas.sandberg@arm.com .alias<MyClass>() 22312037Sandreas.sandberg@arm.com .... 22412037Sandreas.sandberg@arm.com 22512037Sandreas.sandberg@arm.com write 22612037Sandreas.sandberg@arm.com 22712037Sandreas.sandberg@arm.com .. code-block:: cpp 22812037Sandreas.sandberg@arm.com 22912037Sandreas.sandberg@arm.com py::class_<MyClass, TrampolineClass>("MyClass") 23012037Sandreas.sandberg@arm.com .... 23112037Sandreas.sandberg@arm.com 23212037Sandreas.sandberg@arm.com Importantly, both the original and the trampoline class are now 23312037Sandreas.sandberg@arm.com specified as an arguments (in arbitrary order) to the ``py::class_`` 23412037Sandreas.sandberg@arm.com template, and the ``alias<..>()`` call is gone. The new scheme has zero 23512037Sandreas.sandberg@arm.com overhead in cases when Python doesn't override any functions of the 23612037Sandreas.sandberg@arm.com underlying C++ class. `rev. 86d825 23712037Sandreas.sandberg@arm.com <https://github.com/pybind/pybind11/commit/86d825>`_. 23812037Sandreas.sandberg@arm.com 23911986Sandreas.sandberg@arm.com* Added ``eval`` and ``eval_file`` functions for evaluating expressions and 24012037Sandreas.sandberg@arm.com statements from a string or file. `rev. 0d3fc3 24112037Sandreas.sandberg@arm.com <https://github.com/pybind/pybind11/commit/0d3fc3>`_. 24212037Sandreas.sandberg@arm.com 24312037Sandreas.sandberg@arm.com* pybind11 can now create types with a modifiable dictionary. 24412037Sandreas.sandberg@arm.com `#437 <https://github.com/pybind/pybind11/pull/437>`_ and 24512037Sandreas.sandberg@arm.com `#444 <https://github.com/pybind/pybind11/pull/444>`_. 24612037Sandreas.sandberg@arm.com 24712037Sandreas.sandberg@arm.com* Support for translation of arbitrary C++ exceptions to Python counterparts. 24812037Sandreas.sandberg@arm.com `#296 <https://github.com/pybind/pybind11/pull/296>`_ and 24912037Sandreas.sandberg@arm.com `#273 <https://github.com/pybind/pybind11/pull/273>`_. 25012037Sandreas.sandberg@arm.com 25112037Sandreas.sandberg@arm.com* Report full backtraces through mixed C++/Python code, better reporting for 25212037Sandreas.sandberg@arm.com import errors, fixed GIL management in exception processing. 25312037Sandreas.sandberg@arm.com `#537 <https://github.com/pybind/pybind11/pull/537>`_, 25412037Sandreas.sandberg@arm.com `#494 <https://github.com/pybind/pybind11/pull/494>`_, 25512037Sandreas.sandberg@arm.com `rev. e72d95 <https://github.com/pybind/pybind11/commit/e72d95>`_, and 25612037Sandreas.sandberg@arm.com `rev. 099d6e <https://github.com/pybind/pybind11/commit/099d6e>`_. 25712037Sandreas.sandberg@arm.com 25812037Sandreas.sandberg@arm.com* Support for bit-level operations, comparisons, and serialization of C++ 25912037Sandreas.sandberg@arm.com enumerations. `#503 <https://github.com/pybind/pybind11/pull/503>`_, 26012037Sandreas.sandberg@arm.com `#508 <https://github.com/pybind/pybind11/pull/508>`_, 26112037Sandreas.sandberg@arm.com `#380 <https://github.com/pybind/pybind11/pull/380>`_, 26212037Sandreas.sandberg@arm.com `#309 <https://github.com/pybind/pybind11/pull/309>`_. 26312037Sandreas.sandberg@arm.com `#311 <https://github.com/pybind/pybind11/pull/311>`_. 26412037Sandreas.sandberg@arm.com 26512037Sandreas.sandberg@arm.com* The ``class_`` constructor now accepts its template arguments in any order. 26612037Sandreas.sandberg@arm.com `#385 <https://github.com/pybind/pybind11/pull/385>`_. 26712037Sandreas.sandberg@arm.com 26812037Sandreas.sandberg@arm.com* Attribute and item accessors now have a more complete interface which makes 26912037Sandreas.sandberg@arm.com it possible to chain attributes as in 27012037Sandreas.sandberg@arm.com ``obj.attr("a")[key].attr("b").attr("method")(1, 2, 3)``. `#425 27112037Sandreas.sandberg@arm.com <https://github.com/pybind/pybind11/pull/425>`_. 27212037Sandreas.sandberg@arm.com 27312037Sandreas.sandberg@arm.com* Major redesign of the default and conversion constructors in ``pytypes.h``. 27412037Sandreas.sandberg@arm.com `#464 <https://github.com/pybind/pybind11/pull/464>`_. 27512037Sandreas.sandberg@arm.com 27612037Sandreas.sandberg@arm.com* Added built-in support for ``std::shared_ptr`` holder type. It is no longer 27712037Sandreas.sandberg@arm.com necessary to to include a declaration of the form 27812037Sandreas.sandberg@arm.com ``PYBIND11_DECLARE_HOLDER_TYPE(T, std::shared_ptr<T>)`` (though continuing to 27912037Sandreas.sandberg@arm.com do so won't cause an error). 28012037Sandreas.sandberg@arm.com `#454 <https://github.com/pybind/pybind11/pull/454>`_. 28112037Sandreas.sandberg@arm.com 28212037Sandreas.sandberg@arm.com* New ``py::overload_cast`` casting operator to select among multiple possible 28312037Sandreas.sandberg@arm.com overloads of a function. An example: 28412037Sandreas.sandberg@arm.com 28512037Sandreas.sandberg@arm.com .. code-block:: cpp 28612037Sandreas.sandberg@arm.com 28712037Sandreas.sandberg@arm.com py::class_<Pet>(m, "Pet") 28812037Sandreas.sandberg@arm.com .def("set", py::overload_cast<int>(&Pet::set), "Set the pet's age") 28912037Sandreas.sandberg@arm.com .def("set", py::overload_cast<const std::string &>(&Pet::set), "Set the pet's name"); 29012037Sandreas.sandberg@arm.com 29112037Sandreas.sandberg@arm.com This feature only works on C++14-capable compilers. 29212037Sandreas.sandberg@arm.com `#541 <https://github.com/pybind/pybind11/pull/541>`_. 29312037Sandreas.sandberg@arm.com 29412037Sandreas.sandberg@arm.com* C++ types are automatically cast to Python types, e.g. when assigning 29512037Sandreas.sandberg@arm.com them as an attribute. For instance, the following is now legal: 29612037Sandreas.sandberg@arm.com 29712037Sandreas.sandberg@arm.com .. code-block:: cpp 29812037Sandreas.sandberg@arm.com 29912037Sandreas.sandberg@arm.com py::module m = /* ... */ 30012037Sandreas.sandberg@arm.com m.attr("constant") = 123; 30112037Sandreas.sandberg@arm.com 30212037Sandreas.sandberg@arm.com (Previously, a ``py::cast`` call was necessary to avoid a compilation error.) 30312037Sandreas.sandberg@arm.com `#551 <https://github.com/pybind/pybind11/pull/551>`_. 30412037Sandreas.sandberg@arm.com 30512037Sandreas.sandberg@arm.com* Redesigned ``pytest``-based test suite. `#321 <https://github.com/pybind/pybind11/pull/321>`_. 30612037Sandreas.sandberg@arm.com 30712037Sandreas.sandberg@arm.com* Instance tracking to detect reference leaks in test suite. `#324 <https://github.com/pybind/pybind11/pull/324>`_ 30812037Sandreas.sandberg@arm.com 30912037Sandreas.sandberg@arm.com* pybind11 can now distinguish between multiple different instances that are 31012037Sandreas.sandberg@arm.com located at the same memory address, but which have different types. 31112037Sandreas.sandberg@arm.com `#329 <https://github.com/pybind/pybind11/pull/329>`_. 31212037Sandreas.sandberg@arm.com 31312037Sandreas.sandberg@arm.com* Improved logic in ``move`` return value policy. 31412037Sandreas.sandberg@arm.com `#510 <https://github.com/pybind/pybind11/pull/510>`_, 31512037Sandreas.sandberg@arm.com `#297 <https://github.com/pybind/pybind11/pull/297>`_. 31612037Sandreas.sandberg@arm.com 31712037Sandreas.sandberg@arm.com* Generalized unpacking API to permit calling Python functions from C++ using 31812037Sandreas.sandberg@arm.com notation such as ``foo(a1, a2, *args, "ka"_a=1, "kb"_a=2, **kwargs)``. `#372 <https://github.com/pybind/pybind11/pull/372>`_. 31912037Sandreas.sandberg@arm.com 32012037Sandreas.sandberg@arm.com* ``py::print()`` function whose behavior matches that of the native Python 32112037Sandreas.sandberg@arm.com ``print()`` function. `#372 <https://github.com/pybind/pybind11/pull/372>`_. 32212037Sandreas.sandberg@arm.com 32312037Sandreas.sandberg@arm.com* Added ``py::dict`` keyword constructor:``auto d = dict("number"_a=42, 32412037Sandreas.sandberg@arm.com "name"_a="World");``. `#372 <https://github.com/pybind/pybind11/pull/372>`_. 32512037Sandreas.sandberg@arm.com 32612037Sandreas.sandberg@arm.com* Added ``py::str::format()`` method and ``_s`` literal: ``py::str s = "1 + 2 32712037Sandreas.sandberg@arm.com = {}"_s.format(3);``. `#372 <https://github.com/pybind/pybind11/pull/372>`_. 32812037Sandreas.sandberg@arm.com 32912037Sandreas.sandberg@arm.com* Added ``py::repr()`` function which is equivalent to Python's builtin 33012037Sandreas.sandberg@arm.com ``repr()``. `#333 <https://github.com/pybind/pybind11/pull/333>`_. 33112037Sandreas.sandberg@arm.com 33212037Sandreas.sandberg@arm.com* Improved construction and destruction logic for holder types. It is now 33312037Sandreas.sandberg@arm.com possible to reference instances with smart pointer holder types without 33412037Sandreas.sandberg@arm.com constructing the holder if desired. The ``PYBIND11_DECLARE_HOLDER_TYPE`` 33512037Sandreas.sandberg@arm.com macro now accepts an optional second parameter to indicate whether the holder 33612037Sandreas.sandberg@arm.com type uses intrusive reference counting. 33712037Sandreas.sandberg@arm.com `#533 <https://github.com/pybind/pybind11/pull/533>`_ and 33812037Sandreas.sandberg@arm.com `#561 <https://github.com/pybind/pybind11/pull/561>`_. 33912037Sandreas.sandberg@arm.com 34012037Sandreas.sandberg@arm.com* Mapping a stateless C++ function to Python and back is now "for free" (i.e. 34112037Sandreas.sandberg@arm.com no extra indirections or argument conversion overheads). `rev. 954b79 34212037Sandreas.sandberg@arm.com <https://github.com/pybind/pybind11/commit/954b79>`_. 34312037Sandreas.sandberg@arm.com 34412037Sandreas.sandberg@arm.com* Bindings for ``std::valarray<T>``. 34512037Sandreas.sandberg@arm.com `#545 <https://github.com/pybind/pybind11/pull/545>`_. 34612037Sandreas.sandberg@arm.com 34712037Sandreas.sandberg@arm.com* Improved support for C++17 capable compilers. 34812037Sandreas.sandberg@arm.com `#562 <https://github.com/pybind/pybind11/pull/562>`_. 34912037Sandreas.sandberg@arm.com 35012037Sandreas.sandberg@arm.com* Bindings for ``std::optional<t>``. 35112037Sandreas.sandberg@arm.com `#475 <https://github.com/pybind/pybind11/pull/475>`_, 35212037Sandreas.sandberg@arm.com `#476 <https://github.com/pybind/pybind11/pull/476>`_, 35312037Sandreas.sandberg@arm.com `#479 <https://github.com/pybind/pybind11/pull/479>`_, 35412037Sandreas.sandberg@arm.com `#499 <https://github.com/pybind/pybind11/pull/499>`_, and 35512037Sandreas.sandberg@arm.com `#501 <https://github.com/pybind/pybind11/pull/501>`_. 35612037Sandreas.sandberg@arm.com 35712037Sandreas.sandberg@arm.com* ``stl_bind.h``: general improvements and support for ``std::map`` and 35812037Sandreas.sandberg@arm.com ``std::unordered_map``. 35912037Sandreas.sandberg@arm.com `#490 <https://github.com/pybind/pybind11/pull/490>`_, 36012037Sandreas.sandberg@arm.com `#282 <https://github.com/pybind/pybind11/pull/282>`_, 36112037Sandreas.sandberg@arm.com `#235 <https://github.com/pybind/pybind11/pull/235>`_. 36212037Sandreas.sandberg@arm.com 36312037Sandreas.sandberg@arm.com* The ``std::tuple``, ``std::pair``, ``std::list``, and ``std::vector`` type 36412037Sandreas.sandberg@arm.com casters now accept any Python sequence type as input. `rev. 107285 36512037Sandreas.sandberg@arm.com <https://github.com/pybind/pybind11/commit/107285>`_. 36612037Sandreas.sandberg@arm.com 36712037Sandreas.sandberg@arm.com* Improved CMake Python detection on multi-architecture Linux. 36812037Sandreas.sandberg@arm.com `#532 <https://github.com/pybind/pybind11/pull/532>`_. 36912037Sandreas.sandberg@arm.com 37012037Sandreas.sandberg@arm.com* Infrastructure to selectively disable or enable parts of the automatically 37112037Sandreas.sandberg@arm.com generated docstrings. `#486 <https://github.com/pybind/pybind11/pull/486>`_. 37212037Sandreas.sandberg@arm.com 37312037Sandreas.sandberg@arm.com* ``reference`` and ``reference_internal`` are now the default return value 37412037Sandreas.sandberg@arm.com properties for static and non-static properties, respectively. `#473 37512037Sandreas.sandberg@arm.com <https://github.com/pybind/pybind11/pull/473>`_. (the previous defaults 37612037Sandreas.sandberg@arm.com were ``automatic``). `#473 <https://github.com/pybind/pybind11/pull/473>`_. 37712037Sandreas.sandberg@arm.com 37812037Sandreas.sandberg@arm.com* Support for ``std::unique_ptr`` with non-default deleters or no deleter at 37912037Sandreas.sandberg@arm.com all (``py::nodelete``). `#384 <https://github.com/pybind/pybind11/pull/384>`_. 38012037Sandreas.sandberg@arm.com 38112037Sandreas.sandberg@arm.com* Deprecated ``handle::call()`` method. The new syntax to call Python 38212037Sandreas.sandberg@arm.com functions is simply ``handle()``. It can also be invoked explicitly via 38312037Sandreas.sandberg@arm.com ``handle::operator<X>()``, where ``X`` is an optional return value policy. 38412037Sandreas.sandberg@arm.com 38512037Sandreas.sandberg@arm.com* Print more informative error messages when ``make_tuple()`` or ``cast()`` 38612037Sandreas.sandberg@arm.com fail. `#262 <https://github.com/pybind/pybind11/pull/262>`_. 38712037Sandreas.sandberg@arm.com 38812037Sandreas.sandberg@arm.com* Creation of holder types for classes deriving from 38912037Sandreas.sandberg@arm.com ``std::enable_shared_from_this<>`` now also works for ``const`` values. 39012037Sandreas.sandberg@arm.com `#260 <https://github.com/pybind/pybind11/pull/260>`_. 39112037Sandreas.sandberg@arm.com 39212037Sandreas.sandberg@arm.com* ``make_iterator()`` improvements for better compatibility with various 39312037Sandreas.sandberg@arm.com types (now uses prefix increment operator); it now also accepts iterators 39412037Sandreas.sandberg@arm.com with different begin/end types as long as they are equality comparable. 39512037Sandreas.sandberg@arm.com `#247 <https://github.com/pybind/pybind11/pull/247>`_. 39612037Sandreas.sandberg@arm.com 39712037Sandreas.sandberg@arm.com* ``arg()`` now accepts a wider range of argument types for default values. 39812037Sandreas.sandberg@arm.com `#244 <https://github.com/pybind/pybind11/pull/244>`_. 39912037Sandreas.sandberg@arm.com 40012037Sandreas.sandberg@arm.com* Support ``keep_alive`` where the nurse object may be ``None``. `#341 40112037Sandreas.sandberg@arm.com <https://github.com/pybind/pybind11/pull/341>`_. 40212037Sandreas.sandberg@arm.com 40312037Sandreas.sandberg@arm.com* Added constructors for ``str`` and ``bytes`` from zero-terminated char 40412037Sandreas.sandberg@arm.com pointers, and from char pointers and length. Added constructors for ``str`` 40512037Sandreas.sandberg@arm.com from ``bytes`` and for ``bytes`` from ``str``, which will perform UTF-8 40612037Sandreas.sandberg@arm.com decoding/encoding as required. 40712037Sandreas.sandberg@arm.com 40812037Sandreas.sandberg@arm.com* Many other improvements of library internals without user-visible changes 40912037Sandreas.sandberg@arm.com 41011986Sandreas.sandberg@arm.com 41111986Sandreas.sandberg@arm.com1.8.1 (July 12, 2016) 41211986Sandreas.sandberg@arm.com---------------------- 41311986Sandreas.sandberg@arm.com* Fixed a rare but potentially very severe issue when the garbage collector ran 41411986Sandreas.sandberg@arm.com during pybind11 type creation. 41511986Sandreas.sandberg@arm.com 41611986Sandreas.sandberg@arm.com1.8.0 (June 14, 2016) 41711986Sandreas.sandberg@arm.com---------------------- 41811986Sandreas.sandberg@arm.com* Redesigned CMake build system which exports a convenient 41911986Sandreas.sandberg@arm.com ``pybind11_add_module`` function to parent projects. 42011986Sandreas.sandberg@arm.com* ``std::vector<>`` type bindings analogous to Boost.Python's ``indexing_suite`` 42111986Sandreas.sandberg@arm.com* Transparent conversion of sparse and dense Eigen matrices and vectors (``eigen.h``) 42211986Sandreas.sandberg@arm.com* Added an ``ExtraFlags`` template argument to the NumPy ``array_t<>`` wrapper 42311986Sandreas.sandberg@arm.com to disable an enforced cast that may lose precision, e.g. to create overloads 42411986Sandreas.sandberg@arm.com for different precisions and complex vs real-valued matrices. 42511986Sandreas.sandberg@arm.com* Prevent implicit conversion of floating point values to integral types in 42611986Sandreas.sandberg@arm.com function arguments 42711986Sandreas.sandberg@arm.com* Fixed incorrect default return value policy for functions returning a shared 42811986Sandreas.sandberg@arm.com pointer 42911986Sandreas.sandberg@arm.com* Don't allow registering a type via ``class_`` twice 43011986Sandreas.sandberg@arm.com* Don't allow casting a ``None`` value into a C++ lvalue reference 43111986Sandreas.sandberg@arm.com* Fixed a crash in ``enum_::operator==`` that was triggered by the ``help()`` command 43211986Sandreas.sandberg@arm.com* Improved detection of whether or not custom C++ types can be copy/move-constructed 43311986Sandreas.sandberg@arm.com* Extended ``str`` type to also work with ``bytes`` instances 43411986Sandreas.sandberg@arm.com* Added a ``"name"_a`` user defined string literal that is equivalent to ``py::arg("name")``. 43511986Sandreas.sandberg@arm.com* When specifying function arguments via ``py::arg``, the test that verifies 43611986Sandreas.sandberg@arm.com the number of arguments now runs at compile time. 43711986Sandreas.sandberg@arm.com* Added ``[[noreturn]]`` attribute to ``pybind11_fail()`` to quench some 43811986Sandreas.sandberg@arm.com compiler warnings 43911986Sandreas.sandberg@arm.com* List function arguments in exception text when the dispatch code cannot find 44011986Sandreas.sandberg@arm.com a matching overload 44111986Sandreas.sandberg@arm.com* Added ``PYBIND11_OVERLOAD_NAME`` and ``PYBIND11_OVERLOAD_PURE_NAME`` macros which 44211986Sandreas.sandberg@arm.com can be used to override virtual methods whose name differs in C++ and Python 44311986Sandreas.sandberg@arm.com (e.g. ``__call__`` and ``operator()``) 44411986Sandreas.sandberg@arm.com* Various minor ``iterator`` and ``make_iterator()`` improvements 44511986Sandreas.sandberg@arm.com* Transparently support ``__bool__`` on Python 2.x and Python 3.x 44611986Sandreas.sandberg@arm.com* Fixed issue with destructor of unpickled object not being called 44711986Sandreas.sandberg@arm.com* Minor CMake build system improvements on Windows 44811986Sandreas.sandberg@arm.com* New ``pybind11::args`` and ``pybind11::kwargs`` types to create functions which 44911986Sandreas.sandberg@arm.com take an arbitrary number of arguments and keyword arguments 45011986Sandreas.sandberg@arm.com* New syntax to call a Python function from C++ using ``*args`` and ``*kwargs`` 45111986Sandreas.sandberg@arm.com* The functions ``def_property_*`` now correctly process docstring arguments (these 45211986Sandreas.sandberg@arm.com formerly caused a segmentation fault) 45311986Sandreas.sandberg@arm.com* Many ``mkdoc.py`` improvements (enumerations, template arguments, ``DOC()`` 45411986Sandreas.sandberg@arm.com macro accepts more arguments) 45511986Sandreas.sandberg@arm.com* Cygwin support 45611986Sandreas.sandberg@arm.com* Documentation improvements (pickling support, ``keep_alive``, macro usage) 45711986Sandreas.sandberg@arm.com 45811986Sandreas.sandberg@arm.com1.7 (April 30, 2016) 45911986Sandreas.sandberg@arm.com---------------------- 46011986Sandreas.sandberg@arm.com* Added a new ``move`` return value policy that triggers C++11 move semantics. 46111986Sandreas.sandberg@arm.com The automatic return value policy falls back to this case whenever a rvalue 46211986Sandreas.sandberg@arm.com reference is encountered 46311986Sandreas.sandberg@arm.com* Significantly more general GIL state routines that are used instead of 46411986Sandreas.sandberg@arm.com Python's troublesome ``PyGILState_Ensure`` and ``PyGILState_Release`` API 46511986Sandreas.sandberg@arm.com* Redesign of opaque types that drastically simplifies their usage 46611986Sandreas.sandberg@arm.com* Extended ability to pass values of type ``[const] void *`` 46711986Sandreas.sandberg@arm.com* ``keep_alive`` fix: don't fail when there is no patient 46811986Sandreas.sandberg@arm.com* ``functional.h``: acquire the GIL before calling a Python function 46911986Sandreas.sandberg@arm.com* Added Python RAII type wrappers ``none`` and ``iterable`` 47011986Sandreas.sandberg@arm.com* Added ``*args`` and ``*kwargs`` pass-through parameters to 47111986Sandreas.sandberg@arm.com ``pybind11.get_include()`` function 47211986Sandreas.sandberg@arm.com* Iterator improvements and fixes 47311986Sandreas.sandberg@arm.com* Documentation on return value policies and opaque types improved 47411986Sandreas.sandberg@arm.com 47511986Sandreas.sandberg@arm.com1.6 (April 30, 2016) 47611986Sandreas.sandberg@arm.com---------------------- 47711986Sandreas.sandberg@arm.com* Skipped due to upload to PyPI gone wrong and inability to recover 47811986Sandreas.sandberg@arm.com (https://github.com/pypa/packaging-problems/issues/74) 47911986Sandreas.sandberg@arm.com 48011986Sandreas.sandberg@arm.com1.5 (April 21, 2016) 48111986Sandreas.sandberg@arm.com---------------------- 48211986Sandreas.sandberg@arm.com* For polymorphic types, use RTTI to try to return the closest type registered with pybind11 48311986Sandreas.sandberg@arm.com* Pickling support for serializing and unserializing C++ instances to a byte stream in Python 48411986Sandreas.sandberg@arm.com* Added a convenience routine ``make_iterator()`` which turns a range indicated 48511986Sandreas.sandberg@arm.com by a pair of C++ iterators into a iterable Python object 48611986Sandreas.sandberg@arm.com* Added ``len()`` and a variadic ``make_tuple()`` function 48711986Sandreas.sandberg@arm.com* Addressed a rare issue that could confuse the current virtual function 48811986Sandreas.sandberg@arm.com dispatcher and another that could lead to crashes in multi-threaded 48911986Sandreas.sandberg@arm.com applications 49011986Sandreas.sandberg@arm.com* Added a ``get_include()`` function to the Python module that returns the path 49111986Sandreas.sandberg@arm.com of the directory containing the installed pybind11 header files 49211986Sandreas.sandberg@arm.com* Documentation improvements: import issues, symbol visibility, pickling, limitations 49311986Sandreas.sandberg@arm.com* Added casting support for ``std::reference_wrapper<>`` 49411986Sandreas.sandberg@arm.com 49511986Sandreas.sandberg@arm.com1.4 (April 7, 2016) 49611986Sandreas.sandberg@arm.com-------------------------- 49711986Sandreas.sandberg@arm.com* Transparent type conversion for ``std::wstring`` and ``wchar_t`` 49811986Sandreas.sandberg@arm.com* Allow passing ``nullptr``-valued strings 49911986Sandreas.sandberg@arm.com* Transparent passing of ``void *`` pointers using capsules 50011986Sandreas.sandberg@arm.com* Transparent support for returning values wrapped in ``std::unique_ptr<>`` 50111986Sandreas.sandberg@arm.com* Improved docstring generation for compatibility with Sphinx 50211986Sandreas.sandberg@arm.com* Nicer debug error message when default parameter construction fails 50311986Sandreas.sandberg@arm.com* Support for "opaque" types that bypass the transparent conversion layer for STL containers 50411986Sandreas.sandberg@arm.com* Redesigned type casting interface to avoid ambiguities that could occasionally cause compiler errors 50511986Sandreas.sandberg@arm.com* Redesigned property implementation; fixes crashes due to an unfortunate default return value policy 50611986Sandreas.sandberg@arm.com* Anaconda package generation support 50711986Sandreas.sandberg@arm.com 50811986Sandreas.sandberg@arm.com1.3 (March 8, 2016) 50911986Sandreas.sandberg@arm.com-------------------------- 51011986Sandreas.sandberg@arm.com 51111986Sandreas.sandberg@arm.com* Added support for the Intel C++ compiler (v15+) 51211986Sandreas.sandberg@arm.com* Added support for the STL unordered set/map data structures 51311986Sandreas.sandberg@arm.com* Added support for the STL linked list data structure 51411986Sandreas.sandberg@arm.com* NumPy-style broadcasting support in ``pybind11::vectorize`` 51511986Sandreas.sandberg@arm.com* pybind11 now displays more verbose error messages when ``arg::operator=()`` fails 51611986Sandreas.sandberg@arm.com* pybind11 internal data structures now live in a version-dependent namespace to avoid ABI issues 51711986Sandreas.sandberg@arm.com* Many, many bugfixes involving corner cases and advanced usage 51811986Sandreas.sandberg@arm.com 51911986Sandreas.sandberg@arm.com1.2 (February 7, 2016) 52011986Sandreas.sandberg@arm.com-------------------------- 52111986Sandreas.sandberg@arm.com 52211986Sandreas.sandberg@arm.com* Optional: efficient generation of function signatures at compile time using C++14 52311986Sandreas.sandberg@arm.com* Switched to a simpler and more general way of dealing with function default 52411986Sandreas.sandberg@arm.com arguments. Unused keyword arguments in function calls are now detected and 52511986Sandreas.sandberg@arm.com cause errors as expected 52611986Sandreas.sandberg@arm.com* New ``keep_alive`` call policy analogous to Boost.Python's ``with_custodian_and_ward`` 52711986Sandreas.sandberg@arm.com* New ``pybind11::base<>`` attribute to indicate a subclass relationship 52811986Sandreas.sandberg@arm.com* Improved interface for RAII type wrappers in ``pytypes.h`` 52911986Sandreas.sandberg@arm.com* Use RAII type wrappers consistently within pybind11 itself. This 53011986Sandreas.sandberg@arm.com fixes various potential refcount leaks when exceptions occur 53111986Sandreas.sandberg@arm.com* Added new ``bytes`` RAII type wrapper (maps to ``string`` in Python 2.7) 53211986Sandreas.sandberg@arm.com* Made handle and related RAII classes const correct, using them more 53311986Sandreas.sandberg@arm.com consistently everywhere now 53411986Sandreas.sandberg@arm.com* Got rid of the ugly ``__pybind11__`` attributes on the Python side---they are 53511986Sandreas.sandberg@arm.com now stored in a C++ hash table that is not visible in Python 53611986Sandreas.sandberg@arm.com* Fixed refcount leaks involving NumPy arrays and bound functions 53711986Sandreas.sandberg@arm.com* Vastly improved handling of shared/smart pointers 53811986Sandreas.sandberg@arm.com* Removed an unnecessary copy operation in ``pybind11::vectorize`` 53911986Sandreas.sandberg@arm.com* Fixed naming clashes when both pybind11 and NumPy headers are included 54011986Sandreas.sandberg@arm.com* Added conversions for additional exception types 54111986Sandreas.sandberg@arm.com* Documentation improvements (using multiple extension modules, smart pointers, 54211986Sandreas.sandberg@arm.com other minor clarifications) 54311986Sandreas.sandberg@arm.com* unified infrastructure for parsing variadic arguments in ``class_`` and cpp_function 54411986Sandreas.sandberg@arm.com* Fixed license text (was: ZLIB, should have been: 3-clause BSD) 54511986Sandreas.sandberg@arm.com* Python 3.2 compatibility 54611986Sandreas.sandberg@arm.com* Fixed remaining issues when accessing types in another plugin module 54711986Sandreas.sandberg@arm.com* Added enum comparison and casting methods 54811986Sandreas.sandberg@arm.com* Improved SFINAE-based detection of whether types are copy-constructible 54911986Sandreas.sandberg@arm.com* Eliminated many warnings about unused variables and the use of ``offsetof()`` 55011986Sandreas.sandberg@arm.com* Support for ``std::array<>`` conversions 55111986Sandreas.sandberg@arm.com 55211986Sandreas.sandberg@arm.com1.1 (December 7, 2015) 55311986Sandreas.sandberg@arm.com-------------------------- 55411986Sandreas.sandberg@arm.com 55511986Sandreas.sandberg@arm.com* Documentation improvements (GIL, wrapping functions, casting, fixed many typos) 55611986Sandreas.sandberg@arm.com* Generalized conversion of integer types 55711986Sandreas.sandberg@arm.com* Improved support for casting function objects 55811986Sandreas.sandberg@arm.com* Improved support for ``std::shared_ptr<>`` conversions 55911986Sandreas.sandberg@arm.com* Initial support for ``std::set<>`` conversions 56011986Sandreas.sandberg@arm.com* Fixed type resolution issue for types defined in a separate plugin module 56111986Sandreas.sandberg@arm.com* Cmake build system improvements 56211986Sandreas.sandberg@arm.com* Factored out generic functionality to non-templated code (smaller code size) 56311986Sandreas.sandberg@arm.com* Added a code size / compile time benchmark vs Boost.Python 56411986Sandreas.sandberg@arm.com* Added an appveyor CI script 56511986Sandreas.sandberg@arm.com 56611986Sandreas.sandberg@arm.com1.0 (October 15, 2015) 56711986Sandreas.sandberg@arm.com------------------------ 56811986Sandreas.sandberg@arm.com* Initial release 569