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