summaryrefslogtreecommitdiffstats
path: root/Misc/NEWS.d/next/Library
Commit message (Collapse)AuthorAgeFilesLines
* gh-127586: properly restore blocked signals in resource_tracker.py (GH-127587)Stephen Hansen2024-12-151-0/+3
| | | | | | | | | | | | | | * Correct pthread_sigmask in resource_tracker to restore old signals Using SIG_UNBLOCK to remove blocked "ignored signals" may accidentally cause side effects if the calling parent already had said signals blocked to begin with and did not intend to unblock them when creating a pool. Use SIG_SETMASK instead with the previous mask of blocked signals to restore the original blocked set. * Adding resource_tracker blocked signals test Co-authored-by: Peter Bierma <zintensitydev@gmail.com> Co-authored-by: Gregory P. Smith <greg@krypto.org>
* gh-127870: Detect recursive calls in ctypes _as_parameter_ handling (#127872)Victor Stinner2024-12-131-0/+2
|
* gh-127065: Make methodcaller thread-safe and re-entrant (GH-127746)Pieter Eendebak2024-12-111-0/+1
| | | | | | | | | | | The function `operator.methodcaller` was not thread-safe since the additional of the vectorcall method in gh-89013. In the free threading build the issue is easy to trigger, for the normal build harder. This makes the `methodcaller` safe by: * Replacing the lazy initialization with initialization in the constructor. * Using a stack allocated space for the vectorcall arguments and falling back to `tp_call` for calls with more than 8 arguments.
* gh-123401: Fix http.cookies module to support obsolete RFC 850 date format ↵Nano2024-12-111-0/+3
| | | | | | | (#123405) Co-authored-by: Wulian <1055917385@qq.com> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-126992: Change pickle code to base 10 for load_long and load_int (GH-127042)Justin Applegate2024-12-111-0/+1
| | | Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-127257: ssl: Raise OSError for ERR_LIB_SYS (GH-127361)Petr Viktorin2024-12-101-0/+2
| | | | | | | | | | | | | | | From the ERR_raise manpage: ERR_LIB_SYS This "library code" indicates that a system error is being reported. In this case, the reason code given to `ERR_raise()` and `ERR_raise_data()` *must* be `errno(3)`. This PR only handles ERR_LIB_SYS for the high-lever error types SSL_ERROR_SYSCALL and SSL_ERROR_SSL, i.e., not the ones where OpenSSL indicates it has some more information about the issue.
* gh-127718: Add colour to `test.regrtest` output (#127719)Hugo van Kemenade2024-12-101-0/+1
|
* gh-126775: make linecache.checkcache threadsafe and GC re-entrency safe ↵Thomas Grainger2024-12-101-0/+1
| | | | | | | (#126776) Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Bartosz Sławecki <bartoszpiotrslawecki@gmail.com>
* gh-127732: Add Windows Server 2025 detection to platform module (GH-127733)Wulian2024-12-091-0/+1
|
* gh-126925: Modify how iOS test results are gathered (#127592)Russell Keith-Magee2024-12-091-0/+2
| | | | | | | Adds a `use_system_log` config item to enable stdout/stderr redirection for Apple platforms. This log streaming is then used by a new iOS test runner script, allowing the display of test suite output at runtime. The iOS test runner script can be used by any Python project, not just the CPython test suite.
* gh-127610: Added validation for more than one var-positional and var-keyword ↵Apostol Fet2024-12-081-0/+3
| | | | parameters in inspect.Signature (GH-127657)
* GH-126789: fix some sysconfig data on late site initializations (#127729)Filipe Laíns 🇵🇸2024-12-081-0/+5
|
* GH-127090: Fix `urllib.response.addinfourl.url` value for opened `file:` ↵Barney Gale2024-12-071-0/+3
| | | | | URIs (#127091) The canonical `file:` URL (as generated by `pathname2url()`) is now used as the `url` attribute of the returned `addinfourl` object. The `addinfourl.url` attribute reflects the resolved URL for both `file:` or `http[s]:` URLs now.
* gh-59705: Add _thread.set_name() function (#127338)Victor Stinner2024-12-061-0/+2
| | | | | | | | | | | On Linux, threading.Thread now sets the thread name to the operating system. * configure now checks if pthread_getname_np() and pthread_setname_np() functions are available. * Add PYTHREAD_NAME_MAXLEN macro. * Add _thread._NAME_MAXLEN constant for test_threading. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-127627: Add `posix._emscripten_debugger` function (#127628)Hood Chatham2024-12-061-0/+2
| | | Add a posix._emscripten_debugger function to add an emscripten breakpoint.
* GH-125413: Revert addition of `pathlib.Path.scandir()` method (#127377)Barney Gale2024-12-051-0/+3
| | | | | | | | | | Remove documentation for `pathlib.Path.scandir()`, and rename the method to `_scandir()`. In the private pathlib ABCs, make `iterdir()` abstract and call it from `_scandir()`. It's not worthwhile to add this method at the moment - see discussion: https://discuss.python.org/t/ergonomics-of-new-pathlib-path-scandir/71721 Co-authored-by: Steve Dower <steve.dower@microsoft.com>
* gh-127221: Add colour to unittest output (#127223)Hugo van Kemenade2024-12-051-0/+1
| | | Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
* gh-122431: Disallow negative values in `readline.append_history_file` (#122469)Peter Bierma2024-12-051-0/+1
| | | Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-127413: allow to show specialized bytecode via `dis` CLI (#127414)Bénédikt Tran2024-12-051-0/+2
|
* gh-93312: Include <sys/pidfd.h> to get PIDFD_NONBLOCK (#127593)Victor Stinner2024-12-051-0/+2
|
* gh-127481: Add `EPOLLWAKEUP` to the `select` module (GH-127482)RUANG (James Roy)2024-12-041-0/+1
|
* gh-112192: Increase the trace module coverage precision to one decimal (#126972)RUANG (James Roy)2024-12-031-0/+1
|
* gh-127255: Make `CopyComPointer` public and add to `ctypes` doc. (GH-127275)Jun Komoda2024-12-031-0/+2
|
* gh-126585: Add EHWPOISON error code (#126586)RUANG (James Roy)2024-12-031-0/+1
|
* gh-126618: fix repr(itertools.count(sys.maxsize)) (#127048)Sergey B Kirpichev2024-12-021-0/+2
| | | Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* GH-127429: fix sysconfig data generation on cross-builds (#127430)Filipe Laíns 🇵🇸2024-12-021-0/+3
|
* gh-126899: Add `**kw` to `tkinter.Misc.after` and `tkinter.Misc.after_idle` ↵Zhikang Yan2024-12-011-0/+2
| | | | | | | (#126900) --------- Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-127321: Avoid stopping at an opcode without an associated line number for ↵Tian Gao2024-12-011-0/+1
| | | | breakpoint() (#127457)
* gh-127303: Add docs for token.EXACT_TOKEN_TYPES (#127304)Илья Любавский2024-11-291-0/+1
| | | | | | | --------- Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu> Co-authored-by: Tomas R. <tomas.roun8@gmail.com> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* gh-127330: Update for OpenSSL 3.4 & document+improve the update process ↵Petr Viktorin2024-11-281-0/+1
| | | | | | | | | | | | | | | | | (GH-127331) - Add `git describe` output to headers generated by `make_ssl_data.py` This info is more important than the date when the file was generated. It does mean that the tool now requires a Git checkout of OpenSSL, not for example a release tarball. - Regenerate the older file to add the info. To the other older file, add a note about manual edits. - Add notes on how to add a new OpenSSL version - Add 3.4 error messages and multissl tests
* GH-127178: install a _sysconfig_vars_(...).json file in the stdlib directory ↵Filipe Laíns 🇵🇸2024-11-271-0/+4
| | | | (#127302)
* gh-122288: Improve performances of `fnmatch.translate` (#122289)Bénédikt Tran2024-11-271-0/+2
| | | | | Improve performance of this function by a factor of 1.7x. Co-authored-by: Barney Gale <barney.gale@gmail.com>
* gh-123967: Fix faulthandler for trampoline frames (#127329)Victor Stinner2024-11-271-0/+2
| | | If the top-most frame is a trampoline frame, skip it.
* gh-124008: Fix calculation of the number of written bytes for the Windows ↵Serhiy Storchaka2024-11-271-0/+2
| | | | | | | | | | | | console (GH-124059) Since MultiByteToWideChar()/WideCharToMultiByte() is not reversible if the data contains invalid UTF-8 sequences, use binary search to calculate the number of written bytes from the number of written characters. Also fix writing incomplete UTF-8 sequences. Also fix handling of memory allocation failures.
* gh-127072: Remove outdated `socket.NETLINK_*` constants. (GH-127256)RUANG (James Roy)2024-11-271-0/+1
| | | | | Remove seriously outdated netlink constants. Co-authored-by: Gregory P. Smith <greg@krypto.org>
* GH-126985: move pyvenv.cfg detection from site to getpath (#126987)Filipe Laíns 🇵🇸2024-11-261-0/+3
|
* gh-122273: Support PyREPL history on Windows (#127141)Victor Stinner2024-11-261-0/+1
| | | Co-authored-by: devdanzin <74280297+devdanzin@users.noreply.github.com>
* gh-126946: Improve error message in getopt.do_longs based on existing ↵Beomsoo Kim2024-11-261-0/+3
| | | | | comment (GH-126871) Include a list of possibilities for not unique prefix.
* GH-127236: `pathname2url()`: generate RFC 1738 URL for absolute POSIX path ↵Barney Gale2024-11-251-0/+5
| | | | | | | | | | | | | | | (#127194) When handed an absolute Windows path such as `C:\foo` or `//server/share`, the `urllib.request.pathname2url()` function returns a URL with an authority section, such as `///C:/foo` or `//server/share` (or before GH-126205, `////server/share`). Only the `file:` prefix is omitted. But when handed an absolute POSIX path such as `/etc/hosts`, or a Windows path of the same form (rooted but lacking a drive), the function returns a URL without an authority section, such as `/etc/hosts`. This patch corrects the discrepancy by adding a `//` prefix before drive-less, rooted paths when generating URLs.
* gh-127182: Fix `io.StringIO.__setstate__` crash when `None` is the first ↵sobolevn2024-11-251-0/+2
| | | | | value (#127219) Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-127217: Fix pathname2url() for paths starting with multiple slashes on ↵Serhiy Storchaka2024-11-241-0/+2
| | | | Posix (GH-127218)
* gh-122356: restore the position of a file-like object after ↵Bénédikt Tran2024-11-241-0/+3
| | | | `zipfile.is_zipfile` (#122397)
* GH-125866: Preserve Windows drive letter case in file URIs (#127138)Barney Gale2024-11-231-0/+2
| | | | | Stop converting Windows drive letters to uppercase in `urllib.request.pathname2url()` and `url2pathname()`. This behaviour is unnecessary and inconsistent with pathlib's file URI implementation.
* gh-88110: Clear concurrent.futures.thread._threads_queues after fork to ↵Andrei Bodrov2024-11-221-0/+2
| | | | | | | | | avoid joining parent process' threads (GH-126098) Threads are gone after fork, so clear the queues too. Otherwise the child process (here created via multiprocessing.Process) crashes on interpreter exit. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-127001: Fix PATHEXT issues in shutil.which() on Windows (GH-127035)Serhiy Storchaka2024-11-221-0/+4
| | | | | | | | | * Name without a PATHEXT extension is only searched if the mode does not include X_OK. * Support multi-component PATHEXT extensions (e.g. ".foo.bar"). * Support files without extensions in PATHEXT contains dot-only extension (".", "..", etc). * Support PATHEXT extensions that end with a dot (e.g. ".foo.").
* gh-86463: Fix default prog in subparsers if usage is used in the main parser ↵Serhiy Storchaka2024-11-221-0/+2
| | | | | | | | | | (GH-125891) The usage parameter of argparse.ArgumentParser no longer affects the default value of the prog parameter in subparsers. Previously the full custom usage of the main parser was used as the prog prefix in subparsers.
* gh-127065: Make `methodcaller` thread-safe in free threading build (#127109)Sam Gross2024-11-221-0/+2
| | | | | | | The `methodcaller` C vectorcall implementation uses an arguments array that is shared across calls. The first argument is modified on every invocation. This isn't thread-safe in the free threading build. I think it's also not safe in general, but for now just disable it in the free threading build.
* GH-127078: `url2pathname()`: handle extra slash before UNC drive in URL path ↵Barney Gale2024-11-221-0/+2
| | | | | | | (#127132) Decode a file URI like `file://///server/share` as a UNC path like `\\server\share`. This form of file URI is created by software the simply prepends `file:///` to any absolute Windows path.
* GH-126766: `url2pathname()`: handle 'localhost' authority (#127129)Barney Gale2024-11-221-0/+2
| | | | | Discard any 'localhost' authority from the beginning of a `file:` URI. As a result, file URIs like `//localhost/etc/hosts` are correctly decoded as `/etc/hosts`.
* GH-126601: `pathname2url()`: handle NTFS alternate data streams (#126760)Barney Gale2024-11-221-0/+3
| | | | | | Adjust `pathname2url()` to encode embedded colon characters in Windows paths, rather than bailing out with an `OSError`. Co-authored-by: Steve Dower <steve.dower@microsoft.com>