1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
Changelog
=========
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 ``aiogreen`` to ``aioeventlet``
* Rename the ``link_future()`` function to :func:`yield_future`
* Running tests with eventlet monkey-patching now works with Python 3.
2014-11-23: version 0.3
-----------------------
* :func:`wrap_greenthread` now 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.
* :func:`link_future` now accepts coroutine objects.
* :func:`link_future` now 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 :func:`link_future` and
:func:`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 :func:`link_future` function: wait for a future from a
greenthread.
* Add the :func:`wrap_greenthread` function: 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
|