Trollius is a port of asyncio to Python 2, it works on Python 2.6-3.5. The version 1.0.4 mostly fixes bugs, but there are some other changes. See the full changelog: http://trollius.readthedocs.org/changelog.html#version-1-0-4
For the first time, I used my new release.py script to build and upload wheel packages on Windows. This script is more reliable because it's fully automated. Before, I built manually the 6 wheel for 3 different Python versions and 2 different architectures (32 and 64 bits). While developing release.py, I found many bugs in trollius on Windows. It looks like the proactor code is not fully reliable yet. I already fixed a race condition in the subprocess transport when the process exits quickly. test_pause_reading() fails on Windows. It looks like a design issue in the test (not in the code). The test tries to monkey-patch the pause_reading & resume_reading methods too late. The implementation of proactor.wait_for_handle() looks to have race conditions, but I was not able to identify them. It looks like a C callback is called on an overlapped operation which was freed. It doesn't crash before a new overlapped operation gets the same memory address, but we get unexpected events, tests hang, or something else. For example, transport.process_exit() may be called with a returncode equals to None, which is invalid. Victor
