second preview of gevent 0.12.0

Skip to first unread message

Denis Bilenko

Jan 29, 2010, 8:32:23 AM1/29/10

Second preview of 0.12.0 release is ready.

Please try it out
I plan to release the final version a week from now, next Friday.

The major addition, compared to the first preview, is gevent.ssl
module, fully compatible
with Python2.6's ssl module. It also works on Python <= 2.5 if
is installed. The old way of doing ssl via PyOpenSSL is still
available and is enabled when
ssl package is not present.

The monkey patcher fixes the stdlib's ssl if patch_all() or
patch_ssl() is called. (patch_socket only affects socket module).

Other changes, compared to the 0.12.0-preview

- Fixed bug in socket.accept. It could return unwrapped socket
instance if socket's timeout was 0.
- Fixed socket.sendall implementation never to call underlying socket's sendall.
- Made core.event.cancel not to raise if event_del reports an error.
instead, it passes the return value to the caller.
- Fixed select() to clean up properly if event creation fails; It also
raises select.error instead of IOError now.
- Fixed Greenlet.spawn_link* and GreenletSet.spawn_link* classmethods
not to assume anything
about their arguments. (Thanks to Marcus Cavanaugh for pointing that out).
- Removed 'is_secure' attribute from sockets and ssl objects
- Fixed Greenlet to avoid printing a traceback when a not-yet-started
greenlet is killed.
- Added BackdoorServer class to backdoor module. Removed backdoor()
function and deprecated backdoor_server() function
- Removed __getattr__ from socket class
- Made a number of improvements and fixes to
- Fixed monkey.patch_socket() not to fail if 'ssl' is not present in
- Added 'sslerror' to socket.__all__
- Removed GreenSocket alias for socket object
- Tests from stdlib no longer included in greentest package. Instead,
there are number of stubs
that import those tests from test package directly and run them in
monkey patched environment.
- Added 'aggressive' option to :monkey.patch_all. It not only patches
the module but removes
what it cannot patch. Currently that only affects select module.
- Added examples/ by Marcus Cavanaugh.

For the full changelog, refer to


Reply all
Reply to author
0 new messages