Skip to content

Commit 2db2fa1

Browse files
committed
Preparing release 24.2.1
1 parent 60b55d0 commit 2db2fa1

5 files changed

Lines changed: 45 additions & 30 deletions

File tree

CHANGES.rst

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,47 @@
66

77
.. towncrier release notes start
88
9+
24.2.1 (2024-02-14)
10+
===================
11+
12+
13+
Bugfixes
14+
--------
15+
16+
- Add support for Python patch releases 3.11.8 and 3.12.2, which changed
17+
internal details of threading.
18+
19+
As a result of these changes, note that it is no longer possible to
20+
change the ``__class__`` of a ``gevent.threading._DummyThread``
21+
object on those versions.
22+
23+
See :issue:`2020`.
24+
25+
Other
26+
-----
27+
28+
Other updates for compatibility with the standard library include:
29+
30+
- Errors raised from ``subprocess.Popen`` may not have a filename set.
31+
- ``SSLSocket.recv_into`` and ``SSLSocket.read`` no longer require the
32+
buffer to implement ``len`` and now work with buffers whose size is
33+
not 1.
34+
- gh-108310: Fix CVE-2023-40217: Check for & avoid the ssl pre-close
35+
flaw.
36+
37+
In addition:
38+
39+
- Drop ``setuptools`` to a soft test dependency.
40+
- Drop support for very old versions of CFFI.
41+
- Update bundled c-ares from 1.19.1 to 1.26.0.
42+
- Locks created by gevent, but acquired from multiple different
43+
threads (not recommended), no longer spin to implement timeouts
44+
and interruptible blocking. Instead, they use the native
45+
functionality of the Python 3 lock. This may improve some scenarios.
46+
See :issue:`2013`.
47+
48+
49+
950
23.9.1 (2023-09-12)
1051
===================
1152

docs/changes/2020.bugfix

Lines changed: 0 additions & 26 deletions
This file was deleted.

src/gevent/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#: Use ``pkg_resources.parse_version(__version__)`` or
2828
#: ``packaging.version.Version(__version__)`` to get a machine-usable
2929
#: value.
30-
__version__ = '23.9.2.dev0'
30+
__version__ = '24.2.1'
3131

3232

3333
__all__ = [

src/gevent/_semaphore.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class Semaphore(AbstractLinkable): # pylint:disable=undefined-variable
7878
Improved support for multi-threaded usage. When multi-threaded usage is detected,
7979
instances will no longer create the thread's hub if it's not present.
8080
81-
.. versionchanged:: NEXT
81+
.. versionchanged:: 24.2.1
8282
Uses Python 3 native lock timeouts for cross-thread operations instead
8383
of spinning.
8484
"""

src/gevent/ssl.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ def read(self, nbytes=2014, buffer=None):
408408
"""Read up to LEN bytes and return them.
409409
Return zero-length string on EOF.
410410
411-
.. versionchanged:: NEXT
411+
.. versionchanged:: 24.2.1
412412
No longer requires a non-None *buffer* to implement ``len()``.
413413
This is a backport from 3.11.8.
414414
"""
@@ -607,7 +607,7 @@ def recv(self, buflen=1024, flags=0):
607607

608608
def recv_into(self, buffer, nbytes=None, flags=0):
609609
"""
610-
.. versionchanged:: NEXT
610+
.. versionchanged:: 24.2.1
611611
No longer requires a non-None *buffer* to implement ``len()``.
612612
This is a backport from 3.11.8.
613613
"""

0 commit comments

Comments
 (0)