Changelog for
python2-gevent-1.3.3-50.3.x86_64.rpm :
* Wed Jun 13 2018 toddrme2178AATTgmail.com- Update to 1.3.3
* :func:`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. :class:`gevent.Timeout` does the same. Reported by champax and FoP in :issue:`1227`.
* Fix an ``UnboundLocalError`` in SSL servers when wrapping a socket throws an error. Reported in :issue:`1236` by kochelmonster.- Update to 1.3.2
* Allow weak refeneces to :class:`gevent.queue.Queue`. Reported in :issue:`1217` by githrdw.- Update to 1.3.1
* Allow weak references to :class:`gevent.event.Event`. Reported in :issue:`1211` by Matias Guijarro.
* Fix embedded uses of :func:`gevent.Greenlet.spawn`, especially under uwsgi. Reported in :issue:`1212` by Kunal Gangakhedkar.
* Fix :func:`gevent.os.nb_write` and :func:`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.- Update to 1.3.0 + Dependencies
* Cython 0.28.2 is now used to build gevent from a source checkout.
* The bundled libuv is now 1.19.2, up from 1.18.0.
* On Windows, CFFI is now a dependency so that the libuv backend really can be used by default.
* Cython 0.28b1 or later is now required to build gevent from a source checkout (Cython is
*not
* required to build a source distribution from PyPI).
* Update c-ares to 1.14.0. See :issue:`1105`.
* The bundled libuv is now 1.20.1, up from 1.19.2. See :issue:`1177`.
* gevent now
*
*requires
*
* the patched version of libuv it is distributed with. Building gevent with a non-embedded libuv, while not previously supported, is not possible now. See :issue:`1126`.
* gevent is now built and tested with Cython 0.27. This is required for Python 3.7 support.
* Update c-ares to 1.13.0. See :issue:`990`. + Platform Support
* Travis CI tests on Python 3.7.0b3.
* Windows now defaults to the libuv backend if CFFI is installed. See :issue:`1163`.
* Python 3.7 passes the automated memory leak checks. See :issue:`1197`.
* Python 3.7.0b4 is now the tested and supported version of Python 3.7. PyPy 6.0 has been tested, although CI continues to use 5.10.
* Travis CI tests on Python 3.7.0b2 and PyPy 2.7 5.10.0 and PyPy 3.5 5.10.1.
* Add initial support for Python 3.7a3. It has the same level of support as Python 3.6. > Using unreleased Cython 0.28 and greenlet 0.4.13; requires Python 3.7a3. > The ``async`` functions and classes have been renamed to ``async_`` due to ``async`` becoming a keyword in Python 3.7. Aliases are still in place for older versions. See :issue:`1047`.
* gevent is now tested on Python 3.6.4. This includes the following fixes and changes: > Errors raised from :mod:`gevent.subprocess` will have a ``filename`` attribute set. > The :class:`threading.Timer` class is now monkey-patched and can be joined. Previously on Python 3.4 and above, joining a ``Timer`` would hang the process. > :meth:`gevent.ssl.SSLSocket.unwrap` behaves more like the standard library, including returning a SSLSocket and allowing certain timeout-related SSL errors to propagate. The added standard library tests ``test_ftplib.py`` now passes. > :class:`gevent.subprocess.Popen` accepts a \"path-like object\" for the
*cwd
* parameter on all platforms. Previously this only worked on POSIX platforms under Python 3.6. Now it also works on Windows under Python 3.6 (as expected) and is backported to all previous versions.
* Linux CI now tests on PyPy3 3.5-5.9.0, updated from PyPy3 3.5-5.7.1. See :issue:`1001`. PyPy2 has been updated to 5.9.0 from 5.7.1, Python 2.7 has been updated to 2.7.14 from 2.7.13, Python 3.4 is updated to 3.4.7 from 3.4.5, Python 3.5 is now 3.5.4 from 3.5.3, and Python 3.6 is now 3.6.4 from 3.6.0.
* Drop support for Python 3.3. The documentation has only claimed support for 3.4+ since gevent 1.2 was released, and only 3.4+ has been tested. This merely removes the supporting Trove classifier and remaining test code. See :issue:`997`.
* PyPy is now known to run on Windows using the libuv backend, with caveats. See the section on libuv for more information.
* Due to security concerns, official support for Python 2.7.8 and earlier (without a modern SSL implementation) has been dropped. These versions are no longer tested with gevent, but gevent can still be installed on them. Supporting code will be removed in the next major version of gevent. See :issue:`1073`.
* `gevent.subprocess.Popen` uses ``/proc/self/fd`` (on Linux) or ``/dev/fd`` (on BSD, including macOS) to find the file descriptors to close when ``close_fds`` is true. This matches an optimization added to Python 3 (and backports it to Python 2.7), making process spawning up to 9 times faster. Also, on Python 3, since Python 3.3 is no longer supported, we can also optimize the case where ``close_fds`` is false (not the default), making process spawning up to 38 times faster. Initially reported in :issue:`1172` by Ofer Koren. + Bug Fixes
* :class:`gevent.local.local` subclasses that mix-in ABCs can be instantiated. Reported in :issue:`1201` by Bob Jordan.
* Fix a bug detecting whether we can use the memory monitoring features when psutil is not installed.
* On Python 2, when monkey-patching `threading.Event`, also monkey-patch the underlying class, ``threading._Event``. Some code may be type-checking for that. See :issue:`1136`.
* Fix libuv io watchers polling for events that only stopped watchers are interested in, reducing CPU usage. Reported in :issue:`1144` by wwqgtxx.
* Fix calling ``shutdown`` on a closed socket. It was raising ``AttributeError``, now it once again raises the correct ``socket.error``. Reported in :issue:`1089` by André Cimander.
* Fix an interpreter crash that could happen if two or more ``loop`` objects referenced the default event loop and one of them was destroyed and then the other one destroyed or (in the libev C extension implementation only) deallocated (garbage collected). See :issue:`1098`.
* Fix a race condition in libuv child callbacks. See :issue:`1104`.
* If a single greenlet created and destroyed many :class:`gevent.local.local` objects without ever exiting, there would be a leak of the function objects intended to clean up the locals after the greenlet exited. Introduce a weak reference to avoid that. Reported in :issue:`981` by Heungsub Lee.
* pywsgi also catches and ignores by default :const:`errno.WSAECONNABORTED` on Windows. Initial patch in :pr:`999` by Jan van Valburg.
* :meth:`gevent.subprocess.Popen.communicate` returns the correct type of str (not bytes) in universal newline mode under Python 3, or when an encoding has been specified. Initial patch in :pr:`939` by William Grzybowski.
* :meth:`gevent.subprocess.Popen.communicate` (and in general, accessing ``Popen.stdout`` and ``Popen.stderr``) returns the correct type of str (bytes) in universal newline mode under Python 2. Previously it always returned unicode strings. Reported in :issue:`1039` by Michal Petrucha.
* :class:`gevent.fileobject.FileObjectPosix` returns native strings in universal newline mode on Python 2. This is consistent with what :class:`.FileObjectThread` does. See :issue:`1039`.
* ``socket.send()`` now catches ``EPROTOTYPE`` on macOS to handle a race condition during shutdown. Fixed in :pr:`1035` by Jay Oster.
* :func:`gevent.socket.create_connection` now properly cleans up open sockets if connecting or binding raises a :exc:`BaseException` like :exc:`KeyboardInterrupt`, :exc:`greenlet.GreenletExit` or :exc:`gevent.timeout.Timeout`. Reported in :issue:`1044` by kochelmonster. + Enhancements
* Add additional optimizations for spawning greenlets, making it faster than 1.3a2.
* Use strongly typed watcher callbacks in the libuv CFFI extensions. This prevents dozens of compiler warnings.
* When gevent prints a timestamp as part of an error message, it is now in UTC format as specified by RFC3339.
* Threadpool threads that exit now always destroy their hub (if one was created). This prevents some forms of resource leaks (notably visible as blocking functions reported by the new monitoring abilities).
* Hub objects now include the value of their ``name`` attribute in their repr.
* Pools for greenlets and threads have lower overhead, especially for ``map``. See :pr:`1153`.
* The undocumented, internal implementation classes ``IMap`` and ``IMapUnordered`` classes are now compiled with Cython, further reducing the overhead of ``[Thread]Pool.imap``.
* The classes `gevent.event.Event` and `gevent.event.AsyncResult` are compiled with Cython for improved performance, as is the ``gevent.queue`` module and ``gevent.hub.Waiter`` and certain time-sensitive parts of the hub itself. Please report any compatibility issues.
* ``python -m gevent.monkey