Changes ======= .. _version-1.2.0: :release-date: 2018-01-06 4:30 P.M UTC+2 :release-by: Omer Katz 1.2.0 ===== - Added Python 3.7 support. Contributed by **Jon Dufresne** & **:github_user:`dequis`** - Handle bound methods in weak reference promise instances. Contributed by **George Psarakis** Documentation fixes, CI adjustments and cleanups by: - **Omer Katz** - **Jon Dufresne** - **Edward Betts** - **Jacopo Notarstefano** - **Christopher Hoskin** - **Fahad Siddiqui** .. _version-1.1.4: 1.1.4 ===== :release-date: 2017-07-16 10:30 P.M UTC+2 :release-by: Ask Solem - Added official support for Python 3.5 & 3.6. - Improve Python 2/3 compatibility. - Don't set mutable default values to keyword arguments. .. _version-1.1.3: 1.1.3 ===== :release-date: 2016-10-13 06:02 P.M PDT :release-by: Ask Solem - New ``promise(fun, weak=True)`` argument, creates weakref to callback. .. _version-1.1.2: 1.1.2 ===== :release-date: 2016-09-07 04:18 P.M PDT :release-by: Ask Solem - barrier: now handles the case where len(promises) returns NotImplemented. .. _version-1.1.1: 1.1.1 ===== :release-date: 2016-06-30 12:05 P.M PDT :release-by: Ask Solem - Requirements: Tests now depends on :pypi:`case` 1.2.2 - Five: python_2_unicode_compatible now ensures `__repr__` returns bytes on Python 2. .. _version-1.1.0: 1.1.0 ===== :release-date: 2016-04-21 01:30 P.M PDT :release-by: Ask Solem - :meth:`promise.throw() ` now passes partial args/kwargs to the errback: .. code-block:: pycon >>> p = promise(args=(self,), on_error=handle_error) >>> p.throw(exc) # --> handle_error(self, exc) - New :class:`vine.abstract.ThenableProxy` can be used to add promise-capabilities to a class by forwarding to a different promise. .. code-block:: python from vine import promise from vine.abstract import ThenableProxy class P(ThenableProxy): def __init__(self, on_success=None, on_error=None): self._set_promise_target(promise( args=(self,), callback=on_success, on_error=on_error, )) p = P() p.then(download_file(url)).then(extract_file) - :meth:`promise.throw() ` now supports a propagate argument that can be set to False to never reraise the exception. - :meth:`promise.throw() ` now also reraises the current exception from the stack, if the exc argument is passed and that value is the same as the current exception. - :meth:`Thenable.register() ` can now be used as a decorator. - Argument to :meth:`promise.throw1(exc) ` can now be :const:`None` to use the current exception. - ``monotonic()`` now uses ``librt.so.0`` as an alternative if ``librt.so.1`` does not exist. Contributed by Fahad Siddiqui. .. _version-1.0.2: 1.0.2 ===== :release-date: 2016-04-11 05:30 P.M PDT :release-by: Ask Solem - ``promise.throw()`` now supports second ``traceback`` argument to throw exception with specific traceback. Contributed by Ionel Cristian Mărieș. .. _version-1.0.1: 1.0.1 ===== :release-date: 2016-04-11 03:00 P.M PDT :release-by: Ask Solem - Adds vine.five.python_2_unicode_compatible. .. _version-1.0.0: 1.0.0 ===== :release-date: 2016-04-07 06:02 P.M PDT :release-by: Ask Solem - Initial release.