From 1569275117d5f2ddebc953a1cb76c0bf8531b6a5 Mon Sep 17 00:00:00 2001 From: Ori Avtalion Date: Mon, 5 Jan 2026 21:27:45 +0200 Subject: [PATCH 1/4] gh-138205: explicit mention to `mmap.mmap.resize` in "Porting to Python 3.15" notes (#143440) --- Doc/whatsnew/3.15.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/whatsnew/3.15.rst b/Doc/whatsnew/3.15.rst index dc4248655b4b2d..d5a2e04958e8a8 100644 --- a/Doc/whatsnew/3.15.rst +++ b/Doc/whatsnew/3.15.rst @@ -1412,7 +1412,7 @@ that may require changes to your code. :func:`resource.setrlimit` and :func:`resource.prlimit` is now deprecated. (Contributed by Serhiy Storchaka in :gh:`137044`.) -* :meth:`~mmap.mmap.resize` has been removed on platforms that don't support the +* :meth:`mmap.mmap.resize` has been removed on platforms that don't support the underlying syscall, instead of raising a :exc:`SystemError`. * A resource warning is now emitted for an unclosed From 240a6c326276c01cc7714a91a3e08eb77ddc4bc7 Mon Sep 17 00:00:00 2001 From: Ritam Pal Date: Tue, 6 Jan 2026 01:25:11 +0530 Subject: [PATCH 2/4] gh-143434: Fix typo in zstd documentation (#143437) --- Doc/library/compression.zstd.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Doc/library/compression.zstd.rst b/Doc/library/compression.zstd.rst index 89b6fe540f5ba7..7ca843f27f5e9a 100644 --- a/Doc/library/compression.zstd.rst +++ b/Doc/library/compression.zstd.rst @@ -73,7 +73,7 @@ Reading and writing compressed files argument is not None, a :exc:`!TypeError` will be raised. When writing, the *options* argument can be a dictionary - providing advanced decompression parameters; see + providing advanced compression parameters; see :class:`CompressionParameter` for detailed information about supported parameters. The *level* argument is the compression level to use when writing compressed data. Only one of *level* or *options* may be non-None. @@ -117,7 +117,7 @@ Reading and writing compressed files argument is not None, a :exc:`!TypeError` will be raised. When writing, the *options* argument can be a dictionary - providing advanced decompression parameters; see + providing advanced compression parameters; see :class:`CompressionParameter` for detailed information about supported parameters. The *level* argument is the compression level to use when writing compressed data. Only one of *level* or *options* may be passed. The From 7a572d9f21dd7b665b95f4f96e1d40c6b72754ad Mon Sep 17 00:00:00 2001 From: Sam Gross Date: Mon, 5 Jan 2026 16:13:29 -0500 Subject: [PATCH 3/4] gh-143108: Don't instrument some faulthandler related functions for TSan (#143450) --- Python/traceback.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Python/traceback.c b/Python/traceback.c index 40e19c7cc82075..74360a1c73c271 100644 --- a/Python/traceback.c +++ b/Python/traceback.c @@ -1186,7 +1186,7 @@ _Py_DumpTraceback(int fd, PyThreadState *tstate) // Write the thread name -static void +static void _Py_NO_SANITIZE_THREAD write_thread_name(int fd, PyThreadState *tstate) { #ifndef MS_WINDOWS @@ -1239,7 +1239,7 @@ write_thread_name(int fd, PyThreadState *tstate) This function is signal safe (except on Windows). */ -static void +static void _Py_NO_SANITIZE_THREAD write_thread_id(int fd, PyThreadState *tstate, int is_current) { if (is_current) From 04ace41fe2cf648be433503d0c336b154ad63a3b Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Mon, 5 Jan 2026 22:46:08 +0100 Subject: [PATCH 4/4] gh-143394: filter for turning off automatic margins in test_no_newline (GH-143433) --- Lib/test/test_pyrepl/test_pyrepl.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Lib/test/test_pyrepl/test_pyrepl.py b/Lib/test/test_pyrepl/test_pyrepl.py index baf03ef6cd95ee..00dcbdc562ae64 100644 --- a/Lib/test/test_pyrepl/test_pyrepl.py +++ b/Lib/test/test_pyrepl/test_pyrepl.py @@ -1991,6 +1991,17 @@ def test_no_newline(self): safe_patterns.append(r'\x1b\[\?25[hl]') # cursor visibility safe_patterns.append(r'\x1b\[\?12[hl]') # cursor blinking + # rmam / smam - automatic margins + rmam = ti.get("rmam") + smam = ti.get("smam") + if rmam: + safe_patterns.append(re.escape(rmam.decode("ascii"))) + if smam: + safe_patterns.append(re.escape(smam.decode("ascii"))) + if not rmam and not smam: + safe_patterns.append(r'\x1b\[\?7l') # turn off automatic margins + safe_patterns.append(r'\x1b\[\?7h') # turn on automatic margins + # Modern extensions not in standard terminfo - always use patterns safe_patterns.append(r'\x1b\[\?2004[hl]') # bracketed paste mode safe_patterns.append(r'\x1b\[\?12[hl]') # cursor blinking (may be separate)