https://github.com/python/cpython

sort by:
Revision Author Date Message Commit Date
9c4347e Python 3.13.0a2 22 November 2023, 11:20:24 UTC
ad0e2a9 Do not build the macOS installer with mimalloc enabled (#112312) Do not build the macOS installer with mimalloc enabled pending resolution of weak linking crashes during interpreter startup on macOS 10.9, 10.10, and 10.11 when built on macOS 11 and later. 22 November 2023, 08:29:28 UTC
fde8fe5 gh-59703: restore include of mach-o/dyld.h (gh-112309) On older versions of macOS, _NSGetExecutablePath appears to only be available via macho-o/dyld so macho-o/dyld.h is still needed. 22 November 2023, 06:20:57 UTC
6c47eac Fix docstring and var name of itertools recipe (#112113) `prepend()` works with arbitrary iterables, not only iterators. In fact, the example given uses a `list`, which is iterable, but not an iterator. 22 November 2023, 05:35:36 UTC
4fa376b gh-111863: Rename term Py_NOGIL to Py_GIL_DISABLED in sysconfig (gh-112307) 22 November 2023, 01:32:43 UTC
46500c4 GH-111963: Clarify sys.monitoring.free_tool_id's limitations (GH-112291) 21 November 2023, 22:58:30 UTC
9d70831 gh-110745: add a newline argument to pathlib.Path.read_text (#110880) Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Barney Gale <barney.gale@gmail.com> 21 November 2023, 22:32:38 UTC
d857d53 gh-111361: Added an update for unicodedata in what's new in Python 3.13 (#112031) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> 21 November 2023, 18:46:26 UTC
4c483e0 gh-111863: Rename blurb snippet placed in the wrong directory by accident. (#112300) Rename blurb snippet placed in the wrong directory by accident. 21 November 2023, 17:37:03 UTC
e1540ae gh-112252: Fix error on unset $OSNAME in venv/activate (GH-112253) 21 November 2023, 15:18:53 UTC
44aa603 gh-57879: Increase test coverage for pstats.py (gh-111447) 21 November 2023, 13:32:09 UTC
d67f947 gh-110950: add upstream Tk fixes to macOS installer. (GH-111041) Add upstream Tk patches for three problems affecting tkinter users: - Update macOS installer to include a fix accepted by upstream Tcl/Tk for a crash encountered after the first :meth:`tkinter.Tk` instance is destroyed. (gh-92603) - Update macOS installer to include an upstream Tcl/Tk fix for the ``ttk::ThemeChanged`` error encountered in Tkinter. (gh-71383) - Update macOS installer to include an upstream Tcl/Tk fix for the ``Secure coding is not enabled for restorable state!`` warning encountered in Tkinter on macOS 14 Sonoma. (gh-110950) Co-authored-by: Ned Deily <nad@python.org> 21 November 2023, 08:12:19 UTC
de2715f gh-59703: use the system dladdr function in getpath.c for macOS framework builds (GH-111546) Co-authored-by: Ned Deily <nad@python.org> 21 November 2023, 05:15:25 UTC
6a00a58 gh-111786: Use separate opcode vars for Tier 1 and Tier 2 (#112289) This makes Windows about 3% faster on pyperformance benchmarks. 20 November 2023, 23:13:44 UTC
8deb8bc gh-112287: Speed up Tier 2 (uop) interpreter a little (#112286) This makes the Tier 2 interpreter a little faster. I calculated by about 3%, though I hesitate to claim an exact number. This starts by doubling the trace size limit (to 512), making it more likely that loops fit in a trace. The rest of the approach is to only load `oparg` and `operand` in cases that use them. The code generator know when these are used. For `oparg`, it will conditionally emit ``` oparg = CURRENT_OPARG(); ``` at the top of the case block. (The `oparg` variable may be referenced multiple times by the instructions code block, so it must be in a variable.) For `operand`, it will use `CURRENT_OPERAND()` directly instead of referencing the `operand` variable, which no longer exists. (There is only one place where this will be used.) 20 November 2023, 19:25:32 UTC
c4c6321 gh-111848: Clean up RESERVE() macro (#112274) Also avoid compiler warnings about unused 'reserved' variable. 20 November 2023, 18:45:42 UTC
1995955 gh-106529: Make FOR_ITER a viable uop (#112134) This uses the new mechanism whereby certain uops are replaced by others during translation, using the `_PyUop_Replacements` table. We further special-case the `_FOR_ITER_TIER_TWO` uop to update the deoptimization target to point just past the corresponding `END_FOR` opcode. Two tiny code cleanups are also part of this PR. 20 November 2023, 18:08:53 UTC
d59feb5 gh-112243: Don't include comments in f-string debug expressions (#112284) 20 November 2023, 15:18:24 UTC
3b3ec0d gh-111863: Rename `Py_NOGIL` to `Py_GIL_DISABLED` (#111864) Rename Py_NOGIL to Py_GIL_DISABLED 20 November 2023, 13:52:00 UTC
1c8f912 bpo-45759: Better error messages for non-matching 'elif'/'else' statements (#29513) 20 November 2023, 13:27:53 UTC
56e59a4 GH-111807: Lower the parser stack depth under WASI debug builds (#112225) 20 November 2023, 13:27:33 UTC
ce1096f gh-73561: Omit interface scope from IPv6 when used as Host header (#93324) Omit the `@interface_scope` from an IPv6 address when used as Host header by `http.client`. --------- Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google LLC] 19 November 2023, 22:37:13 UTC
7c9f267 gh-111926: Update _PyWeakref_IS_DEAD to be thread-safe (gh-112267) 19 November 2023, 22:36:45 UTC
f812914 gh-112266: Remove `(if defined)` part from `__dict__` and `__weakref__` docstrings (#112268) 19 November 2023, 18:30:07 UTC
77d9f1e gh-111965: Using critical sections to make ``io.StringIO`` thread safe. (gh-112116) 19 November 2023, 12:34:40 UTC
a6d25de gh-110383: Explained which error message is generated when there is an unhandled exception (#111574) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> 19 November 2023, 12:20:10 UTC
6bf8f20 gh-110383: Fix documentation profile cumtime fix (#112221) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> 19 November 2023, 09:56:54 UTC
14fd86a IDLE: Fix test_debugger bug and buildbot failures (#112258) Missing "requires('gui')" causes Tk() to fail when no gui. This caused CI Hypothesis test to fail, but I did not understand the its error message. Then buildbots failed. IdbTest failed on draft Bdb replacement because so different. Simplified version works on old and new. 19 November 2023, 06:39:26 UTC
adedcfa gh-79871: IDLE - Fix and test debugger module (#11451) Add docstrings to the debugger module. Fix two bugs: initialize Idb.botframe (should be in Bdb); In Idb.in_rpc_code, check whether prev_frame is None before trying to use it. Make other code changes. Expand test_debugger coverage from 19% to 66%. --------- Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu> 19 November 2023, 04:20:38 UTC
18c6929 gh-112186: Improve test case `test_loop_is_closed_resource_warnings` (#112187) 19 November 2023, 03:21:34 UTC
2bcc0f7 gh-112213: Update _weakref module to use new AC feature (gh-112250) 19 November 2023, 01:43:51 UTC
b8c952a gh-111903: Update AC to support "pycore_critical_section.h" header (gh-112251) 19 November 2023, 01:13:58 UTC
1a969b4 gh-111965: Use critical sections to make io.TextIOWrapper thread safe (gh-112193) 18 November 2023, 23:21:04 UTC
e52cc80 gh-112213: Add @critical_section target directive to Argument Clinic (gh-112232) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> 18 November 2023, 23:05:49 UTC
607b5e3 GH-110109: Test pure functionality of `pathlib.Path` user subclasses (#112242) Add `PurePathTest` as a superclass of `PathTest`, and therefore also `PathSubclassTest`. This adds coverage of pure functionality in user subclasses of `pathlib.Path`. Remove `PosixPathAsPureTest` and `WindowsPathAsPureTest`, as they now duplicate `PosixPathTest` and `WindowsPathTest`. This makes the MROs of test unit classes match the MROs of pathlib classes. 18 November 2023, 17:06:10 UTC
9c7c8ba GH-110109: Fix misplaced tests for `pathlib.WindowsPath.owner()` and `group()` (#112239) Move test methods from `WindowsPathAsPureTest` to `WindowsPathTest` unit. The former test unit is intended to exercise only pure path functionality. 18 November 2023, 15:42:07 UTC
91d1730 gh-112234: Remove the toplevel parameter in converttuple() (GH-112235) It is and always was 0. 18 November 2023, 11:47:34 UTC
0566ab9 gh-111926: Update _weakref to be threadsafe in --disable-gil build (gh-112189) 18 November 2023, 07:09:23 UTC
eb3c94e gh-110319: Assert type_version != 0 before using it (#112226) - Ensure that `assert(type_version != 0);` always comes *before* using `type_version` Also: - In cases_generator, rename `-v` to from `--verbose` to `--viable` 18 November 2023, 04:58:13 UTC
43b1c33 gh-111810: Fix `test_repr_deep` from `test_userlist` on WASI (#112197) Co-authored-by: Brett Cannon <brett@python.org> 18 November 2023, 00:08:23 UTC
f489ace GH-111808: Make the default value for `test.support.infinite_recursion()` conditional on compiler optimizations (GH-112223) Co-authored-by: Victor Stinner <vstinner@python.org> 17 November 2023, 23:52:11 UTC
dabc0d7 Fix typo in documentation of `importlib.metadata` (GH-112099) Fix minor typo in importlib doc 17 November 2023, 23:11:30 UTC
da314f7 A few more cases_generator cleanups (#112220) 17 November 2023, 22:36:37 UTC
cb5048e gh-112026: Update What's New: _PyObject_Vectorcall() was restored (#112171) 17 November 2023, 22:30:42 UTC
7405745 Various small improvements to uop debug output (#112218) - Show uop name in Error/DEOPT messages - Add target to some messages - Expose uop_name() as _PyUopName() 17 November 2023, 22:25:57 UTC
be0bd54 gh-106529: Cleanups split off gh-112134 (#112214) - Double max trace size to 256 - Add a dependency on executor_cases.c.h for ceval.o - Mark `_SPECIALIZE_UNPACK_SEQUENCE` as `TIER_ONE_ONLY` - Add debug output back showing the optimized trace - Bunch of cleanups to Tools/cases_generator/ 17 November 2023, 19:49:42 UTC
b414497 Fix syntax in CODEOWNERS file (#112210) 17 November 2023, 18:31:45 UTC
949b2cc gh-112194: Convert more examples to doctests in `typing.py` (#112195) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> 17 November 2023, 17:56:31 UTC
9fb0f2d GH-110109: Speed up `pathlib._PathBase.resolve()` (#110412) - Add fast path to `_split_stack()` - Skip unnecessarily resolution of the current directory when a relative path is given to `resolve()` - Remove stat and target caches, which slow down most `resolve()` calls in practice. - Slightly refactor code for clarity. 17 November 2023, 16:58:17 UTC
25538c7 Tweak my interests (and Mark Shannon's :-) in CODEOWNERS (#112206) 17 November 2023, 16:44:51 UTC
2dbb2e0 GH-110109: Churn `pathlib.PurePath` methods (#112012) Re-arrange `pathlib.PurePath` methods in source code. No other changes. The `PurePath` implementations of certain special methods, such as `__eq__()` and `__hash__()`, are not usually applicable to user subclasses of `_PathBase`. To facilitate their removal, another patch will split the `PurePath` class into `_PurePathBase` and `PurePath`, with the latter providing these special methods. This patch prepares the ground for splitting `PurePath`. It's similar to e8d77b0, which preceded splitting `Path`. By churning the methods here, subsequent patches will be easier to review and less likely to break things. 17 November 2023, 15:32:50 UTC
7c50800 gh-110481, doc: Add "immortal" term to the glossary (#112180) 17 November 2023, 14:09:19 UTC
fb4cddb gh-94309: "What's new in Python 3.12": improve deprecation notice for typing.Hashable and typing.Sized (#112196) 17 November 2023, 12:30:47 UTC
0ee2d77 gh-112070: make `functools.lru_cache` threadsafe in --disable-gil build (gh-112111) * gh-112070: make `functools.lrucacle` threadsafe in --disable-gil build * gh-112070: update generate `functoolsmodule` files * gh-112070: add NEWS file * Delete Misc/NEWS.d/next/Library/2023-11-15-20-19-45.gh-issue-112070.q6OhcU.rst * gh-112070: reformat functoolsmodule.c --------- Co-authored-by: Sam Gross <colesbury@gmail.com> 17 November 2023, 05:03:02 UTC
8cd70ee gh-112165: Fix typo in `__main__.py` (#112183) Change '[2]' to '[1]' to get second argument. 17 November 2023, 01:05:16 UTC
f92ea63 gh-111799: Fix `testRecursiveRepr` from `test_fileio` on WASI (GH-112181) 16 November 2023, 23:12:27 UTC
ceefa0b gh-111482: Fix time_clockid_converter() on AIX (#112170) clockid_t is defined as long long on AIX. 16 November 2023, 23:00:16 UTC
974847b gh-111800: Fix `test_recursive_repr` from `test_io` under WASI to not recurse so deeply (GH-112150) 16 November 2023, 19:47:38 UTC
762eb58 Remove `imp_dummy_def` from `Tools/c-analyzer/cpython/ignored.tsv` (gh-112122) It was removed in 3.12, no need to keep the ignore. 16 November 2023, 19:21:23 UTC
446f18a gh-111956: Add thread-safe one-time initialization. (gh-111960) 16 November 2023, 19:19:54 UTC
f66afa3 gh-111881: Import lazily zipfile in support.script_helper (#112172) It allows running the test suite when the zlib extension is missing. 16 November 2023, 17:57:22 UTC
7680da4 gh-112155: Run `typing.py` doctests as part of `test_typing` (#112156) 16 November 2023, 15:40:09 UTC
12c7e9d GH-112152: Fix typo in `typing.override` docstring (#112158) 16 November 2023, 15:16:04 UTC
bd89bca gh-111798: Use lower Py_C_RECURSION_LIMIT in debug mode (#112124) * Run again test_ast_recursion_limit() on WASI platform. * Add _testinternalcapi.get_c_recursion_remaining(). * Fix test_ast and test_sys_settrace: test_ast_recursion_limit() and test_trace_unpack_long_sequence() now adjust the maximum recursion depth depending on the the remaining C recursion. 16 November 2023, 13:52:33 UTC
81ab0e8 [doc] Make subprocess.wait documentation more precise (#98700) [doc] Make subprocess.wait doc more precise An active loop is only used when the `timeout` parameter is used on POSIX. When no timeout is used, the code calls `os.waitpid` internally (which puts the process on a sleep status). On Windows, the internal Windows API call accepts a timeout parameter, so that is delegated to the OS. 16 November 2023, 13:04:46 UTC
985679f gh-110812: Isolating Extension Modules HOWTO: List GC-related gotchas (GH-111504) Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com> 16 November 2023, 11:05:44 UTC
a646560 gh-111916: Make hashlib related modules thread-safe without the GIL (#111981) Always use an individual lock on hash objects when in free-threaded builds. Fixes #111916 15 November 2023, 23:53:38 UTC
7218bac gh-111811: Fix test_recursive_repr for WASI (#112130) 15 November 2023, 22:28:58 UTC
d9fd33a gh-112088: Run autoreconf in GHA check_generated_files (#112090) The "Check if generated files are up to date" job of GitHub Actions now runs the "autoreconf -ivf -Werror" command instead of the "make regen-configure" command to avoid depending on the external quay.io server. Add Tools/build/regen-configure.sh script to regenerate the configure with an Ubuntu container image. The "quay.io/tiran/cpython_autoconf:271" container image (https://github.com/tiran/cpython_autoconf) is no longer used. 15 November 2023, 20:47:14 UTC
7e2308a gh-112026: Add again _PyThreadState_UncheckedGet() function (#112121) Add again the private _PyThreadState_UncheckedGet() function as an alias to the new public PyThreadState_GetUnchecked() function. 15 November 2023, 18:15:03 UTC
e5dfcc2 gh-96954: Don't run regen-unicodedata in regen-all (#112120) The "make regen-unicodedata" should now be run manually. By the default, it requires an Internet connection, which is not always the case. Some Linux distributions build Linux packages in isolated environment (without network). 15 November 2023, 17:14:08 UTC
bd2f148 gh-112026: Restore removed _PyDict_GetItemStringWithError() (#112119) Restore the removed _PyDict_GetItemStringWithError() function. It is used by numpy. 15 November 2023, 17:10:06 UTC
ec05507 gh-96954: Fix `make regen-unicodedata` in out-of-tree builds (#112118) This avoids: python3.13 Tools/unicode/makeunicodedata.py python3.13: can't open file '.../build/debug/Tools/unicode/makeunicodedata.py': [Errno 2] No such file or directory make: *** [Makefile:1498: regen-unicodedata] Error 2 Re-run `make regen-unicodedata` to update the script path in generated files. 15 November 2023, 16:42:17 UTC
5846924 gh-112026: Restore removed private C API (#112115) Restore removed private C API functions, macros and structures which have no simple replacement for now: * _PyDict_GetItem_KnownHash() * _PyDict_NewPresized() * _PyHASH_BITS * _PyHASH_IMAG * _PyHASH_INF * _PyHASH_MODULUS * _PyHASH_MULTIPLIER * _PyLong_Copy() * _PyLong_FromDigits() * _PyLong_New() * _PyLong_Sign() * _PyObject_CallMethodId() * _PyObject_CallMethodNoArgs() * _PyObject_CallMethodOneArg() * _PyObject_CallOneArg() * _PyObject_EXTRA_INIT * _PyObject_FastCallDict() * _PyObject_GetAttrId() * _PyObject_Vectorcall() * _PyObject_VectorcallMethod() * _PyStack_AsDict() * _PyThread_CurrentFrames() * _PyUnicodeWriter structure * _PyUnicodeWriter_Dealloc() * _PyUnicodeWriter_Finish() * _PyUnicodeWriter_Init() * _PyUnicodeWriter_Prepare() * _PyUnicodeWriter_PrepareKind() * _PyUnicodeWriter_WriteASCIIString() * _PyUnicodeWriter_WriteChar() * _PyUnicodeWriter_WriteLatin1String() * _PyUnicodeWriter_WriteStr() * _PyUnicodeWriter_WriteSubstring() * _PyUnicode_AsString() * _PyUnicode_FromId() * _PyVectorcall_Function() * _Py_HashDouble() * _Py_HashPointer() * _Py_IDENTIFIER() * _Py_c_abs() * _Py_c_diff() * _Py_c_neg() * _Py_c_pow() * _Py_c_prod() * _Py_c_quot() * _Py_c_sum() * _Py_static_string() * _Py_static_string_init() 15 November 2023, 16:38:31 UTC
b338ffa gh-112026: Add again <unistd.h> include in Python.h (#112046) Add again <ctype.h> and <unistd.h> includes in Python.h, but don't include them in the limited C API version 3.13 and newer. 15 November 2023, 15:59:32 UTC
4bbb367 GH-111848: Set the IP when de-optimizing (GH-112065) * Replace jumps with deopts in tier 2 * Fewer special cases of uop names * Add target field to uop IR * Remove more redundant SET_IP and _CHECK_VALIDITY micro-ops * Extend whitelist of non-escaping API functions. 15 November 2023, 15:48:58 UTC
0cfdd6e Fix typo in perf profiling docs (#112112) 15 November 2023, 15:40:19 UTC
422c0f0 gh-108303: Delete `imp_dummy` test file (#112110) 15 November 2023, 12:26:49 UTC
d4f83e1 gh-111789: Use PyDict_GetItemRef() in Modules/_asynciomodule.c (GH-112072) 15 November 2023, 04:28:30 UTC
6c214de Docs: Add the time to the HTML last updated format (#110091) 15 November 2023, 04:04:28 UTC
4744f59 gh-112062: Make `_struct` module thread-safe in `--disable-gil` builds (#112094) * gh-112062: Make `_struct` module thread-safe in --disable-gil builds 15 November 2023, 04:00:34 UTC
55f3cce gh-111545: Test PyHash_GetFuncDef() function (#112098) Add Modules/_testcapi/hash.c and Lib/test/test_capi/test_hash.py. 15 November 2023, 02:41:29 UTC
e0f5127 gh-109538: Avoid RuntimeError when StreamWriter is deleted with closed loop (#111983) Issue a ResourceWarning instead. Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com> 15 November 2023, 01:17:51 UTC
fe9db90 gh-111995: Add getnameinfo extension flag (#111994) Add getnameinfo extension NI_IDN flag. 15 November 2023, 01:00:24 UTC
62802b6 gh-111545: Add Include/cpython/pyhash.h header file (#112063) Move non-limited C API to a new Include/cpython/pyhash.h header file. 15 November 2023, 00:19:20 UTC
9302f05 gh-111942: Fix SystemError in the TextIOWrapper constructor (#112061) In non-debug more the check for the "errors" argument is skipped, and then PyUnicode_AsUTF8() can fail, but its result was not checked. Co-authored-by: Victor Stinner <vstinner@python.org> 14 November 2023, 20:02:28 UTC
0ff6368 gh-111906: Fix warnings during mimalloc build on FreeBSD (#111907) Fix `unused function` warnings during mimalloc build on FreeBSD. 14 November 2023, 16:07:46 UTC
ee06fff gh-111942: Fix crashes in TextIOWrapper.reconfigure() (GH-111976) * Fix crash when encoding is not string or None. * Fix crash when both line_buffering and write_through raise exception when converted ti int. * Add a number of tests for constructor and reconfigure() method with invalid arguments. 14 November 2023, 15:37:56 UTC
a519b87 GH-111848: Convert remaining jumps to deopts into tier 2 code. (GH-112045) 14 November 2023, 15:30:33 UTC
b11c443 gh-111789: Simplify bytecodes.c by using PyDict_GetItemRef() (GH-111978) 14 November 2023, 13:38:49 UTC
4f04172 gh-111262: Add PyDict_Pop() function (#112028) _PyDict_Pop_KnownHash(): remove the default value and the return type becomes an int. Co-authored-by: Stefan Behnel <stefan_ml@behnel.de> Co-authored-by: Antoine Pitrou <pitrou@free.fr> 14 November 2023, 12:51:00 UTC
f44d6ff gh-110944: Make pdb completion work for alias and convenience vars (GH-110945) 14 November 2023, 12:22:25 UTC
324531d gh-111903: Add `@critical_section` directive to Argument Clinic. (#111904) The `@critical_section` directive instructs Argument Clinic to generate calls to `Py_BEGIN_CRITICAL_SECTION()` and `Py_END_CRITICAL_SECTION()` around the bound function. In `--disable-gil` builds, these calls will lock and unlock the `self` object. They are no-ops in the default build. This is used in one place (`_io._Buffered.close`) as a demonstration. Subsequent PRs will use it more widely in the `_io.Buffered` bindings. 14 November 2023, 10:47:46 UTC
16055c1 gh-111789: Simplify ceval.c by using PyDict_GetItemRef() (GH-111980) 14 November 2023, 09:29:49 UTC
9536562 gh-111789: Simplify import.c by using PyDict_GetItemRef() (GH-111979) 14 November 2023, 09:29:20 UTC
c98600b gh-111789: Use PyDict_GetItemRef() in _ctypes (GH-111828) 14 November 2023, 09:28:34 UTC
18203a6 gh-111789: Use PyDict_GetItemRef() in Objects/ (GH-111827) 14 November 2023, 09:25:39 UTC
e31d65e gh-111622: Fix doc for items views (#112051) They are set-like even when some values are not hashable, but work even better when all are. 14 November 2023, 07:41:20 UTC
31ad7e0 GH-111520: Add back the operand local (GH-111813) 14 November 2023, 01:27:19 UTC
36aab34 gh-107149: make new opcode util functions private rather than public and unstable (#112042) 14 November 2023, 00:31:02 UTC
back to top