3.6 KiB
3.6 KiB
Changelog
2016-02-22: Version 0.5.1
- Fix EventLoop.stop() for the new semantics of stop() introduced in Python 3.4.4 and Python 3.5.1. The method now writes into the self-pipe to wake-up the event loop. Otherwise, the stop() may not be taken in account immediatly, and even block forever.
2016-02-22: Version 0.5
- Unit tests now use the aiotest library.
- Fix for eventlet used with monkey-patching: inject the original threading module and the original threading.get_ident() function in asyncio.base_events.
- Drop support for Python 2.6 and Python 3.2. aioeventlet depends on trollius and pip which don't support these Python versions anymore.
2014-12-03: Version 0.4
- Add run_aiotest.py
- tox now also run the aiotest test suite
- Rename the project from
aiogreentoaioeventlet - Rename the
link_future()function toyield_future - Running tests with eventlet monkey-patching now works with Python 3.
2014-11-23: version 0.3
wrap_greenthreadnow raises an exception if the greenthread is running or already finished. In debug mode, the exception is not more logged to sys.stderr for greenthreads.link_futurenow accepts coroutine objects.link_futurenow raises an exception if it is called from the greenthread of the aiogreen event loop.- Fix eventlet detection of blocking tasks: cancel the alarm when the aiogreen event loop stops.
- Fix to run an event loop in a thread different than the main thread in debug mode: disable eventlet "debug_blocking", it is implemented with the SIGALRM signal, but signal handlers can only be set in the main thread.
2014-11-21: version 0.2
aiogreen event loop has been rewritten to reuse more asyncio/trollius code. It now only has a few specific code.
It is now possible use greenthreads in asyncio coroutines, and to use
asyncio coroutines, tasks and futures in greenthreads: see link_future and wrap_greenthread
functions.
All asyncio network are supported: TCP, UCP and UNIX clients and servers.
Support of pipes, signal handlers and subprocess is still experimental.
Changes:
- Add a Sphinx documentation published at http://aiogreen.readthedocs.org/
- Add the
link_futurefunction: wait for a future from a greenthread. - Add the
wrap_greenthreadfunction: wrap a greenthread into a Future - Support also eventlet 0.14, not only eventlet 0.15 or newer
- Support eventlet with monkey-patching
- Rewrite the code handling file descriptors to ensure that the listener is only called once per loop iteration, to respect asyncio specification.
- Simplify the loop iteration: remove custom code to reuse instead the asyncio/trollius code (_run_once)
- Reuse call_soon, call_soon_threadsafe, call_at, call_later from asyncio/trollius, remove custom code
- sock_connect() is now asynchronous
- Add a suite of automated unit tests
- Fix EventLoop.stop(): don't stop immediatly, but schedule stopping the event loop with call_soon()
- Add tox.ini to run tests with tox
- Setting debug mode of the event loop doesn't enable "debug_blocking" of eventlet on Windows anymore, the feature is not implemented on Windows in eventlet.
- add_reader() and add_writer() now cancels the previous handle and sets a new handle
- In debug mode, detect calls to call_soon() from greenthreads which are not threadsafe (would not wake up the event loop).
- Only set "debug_exceptions" of the eventlet hub when the debug mode of the event loop is enabled.
2014-11-19: version 0.1
- First public release