- Fixed regression on older Python 3.5 releases caused by the introduction of ``_get_running_loop()`` calls
1.3.1
- Fixed ``StopAsyncIteration`` exceptions from leaking from async context managers if ``return`` is used after ``yield`` - Fixed exception being reraised from the context block even if it's handled inside the context manager function - Added safeguard to prevent ``call_async()`` from being called from the event loop thread
1.3.0
- Removed the asynchronous generator implementation in favor of Nathaniel J. Smith's async_generator library. The ``yield_async()``, ``isasyncgenfunction()`` and ``async_generator()`` functions are now deprecated and will be removed in the next major release.
1.2.0
- Renamed the ``isasyncgeneratorfunction`` function to ``isasyncgenfunction`` to match the new function in the ``inspect`` module in Python 3.6 (the old name still works though) - Updated ``isasyncgenfunction`` to recognize native asynchronous generator functions in Python 3.6 - Updated ``async_contextmanager`` to work with native async generator functions in Python 3.6 - Changed asynchronous generators to use the updated ``__aiter__`` protocol on Python 3.5.2 and above - Added the ability to asynchronously iterate through ``AsyncFileWrapper`` just like with a regular file object
1.1.3
- Fixed error when throwing an exception into an asynchronous generator when using asyncio's debug mode
1.1.2
- Fixed concurrency issue with ``async with threadpool()`` when more than one coroutine from the same coroutine function is being run