Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
150 lines (91 sloc) 4.21 KB

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.

Fixes:

  • Fix a bug as of which gipc crashed when passing "raw" pipe handles between processes on Windows (see issue #63).
  • Fix can't pickle gevent._semaphore.Semaphore error on Windows.
  • Fix ModuleNotFoundError in test_wsgi_scenario.
  • Fix signal handling in example infinite_send_to_child.py.
  • Work around segmentation fault after fork on Mac OS X (affected test_wsgi_scenario and example program wsgimultiprocessing.py).

Test / continuous integration changes:

  • Fix a rare instability in test_exitcode_previous_to_join.
  • Make test_time_sync more stable.
  • 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 None if Popen object still not existing.
  • Fix 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.