1.3.7:
- Formatting run info no longer includes gevent.local.local
objects that have no value in the greenlet.
- Fixed negative length in pywsgi's Input read functions for non chunked body.
- Upgrade libuv from 1.22.0 to 1.23.2.
- Fix opening files in text mode in CPython 2 on Windows by patching
libuv.
1.3.6:
- gevent now depends on greenlet 0.4.14 or above. gevent binary wheels
for 1.3.5 and below must have greenlet 0.4.13 installed on Python
3.7 or they will crash.
- :class:gevent.local.local subclasses correctly supports @staticmethod functions.
1.3.5:
- Update the bundled libuv from 1.20.1 to 1.22.0.
- Test Python 3.7 on Appveyor. Fix the handling of Popen's
close_fds argument on 3.7.
- Update Python versions tested on Travis, including PyPy to 6.0.
- :mod:gevent.queue imports _PySimpleQueue instead of
SimpleQueue so that it doesn't block the event loop.
:func:gevent.monkey.patch_all makes this same substitution in
:mod:queue. This fixes issues with
:class:concurrent.futures.ThreadPoolExecutor as well.
- :meth:gevent.socket.socket.connect doesn't pass the port (service)
to :func:socket.getaddrinfo when it resolves an AF_INET or
AF_INET6 address. (The standard library doesn't either.) This
fixes an issue on Solaris.
- :meth:gevent.socket.socket.connect works with more address
families, notably AF_TIPC, AF_NETLINK, AF_BLUETOOTH, AF_ALG and AF_VSOCK.
1.3.4:
Be more careful about issuing MonkeyPatchWarning for ssl imports. Now, we only issue it if we detect the one specific condition that is known to lead to RecursionError. This may produce false negatives, but should reduce or eliminate false positives.
Based on measurements and discussion in issue 1233, adjust the way gevent.pywsgi generates HTTP chunks. This is intended to reduce network overhead, especially for smaller chunk sizes.
Additional slight performance improvements in gevent.pywsgi.
1.3.3:
gevent.sleep() updates the loop’s notion of the current time before sleeping so that sleep duration corresponds more closely to elapsed (wall clock) time. gevent.Timeout does the same.
Fix an UnboundLocalError in SSL servers when wrapping a socket throws an error.
1.3.2.post0:
Fix a packaging error in manylinux binary wheels that prevented some imports from working.
1.3.2:
Allow weak refeneces to gevent.queue.Queue.
1.3.1:
Allow weak references to gevent.event.Event.
Fix embedded uses of gevent.Greenlet.spawn(), especially under uwsgi.
Fix gevent.os.nb_write() and gevent.os.nb_read() not always closing the IO event they opened in the event of an exception. This would be a problem especially for libuv.
1.3.0:
Python 3.7 passes the automated memory leak checks.
Update autoconf’s config.guess and config.sub to the latest versions for c-ares and libev.
gevent.local.local subclasses that mix-in ABCs can be instantiated.
- Testing on Python 3.5 now uses Python 3.5.3 due to SSL changes. See
:issue:`943`.
- Linux CI has been updated from Ubuntu 12.04 to Ubuntu 14.04 since
the former has reached EOL.
- Linux CI now tests on PyPy2 5.7.1, updated from PyPy2 5.6.0.
- Linux CI now tests on PyPy3 3.5-5.7.1-beta, updated from PyPy3
3.3-5.5-alpha.
- Python 2 sockets are compatible with the ``SOCK_CLOEXEC`` flag found
on Linux. They no longer pass the socket type or protocol to
``getaddrinfo`` when ``connect`` is called. Reported in :issue:`944`
by Bernie Hackett.
- Replace ``optparse`` module with ``argparse``. See :issue:`947`.
- Update to version 1.3.1 of ``tblib`` to fix :issue:`954`,
reported by ml31415.
- Fix the name of the ``type`` parameter to
:func:`gevent.socket.getaddrinfo` to be correct on Python 3. This
would cause callers using keyword arguments to raise a :exc:`TypeError`.
Reported in :issue:`960` by js6626069. Likewise, correct the
argument names for ``fromfd`` and ``socketpair`` on Python 2,
although they cannot be called with keyword arguments under CPython.
.. note:: The ``gethost*`` functions take different argument names
under CPython and PyPy. gevent follows the CPython
convention, although these functions cannot be called with
keyword arguments on CPython.
- The previously-singleton exception objects ``FileObjectClosed`` and
``cancel_wait_ex`` were converted to classes. On Python 3, an
exception object is stateful, including references to its context
and possibly traceback, which could lead to objects remaining alive
longer than intended.
- Make sure that ``python -m gevent.monkey <script>`` runs code in the
global scope, not the scope of the ``main`` function.
Tests don't run through because of
===> Testing for py27-gevent-1.0.2
Traceback (most recent call last):
File "testrunner.py", line 2, in <module>
import six
File "/scratch/net/py-gevent/work/gevent-1.0.2/greentest/six.py", line 2, in <module>
from gevent.hub import PY3
ImportError: No module named gevent.hub
*** Error code 1
Release 1.0.2
-------------
- Fix LifoQueue.peek() to return correct element. PR #456. Patch by Christine Spang.
- Upgrade to libev 4.19
- Remove SSL3 entirely as default TLS protocol
- Import socket on Windows (closes#459)
- Fix C90 syntax error (PR #449)
- Add compatibility with Python 2.7.9's SSL changes. Issue #477.