Staging
v0.5.1
https://github.com/python/cpython

sort by:
Revision Author Date Message Commit Date
2037502 bpo-1635741: Port _ctypes_test extension to multiphase initialization (PEP 489) (GH-19012) 17 March 2020, 01:15:23 UTC
6ff79f6 bpo-37207: Use PEP 590 vectorcall to speed up set() constructor (GH-19019) 16 March 2020, 17:17:38 UTC
5f104d5 bpo-39968: Fix a typo error in get_readline_state() (GH-19028) 16 March 2020, 17:16:32 UTC
f6a5850 bpo-35370: PyEval_SetTrace() logs unraisable error (GH-18977) If PySys_Audit() fails in PyEval_SetProfile() or PyEval_SetTrace(), log the error as an unraisable exception. 16 March 2020, 16:41:44 UTC
356c878 bpo-1635741: Port _statistics module to multiphase initialization (GH-19015) 16 March 2020, 15:10:21 UTC
87ec86c bpo-37207: Add _PyArg_NoKwnames() helper function (GH-18980) 16 March 2020, 14:06:20 UTC
c98f87f bpo-37207: Use _PyArg_CheckPositional() for tuple vectorcall (GH-18986) 16 March 2020, 14:04:14 UTC
f707d94 bpo-39968: Convert extension modules' macros of get_module_state() to inline functions (GH-19017) 16 March 2020, 13:15:01 UTC
4ab362c bpo-39638: Keep ASDL signatures in the AST nodes (GH-18515) 16 March 2020, 08:12:53 UTC
5b66ec1 bpo-38870: Implement support for ast.FunctionType in ast.unparse (GH-19016) 15 March 2020, 19:56:57 UTC
ac10e0c bpo-39360: Ensure all workers exit when finalizing a multiprocessing Pool (GH-19009) When the pull is not used via the context manager or terminate() is called, there is a system in multiprocessing.util that handles finalization of all pools via an atexit handler (the Finalize) class. This class registers the _terminate_pool handler in the registry of finalizers of the module, and that registry is called on interpreter exit via _exit_function. The problem is that the "happy" path with the context manager or manual call to finalize() does some extra steps that _terminate_pool does not. The step that is not executed when the atexit() handler calls _terminate_pool is pinging the _change_notifier queue to unblock the maintenance threads. This commit moves the notification to the _terminate_pool function so is called from both code paths. Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> 15 March 2020, 19:45:56 UTC
c81609e Fix a possible refleak in tupleobject.c (GH-19018) 15 March 2020, 19:37:49 UTC
8689209 bpo-39969: Remove ast.Param node class as is no longer used (GH-19020) 15 March 2020, 19:32:17 UTC
61ac612 bpo-39507: Add HTTP status 418 "I'm a Teapot" (GH-18291) 15 March 2020, 12:24:23 UTC
9023581 bpo-39965: Correctly raise SyntaxError if await is used outside async functions when PyCF_ALLOW_TOP_LEVEL_AWAIT is set (GH-19010) 15 March 2020, 04:29:22 UTC
33238ec Link to list of keywords in the laguage reference (GH-18024) 14 March 2020, 19:09:15 UTC
9165add bpo-38576: Disallow control characters in hostnames in http.client (GH-18995) Add host validation for control characters for more CVE-2019-18348 protection. 14 March 2020, 18:56:06 UTC
6672c16 bpo-39677: dis: rename the operand of MAKE_FUNCTION from `argc` to `flags` for 3.6+ (GC-18550) 14 March 2020, 14:24:06 UTC
da52be4 bpo-39509: Update HTTP status code to follow IANA (GH-18294) Add status codes 103 EARLY_HINTS and 425 TOO_EARLY. 14 March 2020, 14:12:01 UTC
b81f40f bpo-39582: ossaudiodev module update helpers signature for ioctl calls. (GH-18412) 14 March 2020, 13:48:56 UTC
57c7810 bpo-39585: Delete a pending comment in _warning.c (GH-18414) 14 March 2020, 13:40:58 UTC
faf626b Make cpython/abstract.h compatible with C90 (#18481) Some inline functions use mixed declarations and code. These end up visible in third-party code that includes Python.h, which might not be using a C99 compiler. Fix by moving the declarations first, like in the old days. 14 March 2020, 11:47:09 UTC
5208b4b bpo-39871: Fix possible SystemError in atan2, copysign and remainder (GH-18806) In math_2(), the first PyFloat_AsDouble() call should be checked for failure before the second call. Co-authored-by: Mark Dickinson <dickinsm@gmail.com> 14 March 2020, 10:45:32 UTC
3a8c562 Revert "bpo-39087: Add _PyUnicode_GetUTF8Buffer()" (GH-18985) * Revert "bpo-39087: Add _PyUnicode_GetUTF8Buffer() (GH-17659)" This reverts commit c7ad974d341d3edb6b9d2a2dcae4d3d4794ada6b. * Update unicodeobject.h 14 March 2020, 06:59:27 UTC
7a5cbc7 bpo-39937: Improve suggestions for removal of getchildren and getiterator in changelog (GH-18937) Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> 14 March 2020, 05:50:24 UTC
c7ad974 bpo-39087: Add _PyUnicode_GetUTF8Buffer() (GH-17659) Co-authored-by: Victor Stinner <vstinner@python.org> 14 March 2020, 03:43:18 UTC
8fb02b6 bpo-39947: Add PyThreadState_GetInterpreter() (GH-18981) Add PyThreadState_GetInterpreter(tstate): get the interpreter of a Python thread state. 13 March 2020, 22:38:08 UTC
be79373 bpo-39947: Add PyInterpreterState_Get() function (GH-18979) * Rename _PyInterpreterState_Get() to PyInterpreterState_Get() and move it the limited C API. * Add _PyInterpreterState_Get() alias to PyInterpreterState_Get() for backward compatibility with Python 3.8. 13 March 2020, 17:15:33 UTC
ff4584c bpo-39947: Use _PyInterpreterState_GET_UNSAFE() (GH-18978) Replace _PyInterpreterState_Get() function call with _PyInterpreterState_GET_UNSAFE() macro which is more efficient but don't check if tstate or interp is NULL. _Py_GetConfigsAsDict() now uses _PyThreadState_GET(). 13 March 2020, 17:03:56 UTC
6d674a1 bpo-36144: OrderedDict Union (PEP 584) (#18967) 13 March 2020, 16:06:04 UTC
d648ef1 bpo-36144: Update os.environ and os.environb for PEP 584 (#18911) 13 March 2020, 16:04:43 UTC
38965ec bpo-39947: Hide implementation detail of trashcan macros (GH-18971) Py_TRASHCAN_BEGIN_CONDITION and Py_TRASHCAN_END macro no longer access PyThreadState attributes, but call new private _PyTrash_begin() and _PyTrash_end() functions which hide implementation details. 13 March 2020, 15:51:52 UTC
309d7cc bpo-35370: Add _PyEval_SetTrace() function (GH-18975) * sys.settrace(), sys.setprofile() and _lsprof.Profiler.enable() now properly report PySys_Audit() error if "sys.setprofile" or "sys.settrace" audit event is denied. * Add _PyEval_SetProfile() and _PyEval_SetTrace() function: similar to PyEval_SetProfile() and PyEval_SetTrace() but take a tstate parameter and return -1 on error. * Add _PyObject_FastCallTstate() function. 13 March 2020, 15:39:12 UTC
9ee88cd bpo-37207: Use PEP 590 vectorcall to speed up tuple() (GH-18936) Master: ./python.exe -m pyperf timeit "tuple((1, 2, 3, 4, 5))" Mean +- std dev: 361 ns +- 15 ns PEP-590: ./python.exe -m pyperf timeit "tuple((1, 2, 3, 4, 5))" Mean +- std dev: 203 ns +- 13 ns 13 March 2020, 13:57:00 UTC
3f2f4fe bpo-39947: Move get_recursion_depth() to _testinternalcapi (GH-18974) Move get_recursion_depth() function from _testcapi to _testinternalcapi to avoid accessing PyThreadState attributes directly in _testcapi. 13 March 2020, 12:07:31 UTC
224481a bpo-39947: Move Py_EnterRecursiveCall() to internal C API (GH-18972) Move the static inline function flavor of Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() to the internal C API: they access PyThreadState attributes. The limited C API provides regular functions which hide implementation details. 13 March 2020, 09:19:38 UTC
0b72b23 bpo-38500: Add _PyInterpreterState_SetEvalFrameFunc() (GH-17340) PyInterpreterState.eval_frame function now requires a tstate (Python thread state) parameter. Add private functions to the C API to get and set the frame evaluation function: * Add tstate parameter to _PyFrameEvalFunction function type. * Add _PyInterpreterState_GetEvalFrameFunc() and _PyInterpreterState_SetEvalFrameFunc() functions. * Add tstate parameter to _PyEval_EvalFrameDefault(). 12 March 2020, 22:18:39 UTC
c846ef0 bpo-39936: _aix_support uses _bootsubprocess (GH-18970) AIX: Fix _aix_support module when the subprocess is not available, when building Python from scratch. It now uses new private _bootsubprocess module, rather than having two implementations depending if subprocess is available or not. So _aix_support.aix_platform() result is now the same if subprocess is available or not. 12 March 2020, 22:15:34 UTC
1ae9cde bpo-39689: Do not test undefined casts to _Bool (GH-18964) - When casting to _Bool, arrays should only contain zeros or ones. 12 March 2020, 18:35:38 UTC
fdcd53f Doc: Fix grammar in PyErr_ResourceWarning (GH-18879) 12 March 2020, 17:09:30 UTC
3c29675 bpo-1294959: Fix typo for new attribute platlibdir. (GH-18960) Received email on the docs mailing list to fix a typo from `sys.platlitdir` which doesn't exist to the correct new attribute `sys.platlibdir` Automerge-Triggered-By: @vstinner 12 March 2020, 14:38:19 UTC
75cd5bf Remove unused args from two pylifecycle.c functions (GH-18867) * Remove unused tstate argument from init_set_builtins_open() * Replace fd (int) with tstate (PyThreadState *) in in _Py_FatalError_PrintExc() 12 March 2020, 07:49:05 UTC
c7d2d69 bpo-39884: Add method name in "bad call flags" error (GH-18944) PyDescr_NewMethod() and PyCFunction_NewEx() now include the method name in the SystemError "bad call flags" error message to ease debug. 12 March 2020, 07:38:11 UTC
1dd3794 Simplify defaultdict.__or__ (#18931) 12 March 2020, 04:06:46 UTC
c00c86b Fix syntax error in an example in the ast documentation and sync docstrings (GH-18946) 12 March 2020, 00:48:19 UTC
276a84a bpo-38080: Added "getproxies" to urllib fixes in the 2to3 tool (GH-16167) 11 March 2020, 23:51:20 UTC
64838ce bpo-39847: EnterNonRecursiveMutex() uses GetTickCount64() (GH-18780) The 32-bit (49-day) TickCount relied on in EnterNonRecursiveMutex can overflow in the gap between the 'target' time and the 'now' time WaitForSingleObjectEx returns, causing the loop to think it needs to wait another 49 days. This is most likely to happen when the machine is hibernated during WaitForSingleObjectEx. This makes acquiring a lock/event/etc from the _thread or threading module appear to never timeout. Replace with GetTickCount64 - this is OK now Python no longer supports XP which lacks it, and is in use for time.monotonic(). Co-authored-by: And Clover <and.clover@bromium.com> 11 March 2020, 23:39:02 UTC
894adc1 bpo-39930: Fix MSBuild detection for Build Tools (GH-18938) Ensure we detect Build Tools installs using the newer logic, and skip looking in the registry for VS 2017. 11 March 2020, 23:24:30 UTC
196f1eb bpo-1635741: Fix refleaks of time module error handling (GH-18486) 11 March 2020, 16:56:08 UTC
aa0c080 bpo-1635741: Fix potential refleaks in binascii module (GH-18613) 11 March 2020, 16:50:52 UTC
41fbf86 bpo-1635741: Port audioop extension module to multiphase initialization (PEP 489) (GH-18608) Co-authored-by: Victor Stinner <vstinner@python.org> 11 March 2020, 16:49:11 UTC
a158168 bpo-1635741: Port _locale extension module to multiphase initialization (PEP 489) (GH-18358) Co-authored-by: Petr Viktorin <pviktori@redhat.com> 11 March 2020, 16:46:06 UTC
704e206 bpo-39916: Use os.scandir() as context manager in Path.glob(). (GH-18880) 11 March 2020, 16:42:03 UTC
e553f20 bpo-39915: Ensure await_args_list is updated according to the order in which coroutines were awaited (GH-18924) Create call objects with awaited arguments instead of using call_args which has only last call value. 11 March 2020, 15:06:12 UTC
fde44ae bpo-39930: Convert error to warning for more silent failure (GH-18921) Makes it an error to create a layout without vcruntime DLL 11 March 2020, 14:12:31 UTC
3c97e1e bpo-39761: Fix dtrace build with empty $DFLAGS (GH-18766) This fixes a regression introduced in bpo-38960. When DFLAGS was empty, "$DFLAGS" results in an empty argument (""). Without the quotes, an empty variable will be ignored by the shell. 11 March 2020, 13:27:42 UTC
2dd4174 bpo-39930: Ensure vcruntime140.dll is included in all Windows packages (GH-18918) Also adds GitHub CI test for Windows installer changes 11 March 2020, 11:18:12 UTC
39c3493 Fix download.html (GH-18902) `<tt>` is not allowed. Co-authored-by: Kyle Stanley <aeros167@gmail.com> 11 March 2020, 04:23:24 UTC
c77aa2d bpo-39926: Update unicodedata checksum tests for Unicode 13.0 update. (GH-18913) I forget these tests required the cpu resource. 11 March 2020, 04:18:33 UTC
51796e5 Update some www.unicode.org URLs to use HTTPS. (GH-18912) 11 March 2020, 04:10:59 UTC
051b9d0 closes bpo-39926: Update Unicode to 13.0.0. (GH-18910) 11 March 2020, 03:41:34 UTC
76d5877 closes bpo-39922: Remove unused args from four functions. (GH-18893) 11 March 2020, 02:18:12 UTC
bd87a7f Updates functools.py with consistent quotes (GH-18825) I have noticed that `'` quotes are used everywhere except this particular case, which was introduced in https://github.com/python/cpython/pull/18726 So, this is a trivial fix to enforce better consistency. 11 March 2020, 00:32:15 UTC
4e53abb bpo-38631: _PyGILState_Init() returns PyStatus (GH-18908) _PyGILState_Init() now returns PyStatus rather than calling Py_FatalError() on failure. 10 March 2020, 22:49:16 UTC
88f82b2 bpo-38662: ensurepip invokes pip via runpy (GH-18901) The ensurepip module now invokes pip via the runpy module. Hence it is no longer tightly coupled with the internal API of the bundled pip version, allowing easier updates to a newer pip version both internally and for distributors. This way, any changes to the internal pip API won't mean ensurepip needs to be changed as well. Also, distributors can update their pip wheels independent on CPython release schedule. Co-Authored-By: Pradyun Gedam <pradyunsg@gmail.com> Co-Authored-By: Miro Hrončok <miro@hroncok.cz> 10 March 2020, 21:16:28 UTC
d06eec2 tracemalloc: 'pretty top' example no longer changes the filename (GH-18903) I've used this recipe a couple times and the filename editing has always been less than useful and something I've removed. This is because many modules end up losing which package they are located in, e.g. `util/date.py`. 10 March 2020, 18:18:50 UTC
13d52c2 bpo-34822: Simplify AST for subscription. (GH-9605) * Remove the slice type. * Make Slice a kind of the expr type instead of the slice type. * Replace ExtSlice(slices) with Tuple(slices, Load()). * Replace Index(value) with a value itself. All non-terminal nodes in AST for expressions are now of the expr type. 10 March 2020, 16:52:34 UTC
e5e5632 bpo-39869: Fix typo in 'Instance objects' section. (GH-18889) 10 March 2020, 14:17:40 UTC
00d7cd8 bpo-38075: Fix random_seed(): use PyObject_CallOneArg() (GH-18897) Fix the random.Random.seed() method when a bool is passed as the seed. PyObject_Vectorcall() was misused: use PyObject_CallOneArg() instead. 10 March 2020, 14:15:14 UTC
8510f43 bpo-1294959: Add sys.platlibdir attribute (GH-18381) Add --with-platlibdir option to the configure script: name of the platform-specific library directory, stored in the new sys.platlitdir attribute. It is used to build the path of platform-specific dynamic libraries and the path of the standard library. It is equal to "lib" on most platforms. On Fedora and SuSE, it is equal to "lib64" on 64-bit systems. Co-Authored-By: Jan Matějek <jmatejek@suse.com> Co-Authored-By: Matěj Cepl <mcepl@cepl.eu> Co-Authored-By: Charalampos Stratakis <cstratak@redhat.com> 10 March 2020, 08:53:09 UTC
700cb58 bpo-39828: Fix json.tool to catch BrokenPipeError (GH-18779) 10 March 2020, 07:41:44 UTC
b4698ec bpo-39877: Deprecate PyEval_InitThreads() (GH-18892) Deprecated PyEval_InitThreads() and PyEval_ThreadsInitialized(). Calling PyEval_InitThreads() now does nothing. 10 March 2020, 00:28:54 UTC
175a704 bpo-39877: PyGILState_Ensure() don't call PyEval_InitThreads() (GH-18891) PyGILState_Ensure() doesn't call PyEval_InitThreads() anymore when a new Python thread state is created. The GIL is created by Py_Initialize() since Python 3.7, it's not needed to call PyEval_InitThreads() explicitly. Add an assertion to ensure that the GIL is already created. 09 March 2020, 23:37:48 UTC
addaaaa bpo-39763: Add _bootsubprocess to build Python on AIX (GH-18872) Add _bootsubprocess module to bootstrap Python: subprocess implementation which only uses the os module. On AIX, distutils.util uses _aix_support which calls subprocess.check_output(), before the _posixsubprocess module is built. Implement check_output() with os.system() in _bootsubprocess. 09 March 2020, 22:45:59 UTC
9ad58ac bpo-19466: Py_Finalize() clears daemon threads earlier (GH-18848) Clear the frames of daemon threads earlier during the Python shutdown to call objects destructors. So "unclosed file" resource warnings are now emitted for daemon threads in a more reliable way. Cleanup _PyThreadState_DeleteExcept() code: rename "garbage" to "list". 09 March 2020, 22:37:49 UTC
8e9c47a bpo-28577: Special case added to IP v4 and v6 hosts for /32 and /128 networks (GH-18757) The `.hosts()` method now returns the single address present in a /32 or /128 network. 09 March 2020, 22:33:45 UTC
9229eee bpo-39877: take_gil() checks tstate_must_exit() twice (GH-18890) take_gil() now also checks tstate_must_exit() after acquiring the GIL: exit the thread if Py_Finalize() has been called. 09 March 2020, 22:10:53 UTC
b7e9525 bpo-36287: Make ast.dump() not output optional fields and attributes with default values. (GH-18843) The default values for optional fields and attributes of AST nodes are now set as class attributes (e.g. Constant.kind is set to None). 09 March 2020, 22:07:47 UTC
85f5a69 bpo-39877: Refactor take_gil() function (GH-18885) * Remove ceval parameter of take_gil(): get it from tstate. * Move exit_thread_if_finalizing() call inside take_gil(). Replace exit_thread_if_finalizing() with tstate_must_exit(): the caller is now responsible to call PyThread_exit_thread(). * Move is_tstate_valid() assertion inside take_gil(). Remove is_tstate_valid(): inline code into take_gil(). * Move gil_created() assertion inside take_gil(). 09 March 2020, 21:12:04 UTC
363fab8 bpo-27115: Use Query subclass for IDLE editor Goto (GH-18871) Replace tkinter tkSimpleDialog.askinteger with a standard IDLE query dialog. The new box checks for positivity before returning. 09 March 2020, 20:51:20 UTC
e7cab7f bpo-38870: Simplify sequence interleaves in ast.unparse (GH-17892) 09 March 2020, 20:27:03 UTC
111e4ee bpo-39877: Py_Initialize() pass tstate to PyEval_InitThreads() (GH-18884) 09 March 2020, 20:24:14 UTC
3225b9f bpo-39877: Remove useless PyEval_InitThreads() calls (GH-18883) Py_Initialize() calls PyEval_InitThreads() since Python 3.7. It's no longer needed to call it explicitly. 09 March 2020, 19:56:57 UTC
eebaa9b bpo-38249: Expand Py_UNREACHABLE() to __builtin_unreachable() in the release mode. (GH-16329) Co-authored-by: Victor Stinner <vstinner@python.org> 09 March 2020, 18:49:52 UTC
6d0ee60 bpo-36184: Port python-gdb.py to FreeBSD (GH-18873) python-gdb.py now checks for "take_gil" function name to check if a frame tries to acquire the GIL, instead of checking for "pthread_cond_timedwait" which is specific to Linux and can be a different condition than the GIL. 09 March 2020, 18:35:26 UTC
e5ccc94 bpo-38643: Raise SystemError instead of crashing when PyNumber_ToBase is called with invalid base. (GH-18863) 09 March 2020, 18:03:38 UTC
413f013 bpo-39904: Move handling of one-argument call of type() from type.__new__() to type.__call__(). (GH-18852) 09 March 2020, 17:59:03 UTC
6012f30 bpo-39850: Add support for abstract sockets in multiprocessing (GH-18866) 09 March 2020, 13:48:01 UTC
dccd41e bpo-39822: Use NULL instead of None for empty attrib in Element. (GH-18735) 09 March 2020, 13:12:41 UTC
88944a4 bpo-39903: Fix double decref in _elementtree.Element.__getstate__ (GH-18850) 09 March 2020, 12:37:08 UTC
fc72ab6 bpo-38691: importlib ignores PYTHONCASEOK if -E is used (GH-18627) The importlib module now ignores the PYTHONCASEOK environment variable when the -E or -I command line options are being used. 09 March 2020, 11:57:53 UTC
e53a393 bpo-27115: Move IDLE Query error blanking (GH-18868) Move required blanking of error text to non-overridden entry_ok(). (Omit news item.) 09 March 2020, 05:38:07 UTC
d7a04a8 Fix typo in the parser generator (GH-18603) 09 March 2020, 02:58:24 UTC
0911ea5 bpo-39517: Allow runpy.run_path() to accept path-like objects (GH-18699) 08 March 2020, 20:43:17 UTC
4ca060d bpo-39885: IDLE context menu clears selection (#18859) Since clicking to get an IDLE context menu moves the cursor, any text selection should be and now is cleared. 08 March 2020, 19:30:04 UTC
2522db1 bpo-39852: IDLE 'Go to line' deletes selection, updates status (GH-18801) It appears standard that moving the text insert cursor away from a selection clears the selection. Clearing prevents accidental deletion of a possibly off-screen bit of text. The update is for Ln and Col on the status bar. 08 March 2020, 18:32:42 UTC
c580981 fix typo: add space (GH-18853) Fix typo in cmdline.rst Add space between the `-m` option and the module name (`timeit`). 08 March 2020, 17:52:15 UTC
28ca43b closes bpo-39898: Remove unused arg from append_formattedvalue. (GH-18840) 08 March 2020, 16:53:59 UTC
db283b3 bpo-39567: Document audit for os.walk, os.fwalk, Path.glob and Path.rglob. (GH-18499) 08 March 2020, 12:31:47 UTC
eb4e2ae bpo-39877: Fix PyEval_RestoreThread() for daemon threads (GH-18811) * exit_thread_if_finalizing() does now access directly _PyRuntime variable, rather than using tstate->interp->runtime since tstate can be a dangling pointer after Py_Finalize() has been called. * exit_thread_if_finalizing() is now called *before* calling take_gil(). _PyRuntime.finalizing is an atomic variable, we don't need to hold the GIL to access it. * Add ensure_tstate_not_null() function to check that tstate is not NULL at runtime. Check tstate earlier. take_gil() does not longer check if tstate is NULL. Cleanup: * PyEval_RestoreThread() no longer saves/restores errno: it's already done inside take_gil(). * PyEval_AcquireLock(), PyEval_AcquireThread(), PyEval_RestoreThread() and _PyEval_EvalFrameDefault() now check if tstate is valid with the new is_tstate_valid() function which uses _PyMem_IsPtrFreed(). 08 March 2020, 10:57:45 UTC
back to top