Eventlet 0.18.3 released

Sergey Shepelev temotor at gmail.com
Sat Feb 13 14:13:17 EST 2016

Eventlet is a concurrent networking library for Python that allows you to change how you run your code, not how you write it. 


The most scandal Eventlet release so far: https://pypi.python.org/pypi/eventlet/0.18.3

*Important note*: do not use versions 0.18.0 and 0.18.1, they contain known bug in wsgi on Python3.

0.18 line features Python3 compatible green.OpenSSL.

Now important backward incompatible changes:
- socket.send() will return fast, it no longer attempts to retry like sendall() which makes it consistent with Python standard library and removes a source of very subtle errors.
- monkey patching removes things from `select` module, that we could not make green. This includes `select.poll()`, epoll, kqueue, etc. See full list here http://eventlet.net/doc/changelog.html the motivation here is that we want to prevent you from accidentally blocking whole process, while thinking it should all work together.

Other goodies:
* greenio: Fixed a bug that could cause send() to start an endless loop on ENOTCONN; Thanks to Seyeong Kim
* wsgi: Fixed UNIX socket address being trimmed in "wsgi starting" log; Thanks to Ihar Hrachyshka
* subprocess: Fixed missing subprocess.mswindows attribute on Python 3.5; Thanks to Josh VanderLinden
* ssl/monkey patching: Fixed a bug that would cause merely importing eventlet to monkey patch the ssl module; Thanks to David Szotten
* wsgi: Made the error raised in case of chunk read failures more precise (this should be backwards compatible as the new exception class, wsgi.ChunkReadError, is a subclass of ValueError which was being used there before); Thanks to Samuel Merritt
* greenio: Fixed socket.recv() sometimes returning str instead of bytes on Python 3; Thanks to Janusz Harkot
* websocket: Fixed TypeError on empty websocket message (Python 3); Thanks to Fukuchi Daisuke
* greenio: Fixed handling blocking IO errors in various GreenSocket methods; Thanks to Victor Stinner
* greenio: Fixed GreenPipe ignoring the bufsize parameter on Python 2; Thanks to Phus Lu
* greenio: Made read() support buflen=-1 and added readall() (Python 3); Thanks to David Szotten
* wsgi: Improved request body discarding
* subprocess: Fixed universal_newlines support
* wsgi: Output of 0-byte chunks is now suppressed; Thanks to Samuel Merritt
Improved the documentation; Thanks to Ramakrishnan G, ashutosh-mishra and Azhar Hussain
* greenio: Changed GreenFileIO.write() (Python 3) to always write all data to match the behavior on Python 2; Thanks to Victor Stinner
documentation: Added support for building plain text documentation; thanks to Levente Polyak
* backdoor: Added Unix and IPv6 socket support; Thanks to Eric Urban

Our website: http://eventlet.net/ 
Direct package download links: 

More information about the Python-announce-list mailing list