- Update to 25.4.2: [bsc#1241067, bsc#1241037]
* Make gevent's queue classes subscriptable to match the standard
library. See issue #2102.
* Make the c-ares resolver build on Windows.
* The gevent testsuite runs a copy of the test_ssl from cpython but
the follwoing change has not been ported yet:
- gh-126500: test_ssl: Don't stop ThreadedEchoServer on OSError
in ConnectionHandler [gh#python/cpython/pull/126503]
- Rebase gevent-openssl35-test-fix.patch
- Upstream PR: [gh#gevent/gevent/pull/2103]
- Update to 25.4.1
* Remove some legacy code that supported Python 2 for compatibility
with the upcoming releases of Cython 3.1.
* Add a new environment variable and configuration setting to control
whether blocking reports are printed by the monitor thread.
* Add initial support for Python 3.14a7.
* Fix using gevent’s BackdoorServer with Unix sockets.
* Do not use pywsgi in a security-conscious environment. Fix one
security issue related to HTTP 100 Continue handling. See issue #2075.
OBS-URL: https://build.opensuse.org/request/show/1272752
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-gevent?expand=0&rev=55
* Make gevent's queue classes subscriptable to match the standard
library. See issue #2102.
* Make the c-ares resolver build on Windows.
* The gevent testsuite runs a copy of the test_ssl from cpython but
the follwoing change has not been ported yet:
- gh-126500: test_ssl: Don't stop ThreadedEchoServer on OSError
in ConnectionHandler [gh#python/cpython/pull/126503]
- Rebase gevent-openssl35-test-fix.patch
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=120
* Make gevent's queue classes subscriptable to match the standard
library. See issue #2102.
* Make the c-ares resolver build on Windows.
* The gevent testsuite runs a copy of the test_ssl from cpython but
the follwoing change has not been ported yet:
- gh-126500: test_ssl: Don't stop ThreadedEchoServer on OSError
in ConnectionHandler [gh#python/cpython/pull/126503]
- Rebase gevent-openssl35-test-fix.patch
- Upstream PR: [gh#gevent/gevent/pull/2103]
- Update to 25.4.1
* Remove some legacy code that supported Python 2 for compatibility
with the upcoming releases of Cython 3.1.
* Add a new environment variable and configuration setting to control
whether blocking reports are printed by the monitor thread.
* Add initial support for Python 3.14a7.
* Fix using gevent’s BackdoorServer with Unix sockets.
* Do not use pywsgi in a security-conscious environment. Fix one
security issue related to HTTP 100 Continue handling. See issue #2075.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=119
Forwarded request #1217326 from glaubitz
- Update to 24.10.3
* Fix clearing stack frames on Python 3.13. This is invoked when you
fork after having used the thread pool.
* Distribute manylinux2014 wheels for x86_64.
* Stop switching to the hub in the after fork hook in a child process.
This could lead to strange behaviour, and is different than what all
other versions of Python do.
- from version 24.10.2
* Workaround a Cython bug compiling on GCC14.
- Drop gh-2031-cython-workaround.patch, merged upstream
OBS-URL: https://build.opensuse.org/request/show/1217397
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-gevent?expand=0&rev=53
* Fix clearing stack frames on Python 3.13. This is invoked when you
fork after having used the thread pool.
* Distribute manylinux2014 wheels for x86_64.
* Stop switching to the hub in the after fork hook in a child process.
This could lead to strange behaviour, and is different than what all
other versions of Python do.
- from version 24.10.2
* Workaround a Cython bug compiling on GCC14.
- Drop gh-2031-cython-workaround.patch, merged upstream
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=115
* Update the bundled c-ares to 1.33.1.
* Add support for Python 3.13.
- The functions and classes in ``gevent.subprocess`` no longer accept
``stdout=STDOUT`` and raise a ``ValueError``.
Several additions and changes to the ``queue`` module, including:
- ``Queue.shutdown`` is available on all versions of Python.
- ``LifoQueue`` is now a joinable queue.
* gevent.monkey changed from a module to a package. The public API
remains the same.
For this release, private APIs (undocumented, marked internal, or
beginning with an underscore) are also preserved. However, these may
be changed or removed at any time in the future. If you are using one
of these APIs and cannot replace it, please contact the gevent team.
* For platforms that don't have ``socketpair``, upgrade our fallback
code to avoid a security issue.
See :issue:`2048`.
* Remove support for Python 3.8, which has reached the end of its
support lifecycle.
See :issue:`remove_py38`.
- Drop gh-113964-fix-tests-3.12.3.patch, fixed upstream
- Renumber patches
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=113
- Add gh-113964-fix-tests-3.12.3.patch to tix tests with python 3.12.3
(bsc#1223128)
- Drop upstream patches:
* gevent-fix-unittest-returncode-py312-c1.patch
* gevent-fix-unittest-returncode-py312-c2.patch
- Update to version 24.2.1:
- Add support for Python patch releases 3.11.8 and 3.12.2, which
changed internal details of threading.
- Errors raised from subprocess.Popen may not have a filename set.
- SSLSocket.recv_into and SSLSocket.read no longer require the
buffer to implement len and now work with buffers whose size is
not 1.
- gh-108310: Fix CVE-2023-40217: Check for & avoid the ssl pre-close
flaw.
- Drop setuptools to a soft test dependency.
- Drop support for very old versions of CFFI.
- Update bundled c-ares from 1.19.1 to 1.26.0.
- Locks created by gevent, but acquired from multiple different
threads (not recommended), no longer spin to implement timeouts
and interruptible blocking. Instead, they use the native
functionality of the Python 3 lock. This may improve some
scenarios. See issue #2013.
OBS-URL: https://build.opensuse.org/request/show/1169642
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=109
- Clean obsolete old python and old distribution directives
* Only 15.5+ with the sle15 python module and Tumbleweed have the
required Python 3.8+
* Drop fix-no-return-in-nonvoid-function.patch
- Update test suite execution
* Use -u-network flag to disable network tests
* Add gevent-opensuse-nocolor-tests.patch -- Avoid colorization
of test output in obs runners
* Add gevent-fix-unittest-returncode-py312-c1.patch and
gevent-fix-unittest-returncode-py312-c2.patch
gh#gevent/gevent#2012
OBS-URL: https://build.opensuse.org/request/show/1138131
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=107
- update to 23.9.0 (CVE-2023-41419):
* Make ``gevent.select.select`` accept arbitrary iterables, not
just sequences. That is, you can now pass in a generator of file
descriptors instead of a realized list. Internally, arbitrary
iterables are copied into lists. This better matches what the
standard library does.
* On Python 3.11 and newer, opt out of Cython's fast exception
manipulation, which *may* be causing problems in certain
circumstances when combined with greenlets.
* On all versions of Python, adjust some error handling in the
default * -based loop. This fixes several assertion failures
on debug versions of CPython. Hopefully it has a positive
impact under real conditions.
* Make ``gevent.pywsgi`` comply more closely with the HTTP
specification for chunked transfer encoding. In particular,
we are much stricter about trailers, and trailers that are
invalid (too long or featuring disallowed characters) forcibly
close the connection to the client *after* the results have
been sent.
* Trailers otherwise continue to be ignored and are not
available to the WSGI application.
Previously, carefully crafted invalid trailers in chunked
requests on keep-alive connections might appear as two
requests to ``gevent.pywsgi``. Because this was handled
exactly as a normal keep-alive connection with two requests,
the WSGI application should handle it normally. However, if
you were counting on some upstream server to filter incoming
requests based on paths or header fields, and the upstream
server simply passed trailers through without
validating them, then this embedded second request would
OBS-URL: https://build.opensuse.org/request/show/1112068
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-gevent?expand=0&rev=45
* Make ``gevent.select.select`` accept arbitrary iterables, not
just sequences. That is, you can now pass in a generator of file
descriptors instead of a realized list. Internally, arbitrary
iterables are copied into lists. This better matches what the
standard library does.
* On Python 3.11 and newer, opt out of Cython's fast exception
manipulation, which *may* be causing problems in certain
circumstances when combined with greenlets.
* On all versions of Python, adjust some error handling in the
default * -based loop. This fixes several assertion failures
on debug versions of CPython. Hopefully it has a positive
impact under real conditions.
* Make ``gevent.pywsgi`` comply more closely with the HTTP
specification for chunked transfer encoding. In particular,
we are much stricter about trailers, and trailers that are
invalid (too long or featuring disallowed characters) forcibly
close the connection to the client *after* the results have
been sent.
* Trailers otherwise continue to be ignored and are not
available to the WSGI application.
Previously, carefully crafted invalid trailers in chunked
requests on keep-alive connections might appear as two
requests to ``gevent.pywsgi``. Because this was handled
exactly as a normal keep-alive connection with two requests,
the WSGI application should handle it normally. However, if
you were counting on some upstream server to filter incoming
requests based on paths or header fields, and the upstream
server simply passed trailers through without
validating them, then this embedded second request would
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=99
- update to 23.7.0:
* Add preliminary support for Python 3.12, using greenlet
3.0a1.
* Update the bundled c-ares version to 1.19.1.
* Fix an edge case connecting a non-blocking ``SSLSocket`` that
could result in an AttributeError. In a change to match
the standard library, calling ``sock.connect_ex()`` on a
subclass of ``socket`` no longer calls the subclass's
``connect`` method.
* Make gevent's ``FileObjectThread`` (mostly used on Windows)
implement ``readinto`` cooperatively.
* Work around an ``AttributeError`` during cyclic garbage
collection when Python finalizers (``__del__`` and the like)
attempt to use gevent APIs. This is not a recommended practice,
and it is unclear if catching this ``AttributeError`` will fix
any problems or just shift them.
* Remove support for obsolete Python versions. This is
everything prior to 3.8.
* Stop using ``pkg_resources`` to find entry points (plugins).
Instead, use ``importlib.metadata``.
* Honor ``sys.unraisablehook`` when a callback function
produces an exception, and handling the exception in the hub
*also* produces an exception.
- drop skip-tests-in-leap.patch handle-python-ssl-changes.patch (obsolete)
OBS-URL: https://build.opensuse.org/request/show/1103820
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-gevent?expand=0&rev=44
* Add preliminary support for Python 3.12, using greenlet
3.0a1.
* Update the bundled c-ares version to 1.19.1.
* Fix an edge case connecting a non-blocking ``SSLSocket`` that
could result in an AttributeError. In a change to match
the standard library, calling ``sock.connect_ex()`` on a
subclass of ``socket`` no longer calls the subclass's
``connect`` method.
* Make gevent's ``FileObjectThread`` (mostly used on Windows)
implement ``readinto`` cooperatively.
* Work around an ``AttributeError`` during cyclic garbage
collection when Python finalizers (``__del__`` and the like)
attempt to use gevent APIs. This is not a recommended practice,
and it is unclear if catching this ``AttributeError`` will fix
any problems or just shift them.
* Remove support for obsolete Python versions. This is
everything prior to 3.8.
* Stop using ``pkg_resources`` to find entry points (plugins).
Instead, use ``importlib.metadata``.
* Honor ``sys.unraisablehook`` when a callback function
produces an exception, and handling the exception in the hub
*also* produces an exception.
- drop skip-tests-in-leap.patch handle-python-ssl-changes.patch (obsolete)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=97
- Add patch handle-python-ssl-changes.patch:
* Handle Python 3.10 changes where ssl.shared_ciphers() changes
behaviour.
- skip one more test from testsuite
- update to 22.10.2:
* Update to greenlet 2.0. This fixes a deallocation issue that
required a change in greenlet's ABI. The design of greenlet 2.0 is
intended to prevent future fixes and enhancements from
requiring an ABI change, making it easier to update gevent
and greenlet independently.
- Switch documentation to be within the main package.
OBS-URL: https://build.opensuse.org/request/show/1087248
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-gevent?expand=0&rev=41
* Update to greenlet 2.0. This fixes a deallocation issue that
required a change in greenlet's ABI. The design of greenlet 2.0 is
intended to prevent future fixes and enhancements from
requiring an ABI change, making it easier to update gevent
and greenlet independently.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=88
- Update to 22.10.2
* Update to greenlet 2.0. This fixes a deallocation issue that
required a change in greenlet's ABI. The design of greenlet 2.0
is intended to prevent future fixes and enhancements from
requiring an ABI change, making it easier to update gevent and
greenlet independently.
* Caution: greenlet 2.0 requires a modern-ish C++ compiler. This
may mean certain older platforms are no longer supported. See
:issue:`1909`.
OBS-URL: https://build.opensuse.org/request/show/1056058
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=81
- update to 22.10.0:
* Update bundled libuv to 1.44.2.
See :issue:`1913`.
* Upgrade embedded c-ares to 1.18.1.
* Upgrade bundled libuv to 1.42.0 from 1.40.0.
* Added preliminary support for Python 3.11 (rc2 and later).
Some platforms may or may not have binary wheels at this time.
.. important:: Support for legacy versions of Python, including 2.7
and 3.6, will be ending soon. The
maintenance burden has become too great and the
maintainer's time is too limited.
Ideally, there will be a release of gevent compatible
with a final release of greenlet 2.0 that still
supports those legacy versions, but that may not be
possible; this may be the final release to support them.
:class:`gevent.threadpool.ThreadPool` can now optionally expire idle
threads. This is used by default in the implicit thread pool used for
DNS requests and other user-submitted tasks; other uses of a
thread-pool need to opt-in to this.
See :issue:`1867`.
* Truly disable the effects of compiling with ``-ffast-math``.
OBS-URL: https://build.opensuse.org/request/show/1011260
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-gevent?expand=0&rev=38
* Update bundled libuv to 1.44.2.
See :issue:`1913`.
* Upgrade embedded c-ares to 1.18.1.
* Upgrade bundled libuv to 1.42.0 from 1.40.0.
* Added preliminary support for Python 3.11 (rc2 and later).
Some platforms may or may not have binary wheels at this time.
.. important:: Support for legacy versions of Python, including 2.7
and 3.6, will be ending soon. The
maintenance burden has become too great and the
maintainer's time is too limited.
Ideally, there will be a release of gevent compatible
with a final release of greenlet 2.0 that still
supports those legacy versions, but that may not be
possible; this may be the final release to support them.
:class:`gevent.threadpool.ThreadPool` can now optionally expire idle
threads. This is used by default in the implicit thread pool used for
DNS requests and other user-submitted tasks; other uses of a
thread-pool need to opt-in to this.
See :issue:`1867`.
* Truly disable the effects of compiling with ``-ffast-math``.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=79
- Update to 21.12.0
* Fix hanging the interpreter on shutdown if gevent monkey
patching occurred on a non-main thread in Python 3.9.8 and
above. (Note that this is not a recommended practice.) See
:issue:`1839`.
* Update the embedded c-ares from 1.16.1 to 1.17.1. See
:issue:`1758`.
* Add support for Python 3.10rc1 and newer. As part of this, the
minimum required greenlet version was increased to 1.1.0 (on
CPython), and the minimum version of Cython needed to build
gevent from a source checkout is 3.0a9. Note that the dnspython
resolver is not available on Python 3.10. See :issue:`1790`.
- Meanwhile Cython 0.29.24 and dnspython are compatible
with python310
- Revert threading test skip, fixed in 21.12
OBS-URL: https://build.opensuse.org/request/show/940355
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-gevent?expand=0&rev=78