Path: csiph.com!eternal-september.org!feeder.eternal-september.org!border1.nntp.ams1.giganews.com!nntp.giganews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.am4!peer.am4.highwinds-media.com!peer03.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Sergey Shepelev Newsgroups: comp.lang.python.announce Subject: Eventlet 0.20.0 released Date: Sun, 11 Dec 2016 15:36:07 -0800 (PST) Lines: 36 Approved: python-announce-list@python.org Message-ID: References: <98d7a178-51f8-4960-b710-edfdbd11cf3f@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: news.uni-berlin.de 0oqZ5CZ5A0H+WrwtJdzj2AGFQNTuOqJMKxtlDADQlYdw== X-Orig-Path: n6no5526012qtd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Return-Path: X-Original-To: python-announce@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.003 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'url:pypi': 0.03; 'counting': 0.07; 'incompatible': 0.07; 'makefile': 0.07; 'pypy': 0.07; 'socket': 0.07; 'subject:released': 0.07; 'python': 0.09; 'chunks': 0.09; 'concurrent': 0.09; 'none"': 0.09; 'read()': 0.09; 'read-write': 0.09; 'index': 0.11; 'headers': 0.15; 'available;': 0.16; 'bytes-like': 0.16; 'content-type': 0.16; 'getaddrinfo': 0.16; 'poll': 0.16; 'skip:{ 30': 0.16; 'sock': 0.16; 'wrappers': 0.16; 'alex': 0.18; 'argument': 0.18; 'skip': 0.18; 'library': 0.20; 'sets': 0.23; 'fix': 0.23; 'code,': 0.24; 'install': 0.26; 'header:User-Agent:1': 0.26; 'unix': 0.27; 'behaviour': 0.29; 'blocking': 0.29; 'changes:': 0.29; 'locks': 0.29; 'related': 0.30; 'errors': 0.30; 'url:python': 0.31; 'allows': 0.32; 'received:google.com': 0.32; 'fixed': 0.33; 'object,': 0.33; 'scope': 0.33; 'really': 0.34; 'run': 0.34; 'url:org': 0.36; 'received:209.85': 0.36; 'add': 0.36; 'answers': 0.36; 'version': 0.37; 'wanted': 0.37; 'thanks': 0.37; 'data': 0.38; 'received:209': 0.38; 'closed': 0.38; 'skip:p 20': 0.38; 'skip:e 20': 0.39; 'proto:https': 0.40; 'received:io': 0.40; 'received:psf.io': 0.40; 'your': 0.60; 'address': 0.61; 'url:0': 0.61; 'default': 0.61; 'latest': 0.63; 'our': 0.63; 'alert': 0.66; 'improvement.': 0.66; 'website:': 0.67; 'to:addr:comp-lang-python- announce': 0.68; 'received:130': 0.74; 'to:addr:moderators.isc.org': 0.77; 'received:130.133': 0.82; 'received:130.133.4': 0.82; 'received:130.133.4.7': 0.82; 'received:individual.net': 0.82; 'received:moderators.individual.net': 0.82; 'isolate': 0.84; 'ref': 0.84; 'message-id:@googlegroups.com': 0.93 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:path:newsgroups:date:complaints-to :injection-info:nntp-posting-host:user-agent:mime-version:message-id :subject:from:injection-date:to:content-transfer-encoding; bh=zyzmrQGQkEqrl8MdRHRpIm/I0qc6eR/ekN+WcKWdlP8=; b=kF+BPdn4pJ9xx8/xBTDYtQAeU8RUbpWvD3hqiun5iroIi/tclCpnXSWXFQmwp/zSXm 3FDf3OSY14H0lZ9eXG6YX3ft8kSoeVaRObCnauXZoimA99/MkbWgba+NYNPw8hR3+HM1 ljuDmvRfvcEQewBkKcz9+7HaIwZp+jxH0BecKoxB9qAEejRx597Dt84eoWr/p58yxSCn jKjOvd5mdpH8tWMviPZUwAt8MYuLPThf6itKij+xrsw6jR/owANczuuLA7yiewfkZYi0 ttzGCuZnXRsC2jJev15CMVcBHd0Lv+t+748T+hExpL7TpCOx48H++S/NePFcUwCQQI2k qnmA== X-Gm-Message-State: AKaTC02j1RzJ1pNX/H58zNyK5h/D4i1Of4003mty/dsQhVNghwfdWcO5the/0eSOHOtn9YSHtwpeYbn3QIdConE9+fxo0K0= X-Received: by 10.237.37.14 with SMTP id v14mr18797713qtc.47.1481499368217; Sun, 11 Dec 2016 15:36:08 -0800 (PST) X-Received: by 10.157.56.132 with SMTP id p4mr5910262otc.20.1481499368187; Sun, 11 Dec 2016 15:36:08 -0800 (PST) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.215.96.145; posting-account=AO1dqAoAAAAWzTh6C4DhauE2cnEuuP-v User-Agent: G2/1.0 Injection-Date: Sun, 11 Dec 2016 23:36:08 +0000 X-Mailman-Approved-At: Mon, 12 Dec 2016 08:27:49 -0500 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Announcement-only list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <98d7a178-51f8-4960-b710-edfdbd11cf3f@googlegroups.com> X-Received-Body-CRC: 116609656 X-Received-Bytes: 6397 Xref: csiph.com comp.lang.python.announce:2338 Eventlet is a concurrent networking library for Python that allows you to c= hange how you run your code, not how you write it. https://pypi.python.org/pypi/eventlet/0.20.0 Important backward incompatible changes: - removed select.poll(). We never had green poll implementation. If you rea= lly need blocking poll, use patcher.original('select'). - DNS resolving is always green with dnspython bundled in. This is just a n= ice free improvement. Be alert only if you intentionally wanted blocking re= solving. Other goodies: * greenio: only trampoline when we block * convenience: listen() sets SO_REUSEPORT when available; Thanks to Zhengwe= i Gao * ssl: Fix "TypeError: read() argument 2 must be read-write bytes-like obje= ct, not None" * greenio: _recv_loop behaviour with recv_into on closed sock * ipv6: getaddrinfo would fail with scope index * green.zmq: Support {send,recv}_{string,json,pyobj} wrappers * greendns: Return answers from /etc/hosts despite nameserver errors * patcher: fixed green existing locks fail (Python3) * Add DAGPool, a dependency-driven greenthread pool * wsgi: Unix socket address representation; Thanks to Samuel Merritt * tpool: isolate internal socket from default timeout; Thanks to Alex Villa= c=C3=ADs Lasso * wsgi: only skip Content-Type and Content-Length headers (GH-327) * wsgi: 400 on blank Content-Length headers (GH-334) * greenio: makefile related pypy socket ref counting * ssl: Fix recv_into blocking when reading chunks of data * websocket: support Gunicorn environ['gunicorn.socket'] Our website: http://eventlet.net/=20 Try latest version with `pip install -U eventlet`