Version 1.0.0 (Dec 15, 2018)
New platform support:
- Add support for PyPy on Linux. Thanks to Oliver Margetts and to Heungsub Lee for patches.
- Fix a bug as of which gipc crashed when passing "raw" pipe handles between processes on Windows (see issue #63).
can't pickle gevent._semaphore.Semaphoreerror on Windows.
- Fix signal handling in example
- Work around segmentation fault after fork on Mac OS X (affected
test_wsgi_scenarioand example program
Test / continuous integration changes:
- Fix a rare instability in
- Run the example programs as part of CI (run all on Linux and Mac, run most on Windows).
- Linux main test matrix (all combinations are covered):
- gevent dimension: gevent 1.2.x, gevent 1.3.x.
- Python implementation dimension: CPython 2.7, 3.4, 3.5, 3.6, PyPy2.7, PyPy3.
- Also test on Linux: CPython 3.7, pyenv-based PyPy3 and PyPy2.7 (all with gevent 1.3.x only).
- Mac OS X tests (all with gevent 1.3.x):
- pyenv Python builds: CPython 2.7, 3.6, PyPy3
- system CPython
- On Windows, test with gevent 1.3.x and CPython 2.7, 3.4, 3.5, 3.6, 3.7.
Potentially breaking changes:
- gevent 1.1 is not tested anymore.
- CPython 3.3 is not tested anymore.
Version 0.6.0 (Jul 22, 2015)
- Add support for CPython 3.3 and 3.4.
- Require gevent >= 1.1b1.
Version 0.5.0 (Oct 22, 2014)
- Improve large message throughput on Linux (see issue #13).
- Work around read(2) system call flaw on Mac OS X (see issue #13)
- Work around signal.NSIG-related problem on FreeBSD (see issue #10)
- Do not alter SIGPIPE action during child bootstrap (breaking change, (see issue #12)).
Version 0.4.0 (Dec 07, 2013)
- Implement data (de)serialization pipe API (allowing for raw byte transmission and for custom encoders/decoders).
- Restore default signal disposition in child wrapper for all signals (see issue #7).
- Fix DeprecationWarning related to _PairContext class (see issue #5).
- Significantly improve large message write performance by using Python's buffer interface.
- Require gevent 1.0 final release version via setup.py.
Version 0.3.2 (July 14, 2013)
- Don't provide and use distribute_setup.py anymore. Thanks to Guy Rozendorn.
- Slightly improve pipe write performance (measured improvement of up to 10 % in data throughput as well as message transmission rate).
Version 0.3.1 (Apr 22, 2013)
- Fix issue #1: don't import gipc from setup.py anymore.
- Fix: make GProcess' exitcode return
Popenobject still not existing.
GProcess.is_alive: Raise exception if process has not been started yet.
- Create event object after forking instead of before (one reference to old Hub object less in child).
- Make test classes newstyle. Doh.
- Modify documentation theme.
Version 0.3.0 (Feb 11, 2013)
- Add bidirectional message transfer channels for IPC.
- Prevent multiprocessing from swallowing SIGCHLD signals. Eliminates race condition between poll via os.waitpid() and libev child watchers.
- Don't pass dispensable gipc handles to child.
- Properly deal with handles that are locked for I/O operation while being inherited by child.
- Various minor code changes, and a new class of unit tests for more complex scenarios.
Version 0.2.0 (Jan 31, 2013)
- Remove gevent hub threadpool before destroying hub in child (makes gevent reset in child work more reliable).
Version 0.1.0 (Dec 12, 2012)
- Initial release.