| .. date: 2022-11-04-09-29-36 |
| .. gh-issue: 98433 |
| .. nonce: l76c5G |
| .. release date: 2022-11-14 |
| .. section: Security |
| |
| The IDNA codec decoder used on DNS hostnames by :mod:`socket` or |
| :mod:`asyncio` related name resolution functions no longer involves a |
| quadratic algorithm. This prevents a potential CPU denial of service if an |
| out-of-spec excessive length hostname involving bidirectional characters |
| were decoded. Some protocols such as :mod:`urllib` http :samp:`3{xx}` redirects |
| potentially allow for an attacker to supply such a name. |
| |
| Individual labels within an IDNA encoded DNS name will now raise an error |
| early during IDNA decoding if they are longer than 1024 unicode characters |
| given that each decoded DNS label must be 63 or fewer characters and the |
| entire decoded DNS name is limited to 255. Only an application presenting a |
| hostname or label consisting primarily of :rfc:`3454` section 3.1 "Nothing" |
| characters to be removed would run into of this new limit. See also |
| :rfc:`5894` section 6 and :rfc:`3491`. |
| |
| .. |
| |
| .. date: 2022-10-26-21-04-23 |
| .. gh-issue: 98739 |
| .. nonce: keBWcY |
| .. section: Security |
| |
| Update bundled libexpat to 2.5.0 |
| |
| .. |
| |
| .. date: 2022-11-11-14-48-17 |
| .. gh-issue: 81057 |
| .. nonce: ik4iOv |
| .. section: Core and Builtins |
| |
| The docs clearly say that :c:data:`PyImport_Inittab`, |
| :c:func:`PyImport_AppendInittab`, and :c:func:`PyImport_ExtendInittab` |
| should not be used after :c:func:`Py_Initialize` has been called. We now |
| enforce this for the two functions. Additionally, the runtime now uses an |
| internal copy of :c:data:`PyImport_Inittab`, to guard against modification. |
| |
| .. |
| |
| .. date: 2022-11-09-12-07-24 |
| .. gh-issue: 99298 |
| .. nonce: NeArAJ |
| .. section: Core and Builtins |
| |
| Fix an issue that could potentially cause incorrect error handling for some |
| bytecode instructions. |
| |
| .. |
| |
| .. date: 2022-11-08-17-47-10 |
| .. gh-issue: 99254 |
| .. nonce: RSvyFt |
| .. section: Core and Builtins |
| |
| The compiler now removes all unused constants from code objects (except the |
| first one, which may be a docstring). |
| |
| .. |
| |
| .. date: 2022-11-08-16-35-25 |
| .. gh-issue: 99205 |
| .. nonce: 2YOoFT |
| .. section: Core and Builtins |
| |
| Fix an issue that prevented :c:type:`PyThreadState` and |
| :c:type:`PyInterpreterState` memory from being freed properly. |
| |
| .. |
| |
| .. date: 2022-11-07-14-16-59 |
| .. gh-issue: 81057 |
| .. nonce: 3uKlLQ |
| .. section: Core and Builtins |
| |
| The 18 global C variables holding the state of the allocators have been |
| moved to ``_PyRuntimeState``. This is a strictly internal change with no |
| change in behavior. |
| |
| .. |
| |
| .. date: 2022-11-07-10-29-41 |
| .. gh-issue: 99181 |
| .. nonce: bfG4bI |
| .. section: Core and Builtins |
| |
| Fix failure in :keyword:`except* <except_star>` with unhashable exceptions. |
| |
| .. |
| |
| .. date: 2022-11-07-08-17-12 |
| .. gh-issue: 99204 |
| .. nonce: Mf4hMD |
| .. section: Core and Builtins |
| |
| Fix calculation of :data:`sys._base_executable` when inside a POSIX virtual |
| environment using copies of the python binary when the base installation |
| does not provide the executable name used by the venv. Calculation will fall |
| back to alternative names ("python<MAJOR>", "python<MAJOR>.<MINOR>"). |
| |
| .. |
| |
| .. date: 2022-11-06-22-59-02 |
| .. gh-issue: 96055 |
| .. nonce: TmQuJn |
| .. section: Core and Builtins |
| |
| Update :mod:`faulthandler` to emit an error message with the proper |
| unexpected signal number. Patch by Donghee Na. |
| |
| .. |
| |
| .. date: 2022-11-06-13-25-01 |
| .. gh-issue: 99153 |
| .. nonce: uE3CVL |
| .. section: Core and Builtins |
| |
| Fix location of :exc:`SyntaxError` for a :keyword:`try` block with both |
| :keyword:`except` and :keyword:`except* <except_star>`. |
| |
| .. |
| |
| .. date: 2022-11-06-00-47-11 |
| .. gh-issue: 98686 |
| .. nonce: DBDy6U |
| .. section: Core and Builtins |
| |
| Merge the adaptive opcode logic into each instruction's unquickened variant, |
| and merge the logic in ``EXTENDED_ARG_QUICK`` into :opcode:`EXTENDED_ARG`. |
| With these changes, the quickening that happens at code object creation is |
| now only responsible for initializing warmup counters and inserting |
| superinstructions. |
| |
| .. |
| |
| .. date: 2022-11-06-00-17-58 |
| .. gh-issue: 99103 |
| .. nonce: bFA9BX |
| .. section: Core and Builtins |
| |
| Fix the error reporting positions of specialized traceback anchors when the |
| source line contains Unicode characters. |
| |
| .. |
| |
| .. date: 2022-11-05-18-36-27 |
| .. gh-issue: 99139 |
| .. nonce: cI9vV1 |
| .. section: Core and Builtins |
| |
| Improve the error suggestion for :exc:`NameError` exceptions for instances. |
| Now if a :exc:`NameError` is raised in a method and the instance has an |
| attribute that's exactly equal to the name in the exception, the suggestion |
| will include ``self.<NAME>`` instead of the closest match in the method |
| scope. Patch by Pablo Galindo |
| |
| .. |
| |
| .. date: 2022-11-03-13-11-17 |
| .. gh-issue: 98401 |
| .. nonce: CBS4nv |
| .. section: Core and Builtins |
| |
| Octal escapes with value larger than ``0o377`` (ex: ``"\477"``), deprecated |
| in Python 3.11, now produce a :exc:`SyntaxWarning`, instead of |
| :exc:`DeprecationWarning`. In a future Python version they will be |
| eventually a :exc:`SyntaxError`. Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2022-11-02-17-02-06 |
| .. gh-issue: 98401 |
| .. nonce: y-dbVW |
| .. section: Core and Builtins |
| |
| A backslash-character pair that is not a valid escape sequence now generates |
| a :exc:`SyntaxWarning`, instead of :exc:`DeprecationWarning`. For example, |
| ``re.compile("\d+\.\d+")`` now emits a :exc:`SyntaxWarning` (``"\d"`` is an |
| invalid escape sequence), use raw strings for regular expression: |
| ``re.compile(r"\d+\.\d+")``. In a future Python version, :exc:`SyntaxError` |
| will eventually be raised, instead of :exc:`SyntaxWarning`. Patch by Victor |
| Stinner. |
| |
| .. |
| |
| .. date: 2022-11-02-14-42-35 |
| .. gh-issue: 96793 |
| .. nonce: q0Oi74 |
| .. section: Core and Builtins |
| |
| Handle StopIteration and StopAsyncIteration raised in generator or |
| coroutines in the bytecode, rather than in wrapping C code. |
| |
| .. |
| |
| .. date: 2022-10-31-22-55-34 |
| .. gh-issue: 98931 |
| .. nonce: AoWZ-4 |
| .. section: Core and Builtins |
| |
| Improve the :exc:`SyntaxError` error message when the user types ``import x |
| from y`` instead of ``from y import x``. Patch by Pablo Galindo |
| |
| .. |
| |
| .. date: 2022-10-31-21-01-35 |
| .. gh-issue: 98852 |
| .. nonce: MYaRN6 |
| .. section: Core and Builtins |
| |
| Fix subscription of type aliases containing bare generic types or types like |
| :class:`~typing.TypeVar`: for example ``tuple[A, T][int]`` and |
| ``tuple[TypeVar, T][int]``, where ``A`` is a generic type, and ``T`` is a |
| type variable. |
| |
| .. |
| |
| .. date: 2022-10-31-18-03-10 |
| .. gh-issue: 98925 |
| .. nonce: zpdjVd |
| .. section: Core and Builtins |
| |
| Lower the recursion depth for marshal on WASI to support (in-development) |
| wasmtime 2.0. |
| |
| .. |
| |
| .. date: 2022-10-28-14-52-55 |
| .. gh-issue: 98783 |
| .. nonce: iG0kMs |
| .. section: Core and Builtins |
| |
| Fix multiple crashes in debug mode when ``str`` subclasses are used instead |
| of ``str`` itself. |
| |
| .. |
| |
| .. date: 2022-10-28-13-59-51 |
| .. gh-issue: 98811 |
| .. nonce: XQypJa |
| .. section: Core and Builtins |
| |
| Use complete source locations to simplify detection of ``__future__`` |
| imports which are not at the beginning of the file. Also corrects the offset |
| in the exception raised in one case, which was off by one and impeded |
| highlighting. |
| |
| .. |
| |
| .. date: 2022-10-28-09-42-51 |
| .. gh-issue: 96793 |
| .. nonce: ucBfWO |
| .. section: Core and Builtins |
| |
| Add specialization of :opcode:`FOR_ITER` for generators. Saves multiple |
| layers of dispatch and checking to get from the :opcode:`FOR_ITER` |
| instruction in the caller to the :opcode:`RESUME` in the generator. |
| |
| .. |
| |
| .. date: 2022-10-27-16-42-16 |
| .. gh-issue: 98762 |
| .. nonce: Eb2kzg |
| .. section: Core and Builtins |
| |
| Fix source locations of :keyword:`match` sub-patterns. |
| |
| .. |
| |
| .. date: 2022-10-24-10-30-30 |
| .. gh-issue: 98586 |
| .. nonce: Tha5Iy |
| .. section: Core and Builtins |
| |
| Added the methods :c:func:`PyObject_Vectorcall` and |
| :c:func:`PyObject_VectorcallMethod` to the :ref:`Limited API <stable>` along |
| with the auxiliary macro constant :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`. |
| |
| The availability of these functions enables more efficient :PEP:`590` vector |
| calls from binary extension modules that avoid argument boxing/unboxing |
| overheads. |
| |
| .. |
| |
| .. date: 2022-10-21-11-28-53 |
| .. gh-issue: 99257 |
| .. nonce: nmcuf- |
| .. section: Core and Builtins |
| |
| Fix an issue where member descriptors (such as those for |
| :attr:`~object.__slots__`) could behave incorrectly or crash instead of |
| raising a :exc:`TypeError` when accessed via an instance of an invalid type. |
| |
| .. |
| |
| .. date: 2022-10-19-23-54-43 |
| .. gh-issue: 93143 |
| .. nonce: 1wCYub |
| .. section: Core and Builtins |
| |
| Rather than changing :attr:`~types.CodeType.co_code`, the interpreter will |
| now display a :exc:`RuntimeWarning` and assign :const:`None` to any fast |
| locals that are left unbound after jumps or :keyword:`del` statements |
| executed while tracing. |
| |
| .. |
| |
| .. date: 2022-10-19-15-59-08 |
| .. gh-issue: 96421 |
| .. nonce: e22y3r |
| .. section: Core and Builtins |
| |
| When calling into Python code from C code, through |
| :c:func:`PyEval_EvalFrameEx` or a related C-API function, a shim frame in |
| inserted into the call stack. This occurs in the |
| ``_PyEval_EvalFrameDefault()`` function. The extra frame should be invisible |
| to all Python and most C extensions, but out-of-process profilers and |
| debuggers need to be aware of it. These shim frames can be detected by |
| checking ``frame->owner == FRAME_OWNED_BY_CSTACK``. |
| |
| Extensions implementing their own interpreters using PEP 523 need to be |
| aware of this shim frame and the changes to the semantics of |
| :opcode:`RETURN_VALUE`, :opcode:`YIELD_VALUE`, and |
| :opcode:`RETURN_GENERATOR`, which now clear the frame. |
| |
| .. |
| |
| .. date: 2022-10-19-01-01-08 |
| .. gh-issue: 98415 |
| .. nonce: ZS2eWh |
| .. section: Core and Builtins |
| |
| Fix detection of MAC addresses for :mod:`uuid` on certain OSs. Patch by |
| Chaim Sanders |
| |
| .. |
| |
| .. date: 2022-10-16-13-26-46 |
| .. gh-issue: 98686 |
| .. nonce: D9Gu_Q |
| .. section: Core and Builtins |
| |
| Quicken all code objects, and specialize adaptive bytecode instructions more |
| aggressively. |
| |
| .. |
| |
| .. date: 2022-10-15-23-15-14 |
| .. gh-issue: 92119 |
| .. nonce: PMSwwG |
| .. section: Core and Builtins |
| |
| Print exception class name instead of its string representation when raising |
| errors from :mod:`ctypes` calls. |
| |
| .. |
| |
| .. date: 2022-10-15-22-25-20 |
| .. gh-issue: 91058 |
| .. nonce: Uo2kW- |
| .. section: Core and Builtins |
| |
| :exc:`ImportError` raised from failed ``from <module> import <name>`` now |
| include suggestions for the value of ``<name>`` based on the available names |
| in ``<module>``. Patch by Pablo Galindo |
| |
| .. |
| |
| .. date: 2022-09-13-14-07-06 |
| .. gh-issue: 96793 |
| .. nonce: 7DLRSm |
| .. section: Core and Builtins |
| |
| The :opcode:`FOR_ITER` now leaves the iterator on the stack on termination |
| of the loop. This is to assist specialization of loops for generators. |
| |
| .. |
| |
| .. date: 2022-09-09-16-32-58 |
| .. gh-issue: 90716 |
| .. nonce: z4yuYq |
| .. section: Core and Builtins |
| |
| Add _pylong.py module. It includes asymptotically faster algorithms that |
| can be used for operations on integers with many digits. It is used by |
| longobject.c to speed up some operations. |
| |
| .. |
| |
| .. date: 2022-07-30-14-10-27 |
| .. gh-issue: 95389 |
| .. nonce: nSGEkG |
| .. section: Core and Builtins |
| |
| Expose :const:`~socket.ETH_P_ALL` and some of the :ref:`ETHERTYPE_* constants |
| <socket-ethernet-types>` in :mod:`socket`. Patch by Noam Cohen. |
| |
| .. |
| |
| .. date: 2022-06-10-16-37-44 |
| .. gh-issue: 93696 |
| .. nonce: 65BI2R |
| .. section: Core and Builtins |
| |
| Allow :mod:`pdb` to locate source for frozen modules in the standard |
| library. |
| |
| .. |
| |
| .. date: 2022-11-12-15-45-51 |
| .. gh-issue: 99418 |
| .. nonce: FxfAXS |
| .. section: Library |
| |
| Fix bug in :func:`urllib.parse.urlparse` that causes URL schemes that begin |
| with a digit, a plus sign, or a minus sign to be parsed incorrectly. |
| |
| .. |
| |
| .. date: 2022-11-11-18-23-41 |
| .. gh-issue: 94597 |
| .. nonce: m6vMDK |
| .. section: Library |
| |
| Deprecate :class:`asyncio.AbstractChildWatcher` to be removed in Python |
| 3.14. Patch by Kumar Aditya. |
| |
| .. |
| |
| .. date: 2022-11-10-11-51-39 |
| .. gh-issue: 99305 |
| .. nonce: 6LzQc3 |
| .. section: Library |
| |
| Improve performance of :func:`secrets.token_hex`. |
| |
| .. |
| |
| .. date: 2022-11-09-20-48-42 |
| .. gh-issue: 74044 |
| .. nonce: zBj26K |
| .. section: Library |
| |
| Fixed bug where :func:`inspect.signature` reported incorrect arguments for |
| decorated methods. |
| |
| .. |
| |
| .. date: 2022-11-09-12-16-35 |
| .. gh-issue: 99275 |
| .. nonce: klOqoL |
| .. section: Library |
| |
| Fix ``SystemError`` in :mod:`ctypes` when exception was not set during |
| ``__initsubclass__``. |
| |
| .. |
| |
| .. date: 2022-11-09-08-40-52 |
| .. gh-issue: 99277 |
| .. nonce: J1P44O |
| .. section: Library |
| |
| Remove older version of ``_SSLProtocolTransport.get_write_buffer_limits`` in |
| :mod:`!asyncio.sslproto` |
| |
| .. |
| |
| .. date: 2022-11-08-11-15-37 |
| .. gh-issue: 99248 |
| .. nonce: 1vt8xI |
| .. section: Library |
| |
| fix negative numbers failing in verify() |
| |
| .. |
| |
| .. date: 2022-11-06-12-44-51 |
| .. gh-issue: 99155 |
| .. nonce: vLZOzi |
| .. section: Library |
| |
| Fix :class:`statistics.NormalDist` pickle with ``0`` and ``1`` protocols. |
| |
| .. |
| |
| .. date: 2022-11-05-23-16-15 |
| .. gh-issue: 93464 |
| .. nonce: ucd4vP |
| .. section: Library |
| |
| ``enum.auto()`` is now correctly activated when combined with other |
| assignment values. E.g. ``ONE = auto(), 'some text'`` will now evaluate as |
| ``(1, 'some text')``. |
| |
| .. |
| |
| .. date: 2022-11-05-17-16-40 |
| .. gh-issue: 99134 |
| .. nonce: Msgspf |
| .. section: Library |
| |
| Update the bundled copy of pip to version 22.3.1. |
| |
| .. |
| |
| .. date: 2022-11-03-15-28-07 |
| .. gh-issue: 92584 |
| .. nonce: m5ctkm |
| .. section: Library |
| |
| Remove the ``distutils`` package. It was deprecated in Python 3.10 by |
| :pep:`632` "Deprecate distutils module". For projects still using |
| ``distutils`` and cannot be updated to something else, the ``setuptools`` |
| project can be installed: it still provides ``distutils``. Patch by Victor |
| Stinner. |
| |
| .. |
| |
| .. date: 2022-11-02-18-27-13 |
| .. gh-issue: 98999 |
| .. nonce: Ai2KDh |
| .. section: Library |
| |
| Now :mod:`!_pyio` is consistent with :mod:`!_io` in raising ``ValueError`` |
| when executing methods over closed buffers. |
| |
| .. |
| |
| .. date: 2022-11-02-05-54-02 |
| .. gh-issue: 83004 |
| .. nonce: 0v8iyw |
| .. section: Library |
| |
| Clean up refleak on failed module initialisation in :mod:`!_zoneinfo` |
| |
| .. |
| |
| .. date: 2022-11-02-05-53-25 |
| .. gh-issue: 83004 |
| .. nonce: qc_KHr |
| .. section: Library |
| |
| Clean up refleaks on failed module initialisation in :mod:`!_pickle` |
| |
| .. |
| |
| .. date: 2022-11-02-05-52-36 |
| .. gh-issue: 83004 |
| .. nonce: LBl79O |
| .. section: Library |
| |
| Clean up refleak on failed module initialisation in :mod:`!_io`. |
| |
| .. |
| |
| .. date: 2022-10-31-12-34-03 |
| .. gh-issue: 98897 |
| .. nonce: rgNn4x |
| .. section: Library |
| |
| Fix memory leak in :func:`math.dist` when both points don't have the same |
| dimension. Patch by Kumar Aditya. |
| |
| .. |
| |
| .. date: 2022-10-30-22-42-48 |
| .. gh-issue: 98878 |
| .. nonce: fgrykp |
| .. section: Library |
| |
| Use the frame bound builtins when offering a name suggestion in |
| :mod:`traceback` to prevent crashing when ``__builtins__`` is not a dict. |
| |
| .. |
| |
| .. date: 2022-10-30-15-26-33 |
| .. gh-issue: 98139 |
| .. nonce: qtm-9T |
| .. section: Library |
| |
| In :mod:`importlib._bootstrap`, enhance namespace package repr to ``<module |
| 'x' (namespace) from ['path']>``. |
| |
| .. |
| |
| .. date: 2022-10-29-09-42-20 |
| .. gh-issue: 90352 |
| .. nonce: t8QEPt |
| .. section: Library |
| |
| Fix ``_SelectorDatagramTransport`` to inherit from |
| :class:`~asyncio.DatagramTransport` in :mod:`asyncio`. Patch by Kumar |
| Aditya. |
| |
| .. |
| |
| .. date: 2022-10-29-03-40-18 |
| .. gh-issue: 98793 |
| .. nonce: WSPB4A |
| .. section: Library |
| |
| Fix argument typechecks in :func:`!_overlapped.WSAConnect` and |
| :func:`!_overlapped.Overlapped.WSASendTo` functions. |
| |
| .. |
| |
| .. date: 2022-10-28-23-44-17 |
| .. gh-issue: 98744 |
| .. nonce: sGHDWm |
| .. section: Library |
| |
| Prevent crashing in :mod:`traceback` when retrieving the byte-offset for |
| some source files that contain certain unicode characters. |
| |
| .. |
| |
| .. date: 2022-10-27-12-56-38 |
| .. gh-issue: 98740 |
| .. nonce: ZoqqGM |
| .. section: Library |
| |
| Fix internal error in the :mod:`re` module which in very rare circumstances |
| prevented compilation of a regular expression containing a :ref:`conditional |
| expression <re-conditional-expression>` without the "else" branch. |
| |
| .. |
| |
| .. date: 2022-10-26-07-51-55 |
| .. gh-issue: 98703 |
| .. nonce: 0hW773 |
| .. section: Library |
| |
| Fix :meth:`asyncio.StreamWriter.drain` to call ``protocol.connection_lost`` |
| callback only once on Windows. |
| |
| .. |
| |
| .. date: 2022-10-25-20-17-34 |
| .. gh-issue: 98624 |
| .. nonce: YQUPFy |
| .. section: Library |
| |
| Add a mutex to unittest.mock.NonCallableMock to protect concurrent access to |
| mock attributes. |
| |
| .. |
| |
| .. date: 2022-10-25-07-00-31 |
| .. gh-issue: 98658 |
| .. nonce: nGABW9 |
| .. section: Library |
| |
| The :class:`array.array` class now supports subscripting, making it a |
| :term:`generic type`. |
| |
| .. |
| |
| .. date: 2022-10-15-10-43-45 |
| .. gh-issue: 98284 |
| .. nonce: SaVHTd |
| .. section: Library |
| |
| Improved :class:`TypeError` message for undefined abstract methods of a |
| :class:`abc.ABC` instance. The names of the missing methods are surrounded |
| by single-quotes to highlight them. |
| |
| .. |
| |
| .. date: 2022-10-10-07-07-31 |
| .. gh-issue: 96151 |
| .. nonce: K9fwoq |
| .. section: Library |
| |
| Allow ``BUILTINS`` to be a valid field name for frozen dataclasses. |
| |
| .. |
| |
| .. date: 2022-10-08-19-39-27 |
| .. gh-issue: 98086 |
| .. nonce: y---WC |
| .. section: Library |
| |
| Make sure ``patch.dict()`` can be applied on async functions. |
| |
| .. |
| |
| .. date: 2022-09-05-17-08-56 |
| .. gh-issue: 72719 |
| .. nonce: jUpzF3 |
| .. section: Library |
| |
| Remove modules :mod:`!asyncore` and :mod:`!asynchat`, which were deprecated by |
| :pep:`594`. |
| |
| .. |
| |
| .. date: 2022-08-23-03-13-18 |
| .. gh-issue: 96192 |
| .. nonce: TJywOF |
| .. section: Library |
| |
| Fix handling of ``bytes`` :term:`path-like objects <path-like object>` in |
| :func:`os.ismount`. |
| |
| .. |
| |
| .. date: 2022-06-23-15-36-49 |
| .. gh-issue: 94172 |
| .. nonce: DzQk0s |
| .. section: Library |
| |
| :mod:`ftplib`: Remove the ``FTP_TLS.ssl_version`` class attribute: use the |
| *context* parameter instead. Patch by Victor Stinner |
| |
| .. |
| |
| .. date: 2022-06-23-15-31-49 |
| .. gh-issue: 94172 |
| .. nonce: AXE2IZ |
| .. section: Library |
| |
| Remove the *keyfile* and *certfile* parameters from the |
| :mod:`ftplib`, :mod:`imaplib`, :mod:`poplib` and :mod:`smtplib` modules, |
| and the *key_file*, *cert_file* and *check_hostname* parameters from the |
| :mod:`http.client` module, |
| all deprecated since Python 3.6. Use the *context* |
| parameter (*ssl_context* in :mod:`imaplib`) instead. Patch by Victor |
| Stinner. |
| |
| .. |
| |
| .. date: 2022-06-14-22-46-05 |
| .. gh-issue: 83638 |
| .. nonce: 73xfGK |
| .. section: Library |
| |
| Add the :attr:`~sqlite3.Connection.autocommit` attribute to |
| :class:`sqlite3.Connection` and the *autocommit* parameter to |
| :func:`sqlite3.connect` to control :pep:`249`-compliant :ref:`transaction |
| handling <sqlite3-transaction-control-autocommit>`. Patch by Erlend E. |
| Aasland. |
| |
| .. |
| |
| .. date: 2022-05-08-08-47-32 |
| .. gh-issue: 92452 |
| .. nonce: 3pNHe6 |
| .. section: Library |
| |
| Fixed a race condition that could cause :func:`sysconfig.get_config_var` to |
| incorrectly return :const:`None` in multi-threaded programs. |
| |
| .. |
| |
| .. date: 2022-05-03-11-32-29 |
| .. gh-issue: 91803 |
| .. nonce: pI4Juv |
| .. section: Library |
| |
| Fix an error when using a method of objects mocked with |
| :func:`unittest.mock.create_autospec` after it was sealed with |
| :func:`unittest.mock.seal` function. |
| |
| .. |
| |
| .. bpo: 38523 |
| .. date: 2020-10-23-22-20-52 |
| .. nonce: CrkxLh |
| .. section: Library |
| |
| :func:`shutil.copytree` now applies the *ignore_dangling_symlinks* argument |
| recursively. |
| |
| .. |
| |
| .. bpo: 40358 |
| .. date: 2020-04-30-02-15-08 |
| .. nonce: A4ygqe |
| .. section: Library |
| |
| Add walk_up argument in :meth:`pathlib.PurePath.relative_to`. |
| |
| .. |
| |
| .. bpo: 36267 |
| .. date: 2019-09-03-15-45-19 |
| .. nonce: z42Ex7 |
| .. section: Library |
| |
| Fix IndexError in :class:`argparse.ArgumentParser` when a ``store_true`` |
| action is given an explicit argument. |
| |
| .. |
| |
| .. date: 2022-10-29-02-33-46 |
| .. gh-issue: 98832 |
| .. nonce: DudEIH |
| .. section: Documentation |
| |
| Changes wording of docstring for :func:`pathlib.Path.iterdir`. |
| |
| .. |
| |
| .. date: 2022-10-06-13-00-28 |
| .. gh-issue: 97966 |
| .. nonce: fz7kFg |
| .. section: Documentation |
| |
| Update uname docs to clarify the special nature of the platform attribute |
| and to indicate when it became late-bound. |
| |
| .. |
| |
| .. date: 2022-10-31-14-47-49 |
| .. gh-issue: 98903 |
| .. nonce: 7KinCV |
| .. section: Tests |
| |
| The Python test suite now fails with exit code 4 if no tests ran. It should |
| help detecting typos in test names and test methods. |
| |
| .. |
| |
| .. date: 2022-10-26-15-19-20 |
| .. gh-issue: 98713 |
| .. nonce: Lnu32R |
| .. section: Tests |
| |
| Fix a bug in the :mod:`typing` tests where a test relying on |
| CPython-specific implementation details was not decorated with |
| ``@cpython_only`` and was not skipped on other implementations. |
| |
| .. |
| |
| .. date: 2022-10-15-07-46-48 |
| .. gh-issue: 87390 |
| .. nonce: asR-Zo |
| .. section: Tests |
| |
| Add tests for star-unpacking with PEP 646, and some other miscellaneous PEP |
| 646 tests. |
| |
| .. |
| |
| .. date: 2022-10-12-14-57-06 |
| .. gh-issue: 96853 |
| .. nonce: ANe-bw |
| .. section: Tests |
| |
| Added explicit coverage of ``Py_Initialize`` (and hence ``Py_InitializeEx``) |
| back to the embedding tests (all other embedding tests migrated to |
| ``Py_InitializeFromConfig`` in Python 3.11) |
| |
| .. |
| |
| .. bpo: 34272 |
| .. date: 2018-07-29-15-59-51 |
| .. nonce: lVX2uR |
| .. section: Tests |
| |
| Some C API tests were moved into the new Lib/test/test_capi/ directory. |
| |
| .. |
| |
| .. date: 2022-11-04-02-58-10 |
| .. gh-issue: 99086 |
| .. nonce: DV_4Br |
| .. section: Build |
| |
| Fix ``-Wimplicit-int`` compiler warning in :program:`configure` check for |
| ``PTHREAD_SCOPE_SYSTEM``. |
| |
| .. |
| |
| .. date: 2022-11-02-19-25-07 |
| .. gh-issue: 99016 |
| .. nonce: R05NkD |
| .. section: Build |
| |
| Fix build with ``PYTHON_FOR_REGEN=python3.8``. |
| |
| .. |
| |
| .. date: 2022-11-02-18-45-35 |
| .. gh-issue: 97731 |
| .. nonce: zKpTlj |
| .. section: Build |
| |
| Specify the full path to the source location for ``make docclean`` (needed |
| for cross-builds). |
| |
| .. |
| |
| .. date: 2022-11-02-10-56-40 |
| .. gh-issue: 98949 |
| .. nonce: 3SRD8C |
| .. section: Build |
| |
| Drop unused build dependency on ``readelf``. |
| |
| .. |
| |
| .. date: 2022-11-01-21-45-58 |
| .. gh-issue: 98989 |
| .. nonce: tMxbdB |
| .. section: Build |
| |
| Use ``python3.11``, if available, for regeneration and freezing. |
| |
| .. |
| |
| .. date: 2022-10-28-22-24-26 |
| .. gh-issue: 98831 |
| .. nonce: IXRCRX |
| .. section: Build |
| |
| Add new tooling, in ``Tools/cases_generator``, to generate the interpreter |
| switch statement from a list of opcode definitions. This only affects |
| adding, modifying or removing instruction definitions. The instruction |
| definitions now live in ``Python/bytecodes.c``, in the form of a `custom DSL |
| (under development) |
| <https://github.com/faster-cpython/ideas/blob/main/3.12/interpreter_definition.md>`__. |
| The tooling reads this file and writes ``Python/generated_cases.c.h``, which |
| is then included by ``Python/ceval.c`` to provide most of the cases of the |
| main interpreter switch. |
| |
| .. |
| |
| .. date: 2022-10-28-18-53-40 |
| .. gh-issue: 98817 |
| .. nonce: oPqrtt |
| .. section: Build |
| |
| Remove PCbuild/lib.pyproj: it's not used for anything, is only a minor |
| convenience for Visual Studio users (who probably mostly don't even know |
| about it), and it takes a lot of maintenance effort to keep updated. |
| |
| .. |
| |
| .. date: 2022-10-27-19-47-31 |
| .. gh-issue: 98776 |
| .. nonce: lt_UOG |
| .. section: Build |
| |
| Fix ``make regen-test-levenshtein`` for out-of-tree builds. |
| |
| .. |
| |
| .. date: 2022-10-26-12-37-52 |
| .. gh-issue: 98707 |
| .. nonce: eVXGEx |
| .. section: Build |
| |
| Don't use vendored ``libmpdec`` headers if :option:`--with-system-libmpdec` |
| is passed to :program:`configure`. Don't use vendored ``libexpat`` headers |
| if :option:`--with-system-expat` is passed to :program:`configure`. |
| |
| .. |
| |
| .. date: 2022-11-01-11-07-33 |
| .. gh-issue: 98689 |
| .. nonce: 0f6e_N |
| .. section: Windows |
| |
| Update Windows builds to zlib v1.2.13. v1.2.12 has :cve:`2022-37434`, but the |
| vulnerable ``inflateGetHeader`` API is not used by Python. |
| |
| .. |
| |
| .. date: 2022-11-01-00-37-13 |
| .. gh-issue: 98790 |
| .. nonce: fpaPAx |
| .. section: Windows |
| |
| Assumes that a missing ``DLLs`` directory means that standard extension |
| modules are in the executable's directory. |
| |
| .. |
| |
| .. date: 2022-10-27-20-30-16 |
| .. gh-issue: 98745 |
| .. nonce: v06p4r |
| .. section: Windows |
| |
| Update :file:`py.exe` launcher to install 3.11 by default and 3.12 on |
| request. |
| |
| .. |
| |
| .. date: 2022-10-26-17-43-09 |
| .. gh-issue: 98692 |
| .. nonce: bOopfZ |
| .. section: Windows |
| |
| Fix the :ref:`launcher` ignoring unrecognized shebang lines instead of |
| treating them as local paths |
| |
| .. |
| |
| .. date: 2022-10-25-10-34-17 |
| .. gh-issue: 94328 |
| .. nonce: 19NhdU |
| .. section: Windows |
| |
| Update Windows installer to use SQLite 3.39.4. |
| |
| .. |
| |
| .. date: 2022-10-25-10-32-23 |
| .. gh-issue: 94328 |
| .. nonce: W3YNC_ |
| .. section: macOS |
| |
| Update macOS installer to SQLite 3.39.4. |
| |
| .. |
| |
| .. date: 2022-11-04-16-13-35 |
| .. gh-issue: 98724 |
| .. nonce: p0urWO |
| .. section: C API |
| |
| The :c:macro:`Py_CLEAR`, :c:macro:`Py_SETREF` and :c:macro:`Py_XSETREF` |
| macros now only evaluate their argument once. If the argument has side |
| effects, these side effects are no longer duplicated. Patch by Victor |
| Stinner. |
| |
| .. |
| |
| .. date: 2022-11-03-17-46-41 |
| .. gh-issue: 98978 |
| .. nonce: KJjBvv |
| .. section: C API |
| |
| Fix use-after-free in ``Py_SetPythonHome(NULL)``, |
| ``Py_SetProgramName(NULL)`` and ``_Py_SetProgramFullPath(NULL)`` function |
| calls. Issue reported by Benedikt Reinartz. Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2022-10-25-17-50-43 |
| .. gh-issue: 98410 |
| .. nonce: NSXYfm |
| .. section: C API |
| |
| Add ``getbufferproc`` and ``releasebufferproc`` to the stable API. |
| |
| .. |
| |
| .. date: 2022-10-24-12-09-17 |
| .. gh-issue: 98610 |
| .. nonce: PLX2Np |
| .. section: C API |
| |
| Some configurable capabilities of sub-interpreters have changed. They always |
| allow subprocesses (:mod:`subprocess`) now, whereas before subprocesses |
| could be optionally disallowed for a sub-interpreter. Instead |
| :func:`os.exec` can now be disallowed. Disallowing daemon threads is now |
| supported. Disallowing all threads is still allowed, but is never done by |
| default. Note that the optional restrictions are only available through |
| ``_Py_NewInterpreterFromConfig()``, which isn't a public API. They do not |
| affect the main interpreter, nor :c:func:`Py_NewInterpreter`. |
| |
| .. |
| |
| .. date: 2022-10-24-11-26-55 |
| .. gh-issue: 98608 |
| .. nonce: _Q2lNV |
| .. section: C API |
| |
| A ``_PyInterpreterConfig`` has been added and ``_Py_NewInterpreter()`` has |
| been renamed to ``_Py_NewInterpreterFromConfig()``. The |
| "isolated_subinterpreters" argument is now a granular config that captures |
| the previous behavior. Note that this is all "private" API. |
| |
| .. |
| |
| .. date: 2022-10-16-15-00-25 |
| .. gh-issue: 96853 |
| .. nonce: V0wiXP |
| .. section: C API |
| |
| ``Py_InitializeEx`` now correctly calls ``PyConfig_Clear`` after |
| initializing the interpreter (the omission didn't cause a memory leak only |
| because none of the dynamically allocated config fields are populated by the |
| wrapper function) |
| |
| .. |
| |
| .. date: 2022-08-05-15-26-12 |
| .. gh-issue: 91248 |
| .. nonce: ujirJJ |
| .. section: C API |
| |
| Add :c:func:`PyFrame_GetVar` and :c:func:`PyFrame_GetVarString` functions to |
| get a frame variable by its name. Patch by Victor Stinner. |