summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gh-127076: Disable strace tests under LD_PRELOAD (#127086)Cody Maloney2024-11-212-0/+9
| | | | | | | | Distribution tooling (ex. sandbox on Gentoo and fakeroot on Debian) uses LD_PRELOAD to intercept system calls and potentially modify them when building. These tools can change the set of system calls, so disable system call testing under these cases. Co-authored-by: Michał Górny <mgorny@gentoo.org>
* gh-126898: Emscripten support: Use es6 modules (#126903)Hood Chatham2024-11-216-30/+60
| | | | Modify Emscripten support to use ES6 modules.
* gh-115999: Don't take a reason in unspecialize (#127030)mpage2024-11-201-4/+9
| | | | | | | Don't take a reason in unspecialize We only want to compute the reason if stats are enabled. Optimizing compilers should optimize this away for us (gcc and clang do), but it's better to be safe than sorry.
* Run `apt update` before `apt install git` in autoconf CI job (GH-127066)Zachary Ware2024-11-201-1/+1
|
* Move NEWS entries out of directories with spaces (GH-127067)Zachary Ware2024-11-203-0/+0
| | | Cleanup after GH-126063, including moving the `README.rst` files to the new directories.
* gh-121058: Warn if `PyThreadState_Clear` is called with an exception set ↵Peter Bierma2024-11-202-0/+7
| | | | (gh-121343)
* GH-127010: Don't lazily track and untrack dicts (GH-127027)Mark Shannon2024-11-2012-283/+44
|
* gh-97514: Authenticate the forkserver control socket. (GH-99309)Gregory P. Smith2024-11-206-16/+141
| | | | | | | | | | | | | | | | | | | This adds authentication to the forkserver control socket. In the past only filesystem permissions protected this socket from code injection into the forkserver process by limiting access to the same UID, which didn't exist when Linux abstract namespace sockets were used (see issue) meaning that any process in the same system network namespace could inject code. We've since stopped using abstract namespace sockets by default, but protecting our control sockets regardless of type is a good idea. This reuses the HMAC based shared key auth already used by `multiprocessing.connection` sockets for other purposes. Doing this is useful so that filesystem permissions are not relied upon and trust isn't implied by default between all processes running as the same UID with access to the unix socket. ### pyperformance benchmarks No significant changes. Including `concurrent_imap` which exercises `multiprocessing.Pool.imap` in that suite. ### Microbenchmarks This does _slightly_ slow down forkserver use. How much so appears to depend on the platform. Modern platforms and simple platforms are less impacted. This PR adds additional IPC round trips to the control socket to tell forkserver to spawn a new process. Systems with potentially high latency IPC are naturally impacted more. Typically a 1-4% slowdown on a very targeted process creation microbenchmark, with a worst case overloaded system slowdown of 20%. No evidence that these slowdowns appear in practical sense. See the PR for details.
* GH-126892: Reset warmup counters when JIT compiling code (GH-126893)Brandt Bucher2024-11-206-39/+48
|
* gh-126991: Add tests for unpickling bad object state (GH-127031)Serhiy Storchaka2024-11-201-0/+35
| | | This catches a memory leak in loading the BUILD opcode.
* gh-126615: `ctypes`: Make `COMError` public (GH-126686)Jun Komoda2024-11-205-10/+51
| | | Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* GH-84850: Improve whatsnew entry for `[Fancy]URLopener` removal (#127032)Barney Gale2024-11-201-0/+7
|
* gh-123299: Copyedit "What's New in Python 3.14" (#127028)Hugo van Kemenade2024-11-201-17/+17
|
* Doc: C API: `PyThreadState::on_delete` was removed in v3.13 (#126536)Richard Hansen2024-11-201-0/+3
|
* GH-85168: Use filesystem encoding when converting to/from `file` URIs (#126852)Barney Gale2024-11-194-10/+26
| | | | | | | | Adjust `urllib.request.url2pathname()` and `pathname2url()` to use the filesystem encoding when quoting and unquoting file URIs, rather than forcing use of UTF-8. No changes are needed in the `nturl2path` module because Windows always uses UTF-8, per PEP 529.
* Merge remote-tracking branch 'upstream/main'Hugo van Kemenade2024-11-1926-172/+224
|\
| * gh-126914: Store the Preallocated Thread State's Pointer in a ↵Eric Snow2024-11-194-48/+82
| | | | | | | | | | PyInterpreterState Field (gh-126989) This approach eliminates the originally reported race. It also gets rid of the deadlock reported in gh-96071, so we can remove the workaround added then.
| * gh-109413: Enable mypy's `disallow_any_generics` setting when checking ↵sobolevn2024-11-194-4/+7
| | | | | | | | `libregrtest` (#127033)
| * gh-126947: Typechecking for _pydatetime.timedelta.__new__ arguments (#126949)Beomsoo Kim2024-11-193-1/+25
| | | | | | | | Co-authored-by: sobolevn <mail@sobolevn.me> Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
| * gh-125729: Makes the installation of the turtle module dependent on the ↵CoderTCY2024-11-194-5/+7
| | | | | | | | Tcl/Tk install option (GH-126176)
| * gh-126991: Fix reference leak in loading pickle's opcode BUILD (GH-126990)Justin Applegate2024-11-191-0/+1
| | | | | | If PyObject_SetItem() fails in the `load_build()` function of _pickle.c, no DECREF for the `dict` variable.
| * gh-118201: Simplify conv_confname (#126089)Malcolm Smith2024-11-196-111/+87
| |
| * Update docs 'make serve' to suggest 'make htmllive' (#126969)Hugo van Kemenade2024-11-191-1/+1
| |
| * gh-126980: Fix `bytearray.__buffer__` crash on `PyBUF_{READ,WRITE}` (#126981)sobolevn2024-11-193-2/+14
| | | | | | Co-authored-by: Victor Stinner <vstinner@python.org>
* | Post 3.14.0a2Hugo van Kemenade2024-11-191-1/+1
| |
* | Python 3.14.0a2v3.14.0a2Hugo van Kemenade2024-11-19184-618/+2085
|/
* GH-84850: Remove `urllib.request.URLopener` and `FancyURLopener` (#125739)Barney Gale2024-11-197-987/+44
|
* GH-124567: Replace quadratic assert with linear one (GH-127009)Mark Shannon2024-11-191-1/+1
|
* codeowners: add myself to getpath, site, and venv (#126994)Filipe Laíns 🇵🇸2024-11-191-1/+12
| | | Signed-off-by: Filipe Laíns <lains@riseup.net>
* gh-126076: Account for relocated objects in tracemalloc (#126077)Pablo Galindo Salgado2024-11-197-25/+18
|
* Revert "GH-126491: GC: Mark objects reachable from roots before doing cycle ↵Hugo van Kemenade2024-11-1921-332/+330
| | | | collection (GH-126502)" (#126983)
* gh-126594: Fix typeobject.c wrap_buffer() cast (#126754)Victor Stinner2024-11-192-3/+18
| | | | | Reject flags smaller than INT_MIN. Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* gh-126876: Fix socket internal_select() for large timeout (#126968)Victor Stinner2024-11-192-1/+31
| | | | | | If the timeout is larger than INT_MAX, replace it with INT_MAX, in the poll() code path. Add an unit test.
* gh-126986: Drop _PyInterpreterState_FailIfNotRunning() (gh-126988)Eric Snow2024-11-193-15/+10
| | | We replace it with _PyErr_SetInterpreterAlreadyRunning().
* getpath: fix warning typo (#126978)Filipe Laíns 🇵🇸2024-11-181-1/+1
|
* GH-126795: Increase the JIT threshold from 16 to 4096 (GH-126816)Brandt Bucher2024-11-184-101/+104
|
* gh-85957: Add missing MIME types for images with RFCs (#126966)Hugo van Kemenade2024-11-184-0/+30
|
* gh-123803: Support arbitrary code page encodings on Windows (GH-123804)Serhiy Storchaka2024-11-186-35/+161
| | | | | | If the cpXXX encoding is not directly implemented in Python, fall back to use the Windows-specific API codecs.code_page_encode() and codecs.code_page_decode().
* gh-126911: Update credits output (#126913)Stan U.2024-11-182-2/+4
| | | | | | | Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
* GH-126491: GC: Mark objects reachable from roots before doing cycle ↵Mark Shannon2024-11-1821-330/+332
| | | | | | | | | | | | | | | | collection (GH-126502) * Mark almost all reachable objects before doing collection phase * Add stats for objects marked * Visit new frames before each increment * Remove lazy dict tracking * Update docs * Clearer calculation of work to do.
* gh-109413: Enable `strict_optional = true` for `libregrtest/run_workers` ↵sobolevn2024-11-182-11/+13
| | | | | (#126855) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-126909: Fix running xattr tests on systems with lower limits (#126930)Michał Górny2024-11-182-3/+5
| | | | | | Modify the extended attribute tests to write fewer and smaller extended attributes, in order to fit within filesystems with total xattr limit of 1 KiB (e.g. ext4 with 1 KiB blocks). Previously, the test would write over 2 KiB, making it fail with ENOSPC on such systems.
* gh-101955: Fix SystemError in possesive quantifier with alternative and ↵Serhiy Storchaka2024-11-183-0/+26
| | | | | group (GH-111362) Co-authored-by: <wjssz@users.noreply.github.com>
* gh-67877: Fix memory leaks in terminated RE matching (GH-126840)Serhiy Storchaka2024-11-186-14/+230
| | | | | | | | If SRE(match) function terminates abruptly, either because of a signal or because memory allocation fails, allocated SRE_REPEAT blocks might be never released. Co-authored-by: <wjssz@users.noreply.github.com>
* gh-126789: Correct sysconfig test exclusions for iOS and Android. (GH-126941)Russell Keith-Magee2024-11-181-4/+5
|
* Doc: Reorganize math module documentation (#126337)Joseph Martinot-Lagarde2024-11-181-226/+250
| | | | Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
* gh-126167: Modify iOS Testbed to read arguments from Info.plist (#126169)Russell Keith-Magee2024-11-177-28/+106
| | | Modify iOS Testbed to read arguments from Info.plist.
* gh-126896: Fix docs about `asyncio.start_server()` (#126897)beavailable2024-11-171-1/+5
|
* GH-126920: fix Makefile overwriting sysconfig.get_config_varsFilipe Laíns 🇵🇸2024-11-173-1/+39
|
* GH-126789: fix some sysconfig data on late site initializationsFilipe Laíns 🇵🇸2024-11-174-4/+163
|