Gevent

Latest version: v24.2.1

Safety actively analyzes 621724 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

1.2.2

1.1.2

Not secure
- Python 2: `sendall` on a non-blocking socket could spuriously fail
with a timeout.
- If `sys.stderr` has been monkey-patched (not recommended),
exceptions that the hub reports aren't lost and can still be caught.
Reported in :issue:`825` by Jelle Smet.
- :class:`selectors.SelectSelector` is properly monkey-patched
regardless of the order of imports. Reported in :issue:`835` by
Przemysław Węgrzyn.
- Python 2: `reload(site)` no longer fails with a `TypeError` if
gevent has been imported. Reported in :issue:`805` by Jake Hilton.

1.1.1

Not secure
- Nested callbacks that set and clear an Event no longer cause
`wait` to return prematurely. Reported in :issue:`771` by Sergey
Vasilyev.
- Fix build on Solaris 10. Reported in :issue:`777` by wiggin15.
- The `ref` parameter to :func:`gevent.os.fork_and_watch` was being ignored.
- Python 3: :class:`gevent.queue.Channel` is now correctly iterable, instead of
raising a :exc:`TypeError`.
- Python 3: Add support for :meth:`socket.socket.sendmsg`,
:meth:`socket.socket.recvmsg` and :meth:`socket.socket.recvmsg_into`
on platforms where they are defined. Initial :pr:`773` by Jakub
Klama.

1.1.0

Not secure
- Python 3: A monkey-patched :class:`threading.RLock` now properly
blocks (or deadlocks) in `acquire` if the default value for
_timeout_ of -1 is used (which differs from gevent's default of
None). The `acquire` method also raises the same :exc:`ValueError`
exceptions that the standard library does for invalid parameters.
Reported in 750 by Joy Zheng.
- Fix a race condition in :class:`~gevent.event.Event` that made it
return `False` when the event was set and cleared by the same
greenlet before allowing a switch to already waiting greenlets. (Found
by the 3.4 and 3.5 standard library test suites; the same as Python
`bug 13502`_. Note that the Python 2 standard library still has this
race condition.)
- :class:`~gevent.event.Event` and :class:`~.AsyncResult` now wake
waiting greenlets in the same (unspecified) order. Previously,
`AsyncResult` tended to use a FIFO order, but this was never
guaranteed. Both classes also use less per-instance memory.
- Using a :class:`~logging.Logger` as a :mod:`pywsgi` error or request
log stream no longer produces extra newlines. Reported in
756 by ael-code.
- Windows: Installing from an sdist (.tar.gz) on PyPI no longer
requires having Cython installed first. (Note that the binary installation
formats (wheels, exes, msis) are preferred on Windows.) Reported in
757 by Ned Batchelder.
- Issue a warning when :func:`~gevent.monkey.patch_all` is called with
`os` set to False (_not_ the default) but `signal` is still True
(the default). This combination of parameters will cause signal
handlers for `SIGCHLD` to not get called. In the future this might
raise an error. Reported by Josh Zuech.
- Issue a warning when :func:`~gevent.monkey.patch_all` is called more
than once with different arguments. That causes the cumulative set of all True
arguments to be patched, which may cause unexpected results.
- Fix returning the original values of certain `threading`
attributes from :func:`gevent.monkey.get_original`.

1.1rc5

Not secure
- SSL: Attempting to send empty data using the
:meth:`~socket.socket.sendall` method of a gevent SSL socket that has
a timeout now returns immediately (like the standard library does),
instead of incorrectly raising :exc:`ssl.SSLEOFError`. (Note that
sending empty data with the :meth:`~socket.socket.send`
method _does_ raise `SSLEOFError` in
both gevent and the standard library.) Reported in 719 by
Mustafa Atik and Tymur Maryokhin, with a reproducible test case
provided by Timo Savola.

1.1rc4

Not secure
- Python 2: Using the blocking API at import time when multiple greenlets are also importing should not lead to LoopExit. Reported in issue 728 by Garrett Heel.
- Python 2: Don’t raise `OverflowError` when using the `readline` method of the WSGI input stream without a size hint or with a large size hint when the client is uploading a large amount of data. (This only impacted CPython 2; PyPy and Python 3 already handled this.) Reported in issue 289 by ggjjlldd, with contributions by Nathan Hoad.
- BaseServer and its subclasses like WSGIServer avoid allocating a new closure for each request, reducing overhead.
- Python 2: Under 2.7.9 and above (or when the PEP 466 SSL interfaces are available), perform the same hostname validation that the standard library does; previously some cases were ignored. Also, reading, writing, or handshaking a closed `SSLSocket` now raises the same ValueError the standard library does, instead of an `AttributeError`. Found by updating gevent’s copy of the standard library test cases. Initially reported in issue 735 by Dmitrij D. Czarkoff.
- Python 3: Fix SSLSocket.unwrap and SNI callbacks. Also raise the correct exceptions for unconnected SSL sockets and properly validate SSL hostnames.
- Python 3.5: Add support for `socket.sendfile`.
- Python 3.4+: Add support for `socket.get/set_inheritable`.

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.