Commit graph

127786 commits

Author SHA1 Message Date
Serhiy Storchaka
cb59eaefed
Fix the doctest.testmod() docstring (GH-136675)
__test__ = None is not supported since Python 2.4.
2025-07-15 19:42:02 +03:00
Serhiy Storchaka
7689407fa4
Fix index entry and anchor for module.__test__ (GH-136674)
It was "doctest.module attribute". Now it is "module attribute".
2025-07-15 18:52:51 +03:00
andrewreds
2500eb96b2
gh-135909: Assert incoming refcnt != 0 for the free threaded GC (GH-136009)
This helps catch double deallocation bugs and is similar to the
assertion in the GIL-enabled build.  The call to `validate_refcounts`
is moved up to start of the GC because `queue_untracked_obj_decref()`
creates it own zero reference count garbage.
2025-07-15 11:26:16 -04:00
Richard Si
be02e68158
gh-72327: Suggest using system terminal for pip install in PyREPL (#136328)
Users new to Python packaging often try to use pip from the REPL only to
be met with a confusing SyntaxError. If this happens, guide the user to
use a system terminal instead to invoke pip.

Closes #72327

---------

Co-authored-by: Tom Viner <tom@viner.tv>
Co-authored-by: Brian Schubert <brianm.schubert@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
2025-07-15 14:25:07 +00:00
Kumar Aditya
a8f42e6e88
gh-111968: remove redundant fetching of interpreter state in dict implementation (#136673) 2025-07-15 19:15:11 +05:30
Ran Benita
7e10a103df
gh-136682: Remove incorrect statement that os.path.samestat accepts file-like objects (#136683) 2025-07-15 14:49:11 +02:00
Maciej Olko
624bf52c83
gh-136155: Docs: check for EPUB fatal errors in CI (#134074)
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2025-07-15 15:26:24 +03:00
Bénédikt Tran
a02cf19dee
gh-72570: mention the incompatibility of XOFs with HMAC (#136676) 2025-07-15 14:03:21 +02:00
Adam Turner
5b969fd645
GH-132661: Add `string.templatelib.convert()` (#135217) 2025-07-15 11:56:42 +02:00
Adam Turner
c89a66feb1
GH-133711: Enable UTF-8 mode by default (PEP 686) (#133712)
Co-authored-by: Victor Stinner <vstinner@python.org>
2025-07-15 10:45:41 +01:00
Dzmitry Plashchynski
f320c951c3
gh-131189: Fix "msvcrt" import warning on Linux when "_ctypes" is not available. (GH-131201)
Fix "msvcrt" import warning on Linux when "_ctypes" is not available.

On Linux, compiling without "libffi" causes a
"No module named 'msvcrt'" warning when launching PyREPL.
2025-07-15 09:44:31 +02:00
Sergey B Kirpichev
e4654e0b3e
gh-136663: fix signatures of PyFloat_Pack/Unpack in docs (#136664) 2025-07-15 11:00:12 +05:30
Tian Gao
db2032407a
Fix a minor indentation error (#136661) 2025-07-14 17:01:56 -07:00
Alper
9363703bd3
gh-116738: Make grp module thread-safe (#135434)
Make grp module methods getgrgid() and getgrnam() thread-safe when the GIL is disabled and getgrgid_r()/getgrnam_r() C APIs are not available.
---------

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2025-07-14 11:18:41 -07:00
mpage
d995922198
gh-136396: Include instrumentation when creating new copies of the bytecode (#136525)
Previously, we assumed that instrumentation would happen for all copies of
the bytecode if the instrumentation version on the code object didn't match
the per-interpreter instrumentation version. That assumption was incorrect:
instrumentation will exit early if there are no new "events," even if there
is an instrumentation version mismatch.

To fix this, include the instrumented opcodes when creating new copies of
the bytecode, rather than replacing them with their uninstrumented variants.
I don't think we have to worry about races between instrumentation and creating
new copies of the bytecode: instrumentation and new bytecode creation cannot happen
concurrently. Instrumentation requires that either the world is stopped or the
code object's per-object lock is held and new bytecode creation requires holding
the code object's per-object lock.
2025-07-14 10:48:10 -07:00
Brandt Bucher
3d8c38f6db
GH-135904: Improve the JIT's performance on macOS (GH-136528) 2025-07-14 10:14:20 -07:00
Bénédikt Tran
a68ddea3bf
gh-90733: improve hashlib.scrypt interface (#136100)
* add `scrypt` to `hashlib.__all__`
* improve `hashlib.scrypt` exception messages
2025-07-14 12:49:34 +02:00
Garry Cairns
75e2c5dd34
gh-134567: Move unittest What’s New entry (#136630) 2025-07-14 13:32:10 +03:00
Hugo van Kemenade
5bbf30e89e
Partially revert "gh-101100: Fix sphinx warnings in library/email.parser.rst (#136475)" (#136629) 2025-07-14 12:13:15 +03:00
Lee Dogeon
cd3e7ac89b
gh-67341: fix a typo in Include/fileutils.h (#136049)
`IO_REPARSE_TAG_SYMLINK` is mapped to `S_IFLNK` in `fileutils.c`, not in `posixmodule.c`
2025-07-14 08:02:05 +00:00
Serhiy Storchaka
b74fb8e220
gh-135256: Simplify parsing parameters in Argument Clinic (GH-135257) 2025-07-13 23:27:48 +03:00
Hood Chatham
283b050523
gh-127146: Emscripten: Fix test_open_undecodable_uri by setting -sTEXTDECODER=2 (#136624)
Removes the JS text decoder fallback and gets rid of the bugs due to the differences 
in behavior on invalid utf8 strings. See https://github.com/emscripten-core/emscripten/issues/24690.
2025-07-13 20:30:38 +02:00
Serhiy Storchaka
da699ed7e5
gh-121914: Change the names of the symbol tables for lambda and genexpr (GH-135288)
Change the names of the symbol tables for lambda expressions and generator
expressions to "<lambda>" and "<genexpr>" respectively to avoid conflicts
with user-defined names.
2025-07-13 21:09:42 +03:00
Duane Griffin
85ec3b3b50
gh-127971: fix off-by-one read beyond the end of a string during search (#132574) 2025-07-13 15:33:34 +02:00
Stan Ulbrych
a93d9aaf62
gh-42237: Link to complete list of codec aliases (#136625)
Closes #42237
2025-07-13 13:12:46 +00:00
Serhiy Storchaka
e18829a8ad
gh-132629: Deprecate accepting out-of-range values for unsigned integers in PyArg_Parse (GH-132630)
For unsigned integer formats in the PyArg_Parse* functions,
accepting Python integers with value that is larger than
the maximal value the corresponding C type or less than
the minimal value for the corresponding signed integer type
is now deprecated.
2025-07-13 12:44:54 +03:00
Peter Bierma
3dbe02ccd3
gh-132346: Docs: Clarify that reference counts aren't stable between versions (GH-132352) 2025-07-13 05:10:37 -04:00
Bénédikt Tran
9e5cebd56d
gh-136547: allow to temporarily disable hash algorithms in tests (#136570) 2025-07-13 10:58:15 +02:00
Peter Bierma
0d4fd10fba
Docs: Fix and improve the PyUnstable_Object_EnableDeferredRefcount documentation (GH-135323) 2025-07-13 02:46:13 -04:00
Yongzi Li
609d5adc7c
gh-134833: improve docs for del s[i:j] in Mutable Sequence Types (#134834) 2025-07-13 11:26:31 +05:30
Ajay Kamdar
46707d241a
gh-132969: update ACKS file (gh-133222) (#136144) 2025-07-13 11:19:44 +05:30
Sachin Shah
171de05b48
gh-136523: Fix wave.Wave_write emitting an unraisable when open raises (GH-136529) 2025-07-13 08:49:12 +03:00
Stan Ulbrych
42b251bceb
gh-134939: Correct concurrent.interpreters source code link (#136564) 2025-07-13 11:05:57 +05:30
Weilin Du
47b01da4cc
gh-101100: Fix sphinx warnings in Doc/library/platform.rst (GH-136562) 2025-07-12 21:15:04 +03:00
Bénédikt Tran
9be3649f5e
gh-136591: avoid using deprecated features for OpenSSL 3.0+ (#136592)
Since OpenSSL 3.0, `ERR_func_error_string()` always returns NULL and
`EVP_MD_CTX_get0_md()` should be preferred over `EVP_MD_CTX_md()`.
2025-07-12 16:33:07 +00:00
Serhiy Storchaka
be2c3d284e
gh-136549: Fix signature of threading.excepthook() (GH-136559) 2025-07-12 18:54:26 +03:00
Bast
5e1e21dee3
gh-91153: prevent a crash in bytearray.__setitem__(ind, ...) when ind.__index__ has side-effects (#132379)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-07-12 13:37:52 +00:00
Kliment Lamonov
25335d297b
gh-134759: fix UnboundLocalError in email.message.Message.get_payload (#136071)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-07-12 13:30:09 +00:00
Illia Volochii
5a20e79725
gh-99813: Start using SSL_sendfile when available (#99907)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2025-07-12 12:42:35 +00:00
Furkan Onder
dda70fa771
gh-99631: Add custom loads and dumps support for the shelve module (#118065)
Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-07-12 14:27:32 +02:00
Weilin Du
c564847e98
gh-89083: Add CLI tests for UUIDv{6,7,8} (#136548)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2025-07-12 14:06:15 +02:00
Bénédikt Tran
2301cdb559
gh-135853: add math.fmax and math.fmin (#135888) 2025-07-12 11:31:10 +00:00
Bénédikt Tran
83d04a29a6
gh-136565: Improve and amend hashlib.__doc__ (#136566) 2025-07-12 11:02:27 +00:00
Petr Viktorin
c7d24b81c3
gh-111506: Add _Py_OPAQUE_PYOBJECT to hide PyObject layout & related API (GH-136505)
Allow Py_LIMITED_API for (Py_GIL_DISABLED && _Py_OPAQUE_PYOBJECT)


API that's removed when _Py_OPAQUE_PYOBJECT is defined:

    - PyObject_HEAD
    - _PyObject_EXTRA_INIT
    - PyObject_HEAD_INIT
    - PyObject_VAR_HEAD
    - struct _object (i.e. PyObject) (opaque)
    - struct PyVarObject (opaque)
    - Py_SIZE
    - Py_SET_TYPE
    - Py_SET_SIZE
    - PyModuleDef_Base (opaque)
    - PyModuleDef_HEAD_INIT
    - PyModuleDef (opaque)
    - _Py_IsImmortal
    - _Py_IsStaticImmortal

Note that the `_Py_IsImmortal` removal (and a few other issues)
 means _Py_OPAQUE_PYOBJECT only works with limited
API 3.14+ now.


Co-authored-by: Victor Stinner <vstinner@python.org>
2025-07-12 09:55:12 +02:00
Will Childs-Klein
db47f4d844
gh-135401: Test AWS-LC as a cryptography library in CI (GH-135402)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Zachary Ware <zach@python.org>
2025-07-11 17:24:11 -05:00
Raymond Hettinger
7f1e66ae0e
Minor edit: Improve comment readability and ordering (gh-136557) 2025-07-11 12:36:17 -07:00
Weilin Du
561212a033
Doc: More duplicate word fixes (GH-136299) 2025-07-11 21:18:47 +03:00
Weilin Du
252e2f710e
gh-101100: Fix sphinx warnings in Doc/library/functools.rst (GH-136424)
Add index entries and anchors for cache_info, cache_clear and register.
2025-07-11 20:03:13 +03:00
Victor Stinner
2c9a8011c6
gh-135906: Test the internal C API in test_cext (#136247)
Remove duplicated definition: atexit_datacallbackfunc type
is already defined by Include/cpython/pylifecycle.h.
2025-07-11 16:48:43 +02:00
Victor Stinner
cbf007beeb
gh-136156: Remove tempfile test_link_tmpfile() (#136534)
It's not always possible to guarantee that the file was opened with
O_TMPFILE even if tempfile._O_TMPFILE_WORKS is true.
2025-07-11 16:45:31 +02:00