| .. date: 2022-09-28-17-09-37 |
| .. gh-issue: 97616 |
| .. nonce: K1e3Xs |
| .. release date: 2022-10-11 |
| .. section: Security |
| |
| Fix multiplying a list by an integer (``list *= int``): detect the integer |
| overflow when the new allocated length is close to the maximum size. Issue |
| reported by Jordan Limor. Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2022-09-28-12-10-57 |
| .. gh-issue: 97612 |
| .. nonce: y6NvOQ |
| .. section: Security |
| |
| Fix a shell code injection vulnerability in the |
| ``get-remote-certificate.py`` example script. The script no longer uses a |
| shell to run ``openssl`` commands. Issue reported and initial fix by Caleb |
| Shortt. Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2022-04-27-18-25-30 |
| .. gh-issue: 68966 |
| .. nonce: gjS8zs |
| .. section: Security |
| |
| The deprecated mailcap module now refuses to inject unsafe text (filenames, |
| MIME types, parameters) into shell commands. Instead of using such text, it |
| will warn and act as if a match was not found (or for test commands, as if |
| the test failed). |
| |
| .. |
| |
| .. date: 2022-10-06-15-45-57 |
| .. gh-issue: 96078 |
| .. nonce: fS-6mU |
| .. section: Core and Builtins |
| |
| :func:`os.sched_yield` now release the GIL while calling sched_yield(2). |
| Patch by Dong-hee Na. |
| |
| .. |
| |
| .. date: 2022-10-05-17-02-22 |
| .. gh-issue: 97943 |
| .. nonce: LYAWlE |
| .. section: Core and Builtins |
| |
| Bugfix: :func:`PyFunction_GetAnnotations` should return a borrowed |
| reference. It was returning a new reference. |
| |
| .. |
| |
| .. date: 2022-10-01-08-55-09 |
| .. gh-issue: 97591 |
| .. nonce: pw6kkH |
| .. section: Core and Builtins |
| |
| Fixed a missing incref/decref pair in `Exception.__setstate__()`. Patch by |
| Ofey Chan. |
| |
| .. |
| |
| .. date: 2022-09-21-14-38-31 |
| .. gh-issue: 96848 |
| .. nonce: WuoLzU |
| .. section: Core and Builtins |
| |
| Fix command line parsing: reject :option:`-X int_max_str_digits <-X>` option |
| with no value (invalid) when the :envvar:`PYTHONINTMAXSTRDIGITS` environment |
| variable is set to a valid limit. Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2022-09-20-11-06-45 |
| .. gh-issue: 95921 |
| .. nonce: dkcRQn |
| .. section: Core and Builtins |
| |
| Fix overly-broad source position information for chained comparisons used as |
| branching conditions. |
| |
| .. |
| |
| .. date: 2022-09-18-08-47-40 |
| .. gh-issue: 96821 |
| .. nonce: Co2iOq |
| .. section: Core and Builtins |
| |
| Fix undefined behaviour in ``_testcapimodule.c``. |
| |
| .. |
| |
| .. date: 2022-09-16-19-02-40 |
| .. gh-issue: 95778 |
| .. nonce: cJmnst |
| .. section: Core and Builtins |
| |
| When :exc:`ValueError` is raised if an integer is larger than the limit, |
| mention the :func:`sys.set_int_max_str_digits` function in the error |
| message. Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2022-09-16-16-54-35 |
| .. gh-issue: 96387 |
| .. nonce: GRzewg |
| .. section: Core and Builtins |
| |
| At Python exit, sometimes a thread holding the GIL can wait forever for a |
| thread (usually a daemon thread) which requested to drop the GIL, whereas |
| the thread already exited. To fix the race condition, the thread which |
| requested the GIL drop now resets its request before exiting. Issue |
| discovered and analyzed by Mingliang ZHAO. Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2022-09-16-12-36-13 |
| .. gh-issue: 96864 |
| .. nonce: PLU3i8 |
| .. section: Core and Builtins |
| |
| Fix a possible assertion failure, fatal error, or :exc:`SystemError` if a |
| line tracing event raises an exception while opcode tracing is enabled. |
| |
| .. |
| |
| .. date: 2022-09-13-12-06-46 |
| .. gh-issue: 96678 |
| .. nonce: NqGFyb |
| .. section: Core and Builtins |
| |
| Fix undefined behaviour in C code of null pointer arithmetic. |
| |
| .. |
| |
| .. date: 2022-09-07-13-38-37 |
| .. gh-issue: 96641 |
| .. nonce: wky0Fc |
| .. section: Core and Builtins |
| |
| Do not expose ``KeyWrapper`` in :mod:`_functools`. |
| |
| .. |
| |
| .. date: 2022-09-06-16-22-13 |
| .. gh-issue: 96611 |
| .. nonce: 14wIX8 |
| .. section: Core and Builtins |
| |
| When loading a file with invalid UTF-8 inside a multi-line string, a correct |
| SyntaxError is emitted. |
| |
| .. |
| |
| .. date: 2022-08-29-13-06-58 |
| .. gh-issue: 95196 |
| .. nonce: eGRR4b |
| .. section: Core and Builtins |
| |
| Disable incorrect pickling of the C implemented classmethod descriptors. |
| |
| .. |
| |
| .. date: 2022-08-28-10-51-19 |
| .. gh-issue: 96352 |
| .. nonce: jTLD2d |
| .. section: Core and Builtins |
| |
| Fix :exc:`AttributeError` missing ``name`` and ``obj`` attributes in |
| :meth:`object.__getattribute__`. Patch by Philip Georgi. |
| |
| .. |
| |
| .. bpo: 42316 |
| .. date: 2020-11-15-02-08-43 |
| .. nonce: LqdkWK |
| .. section: Core and Builtins |
| |
| Document some places where an assignment expression needs parentheses. |
| |
| .. |
| |
| .. date: 2022-10-09-12-12-38 |
| .. gh-issue: 87730 |
| .. nonce: ClgP3f |
| .. section: Library |
| |
| Wrap network errors consistently in urllib FTP support, so the test suite |
| doesn't fail when a network is available but the public internet is not |
| reachable. |
| |
| .. |
| |
| .. date: 2022-10-04-07-55-19 |
| .. gh-issue: 97825 |
| .. nonce: mNdv1l |
| .. section: Library |
| |
| Fixes :exc:`AttributeError` when :meth:`subprocess.check_output` is used |
| with argument ``input=None`` and either of the arguments *encoding* or |
| *errors* are used. |
| |
| .. |
| |
| .. date: 2022-09-30-15-56-20 |
| .. gh-issue: 96827 |
| .. nonce: lzy1iw |
| .. section: Library |
| |
| Avoid spurious tracebacks from :mod:`asyncio` when default executor cleanup |
| is delayed until after the event loop is closed (e.g. as the result of a |
| keyboard interrupt). |
| |
| .. |
| |
| .. date: 2022-09-29-23-22-24 |
| .. gh-issue: 97592 |
| .. nonce: tpJg_J |
| .. section: Library |
| |
| Avoid a crash in the C version of |
| :meth:`asyncio.Future.remove_done_callback` when an evil argument is passed. |
| |
| .. |
| |
| .. date: 2022-09-29-08-15-55 |
| .. gh-issue: 97639 |
| .. nonce: JSjWYW |
| .. section: Library |
| |
| Remove ``tokenize.NL`` check from :mod:`tabnanny`. |
| |
| .. |
| |
| .. date: 2022-09-25-23-24-52 |
| .. gh-issue: 97545 |
| .. nonce: HZLSNt |
| .. section: Library |
| |
| Make Semaphore run faster. |
| |
| .. |
| |
| .. date: 2022-09-25-20-42-33 |
| .. gh-issue: 73588 |
| .. nonce: uVtjEA |
| .. section: Library |
| |
| Fix generation of the default name of :class:`tkinter.Checkbutton`. |
| Previously, checkbuttons in different parent widgets could have the same |
| short name and share the same state if arguments "name" and "variable" are |
| not specified. Now they are globally unique. |
| |
| .. |
| |
| .. date: 2022-09-22-14-35-02 |
| .. gh-issue: 97005 |
| .. nonce: yf21Q7 |
| .. section: Library |
| |
| Update bundled libexpat to 2.4.9 |
| |
| .. |
| |
| .. date: 2022-09-22-11-50-29 |
| .. gh-issue: 85760 |
| .. nonce: DETTPd |
| .. section: Library |
| |
| Fix race condition in :mod:`asyncio` where |
| :meth:`~asyncio.SubprocessProtocol.process_exited` called before the |
| :meth:`~asyncio.SubprocessProtocol.pipe_data_received` leading to |
| inconsistent output. Patch by Kumar Aditya. |
| |
| .. |
| |
| .. date: 2022-09-17-13-15-10 |
| .. gh-issue: 96819 |
| .. nonce: 6RfqM7 |
| .. section: Library |
| |
| Fixed check in :mod:`multiprocessing.resource_tracker` that guarantees that |
| the length of a write to a pipe is not greater than ``PIPE_BUF``. |
| |
| .. |
| |
| .. date: 2022-09-15-00-37-33 |
| .. gh-issue: 96741 |
| .. nonce: 4b6czN |
| .. section: Library |
| |
| Corrected type annotation for dataclass attribute |
| ``pstats.FunctionProfile.ncalls`` to be ``str``. |
| |
| .. |
| |
| .. date: 2022-09-07-22-49-37 |
| .. gh-issue: 96652 |
| .. nonce: YqOKxI |
| .. section: Library |
| |
| Fix the faulthandler implementation of ``faulthandler.register(signal, |
| chain=True)`` if the ``sigaction()`` function is not available: don't call |
| the previous signal handler if it's NULL. Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2022-08-29-12-35-28 |
| .. gh-issue: 96073 |
| .. nonce: WaGstf |
| .. section: Library |
| |
| In :mod:`inspect`, fix overeager replacement of "``typing.``" in formatting |
| annotations. |
| |
| .. |
| |
| .. date: 2022-08-27-14-38-49 |
| .. gh-issue: 90467 |
| .. nonce: VOOB0p |
| .. section: Library |
| |
| Fix :class:`asyncio.streams.StreamReaderProtocol` to keep a strong reference |
| to the created task, so that it's not garbage collected |
| |
| .. |
| |
| .. date: 2022-08-20-10-31-01 |
| .. gh-issue: 96052 |
| .. nonce: a6FhaD |
| .. section: Library |
| |
| Fix handling compiler warnings (SyntaxWarning and DeprecationWarning) in |
| :func:`codeop.compile_command` when checking for incomplete input. |
| Previously it emitted warnings and raised a SyntaxError. Now it always |
| returns ``None`` for incomplete input without emitting any warnings. |
| |
| .. |
| |
| .. date: 2022-07-22-09-09-08 |
| .. gh-issue: 91212 |
| .. nonce: 53O8Ab |
| .. section: Library |
| |
| Fixed flickering of the turtle window when the tracer is turned off. Patch |
| by Shin-myoung-serp. |
| |
| .. |
| |
| .. date: 2022-07-09-08-55-04 |
| .. gh-issue: 74116 |
| .. nonce: 0XwYC1 |
| .. section: Library |
| |
| Allow :meth:`asyncio.StreamWriter.drain` to be awaited concurrently by |
| multiple tasks. Patch by Kumar Aditya. |
| |
| .. |
| |
| .. date: 2022-05-25-15-57-39 |
| .. gh-issue: 90155 |
| .. nonce: YMstB5 |
| .. section: Library |
| |
| Fix broken :class:`asyncio.Semaphore` when acquire is cancelled. |
| |
| .. |
| |
| .. date: 2022-05-19-22-34-42 |
| .. gh-issue: 92986 |
| .. nonce: e6uKxj |
| .. section: Library |
| |
| Fix :func:`ast.unparse` when ``ImportFrom.level`` is None |
| |
| .. |
| |
| .. date: 2022-04-15-11-29-38 |
| .. gh-issue: 91539 |
| .. nonce: 7WgVuA |
| .. section: Library |
| |
| Improve performance of ``urllib.request.getproxies_environment`` when there |
| are many environment variables |
| |
| .. |
| |
| .. date: 2022-10-02-10-58-52 |
| .. gh-issue: 97741 |
| .. nonce: 39l023 |
| .. section: Documentation |
| |
| Fix ``!`` in c domain ref target syntax via a ``conf.py`` patch, so it works |
| as intended to disable ref target resolution. |
| |
| .. |
| |
| .. date: 2022-08-12-01-12-52 |
| .. gh-issue: 95588 |
| .. nonce: PA0FI7 |
| .. section: Documentation |
| |
| Clarified the conflicting advice given in the :mod:`ast` documentation about |
| :func:`ast.literal_eval` being "safe" for use on untrusted input while at |
| the same time warning that it can crash the process. The latter statement is |
| true and is deemed unfixable without a large amount of work unsuitable for a |
| bugfix. So we keep the warning and no longer claim that ``literal_eval`` is |
| safe. |
| |
| .. |
| |
| .. date: 2022-05-20-18-42-10 |
| .. gh-issue: 93031 |
| .. nonce: c2RdJe |
| .. section: Documentation |
| |
| Update tutorial introduction output to use 3.10+ SyntaxError invalid range. |
| |
| .. |
| |
| .. date: 2022-09-11-14-23-49 |
| .. gh-issue: 96729 |
| .. nonce: W4uBWL |
| .. section: Build |
| |
| Ensure that Windows releases built with ``Tools\msi\buildrelease.bat`` are |
| upgradable to and from official Python releases. |
| |
| .. |
| |
| .. date: 2022-10-02-11-59-23 |
| .. gh-issue: 97728 |
| .. nonce: dIdlPE |
| .. section: Windows |
| |
| Fix possible crashes caused by the use of uninitialized variables when pass |
| invalid arguments in :func:`os.system` on Windows and in Windows-specific |
| modules (like ``winreg``). |
| |
| .. |
| |
| .. date: 2022-09-29-23-08-49 |
| .. gh-issue: 90989 |
| .. nonce: no89Q2 |
| .. section: Windows |
| |
| Clarify some text in the Windows installer. |
| |
| .. |
| |
| .. date: 2022-09-07-00-11-33 |
| .. gh-issue: 96577 |
| .. nonce: kV4K_1 |
| .. section: Windows |
| |
| Fixes a potential buffer overrun in :mod:`msilib`. |
| |
| .. |
| |
| .. date: 2022-10-05-15-26-58 |
| .. gh-issue: 97897 |
| .. nonce: Rf-C6u |
| .. section: macOS |
| |
| The macOS 13 SDK includes support for the ``mkfifoat`` and ``mknodat`` |
| system calls. Using the ``dir_fd`` option with either :func:`os.mkfifo` or |
| :func:`os.mknod` could result in a segfault if cpython is built with the |
| macOS 13 SDK but run on an earlier version of macOS. Prevent this by adding |
| runtime support for detection of these system calls ("weaklinking") as is |
| done for other newer syscalls on macOS. |