| .. bpo: 42278 | |
| .. date: 2021-08-29-12-39-44 | |
| .. nonce: jvmQz_ | |
| .. release date: 2021-10-05 | |
| .. section: Security | |
| Replaced usage of :func:`tempfile.mktemp` with | |
| :class:`~tempfile.TemporaryDirectory` to avoid a potential race condition. | |
| .. | |
| .. bpo: 44600 | |
| .. date: 2021-07-25-20-04-54 | |
| .. nonce: 0WMldg | |
| .. section: Security | |
| Fix incorrect line numbers while tracing some failed patterns in :ref:`match | |
| <match>` statements. Patch by Charles Burkland. | |
| .. | |
| .. bpo: 41180 | |
| .. date: 2021-06-29-23-40-22 | |
| .. nonce: uTWHv_ | |
| .. section: Security | |
| Add auditing events to the :mod:`marshal` module, and stop raising | |
| ``code.__init__`` events for every unmarshalled code object. Directly | |
| instantiated code objects will continue to raise an event, and audit event | |
| handlers should inspect or collect the raw marshal data. This reduces a | |
| significant performance overhead when loading from ``.pyc`` files. | |
| .. | |
| .. bpo: 44394 | |
| .. date: 2021-06-29-02-45-53 | |
| .. nonce: A220N1 | |
| .. section: Security | |
| Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the fix | |
| for the :cve:`2013-0340` "Billion Laughs" vulnerability. This copy is most used | |
| on Windows and macOS. | |
| .. | |
| .. bpo: 43124 | |
| .. date: 2021-05-08-11-50-46 | |
| .. nonce: 2CTM6M | |
| .. section: Security | |
| Made the internal ``putcmd`` function in :mod:`smtplib` sanitize input for | |
| presence of ``\r`` and ``\n`` characters to avoid (unlikely) command | |
| injection. | |
| .. | |
| .. bpo: 44022 | |
| .. date: 2021-05-05-17-37-04 | |
| .. nonce: bS3XJ9 | |
| .. section: Security | |
| :mod:`http.client` now avoids infinitely reading potential HTTP headers | |
| after a ``100 Continue`` status response from the server. | |
| .. | |
| .. bpo: 43760 | |
| .. date: 2021-10-04-16-11-50 | |
| .. nonce: R9QoUv | |
| .. section: Core and Builtins | |
| The number of hardware branches per instruction dispatch is reduced from two | |
| to one by adding a special instruction for tracing. Patch by Mark Shannon. | |
| .. | |
| .. bpo: 45061 | |
| .. date: 2021-09-21-22-27-25 | |
| .. nonce: 5IOUf0 | |
| .. section: Core and Builtins | |
| Add a deallocator to the bool type to detect refcount bugs in C extensions | |
| which call Py_DECREF(Py_True) or Py_DECREF(Py_False) by mistake. Detect also | |
| refcount bugs when the empty tuple singleton or the Unicode empty string | |
| singleton is destroyed by mistake. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 24076 | |
| .. date: 2021-09-20-10-02-12 | |
| .. nonce: ZFgFSj | |
| .. section: Core and Builtins | |
| sum() was further optimised for summing up single digit integers. | |
| .. | |
| .. bpo: 45190 | |
| .. date: 2021-09-14-10-02-12 | |
| .. nonce: ZFRgSj | |
| .. section: Core and Builtins | |
| Update Unicode databases to Unicode 14.0.0. | |
| .. | |
| .. bpo: 45167 | |
| .. date: 2021-09-14-09-23-59 | |
| .. nonce: CPSSoV | |
| .. section: Core and Builtins | |
| Fix deepcopying of :class:`types.GenericAlias` objects. | |
| .. | |
| .. bpo: 45155 | |
| .. date: 2021-09-09-15-05-17 | |
| .. nonce: JRw9TG | |
| .. section: Core and Builtins | |
| :meth:`int.to_bytes` and :meth:`int.from_bytes` now take a default value of | |
| ``"big"`` for the ``byteorder`` argument. :meth:`int.to_bytes` also takes a | |
| default value of ``1`` for the ``length`` argument. | |
| .. | |
| .. bpo: 44219 | |
| .. date: 2021-09-09-10-32-33 | |
| .. nonce: WiYyjz | |
| .. section: Library | |
| Release the GIL while performing ``isatty`` system calls on arbitrary file | |
| descriptors. In particular, this affects :func:`os.isatty`, | |
| :func:`os.device_encoding` and :class:`io.TextIOWrapper`. By extension, | |
| :func:`io.open` in text mode is also affected. This change solves a deadlock | |
| in :func:`os.isatty`. Patch by Vincent Michel in :issue:`44219`. | |
| .. | |
| .. bpo: 44959 | |
| .. date: 2021-09-08-08-29-41 | |
| .. nonce: OSwwPf | |
| .. section: Core and Builtins | |
| Added fallback to extension modules with '.sl' suffix on HP-UX | |
| .. | |
| .. bpo: 45121 | |
| .. date: 2021-09-07-17-10-16 | |
| .. nonce: iG-Hsf | |
| .. section: Library | |
| Fix issue where ``Protocol.__init__`` raises ``RecursionError`` when it's | |
| called directly or via ``super()``. Patch provided by Yurii Karabas. | |
| .. | |
| .. bpo: 44348 | |
| .. date: 2021-09-07-00-21-04 | |
| .. nonce: f8w_Td | |
| .. section: Core and Builtins | |
| The deallocator function of the :exc:`BaseException` type now uses the | |
| trashcan mechanism to prevent stack overflow. For example, when a | |
| :exc:`RecursionError` instance is raised, it can be linked to another | |
| RecursionError through the ``__context__`` attribute or the | |
| ``__traceback__`` attribute, and then a chain of exceptions is created. When | |
| the chain is destroyed, nested deallocator function calls can crash with a | |
| stack overflow if the chain is too long compared to the available stack | |
| memory. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 45123 | |
| .. date: 2021-09-06-21-52-45 | |
| .. nonce: 8Eh9iI | |
| .. section: Core and Builtins | |
| Fix PyAiter_Check to only check for the __anext__ presence (not for | |
| __aiter__). Rename PyAiter_Check to PyAIter_Check, PyObject_GetAiter -> | |
| PyObject_GetAIter. | |
| .. | |
| .. bpo: 1514420 | |
| .. date: 2021-09-03-16-18-10 | |
| .. nonce: 2Lumpj | |
| .. section: Core and Builtins | |
| Interpreter no longer attempts to open files with names in angle brackets | |
| (like "<string>" or "<stdin>") when formatting an exception. | |
| .. | |
| .. bpo: 41031 | |
| .. date: 2021-09-03-12-35-17 | |
| .. nonce: yPSJEs | |
| .. section: Core and Builtins | |
| Match C and Python code formatting of unprintable exceptions and exceptions | |
| in the :mod:`__main__` module. | |
| .. | |
| .. bpo: 37330 | |
| .. date: 2021-09-02-01-28-01 | |
| .. nonce: QDjM_l | |
| .. section: Core and Builtins | |
| :func:`open`, :func:`io.open`, :func:`codecs.open` and | |
| :class:`fileinput.FileInput` no longer accept ``'U'`` ("universal newline") | |
| in the file mode. This flag was deprecated since Python 3.3. Patch by Victor | |
| Stinner. | |
| .. | |
| .. bpo: 45083 | |
| .. date: 2021-09-01-23-55-49 | |
| .. nonce: cLi9G3 | |
| .. section: Core and Builtins | |
| When the interpreter renders an exception, its name now has a complete | |
| qualname. Previously only the class name was concatenated to the module | |
| name, which sometimes resulted in an incorrect full name being displayed. | |
| (This issue impacted only the C code exception rendering, the | |
| :mod:`traceback` module was using qualname already). | |
| .. | |
| .. bpo: 34561 | |
| .. date: 2021-09-01-19-21-48 | |
| .. nonce: uMAVA- | |
| .. section: Core and Builtins | |
| List sorting now uses the merge-ordering strategy from Munro and Wild's | |
| ``powersort()``. Unlike the former strategy, this is provably near-optimal | |
| in the entropy of the distribution of run lengths. Most uses of | |
| ``list.sort()`` probably won't see a significant time difference, but may | |
| see significant improvements in cases where the former strategy was | |
| exceptionally poor. However, as these are all fast linear-time | |
| approximations to a problem that's inherently at best quadratic-time to | |
| solve truly optimally, it's also possible to contrive cases where the former | |
| strategy did better. | |
| .. | |
| .. bpo: 45056 | |
| .. date: 2021-09-01-16-55-43 | |
| .. nonce: 7AK2d9 | |
| .. section: Core and Builtins | |
| Compiler now removes trailing unused constants from co_consts. | |
| .. | |
| .. bpo: 45020 | |
| .. date: 2021-08-31-17-44-51 | |
| .. nonce: ZPI_3L | |
| .. section: Core and Builtins | |
| Add a new command line option, "-X frozen_modules=[on|off]" to opt out of | |
| (or into) using optional frozen modules. This defaults to "on" (or "off" if | |
| it's running out of the source tree). | |
| .. | |
| .. bpo: 45012 | |
| .. date: 2021-08-31-11-09-52 | |
| .. nonce: ueeOcx | |
| .. section: Library | |
| In :mod:`posix`, release GIL during ``stat()``, ``lstat()``, and | |
| ``fstatat()`` syscalls made by :func:`os.DirEntry.stat`. Patch by Stanisław | |
| Skonieczny. | |
| .. | |
| .. bpo: 45018 | |
| .. date: 2021-08-26-18-44-03 | |
| .. nonce: pu8H9L | |
| .. section: Core and Builtins | |
| Fixed pickling of range iterators that iterated for over ``2**32`` times. | |
| .. | |
| .. bpo: 45000 | |
| .. date: 2021-08-25-23-17-32 | |
| .. nonce: XjmyLl | |
| .. section: Core and Builtins | |
| A :exc:`SyntaxError` is now raised when trying to delete :const:`__debug__`. | |
| Patch by Donghee Na. | |
| .. | |
| .. bpo: 44963 | |
| .. date: 2021-08-25-23-07-10 | |
| .. nonce: 5EET8y | |
| .. section: Core and Builtins | |
| Implement ``send()`` and ``throw()`` methods for ``anext_awaitable`` | |
| objects. Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 44962 | |
| .. date: 2021-08-23-19-55-08 | |
| .. nonce: J00ftt | |
| .. section: Library | |
| Fix a race in WeakKeyDictionary, WeakValueDictionary and WeakSet when two | |
| threads attempt to commit the last pending removal. This fixes | |
| asyncio.create_task and fixes a data loss in asyncio.run where | |
| shutdown_asyncgens is not run | |
| .. | |
| .. bpo: 24234 | |
| .. date: 2021-08-23-10-36-55 | |
| .. nonce: MGVUQi | |
| .. section: Core and Builtins | |
| Implement the :meth:`__bytes__` special method on the :class:`bytes` type, | |
| so a bytes object ``b`` passes an ``isinstance(b, typing.SupportsBytes)`` | |
| check. | |
| .. | |
| .. bpo: 24234 | |
| .. date: 2021-08-22-12-28-50 | |
| .. nonce: n3oTdx | |
| .. section: Core and Builtins | |
| Implement the :meth:`__complex__` special method on the :class:`complex` | |
| type, so a complex number ``z`` passes an ``isinstance(z, | |
| typing.SupportsComplex)`` check. | |
| .. | |
| .. bpo: 44954 | |
| .. date: 2021-08-19-14-43-24 | |
| .. nonce: dLn3lg | |
| .. section: Core and Builtins | |
| Fixed a corner case bug where the result of ``float.fromhex('0x.8p-1074')`` | |
| was rounded the wrong way. | |
| .. | |
| .. bpo: 44947 | |
| .. date: 2021-08-18-19-09-28 | |
| .. nonce: mcvGdS | |
| .. section: Core and Builtins | |
| Refine the syntax error for trailing commas in import statements. Patch by | |
| Pablo Galindo. | |
| .. | |
| .. bpo: 44945 | |
| .. date: 2021-08-18-11-14-38 | |
| .. nonce: CO3s77 | |
| .. section: Core and Builtins | |
| Specialize the BINARY_ADD instruction using the PEP 659 machinery. Adds five | |
| new instructions: | |
| * BINARY_ADD_ADAPTIVE | |
| * BINARY_ADD_FLOAT | |
| * BINARY_ADD_INT | |
| * BINARY_ADD_UNICODE | |
| * BINARY_ADD_UNICODE_INPLACE_FAST | |
| .. | |
| .. bpo: 44929 | |
| .. date: 2021-08-16-23-16-17 | |
| .. nonce: qpMEky | |
| .. section: Library | |
| Fix some edge cases of ``enum.Flag`` string representation in the REPL. | |
| Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 44914 | |
| .. date: 2021-08-16-11-36-02 | |
| .. nonce: 6Lgrx3 | |
| .. section: Core and Builtins | |
| Class version tags are no longer recycled. | |
| This means that a version tag serves as a unique identifier for the state of | |
| a class. We rely on this for effective specialization of the LOAD_ATTR and | |
| other instructions. | |
| .. | |
| .. bpo: 44698 | |
| .. date: 2021-08-15-10-39-06 | |
| .. nonce: lITKNc | |
| .. section: Core and Builtins | |
| Restore behaviour of complex exponentiation with integer-valued exponent of | |
| type :class:`float` or :class:`complex`. | |
| .. | |
| .. bpo: 44895 | |
| .. date: 2021-08-14-20-13-21 | |
| .. nonce: Ic9m90 | |
| .. section: Core and Builtins | |
| A debug variable :envvar:`PYTHONDUMPREFSFILE` is added for creating a dump | |
| file which is generated by :option:`--with-trace-refs`. Patch by Donghee | |
| Na. | |
| .. | |
| .. bpo: 44900 | |
| .. date: 2021-08-12-14-00-57 | |
| .. nonce: w2gpwy | |
| .. section: Core and Builtins | |
| Add five superinstructions for PEP 659 quickening: | |
| * LOAD_FAST LOAD_FAST | |
| * STORE_FAST LOAD_FAST | |
| * LOAD_FAST LOAD_CONST | |
| * LOAD_CONST LOAD_FAST | |
| * STORE_FAST STORE_FAST | |
| .. | |
| .. bpo: 44889 | |
| .. date: 2021-08-11-20-45-02 | |
| .. nonce: 2T3nTn | |
| .. section: Core and Builtins | |
| Initial implementation of adaptive specialization of ``LOAD_METHOD``. The | |
| following specialized forms were added: | |
| * ``LOAD_METHOD_CACHED`` | |
| * ``LOAD_METHOD_MODULE`` | |
| * ``LOAD_METHOD_CLASS`` | |
| .. | |
| .. bpo: 44890 | |
| .. date: 2021-08-11-16-46-27 | |
| .. nonce: PwNg8N | |
| .. section: Core and Builtins | |
| Specialization stats are always collected in debug builds. | |
| .. | |
| .. bpo: 44885 | |
| .. date: 2021-08-11-15-39-57 | |
| .. nonce: i4noUO | |
| .. section: Core and Builtins | |
| Correct the ast locations of f-strings with format specs and repeated | |
| expressions. Patch by Pablo Galindo | |
| .. | |
| .. bpo: 44878 | |
| .. date: 2021-08-11-14-12-41 | |
| .. nonce: pAbBfc | |
| .. section: Core and Builtins | |
| Remove the loop from the bytecode interpreter. All instructions end with a | |
| DISPATCH macro, so the loop is now redundant. | |
| .. | |
| .. bpo: 44878 | |
| .. date: 2021-08-11-12-03-52 | |
| .. nonce: nEhjLi | |
| .. section: Core and Builtins | |
| Remove switch statement for interpreter loop when using computed gotos. This | |
| makes sure that we only have one dispatch table in the interpreter. | |
| .. | |
| .. bpo: 44874 | |
| .. date: 2021-08-09-19-05-20 | |
| .. nonce: oOcfU4 | |
| .. section: Core and Builtins | |
| Deprecate the old trashcan macros | |
| (``Py_TRASHCAN_SAFE_BEGIN``/``Py_TRASHCAN_SAFE_END``). They should be | |
| replaced by the new macros ``Py_TRASHCAN_BEGIN`` and ``Py_TRASHCAN_END``. | |
| .. | |
| .. bpo: 44872 | |
| .. date: 2021-08-09-16-16-03 | |
| .. nonce: OKRlhK | |
| .. section: Core and Builtins | |
| Use new trashcan macros (Py_TRASHCAN_BEGIN/END) in frameobject.c instead of | |
| the old ones (Py_TRASHCAN_SAFE_BEGIN/END). | |
| .. | |
| .. bpo: 33930 | |
| .. date: 2021-08-09-14-29-52 | |
| .. nonce: --5LQ- | |
| .. section: Core and Builtins | |
| Fix segmentation fault with deep recursion when cleaning method objects. | |
| Patch by Augusto Goulart and Pablo Galindo. | |
| .. | |
| .. bpo: 25782 | |
| .. date: 2021-08-07-21-39-19 | |
| .. nonce: B22lMx | |
| .. section: Core and Builtins | |
| Fix bug where ``PyErr_SetObject`` hangs when the current exception has a | |
| cycle in its context chain. | |
| .. | |
| .. bpo: 44856 | |
| .. date: 2021-08-07-01-26-12 | |
| .. nonce: 9rk3li | |
| .. section: Core and Builtins | |
| Fix reference leaks in the error paths of ``update_bases()`` and | |
| ``__build_class__``. Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 44826 | |
| .. date: 2021-08-05-17-49-55 | |
| .. nonce: zQsyK5 | |
| .. section: Core and Builtins | |
| Initial implementation of adaptive specialization of STORE_ATTR | |
| Three specialized forms of STORE_ATTR are added: | |
| * STORE_ATTR_SLOT | |
| * STORE_ATTR_SPLIT_KEYS | |
| * STORE_ATTR_WITH_HINT | |
| .. | |
| .. bpo: 44838 | |
| .. date: 2021-08-05-17-42-03 | |
| .. nonce: r_Lkj_ | |
| .. section: Core and Builtins | |
| Fixed a bug that was causing the parser to raise an incorrect custom | |
| :exc:`SyntaxError` for invalid 'if' expressions. Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 44821 | |
| .. date: 2021-08-04-11-37-38 | |
| .. nonce: 67YHGI | |
| .. section: Core and Builtins | |
| Create instance dictionaries (__dict__) eagerly, to improve regularity of | |
| object layout and assist specialization. | |
| .. | |
| .. bpo: 44792 | |
| .. date: 2021-07-31-12-12-57 | |
| .. nonce: mOReTW | |
| .. section: Core and Builtins | |
| Improve syntax errors for if expressions. Patch by Miguel Brito | |
| .. | |
| .. bpo: 34013 | |
| .. date: 2021-07-27-11-14-22 | |
| .. nonce: SjLFe- | |
| .. section: Core and Builtins | |
| Generalize the invalid legacy statement custom error message (like the one | |
| generated when "print" is called without parentheses) to include more | |
| generic expressions. Patch by Pablo Galindo | |
| .. | |
| .. bpo: 44732 | |
| .. date: 2021-07-26-15-27-03 | |
| .. nonce: IxObt3 | |
| .. section: Core and Builtins | |
| Rename ``types.Union`` to ``types.UnionType``. | |
| .. | |
| .. bpo: 44725 | |
| .. date: 2021-07-23-15-17-01 | |
| .. nonce: qcuKaa | |
| .. section: Core and Builtins | |
| Expose specialization stats in python via | |
| :func:`!_opcode.get_specialization_stats`. | |
| .. | |
| .. bpo: 44717 | |
| .. date: 2021-07-23-01-52-13 | |
| .. nonce: -vVmAh | |
| .. section: Core and Builtins | |
| Improve AttributeError on circular imports of submodules. | |
| .. | |
| .. bpo: 44698 | |
| .. date: 2021-07-21-15-26-56 | |
| .. nonce: DA4_0o | |
| .. section: Core and Builtins | |
| Fix undefined behaviour in complex object exponentiation. | |
| .. | |
| .. bpo: 44653 | |
| .. date: 2021-07-19-20-49-06 | |
| .. nonce: WcqGyI | |
| .. section: Core and Builtins | |
| Support :mod:`typing` types in parameter substitution in the union type. | |
| .. | |
| .. bpo: 44676 | |
| .. date: 2021-07-19-19-53-46 | |
| .. nonce: WgIMvh | |
| .. section: Core and Builtins | |
| Add ability to serialise ``types.Union`` objects. Patch provided by Yurii | |
| Karabas. | |
| .. | |
| .. bpo: 44633 | |
| .. date: 2021-07-17-21-04-04 | |
| .. nonce: 5-zKeI | |
| .. section: Core and Builtins | |
| Parameter substitution of the union type with wrong types now raises | |
| ``TypeError`` instead of returning :data:`NotImplemented`. | |
| .. | |
| .. bpo: 44661 | |
| .. date: 2021-07-17-14-20-59 | |
| .. nonce: BQbXiH | |
| .. section: Core and Builtins | |
| Update ``property_descr_set`` to use vectorcall if possible. Patch by | |
| Donghee Na. | |
| .. | |
| .. bpo: 44662 | |
| .. date: 2021-07-17-13-41-58 | |
| .. nonce: q22kWR | |
| .. section: Core and Builtins | |
| Add ``__module__`` to ``types.Union``. This also fixes ``types.Union`` | |
| issues with ``typing.Annotated``. Patch provided by Yurii Karabas. | |
| .. | |
| .. bpo: 44655 | |
| .. date: 2021-07-16-21-35-14 | |
| .. nonce: 95I7M6 | |
| .. section: Core and Builtins | |
| Include the name of the type in unset __slots__ attribute errors. Patch by | |
| Pablo Galindo | |
| .. | |
| .. bpo: 44655 | |
| .. date: 2021-07-16-20-25-37 | |
| .. nonce: I3wRjL | |
| .. section: Core and Builtins | |
| Don't include a missing attribute with the same name as the failing one when | |
| offering suggestions for missing attributes. Patch by Pablo Galindo | |
| .. | |
| .. bpo: 44646 | |
| .. date: 2021-07-16-09-59-13 | |
| .. nonce: Yb6s05 | |
| .. section: Core and Builtins | |
| Fix the hash of the union type: it no longer depends on the order of | |
| arguments. | |
| .. | |
| .. bpo: 44636 | |
| .. date: 2021-07-16-09-36-12 | |
| .. nonce: ZWebi8 | |
| .. section: Core and Builtins | |
| Collapse union of equal types. E.g. the result of ``int | int`` is now | |
| ``int``. Fix comparison of the union type with non-hashable objects. E.g. | |
| ``int | str == {}`` no longer raises a TypeError. | |
| .. | |
| .. bpo: 44611 | |
| .. date: 2021-07-16-01-01-11 | |
| .. nonce: LcfHN- | |
| .. section: Library | |
| On Windows, :func:`os.urandom`: uses BCryptGenRandom API instead of | |
| CryptGenRandom API which is deprecated from Microsoft Windows API. Patch by | |
| Donghee Na. | |
| .. | |
| .. bpo: 44635 | |
| .. date: 2021-07-14-13-54-07 | |
| .. nonce: 7ZMAdB | |
| .. section: Core and Builtins | |
| Convert ``None`` to ``type(None)`` in the union type constructor. | |
| .. | |
| .. bpo: 26280 | |
| .. date: 2021-07-14-10-31-10 | |
| .. nonce: cgpM4B | |
| .. section: Core and Builtins | |
| Implement adaptive specialization for BINARY_SUBSCR | |
| Three specialized forms of BINARY_SUBSCR are added: | |
| * BINARY_SUBSCR_LIST_INT | |
| * BINARY_SUBSCR_TUPLE_INT | |
| * BINARY_SUBSCR_DICT | |
| .. | |
| .. bpo: 44589 | |
| .. date: 2021-07-13-23-19-41 | |
| .. nonce: 59OH8T | |
| .. section: Core and Builtins | |
| Mapping patterns in ``match`` statements with two or more equal literal keys | |
| will now raise a :exc:`SyntaxError` at compile-time. | |
| .. | |
| .. bpo: 44606 | |
| .. date: 2021-07-13-20-22-12 | |
| .. nonce: S3Bv2w | |
| .. section: Core and Builtins | |
| Fix ``__instancecheck__`` and ``__subclasscheck__`` for the union type. | |
| .. | |
| .. bpo: 42073 | |
| .. date: 2021-07-13-17-47-32 | |
| .. nonce: 9wopiC | |
| .. section: Core and Builtins | |
| The ``@classmethod`` decorator can now wrap other classmethod-like | |
| descriptors. | |
| .. | |
| .. bpo: 41972 | |
| .. date: 2021-07-12-04-06-57 | |
| .. nonce: nDX5k_ | |
| .. section: Core and Builtins | |
| Tuned the string-searching algorithm of fastsearch.h to have a shorter inner | |
| loop for most cases. | |
| .. | |
| .. bpo: 44590 | |
| .. date: 2021-07-09-12-08-17 | |
| .. nonce: a2ntVX | |
| .. section: Core and Builtins | |
| All necessary data for executing a Python function (local variables, stack, | |
| etc) is now kept in a per-thread stack. Frame objects are lazily allocated | |
| on demand. This increases performance by about 7% on the standard benchmark | |
| suite. Introspection and debugging are unaffected as frame objects are | |
| always available when needed. Patch by Mark Shannon. | |
| .. | |
| .. bpo: 44584 | |
| .. date: 2021-07-08-12-18-56 | |
| .. nonce: qKnSqV | |
| .. section: Core and Builtins | |
| The threading debug (:envvar:`!PYTHONTHREADDEBUG` environment variable) is | |
| deprecated in Python 3.10 and will be removed in Python 3.12. This feature | |
| requires a debug build of Python. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 43895 | |
| .. date: 2021-07-07-16-05-35 | |
| .. nonce: JFjR0- | |
| .. section: Core and Builtins | |
| An obsolete internal cache of shared object file handles added in 1995 that | |
| attempted, but did not guarantee, that a .so would not be dlopen'ed twice to | |
| work around flaws in mid-1990s posix-ish operating systems has been removed | |
| from dynload_shlib.c. | |
| .. | |
| .. bpo: 44490 | |
| .. date: 2021-07-06-22-22-15 | |
| .. nonce: BJxPbZ | |
| .. section: Library | |
| :mod:`typing` now searches for type parameters in ``types.Union`` objects. | |
| ``get_type_hints`` will also properly resolve annotations with nested | |
| ``types.Union`` objects. Patch provided by Yurii Karabas. | |
| .. | |
| .. bpo: 43950 | |
| .. date: 2021-07-06-15-27-11 | |
| .. nonce: LhL2-q | |
| .. section: Core and Builtins | |
| Code objects can now provide the column information for instructions when | |
| available. This is levaraged during traceback printing to show the | |
| expressions responsible for errors. | |
| Contributed by Pablo Galindo, Batuhan Taskaya and Ammar Askar as part of | |
| :pep:`657`. | |
| .. | |
| .. bpo: 44562 | |
| .. date: 2021-07-04-23-38-51 | |
| .. nonce: QdeRQo | |
| .. section: Core and Builtins | |
| Remove uses of :c:func:`PyObject_GC_Del` in error path when initializing | |
| :class:`types.GenericAlias`. | |
| .. | |
| .. bpo: 41486 | |
| .. date: 2021-07-04-17-41-47 | |
| .. nonce: DiM24a | |
| .. section: Library | |
| Fix a memory consumption and copying performance regression in earlier 3.10 | |
| beta releases if someone used an output buffer larger than 4GiB with | |
| zlib.decompress on input data that expands that large. | |
| .. | |
| .. bpo: 43908 | |
| .. date: 2021-07-03-00-20-39 | |
| .. nonce: YHuV_s | |
| .. section: Core and Builtins | |
| Heap types with the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` flag can now inherit | |
| the :pep:`590` vectorcall protocol. Previously, this was only possible for | |
| :ref:`static types <static-types>`. Patch by Erlend E. Aasland. | |
| .. | |
| .. bpo: 44553 | |
| .. date: 2021-07-02-22-54-41 | |
| .. nonce: l9YqGg | |
| .. section: Core and Builtins | |
| Implement GC methods for ``types.Union`` to break reference cycles and | |
| prevent memory leaks. | |
| .. | |
| .. bpo: 44490 | |
| .. date: 2021-07-01-11-59-34 | |
| .. nonce: xY80VR | |
| .. section: Core and Builtins | |
| Add ``__parameters__`` attribute and ``__getitem__`` operator to | |
| ``types.Union``. Patch provided by Yurii Karabas. | |
| .. | |
| .. bpo: 44523 | |
| .. date: 2021-06-29-11-49-29 | |
| .. nonce: 67-ZIP | |
| .. section: Core and Builtins | |
| Remove the pass-through for :func:`hash` of :class:`weakref.proxy` objects | |
| to prevent unintended consequences when the original referred object dies | |
| while the proxy is part of a hashable object. Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 44483 | |
| .. date: 2021-06-22-19-08-19 | |
| .. nonce: eq2f7T | |
| .. section: Core and Builtins | |
| Fix a crash in ``types.Union`` objects when creating a union of an object | |
| with bad ``__module__`` field. | |
| .. | |
| .. bpo: 44486 | |
| .. date: 2021-06-22-10-55-23 | |
| .. nonce: wct-9X | |
| .. section: Core and Builtins | |
| Modules will always have a dictionary, even when created by | |
| ``types.ModuleType.__new__()`` | |
| .. | |
| .. bpo: 44472 | |
| .. date: 2021-06-21-11-19-54 | |
| .. nonce: Vvm1yn | |
| .. section: Core and Builtins | |
| Fix ltrace functionality when exceptions are raised. Patch by Pablo Galindo | |
| .. | |
| .. bpo: 12022 | |
| .. date: 2021-06-20-10-53-21 | |
| .. nonce: SW240M | |
| .. section: Core and Builtins | |
| A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in | |
| :keyword:`with` and :keyword:`async with` statements for objects which do | |
| not support the :term:`context manager` or :term:`asynchronous context | |
| manager` protocols correspondingly. | |
| .. | |
| .. bpo: 44297 | |
| .. date: 2021-06-19-12-41-13 | |
| .. nonce: F53vHj | |
| .. section: Core and Builtins | |
| Make sure that the line number is set when entering a comprehension scope. | |
| This ensures that backtraces including generator expressions show the correct | |
| line number. | |
| .. | |
| .. bpo: 44456 | |
| .. date: 2021-06-18-22-08-25 | |
| .. nonce: L0Rhko | |
| .. section: Core and Builtins | |
| Improve the syntax error when mixing positional and keyword patterns. Patch | |
| by Pablo Galindo. | |
| .. | |
| .. bpo: 44409 | |
| .. date: 2021-06-13-23-12-18 | |
| .. nonce: eW4LS- | |
| .. section: Core and Builtins | |
| Fix error location information for tokenizer errors raised on initialization | |
| of the tokenizer. Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 44396 | |
| .. date: 2021-06-11-18-17-42 | |
| .. nonce: Z9EKim | |
| .. section: Core and Builtins | |
| Fix a possible crash in the tokenizer when raising syntax errors for | |
| unclosed strings. Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 44376 | |
| .. date: 2021-06-11-17-37-15 | |
| .. nonce: zhM1UW | |
| .. section: Core and Builtins | |
| Exact integer exponentiation (like ``i**2`` or ``pow(i, 2)``) with a small | |
| exponent is much faster, due to reducing overhead in such cases. | |
| .. | |
| .. bpo: 44313 | |
| .. date: 2021-06-10-16-10-39 | |
| .. nonce: 34RjI8 | |
| .. section: Core and Builtins | |
| Directly imported objects and modules (through import and from import | |
| statements) don't generate ``LOAD_METHOD``/``CALL_METHOD`` for directly | |
| accessed objects on their namespace. They now use the regular | |
| ``LOAD_ATTR``/``CALL_FUNCTION``. | |
| .. | |
| .. bpo: 44338 | |
| .. date: 2021-06-10-10-06-18 | |
| .. nonce: c4Myr4 | |
| .. section: Core and Builtins | |
| Implement adaptive specialization for LOAD_GLOBAL | |
| Two specialized forms of LOAD_GLOBAL are added: | |
| * LOAD_GLOBAL_MODULE | |
| * LOAD_GLOBAL_BUILTIN | |
| .. | |
| .. bpo: 44368 | |
| .. date: 2021-06-09-22-56-59 | |
| .. nonce: vgT0Cx | |
| .. section: Core and Builtins | |
| Improve syntax errors for invalid "as" targets. Patch by Pablo Galindo | |
| .. | |
| .. bpo: 44349 | |
| .. date: 2021-06-08-22-49-06 | |
| .. nonce: xgEgeA | |
| .. section: Core and Builtins | |
| Fix an edge case when displaying text from files with encoding in syntax | |
| errors. Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 44337 | |
| .. date: 2021-06-08-10-22-46 | |
| .. nonce: RTjmIt | |
| .. section: Core and Builtins | |
| Initial implementation of adaptive specialization of LOAD_ATTR | |
| Four specialized forms of LOAD_ATTR are added: | |
| * LOAD_ATTR_SLOT | |
| * LOAD_ATTR_SPLIT_KEYS | |
| * LOAD_ATTR_WITH_HINT | |
| * LOAD_ATTR_MODULE | |
| .. | |
| .. bpo: 44335 | |
| .. date: 2021-06-08-01-13-47 | |
| .. nonce: GQTTkl | |
| .. section: Core and Builtins | |
| Fix a regression when identifying incorrect characters in syntax errors. | |
| Patch by Pablo Galindo | |
| .. | |
| .. bpo: 43693 | |
| .. date: 2021-06-07-15-13-44 | |
| .. nonce: c_zDeY | |
| .. section: Core and Builtins | |
| Computation of the offsets of cell variables is done in the compiler instead | |
| of at runtime. This reduces the overhead of handling cell and free | |
| variables, especially in the case where a variable is both an argument and | |
| cell variable. | |
| .. | |
| .. bpo: 44317 | |
| .. date: 2021-06-06-00-29-14 | |
| .. nonce: xPPhcZ | |
| .. section: Core and Builtins | |
| Improve tokenizer error with improved locations. Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 44304 | |
| .. date: 2021-06-05-02-34-57 | |
| .. nonce: _MAoPc | |
| .. section: Library | |
| Fix a crash in the :mod:`sqlite3` module that happened when the garbage | |
| collector clears :class:`sqlite.Statement` objects. Patch by Pablo Galindo | |
| .. | |
| .. bpo: 44305 | |
| .. date: 2021-06-03-22-51-50 | |
| .. nonce: 66dVDG | |
| .. section: Core and Builtins | |
| Improve error message for ``try`` blocks without ``except`` or ``finally`` | |
| blocks. Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 43413 | |
| .. date: 2021-05-30-16-37-47 | |
| .. nonce: vYFPPC | |
| .. section: Core and Builtins | |
| Constructors of subclasses of some builtin classes (e.g. :class:`tuple`, | |
| :class:`list`, :class:`frozenset`) no longer accept arbitrary keyword | |
| arguments. [reverted in 3.11a4] Subclass of :class:`set` can now define a ``__new__()`` method | |
| with additional keyword parameters without overriding also ``__init__()``. | |
| .. | |
| .. bpo: 43667 | |
| .. date: 2021-05-27-17-34-29 | |
| .. nonce: ND9jP3 | |
| .. section: Core and Builtins | |
| Improve Unicode support in non-UTF locales on Oracle Solaris. This issue | |
| does not affect other Solaris systems. | |
| .. | |
| .. bpo: 43693 | |
| .. date: 2021-05-26-19-10-47 | |
| .. nonce: 1KSG9u | |
| .. section: Core and Builtins | |
| A new opcode MAKE_CELL has been added that effectively moves some of the | |
| work done on function entry into the compiler and into the eval loop. In | |
| addition to creating the required cell objects, the new opcode converts | |
| relevant arguments (and other locals) to cell variables on function entry. | |
| .. | |
| .. bpo: 44232 | |
| .. date: 2021-05-25-18-20-10 | |
| .. nonce: DMcCCf | |
| .. section: Core and Builtins | |
| Fix a regression in :func:`type` when a metaclass raises an exception. The C | |
| function :c:func:`type_new` must properly report the exception when a | |
| metaclass constructor raises an exception and the winner class is not the | |
| metaclass. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 44201 | |
| .. date: 2021-05-21-21-16-03 | |
| .. nonce: bGaSjt | |
| .. section: Core and Builtins | |
| Avoid side effects of checking for specialized syntax errors in the REPL | |
| that was causing it to ask for extra tokens after a syntax error had been | |
| detected. Patch by Pablo Galindo | |
| .. | |
| .. bpo: 43693 | |
| .. date: 2021-05-21-20-53-49 | |
| .. nonce: -NN3J_ | |
| .. section: Core and Builtins | |
| ``PyCodeObject`` gained ``co_fastlocalnames`` and ``co_fastlocalkinds`` as | |
| the authoritative source of fast locals info. Marshaled code objects | |
| have changed accordingly. | |
| .. | |
| .. bpo: 44184 | |
| .. date: 2021-05-21-01-42-45 | |
| .. nonce: 9qOptC | |
| .. section: Core and Builtins | |
| Fix a crash at Python exit when a deallocator function removes the last | |
| strong reference to a heap type. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 44187 | |
| .. date: 2021-05-20-12-43-04 | |
| .. nonce: 3lk0L1 | |
| .. section: Core and Builtins | |
| Implement quickening in the interpreter. This offers no advantages as yet, | |
| but is an enabler of future optimizations. See PEP 659 for full explanation. | |
| .. | |
| .. bpo: 44180 | |
| .. date: 2021-05-19-20-33-36 | |
| .. nonce: mQVaAs | |
| .. section: Core and Builtins | |
| The parser doesn't report generic syntax errors that happen in a position | |
| further away that the one it reached in the first pass. Patch by Pablo | |
| Galindo | |
| .. | |
| .. bpo: 44168 | |
| .. date: 2021-05-18-11-27-02 | |
| .. nonce: mgB-rt | |
| .. section: Core and Builtins | |
| Fix error message in the parser involving keyword arguments with invalid | |
| expressions. Patch by Pablo Galindo | |
| .. | |
| .. bpo: 44156 | |
| .. date: 2021-05-17-20-44-45 | |
| .. nonce: 8KSp9l | |
| .. section: Core and Builtins | |
| String caches in ``compile.c`` are now subinterpreter compatible. | |
| .. | |
| .. bpo: 44143 | |
| .. date: 2021-05-15-17-30-57 | |
| .. nonce: 7UTS6H | |
| .. section: Core and Builtins | |
| Fixed a crash in the parser that manifest when raising tokenizer errors when | |
| an existing exception was present. Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 44032 | |
| .. date: 2021-05-14-20-03-32 | |
| .. nonce: OzT1ob | |
| .. section: Core and Builtins | |
| Move 'fast' locals and other variables from the frame object to a per-thread | |
| datastack. | |
| .. | |
| .. bpo: 44114 | |
| .. date: 2021-05-12-14-26-16 | |
| .. nonce: p-WfAE | |
| .. section: Core and Builtins | |
| Fix incorrect dictkeys_reversed and dictitems_reversed function signatures | |
| in C code, which broke webassembly builds. | |
| .. | |
| .. bpo: 44110 | |
| .. date: 2021-05-11-21-52-44 | |
| .. nonce: VqbAsB | |
| .. section: Core and Builtins | |
| Improve :func:`str.__getitem__` error message | |
| .. | |
| .. bpo: 26110 | |
| .. date: 2021-05-10-18-49-13 | |
| .. nonce: EQzqqA | |
| .. section: Core and Builtins | |
| Add ``CALL_METHOD_KW`` opcode to speed up method calls with keyword | |
| arguments. Idea originated from PyPy. A side effect is executing | |
| ``CALL_METHOD`` is now branchless in the evaluation loop. | |
| .. | |
| .. bpo: 28307 | |
| .. date: 2021-05-08-19-54-57 | |
| .. nonce: 7ysaVW | |
| .. section: Core and Builtins | |
| Compiler now optimizes simple C-style formatting with literal format | |
| containing only format codes %s, %r and %a by converting them to f-string | |
| expressions. | |
| .. | |
| .. bpo: 43149 | |
| .. date: 2021-05-08-17-18-37 | |
| .. nonce: Kp5FxD | |
| .. section: Core and Builtins | |
| Correct the syntax error message regarding multiple exception types to not | |
| refer to "exception groups". Patch by Pablo Galindo | |
| .. | |
| .. bpo: 43822 | |
| .. date: 2021-05-04-01-01-04 | |
| .. nonce: 9VeCg0 | |
| .. section: Core and Builtins | |
| The parser will prioritize tokenizer errors over custom syntax errors when | |
| raising exceptions. Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 40222 | |
| .. date: 2021-04-30-15-48-36 | |
| .. nonce: j3VxeX | |
| .. section: Core and Builtins | |
| "Zero cost" exception handling. | |
| * Uses a lookup table to determine how to handle exceptions. | |
| * Removes SETUP_FINALLY and POP_TOP block instructions, eliminating the runtime overhead of try statements. | |
| * Reduces the size of the frame object by about 60%. | |
| Patch by Mark Shannon | |
| .. | |
| .. bpo: 43918 | |
| .. date: 2021-04-23-03-46-45 | |
| .. nonce: nNDY3S | |
| .. section: Core and Builtins | |
| Document the signature and ``default`` argument in the docstring of the new | |
| ``anext`` builtin. | |
| .. | |
| .. bpo: 43833 | |
| .. date: 2021-04-18-18-07-33 | |
| .. nonce: oChkCi | |
| .. section: Core and Builtins | |
| Emit a deprecation warning if the numeric literal is immediately followed by | |
| one of keywords: and, else, for, if, in, is, or. Raise a syntax error with | |
| more informative message if it is immediately followed by other keyword or | |
| identifier. | |
| .. | |
| .. bpo: 43879 | |
| .. date: 2021-04-17-16-08-00 | |
| .. nonce: zkyJgh | |
| .. section: Core and Builtins | |
| Add native_thread_id to PyThreadState. Patch by Gabriele N. Tornetta. | |
| .. | |
| .. bpo: 43693 | |
| .. date: 2021-04-02-15-02-16 | |
| .. nonce: l3Ureu | |
| .. section: Core and Builtins | |
| Compute cell offsets relative to locals in compiler. Allows the interpreter | |
| to treats locals and cells a single array, which is slightly more efficient. | |
| Also make the LOAD_CLOSURE opcode an alias for LOAD_FAST. Preserving | |
| LOAD_CLOSURE helps keep bytecode a bit more readable. | |
| .. | |
| .. bpo: 17792 | |
| .. date: 2021-03-22-17-50-30 | |
| .. nonce: _zssjS | |
| .. section: Core and Builtins | |
| More accurate error messages for access of unbound locals or free vars. | |
| .. | |
| .. bpo: 28146 | |
| .. date: 2021-01-13-19-34-41 | |
| .. nonce: AZBBkH | |
| .. section: Core and Builtins | |
| Fix a confusing error message in :func:`str.format`. | |
| .. | |
| .. bpo: 11105 | |
| .. date: 2020-06-02-13-21-14 | |
| .. nonce: wceryW | |
| .. section: Core and Builtins | |
| When compiling :class:`ast.AST` objects with recursive references through | |
| :func:`compile`, the interpreter doesn't crash anymore instead it raises a | |
| :exc:`RecursionError`. | |
| .. | |
| .. bpo: 39091 | |
| .. date: 2019-12-21-14-18-32 | |
| .. nonce: dOexgQ | |
| .. section: Core and Builtins | |
| Fix crash when using passing a non-exception to a generator's ``throw()`` | |
| method. Patch by Noah Oxer | |
| .. | |
| .. bpo: 33346 | |
| .. date: 2018-05-11-12-44-03 | |
| .. nonce: ZgBkvB | |
| .. section: Core and Builtins | |
| Asynchronous comprehensions are now allowed inside comprehensions in | |
| asynchronous functions. Outer comprehensions implicitly become | |
| asynchronous. | |
| .. | |
| .. bpo: 45371 | |
| .. date: 2021-10-05-11-03-48 | |
| .. nonce: NOwcDJ | |
| .. section: Library | |
| Fix clang rpath issue in ``distutils``. The UnixCCompiler now uses | |
| correct clang option to add a runtime library directory (rpath) to a shared | |
| library. | |
| .. | |
| .. bpo: 45329 | |
| .. date: 2021-10-01-13-09-53 | |
| .. nonce: 9iMYaO | |
| .. section: Library | |
| Fix freed memory access in :class:`pyexpat.xmlparser` when building it with | |
| an installed expat library <= 2.2.0. | |
| .. | |
| .. bpo: 41710 | |
| .. date: 2021-09-30-23-00-18 | |
| .. nonce: svuloZ | |
| .. section: Library | |
| On Unix, if the ``sem_clockwait()`` function is available in the C library | |
| (glibc 2.30 and newer), the :meth:`threading.Lock.acquire` method now uses | |
| the monotonic clock (:const:`time.CLOCK_MONOTONIC`) for the timeout, rather | |
| than using the system clock (:const:`time.CLOCK_REALTIME`), to not be | |
| affected by system clock changes. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 1596321 | |
| .. date: 2021-09-24-17-20-23 | |
| .. nonce: 3nhPUk | |
| .. section: Library | |
| Fix the :func:`threading._shutdown` function when the :mod:`threading` | |
| module was imported first from a thread different than the main thread: no | |
| longer log an error at Python exit. | |
| .. | |
| .. bpo: 45274 | |
| .. date: 2021-09-23-22-17-26 | |
| .. nonce: gPpa4E | |
| .. section: Library | |
| Fix a race condition in the :meth:`Thread.join() <threading.Thread.join>` | |
| method of the :mod:`threading` module. If the function is interrupted by a | |
| signal and the signal handler raises an exception, make sure that the thread | |
| remains in a consistent state to prevent a deadlock. Patch by Victor | |
| Stinner. | |
| .. | |
| .. bpo: 21302 | |
| .. date: 2021-09-22-23-56-15 | |
| .. nonce: vvQ3Su | |
| .. section: Library | |
| In Unix operating systems, :func:`time.sleep` now uses the ``nanosleep()`` | |
| function, if ``clock_nanosleep()`` is not available but ``nanosleep()`` is | |
| available. ``nanosleep()`` allows to sleep with nanosecond precision. | |
| .. | |
| .. bpo: 21302 | |
| .. date: 2021-09-20-22-46-40 | |
| .. nonce: h56430 | |
| .. section: Library | |
| On Windows, :func:`time.sleep` now uses a waitable timer which has a | |
| resolution of 100 nanoseconds (10\ :sup:`-7` seconds). Previously, it had a | |
| resolution of 1 millisecond (10\ :sup:`-3` seconds). Patch by Benjamin Szőke and | |
| Victor Stinner. | |
| .. | |
| .. bpo: 45238 | |
| .. date: 2021-09-18-16-56-33 | |
| .. nonce: Hng_9V | |
| .. section: Library | |
| Fix :meth:`unittest.IsolatedAsyncioTestCase.debug`: it runs now asynchronous | |
| methods and callbacks. | |
| .. | |
| .. bpo: 36674 | |
| .. date: 2021-09-18-13-14-57 | |
| .. nonce: a2k5Zb | |
| .. section: Library | |
| :meth:`unittest.TestCase.debug` raises now a :class:`unittest.SkipTest` if | |
| the class or the test method are decorated with the skipping decorator. | |
| .. | |
| .. bpo: 45235 | |
| .. date: 2021-09-17-16-55-37 | |
| .. nonce: sXnmPA | |
| .. section: Library | |
| Fix an issue where argparse would not preserve values in a provided | |
| namespace when using a subparser with defaults. | |
| .. | |
| .. bpo: 45183 | |
| .. date: 2021-09-17-15-58-53 | |
| .. nonce: Vv_vch | |
| .. section: Library | |
| Have zipimport.zipimporter.find_spec() not raise an exception when the | |
| underlying zip file has been deleted and the internal cache has been reset | |
| via invalidate_cache(). | |
| .. | |
| .. bpo: 45234 | |
| .. date: 2021-09-17-11-20-55 | |
| .. nonce: qUcTVt | |
| .. section: Library | |
| Fixed a regression in :func:`~shutil.copyfile`, :func:`~shutil.copy`, | |
| :func:`~shutil.copy2` raising :exc:`FileNotFoundError` when source is a | |
| directory, which should raise :exc:`IsADirectoryError` | |
| .. | |
| .. bpo: 45228 | |
| .. date: 2021-09-17-09-59-33 | |
| .. nonce: WV1dcT | |
| .. section: Library | |
| Fix stack buffer overflow in parsing J1939 network address. | |
| .. | |
| .. bpo: 45225 | |
| .. date: 2021-09-16-19-02-14 | |
| .. nonce: xmKV4i | |
| .. section: Library | |
| use map function instead of genexpr in capwords. | |
| .. | |
| .. bpo: 42135 | |
| .. date: 2021-09-13-19-32-58 | |
| .. nonce: 1ZAHqR | |
| .. section: Library | |
| Fix typo: ``importlib.find_loader`` is really slated for removal in Python | |
| 3.12 not 3.10, like the others in PR 25169. | |
| Patch by Hugo van Kemenade. | |
| .. | |
| .. bpo: 20524 | |
| .. date: 2021-09-13-14-59-01 | |
| .. nonce: PMQ1Fh | |
| .. section: Library | |
| Improves error messages on ``.format()`` operation for ``str``, ``float``, | |
| ``int``, and ``complex``. New format now shows the problematic pattern and | |
| the object type. | |
| .. | |
| .. bpo: 45168 | |
| .. date: 2021-09-13-14-28-49 | |
| .. nonce: Z1mfW4 | |
| .. section: Library | |
| Change :func:`dis.dis` output to omit op arg values that cannot be resolved | |
| due to ``co_consts``, ``co_names`` etc not being provided. Previously the | |
| oparg itself was repeated in the value field, which is not useful and can be | |
| confusing. | |
| .. | |
| .. bpo: 21302 | |
| .. date: 2021-09-11-18-44-40 | |
| .. nonce: QxHRpR | |
| .. section: Library | |
| In Unix operating systems, :func:`time.sleep` now uses the | |
| ``clock_nanosleep()`` function, if available, which allows to sleep for an | |
| interval specified with nanosecond precision. | |
| .. | |
| .. bpo: 45173 | |
| .. date: 2021-09-11-17-46-20 | |
| .. nonce: UptGAn | |
| .. section: Library | |
| Remove from the :mod:`configparser` module: the :class:`!SafeConfigParser` | |
| class, the :attr:`!filename` property of the :class:`~configparser.ParsingError` class, the | |
| :meth:`!readfp` method of the :class:`~configparser.ConfigParser` class, deprecated since | |
| Python 3.2. | |
| Patch by Hugo van Kemenade. | |
| .. | |
| .. bpo: 44987 | |
| .. date: 2021-09-11-14-41-02 | |
| .. nonce: Mt8DiX | |
| .. section: Library | |
| Pure ASCII strings are now normalized in constant time by | |
| :func:`unicodedata.normalize`. Patch by Donghee Na. | |
| .. | |
| .. bpo: 35474 | |
| .. date: 2021-09-11-10-45-12 | |
| .. nonce: tEY3SD | |
| .. section: Library | |
| Calling :func:`mimetypes.guess_all_extensions` with ``strict=False`` no | |
| longer affects the result of the following call with ``strict=True``. Also, | |
| mutating the returned list no longer affects the global state. | |
| .. | |
| .. bpo: 45166 | |
| .. date: 2021-09-10-21-35-53 | |
| .. nonce: UHipXF | |
| .. section: Library | |
| :func:`typing.get_type_hints` now works with :data:`~typing.Final` wrapped | |
| in :class:`~typing.ForwardRef`. | |
| .. | |
| .. bpo: 45162 | |
| .. date: 2021-09-10-13-20-53 | |
| .. nonce: 2Jh-lq | |
| .. section: Library | |
| Remove many old deprecated :mod:`unittest` features: | |
| * "``fail*``" and "``assert*``" aliases of :class:`~unittest.TestCase` methods. | |
| * Broken from start :class:`~unittest.TestCase` method ``assertDictContainsSubset()``. | |
| * Ignored :meth:`<unittest.TestLoader.loadTestsFromModule> TestLoader.loadTestsFromModule` parameter *use_load_tests*. | |
| * Old alias ``_TextTestResult`` of :class:`~unittest.TextTestResult`. | |
| .. | |
| .. bpo: 38371 | |
| .. date: 2021-09-08-13-19-29 | |
| .. nonce: y1kEfP | |
| .. section: Library | |
| Remove the deprecated ``split()`` method of :class:`!_tkinter.TkappType`. | |
| Patch by Erlend E. Aasland. | |
| .. | |
| .. bpo: 20499 | |
| .. date: 2021-09-08-01-19-31 | |
| .. nonce: tSxx8Y | |
| .. section: Library | |
| Improve the speed and accuracy of statistics.pvariance(). | |
| .. | |
| .. bpo: 45132 | |
| .. date: 2021-09-07-16-33-51 | |
| .. nonce: WI9zQY | |
| .. section: Library | |
| Remove :meth:`~object.__getitem__` methods of | |
| :class:`xml.dom.pulldom.DOMEventStream`, :class:`wsgiref.util.FileWrapper` | |
| and :class:`fileinput.FileInput`, deprecated since Python 3.9. | |
| Patch by Hugo van Kemenade. | |
| .. | |
| .. bpo: 45129 | |
| .. date: 2021-09-07-14-27-39 | |
| .. nonce: vXH0gw | |
| .. section: Library | |
| Due to significant security concerns, the *reuse_address* parameter of | |
| :meth:`asyncio.loop.create_datagram_endpoint`, disabled in Python 3.9, is | |
| now entirely removed. This is because of the behavior of the socket option | |
| ``SO_REUSEADDR`` in UDP. | |
| Patch by Hugo van Kemenade. | |
| .. | |
| .. bpo: 45124 | |
| .. date: 2021-09-07-09-13-27 | |
| .. nonce: Kw5AUs | |
| .. section: Library | |
| The ``bdist_msi`` command, deprecated in Python 3.9, is now removed. | |
| Use ``bdist_wheel`` (wheel packages) instead. | |
| Patch by Hugo van Kemenade. | |
| .. | |
| .. bpo: 30856 | |
| .. date: 2021-09-05-21-37-28 | |
| .. nonce: jj86y0 | |
| .. section: Library | |
| :class:`unittest.TestResult` methods | |
| :meth:`~unittest.TestResult.addFailure`, | |
| :meth:`~unittest.TestResult.addError`, :meth:`~unittest.TestResult.addSkip` | |
| and :meth:`~unittest.TestResult.addSubTest` are now called immediately after | |
| raising an exception in test or finishing a subtest. Previously they were | |
| called only after finishing the test clean up. | |
| .. | |
| .. bpo: 45034 | |
| .. date: 2021-09-05-20-33-25 | |
| .. nonce: 62NLD5 | |
| .. section: Library | |
| Changes how error is formatted for ``struct.pack`` with ``'H'`` and ``'h'`` | |
| modes and too large / small numbers. Now it shows the actual numeric limits, | |
| while previously it was showing arithmetic expressions. | |
| .. | |
| .. bpo: 25894 | |
| .. date: 2021-09-05-13-15-08 | |
| .. nonce: zjbi2f | |
| .. section: Library | |
| :mod:`unittest` now always reports skipped and failed subtests separately: | |
| separate characters in default mode and separate lines in verbose mode. Also | |
| the test description is now output for errors in test method, class and | |
| module cleanups. | |
| .. | |
| .. bpo: 45081 | |
| .. date: 2021-09-02-12-42-25 | |
| .. nonce: tOjJ1k | |
| .. section: Library | |
| Fix issue when dataclasses that inherit from ``typing.Protocol`` subclasses | |
| have wrong ``__init__``. Patch provided by Yurii Karabas. | |
| .. | |
| .. bpo: 45085 | |
| .. date: 2021-09-02-00-47-14 | |
| .. nonce: mMnaDv | |
| .. section: Library | |
| The ``binhex`` module, deprecated in Python 3.9, is now removed. The | |
| following :mod:`binascii` functions, deprecated in Python 3.9, are now also | |
| removed: | |
| * ``a2b_hqx()``, ``b2a_hqx()``; | |
| * ``rlecode_hqx()``, ``rledecode_hqx()``. | |
| The :func:`binascii.crc_hqx` function remains available. | |
| Patch by Victor Stinner. | |
| .. | |
| .. bpo: 40360 | |
| .. date: 2021-09-02-00-18-32 | |
| .. nonce: 9nmMtB | |
| .. section: Library | |
| The :mod:`!lib2to3` package is now deprecated and may not be able to parse | |
| Python 3.10 or newer. See the :pep:`617` (New PEG parser for CPython). Patch | |
| by Victor Stinner. | |
| .. | |
| .. bpo: 45075 | |
| .. date: 2021-09-01-15-27-00 | |
| .. nonce: 9xUpvt | |
| .. section: Library | |
| Rename :meth:`traceback.StackSummary.format_frame` to | |
| :meth:`traceback.StackSummary.format_frame_summary`. This method was added | |
| for 3.11 so it was not released yet. | |
| Updated code and docs to better distinguish frame and FrameSummary. | |
| .. | |
| .. bpo: 31299 | |
| .. date: 2021-08-30-13-55-09 | |
| .. nonce: 9QzjZs | |
| .. section: Library | |
| Add option to completely drop frames from a traceback by returning ``None`` | |
| from a :meth:`~traceback.StackSummary.format_frame` override. | |
| .. | |
| .. bpo: 41620 | |
| .. date: 2021-08-29-14-49-22 | |
| .. nonce: WJ6PFL | |
| .. section: Library | |
| :meth:`~unittest.TestCase.run` now always return a | |
| :class:`~unittest.TestResult` instance. Previously it returned ``None`` if | |
| the test class or method was decorated with a skipping decorator. | |
| .. | |
| .. bpo: 45021 | |
| .. date: 2021-08-28-13-00-12 | |
| .. nonce: rReeaj | |
| .. section: Library | |
| Fix a potential deadlock at shutdown of forked children when using | |
| :mod:`concurrent.futures` module | |
| .. | |
| .. bpo: 43913 | |
| .. date: 2021-08-27-23-40-51 | |
| .. nonce: Uo1Gt5 | |
| .. section: Library | |
| Fix bugs in cleaning up classes and modules in :mod:`unittest`: | |
| * Functions registered with :func:`~unittest.addModuleCleanup` were not called unless the user defines ``tearDownModule()`` in their test module. | |
| * Functions registered with :meth:`~unittest.TestCase.addClassCleanup` were not called if ``tearDownClass`` is set to ``None``. | |
| * Buffering in :class:`~unittest.TestResult` did not work with functions registered with ``addClassCleanup()`` and ``addModuleCleanup()``. | |
| * Errors in functions registered with ``addClassCleanup()`` and ``addModuleCleanup()`` were not handled correctly in buffered and debug modes. | |
| * Errors in ``setUpModule()`` and functions registered with ``addModuleCleanup()`` were reported in wrong order. | |
| * And several lesser bugs. | |
| .. | |
| .. bpo: 45030 | |
| .. date: 2021-08-27-19-01-23 | |
| .. nonce: tAmBbY | |
| .. section: Library | |
| Fix integer overflow in pickling and copying the range iterator. | |
| .. | |
| .. bpo: 45001 | |
| .. date: 2021-08-26-16-25-48 | |
| .. nonce: tn_dKp | |
| .. section: Library | |
| Made email date parsing more robust against malformed input, namely a | |
| whitespace-only ``Date:`` header. Patch by Wouter Bolsterlee. | |
| .. | |
| .. bpo: 45010 | |
| .. date: 2021-08-26-09-54-14 | |
| .. nonce: Cn23bQ | |
| .. section: Library | |
| Remove support of special method ``__div__`` in :mod:`unittest.mock`. It is | |
| not used in Python 3. | |
| .. | |
| .. bpo: 39218 | |
| .. date: 2021-08-25-20-18-31 | |
| .. nonce: BlO6jW | |
| .. section: Library | |
| Improve accuracy of variance calculations by using ``x*x`` instead of | |
| ``x**2``. | |
| .. | |
| .. bpo: 43613 | |
| .. date: 2021-08-25-10-28-49 | |
| .. nonce: WkYmI0 | |
| .. section: Library | |
| Improve the speed of :func:`gzip.compress` and :func:`gzip.decompress` by | |
| compressing and decompressing at once in memory instead of in a streamed | |
| fashion. | |
| .. | |
| .. bpo: 37596 | |
| .. date: 2021-08-23-21-39-59 | |
| .. nonce: ojRcwB | |
| .. section: Library | |
| Ensure that :class:`set` and :class:`frozenset` objects are always | |
| :mod:`marshalled <marshal>` reproducibly. | |
| .. | |
| .. bpo: 44019 | |
| .. date: 2021-08-22-13-25-17 | |
| .. nonce: BN8HDy | |
| .. section: Library | |
| A new function ``operator.call`` has been added, such that | |
| ``operator.call(obj, *args, **kwargs) == obj(*args, **kwargs)``. | |
| .. | |
| .. bpo: 42255 | |
| .. date: 2021-08-19-23-49-10 | |
| .. nonce: ofe3ms | |
| .. section: Library | |
| :class:`!webbrowser.MacOSX` is deprecated and will be removed in Python 3.13. | |
| It is untested and undocumented and also not used by :mod:`webbrowser` itself. | |
| Patch by Donghee Na. | |
| .. | |
| .. bpo: 44955 | |
| .. date: 2021-08-19-15-03-54 | |
| .. nonce: 1mxFQS | |
| .. section: Library | |
| Method :meth:`~unittest.TestResult.stopTestRun` is now always called in pair | |
| with method :meth:`~unittest.TestResult.startTestRun` for | |
| :class:`~unittest.TestResult` objects implicitly created in | |
| :meth:`~unittest.TestCase.run`. Previously it was not called for test | |
| methods and classes decorated with a skipping decorator. | |
| .. | |
| .. bpo: 39039 | |
| .. date: 2021-08-18-10-36-14 | |
| .. nonce: A63LYh | |
| .. section: Library | |
| tarfile.open raises :exc:`~tarfile.ReadError` when a zlib error occurs | |
| during file extraction. | |
| .. | |
| .. bpo: 44935 | |
| .. date: 2021-08-17-16-01-44 | |
| .. nonce: roUl0G | |
| .. section: Library | |
| :mod:`subprocess` on Solaris now also uses :func:`os.posix_spawn` for | |
| better performance. | |
| .. | |
| .. bpo: 44911 | |
| .. date: 2021-08-14-00-55-16 | |
| .. nonce: uk3hYk | |
| .. section: Library | |
| :class:`~unittest.IsolatedAsyncioTestCase` will no longer throw an exception | |
| while cancelling leaked tasks. Patch by Bar Harel. | |
| .. | |
| .. bpo: 41322 | |
| .. date: 2021-08-12-16-22-16 | |
| .. nonce: utscTd | |
| .. section: Library | |
| Added ``DeprecationWarning`` for tests and async tests that return a | |
| value!=None (as this may indicate an improperly written test, for example a | |
| test written as a generator function). | |
| .. | |
| .. bpo: 44524 | |
| .. date: 2021-08-10-16-57-10 | |
| .. nonce: dk9QX4 | |
| .. section: Library | |
| Make exception message more useful when subclass from typing special form | |
| alias. Patch provided by Yurii Karabas. | |
| .. | |
| .. bpo: 38956 | |
| .. date: 2021-08-09-13-17-10 | |
| .. nonce: owWLNv | |
| .. section: Library | |
| :class:`argparse.BooleanOptionalAction`'s default value is no longer printed | |
| twice when used with :class:`argparse.ArgumentDefaultsHelpFormatter`. | |
| .. | |
| .. bpo: 44860 | |
| .. date: 2021-08-07-22-51-32 | |
| .. nonce: PTvRrU | |
| .. section: Library | |
| Fix the ``posix_user`` scheme in :mod:`sysconfig` to not depend on | |
| :data:`sys.platlibdir`. | |
| .. | |
| .. bpo: 44859 | |
| .. date: 2021-08-07-17-28-56 | |
| .. nonce: CCopjk | |
| .. section: Library | |
| Improve error handling in :mod:`sqlite3` and raise more accurate exceptions. | |
| * :exc:`MemoryError` is now raised instead of :exc:`sqlite3.Warning` when memory is not enough for encoding a statement to UTF-8 in ``Connection.__call__()`` and ``Cursor.execute()``. | |
| * :exc:`UnicodEncodeError` is now raised instead of :exc:`sqlite3.Warning` when the statement contains surrogate characters in ``Connection.__call__()`` and ``Cursor.execute()``. | |
| * :exc:`TypeError` is now raised instead of :exc:`ValueError` for non-string script argument in ``Cursor.executescript()``. | |
| * :exc:`ValueError` is now raised for script containing the null character instead of truncating it in ``Cursor.executescript()``. | |
| * Correctly handle exceptions raised when getting boolean value of the result of the progress handler. | |
| * Add many tests covering different corner cases. | |
| .. | |
| .. bpo: 44581 | |
| .. date: 2021-08-06-19-15-52 | |
| .. nonce: oFDBTB | |
| .. section: Library | |
| Upgrade bundled pip to 21.2.3 and setuptools to 57.4.0 | |
| .. | |
| .. bpo: 44849 | |
| .. date: 2021-08-06-13-00-28 | |
| .. nonce: O78F_f | |
| .. section: Library | |
| Fix the :func:`os.set_inheritable` function on FreeBSD 14 for file | |
| descriptor opened with the :const:`~os.O_PATH` flag: ignore the | |
| :const:`~errno.EBADF` error on ``ioctl()``, fallback on the ``fcntl()`` | |
| implementation. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 44605 | |
| .. date: 2021-08-06-09-43-50 | |
| .. nonce: q4YSBZ | |
| .. section: Library | |
| The @functools.total_ordering() decorator now works with metaclasses. | |
| .. | |
| .. bpo: 44524 | |
| .. date: 2021-08-05-18-20-17 | |
| .. nonce: 9T1tfe | |
| .. section: Library | |
| Fixed an issue wherein the ``__name__`` and ``__qualname__`` attributes of | |
| subscribed specialforms could be ``None``. | |
| .. | |
| .. bpo: 44839 | |
| .. date: 2021-08-05-14-59-39 | |
| .. nonce: MURNL9 | |
| .. section: Library | |
| :class:`MemoryError` raised in user-defined functions will now produce a | |
| ``MemoryError`` in :mod:`sqlite3`. :class:`OverflowError` will now be | |
| converted to :class:`~sqlite3.DataError`. Previously | |
| :class:`~sqlite3.OperationalError` was produced in these cases. | |
| .. | |
| .. bpo: 44822 | |
| .. date: 2021-08-04-12-29-00 | |
| .. nonce: zePNXA | |
| .. section: Library | |
| :mod:`sqlite3` user-defined functions and aggregators returning | |
| :class:`strings <str>` with embedded NUL characters are no longer truncated. | |
| Patch by Erlend E. Aasland. | |
| .. | |
| .. bpo: 44801 | |
| .. date: 2021-08-03-20-37-45 | |
| .. nonce: i49Aug | |
| .. section: Library | |
| Ensure that the :class:`~typing.ParamSpec` variable in Callable can only be | |
| substituted with a parameters expression (a list of types, an ellipsis, | |
| ParamSpec or Concatenate). | |
| .. | |
| .. bpo: 44806 | |
| .. date: 2021-08-02-14-37-32 | |
| .. nonce: wOW_Qn | |
| .. section: Library | |
| Non-protocol subclasses of :class:`typing.Protocol` ignore now the | |
| ``__init__`` method inherited from protocol base classes. | |
| .. | |
| .. bpo: 27275 | |
| .. date: 2021-08-01-19-49-09 | |
| .. nonce: QsvE0k | |
| .. section: Library | |
| :meth:`collections.OrderedDict.popitem` and | |
| :meth:`collections.OrderedDict.pop` no longer call ``__getitem__`` and | |
| ``__delitem__`` methods of the OrderedDict subclasses. | |
| .. | |
| .. bpo: 44793 | |
| .. date: 2021-07-31-20-28-20 | |
| .. nonce: woaQSg | |
| .. section: Library | |
| Fix checking the number of arguments when subscribe a generic type with | |
| ``ParamSpec`` parameter. | |
| .. | |
| .. bpo: 44784 | |
| .. date: 2021-07-31-08-45-31 | |
| .. nonce: fIMIDS | |
| .. section: Library | |
| In importlib.metadata tests, override warnings behavior under expected | |
| DeprecationWarnings (importlib_metadata 4.6.3). | |
| .. | |
| .. bpo: 44667 | |
| .. date: 2021-07-30-23-27-30 | |
| .. nonce: tu0Xrv | |
| .. section: Library | |
| The :func:`tokenize.tokenize` doesn't incorrectly generate a ``NEWLINE`` | |
| token if the source doesn't end with a new line character but the last line | |
| is a comment, as the function is already generating a ``NL`` token. Patch by | |
| Pablo Galindo | |
| .. | |
| .. bpo: 44771 | |
| .. date: 2021-07-28-22-53-18 | |
| .. nonce: BvLdnU | |
| .. section: Library | |
| Added ``importlib.simple`` module implementing adapters from a low-level | |
| resources reader interface to a ``TraversableResources`` interface. Legacy | |
| API (``path``, ``contents``, ...) is now supported entirely by the | |
| ``.files()`` API with a compatibility shim supplied for resource loaders | |
| without that functionality. Feature parity with ``importlib_resources`` 5.2. | |
| .. | |
| .. bpo: 44752 | |
| .. date: 2021-07-27-22-11-29 | |
| .. nonce: _bvbrZ | |
| .. section: Library | |
| :mod:`rcompleter` does not call :func:`getattr` on :class:`property` objects | |
| to avoid the side-effect of evaluating the corresponding method. | |
| .. | |
| .. bpo: 44747 | |
| .. date: 2021-07-27-12-06-19 | |
| .. nonce: epUzZz | |
| .. section: Library | |
| Refactor usage of ``sys._getframe`` in ``typing`` module. Patch provided by | |
| Yurii Karabas. | |
| .. | |
| .. bpo: 42378 | |
| .. date: 2021-07-25-08-17-55 | |
| .. nonce: WIhUZK | |
| .. section: Library | |
| Fixes the issue with log file being overwritten when | |
| :class:`logging.FileHandler` is used in :mod:`atexit` with *filemode* set to | |
| ``'w'``. Note this will cause the message in *atexit* not being logged if | |
| the log stream is already closed due to shutdown of logging. | |
| .. | |
| .. bpo: 44720 | |
| .. date: 2021-07-24-02-17-59 | |
| .. nonce: shU5Qm | |
| .. section: Library | |
| ``weakref.proxy`` objects referencing non-iterators now raise ``TypeError`` | |
| rather than dereferencing the null ``tp_iternext`` slot and crashing. | |
| .. | |
| .. bpo: 44704 | |
| .. date: 2021-07-21-23-16-30 | |
| .. nonce: iqHLxQ | |
| .. section: Library | |
| The implementation of ``collections.abc.Set._hash()`` now matches that of | |
| ``frozenset.__hash__()``. | |
| .. | |
| .. bpo: 44666 | |
| .. date: 2021-07-21-10-43-22 | |
| .. nonce: CEThkv | |
| .. section: Library | |
| Fixed issue in :func:`compileall.compile_file` when ``sys.stdout`` is | |
| redirected. Patch by Stefan Hölzl. | |
| .. | |
| .. bpo: 44688 | |
| .. date: 2021-07-20-23-28-26 | |
| .. nonce: buFgz3 | |
| .. section: Library | |
| :meth:`sqlite3.Connection.create_collation` now accepts non-ASCII collation | |
| names. Patch by Erlend E. Aasland. | |
| .. | |
| .. bpo: 44690 | |
| .. date: 2021-07-20-22-03-24 | |
| .. nonce: tV7Zjg | |
| .. section: Library | |
| Adopt *binacii.a2b_base64*'s strict mode in *base64.b64decode*. | |
| .. | |
| .. bpo: 42854 | |
| .. date: 2021-07-20-21-51-35 | |
| .. nonce: ThuDMI | |
| .. section: Library | |
| Fixed a bug in the :mod:`!_ssl` module that was throwing :exc:`OverflowError` | |
| when using :meth:`!_ssl._SSLSocket.write` and :meth:`!_ssl._SSLSocket.read` | |
| for a big value of the ``len`` parameter. Patch by Pablo Galindo. | |
| .. | |
| .. bpo: 44686 | |
| .. date: 2021-07-20-19-35-49 | |
| .. nonce: ucCGhu | |
| .. section: Library | |
| Replace ``unittest.mock._importer`` with ``pkgutil.resolve_name``. | |
| .. | |
| .. bpo: 44353 | |
| .. date: 2021-07-20-18-34-16 | |
| .. nonce: ATuYq4 | |
| .. section: Library | |
| Make ``NewType.__call__`` faster by implementing it in C. Patch provided by | |
| Yurii Karabas. | |
| .. | |
| .. bpo: 44682 | |
| .. date: 2021-07-20-00-11-47 | |
| .. nonce: 3m2qVV | |
| .. section: Library | |
| Change the :mod:`pdb` *commands* directive to disallow setting commands for | |
| an invalid breakpoint and to display an appropriate error. | |
| .. | |
| .. bpo: 44353 | |
| .. date: 2021-07-19-22-43-15 | |
| .. nonce: HF81_Q | |
| .. section: Library | |
| Refactor ``typing.NewType`` from function into callable class. Patch | |
| provided by Yurii Karabas. | |
| .. | |
| .. bpo: 44678 | |
| .. date: 2021-07-19-18-45-00 | |
| .. nonce: YMEAu0 | |
| .. section: Library | |
| Added a separate error message for discontinuous padding in | |
| *binascii.a2b_base64* strict mode. | |
| .. | |
| .. bpo: 44524 | |
| .. date: 2021-07-19-14-04-42 | |
| .. nonce: Nbf2JC | |
| .. section: Library | |
| Add missing ``__name__`` and ``__qualname__`` attributes to ``typing`` | |
| module classes. Patch provided by Yurii Karabas. | |
| .. | |
| .. bpo: 40897 | |
| .. date: 2021-07-16-13-40-31 | |
| .. nonce: aveAre | |
| .. section: Library | |
| Give priority to using the current class constructor in | |
| :func:`inspect.signature`. Patch by Weipeng Hong. | |
| .. | |
| .. bpo: 44638 | |
| .. date: 2021-07-16-08-57-27 | |
| .. nonce: EwYKne | |
| .. section: Library | |
| Add a reference to the zipp project and hint as to how to use it. | |
| .. | |
| .. bpo: 44648 | |
| .. date: 2021-07-15-16-51-32 | |
| .. nonce: 2o49TB | |
| .. section: Library | |
| Fixed wrong error being thrown by :func:`inspect.getsource` when examining a | |
| class in the interactive session. Instead of :exc:`TypeError`, it should be | |
| :exc:`OSError` with appropriate error message. | |
| .. | |
| .. bpo: 44608 | |
| .. date: 2021-07-13-09-01-33 | |
| .. nonce: R3IcM1 | |
| .. section: Library | |
| Fix memory leak in :func:`!_tkinter._flatten` if it is called with a sequence | |
| or set, but not list or tuple. | |
| .. | |
| .. bpo: 44594 | |
| .. date: 2021-07-12-10-32-48 | |
| .. nonce: eEa5zi | |
| .. section: Library | |
| Fix an edge case of :class:`ExitStack` and :class:`AsyncExitStack` exception | |
| chaining. They will now match ``with`` block behavior when ``__context__`` | |
| is explicitly set to ``None`` when the exception is in flight. | |
| .. | |
| .. bpo: 42799 | |
| .. date: 2021-07-10-19-55-13 | |
| .. nonce: ad4tq8 | |
| .. section: Library | |
| In :mod:`fnmatch`, the cache size for compiled regex patterns | |
| (:func:`functools.lru_cache`) was bumped up from 256 to 32768, affecting | |
| functions: :func:`fnmatch.fnmatch`, :func:`fnmatch.fnmatchcase`, | |
| :func:`fnmatch.filter`. | |
| .. | |
| .. bpo: 41928 | |
| .. date: 2021-07-09-07-14-37 | |
| .. nonce: Q1jMrr | |
| .. section: Library | |
| Update :func:`shutil.copyfile` to raise :exc:`FileNotFoundError` instead of | |
| confusing :exc:`IsADirectoryError` when a path ending with a | |
| :const:`os.path.sep` does not exist; :func:`shutil.copy` and | |
| :func:`shutil.copy2` are also affected. | |
| .. | |
| .. bpo: 44569 | |
| .. date: 2021-07-08-12-22-54 | |
| .. nonce: KZ02v9 | |
| .. section: Library | |
| Added the :func:`StackSummary.format_frame` function in :mod:`traceback`. | |
| This allows users to customize the way individual lines are formatted in | |
| tracebacks without re-implementing logic to handle recursive tracebacks. | |
| .. | |
| .. bpo: 44566 | |
| .. date: 2021-07-05-18-13-25 | |
| .. nonce: o51Bd1 | |
| .. section: Library | |
| handle StopIteration subclass raised from @contextlib.contextmanager | |
| generator | |
| .. | |
| .. bpo: 44558 | |
| .. date: 2021-07-04-21-16-53 | |
| .. nonce: cm7Slv | |
| .. section: Library | |
| Make the implementation consistency of :func:`~operator.indexOf` between C | |
| and Python versions. Patch by Donghee Na. | |
| .. | |
| .. bpo: 41249 | |
| .. date: 2021-07-04-11-33-34 | |
| .. nonce: sHdwBE | |
| .. section: Library | |
| Fixes ``TypedDict`` to work with ``typing.get_type_hints()`` and postponed | |
| evaluation of annotations across modules. | |
| .. | |
| .. bpo: 44554 | |
| .. date: 2021-07-02-18-17-56 | |
| .. nonce: aBUmJo | |
| .. section: Library | |
| Refactor argument processing in :func:`pdb.main` to simplify detection of | |
| errors in input loading and clarify behavior around module or script | |
| invocation. | |
| .. | |
| .. bpo: 34798 | |
| .. date: 2021-06-30-13-29-49 | |
| .. nonce: t7FCa0 | |
| .. section: Library | |
| Break up paragraph about :class:`pprint.PrettyPrinter` construction | |
| parameters to make it easier to read. | |
| .. | |
| .. bpo: 44539 | |
| .. date: 2021-06-30-11-34-35 | |
| .. nonce: nP0Xi4 | |
| .. section: Library | |
| Added support for recognizing JPEG files without JFIF or Exif markers. | |
| .. | |
| .. bpo: 44461 | |
| .. date: 2021-06-29-21-17-17 | |
| .. nonce: acqRnV | |
| .. section: Library | |
| Fix bug with :mod:`pdb`'s handling of import error due to a package which | |
| does not have a ``__main__`` module | |
| .. | |
| .. bpo: 43625 | |
| .. date: 2021-06-29-07-27-08 | |
| .. nonce: ZlAxhp | |
| .. section: Library | |
| Fix a bug in the detection of CSV file headers by | |
| :meth:`csv.Sniffer.has_header` and improve documentation of same. | |
| .. | |
| .. bpo: 44516 | |
| .. date: 2021-06-26-12-27-14 | |
| .. nonce: BVyX_y | |
| .. section: Library | |
| Update vendored pip to 21.1.3 | |
| .. | |
| .. bpo: 42892 | |
| .. date: 2021-06-24-19-16-20 | |
| .. nonce: qvRNhI | |
| .. section: Library | |
| Fixed an exception thrown while parsing a malformed multipart email by | |
| :class:`email.message.EmailMessage`. | |
| .. | |
| .. bpo: 44468 | |
| .. date: 2021-06-23-19-02-00 | |
| .. nonce: -klV5- | |
| .. section: Library | |
| :func:`typing.get_type_hints` now finds annotations in classes and base | |
| classes with unexpected ``__module__``. Previously, it skipped those MRO | |
| elements. | |
| .. | |
| .. bpo: 44491 | |
| .. date: 2021-06-23-01-33-01 | |
| .. nonce: tiOlr5 | |
| .. section: Library | |
| Allow clearing the :mod:`sqlite3` authorizer callback by passing | |
| :const:`None` to :meth:`~sqlite3.Connection.set_authorizer`. Patch by Erlend | |
| E. Aasland. | |
| .. | |
| .. bpo: 43977 | |
| .. date: 2021-06-22-16-45-48 | |
| .. nonce: bamAGF | |
| .. section: Library | |
| Set the proper :c:macro:`Py_TPFLAGS_MAPPING` and :c:macro:`Py_TPFLAGS_SEQUENCE` | |
| flags for subclasses created before a parent has been registered as a | |
| :class:`collections.abc.Mapping` or :class:`collections.abc.Sequence`. | |
| .. | |
| .. bpo: 44482 | |
| .. date: 2021-06-22-08-43-04 | |
| .. nonce: U9GznK | |
| .. section: Library | |
| Fix very unlikely resource leak in :mod:`glob` in alternate Python | |
| implementations. | |
| .. | |
| .. bpo: 44466 | |
| .. date: 2021-06-21-12-43-04 | |
| .. nonce: NSm6mv | |
| .. section: Library | |
| The :mod:`faulthandler` module now detects if a fatal error occurs during a | |
| garbage collector collection. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 44471 | |
| .. date: 2021-06-21-10-46-58 | |
| .. nonce: 2QjXv_ | |
| .. section: Library | |
| A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in | |
| :meth:`contextlib.ExitStack.enter_context` and | |
| :meth:`contextlib.AsyncExitStack.enter_async_context` for objects which do | |
| not support the :term:`context manager` or :term:`asynchronous context | |
| manager` protocols correspondingly. | |
| .. | |
| .. bpo: 44404 | |
| .. date: 2021-06-20-19-01-11 | |
| .. nonce: McfrYB | |
| .. section: Library | |
| :mod:`tkinter`'s ``after()`` method now supports callables without the | |
| ``__name__`` attribute. | |
| .. | |
| .. bpo: 41546 | |
| .. date: 2021-06-20-14-03-18 | |
| .. nonce: lO1jXU | |
| .. section: Library | |
| Make :mod:`pprint` (like the builtin ``print``) not attempt to write to | |
| ``stdout`` when it is ``None``. | |
| .. | |
| .. bpo: 44458 | |
| .. date: 2021-06-20-07-14-46 | |
| .. nonce: myqCQ0 | |
| .. section: Library | |
| ``BUFFER_BLOCK_SIZE`` is now declared static, to avoid linking collisions | |
| when bz2, lmza or zlib are statically linked. | |
| .. | |
| .. bpo: 44464 | |
| .. date: 2021-06-19-21-52-27 | |
| .. nonce: U2oa-a | |
| .. section: Library | |
| Remove exception for flake8 in deprecated importlib.metadata interfaces. | |
| Sync with importlib_metadata 4.6. | |
| .. | |
| .. bpo: 44446 | |
| .. date: 2021-06-17-22-39-34 | |
| .. nonce: qwdRic | |
| .. section: Library | |
| Take into account that ``lineno`` might be ``None`` in | |
| :class:`traceback.FrameSummary`. | |
| .. | |
| .. bpo: 44439 | |
| .. date: 2021-06-17-15-01-51 | |
| .. nonce: 1S7QhT | |
| .. section: Library | |
| Fix in :meth:`bz2.BZ2File.write` / :meth:`lzma.LZMAFile.write` methods, when | |
| the input data is an object that supports the buffer protocol, the file | |
| length may be wrong. | |
| .. | |
| .. bpo: 44434 | |
| .. date: 2021-06-16-16-52-14 | |
| .. nonce: SQS4Pg | |
| .. section: Library | |
| _thread.start_new_thread() no longer calls PyThread_exit_thread() explicitly | |
| at the thread exit, the call was redundant. On Linux with the glibc, | |
| pthread_exit() aborts the whole process if dlopen() fails to open | |
| libgcc_s.so file (ex: EMFILE error). Patch by Victor Stinner. | |
| .. | |
| .. bpo: 42972 | |
| .. date: 2021-06-15-13-51-25 | |
| .. nonce: UnyYo1 | |
| .. section: Library | |
| The _thread.RLock type now fully implement the GC protocol: add a traverse | |
| function and the :c:macro:`Py_TPFLAGS_HAVE_GC` flag. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 44422 | |
| .. date: 2021-06-14-23-28-17 | |
| .. nonce: BlWOgv | |
| .. section: Library | |
| The :func:`threading.enumerate` function now uses a reentrant lock to | |
| prevent a hang on reentrant call. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 38291 | |
| .. date: 2021-06-14-14-19-11 | |
| .. nonce: ee4cSX | |
| .. section: Library | |
| Importing typing.io or typing.re now prints a ``DeprecationWarning``. | |
| .. | |
| .. bpo: 37880 | |
| .. date: 2021-06-13-00-16-56 | |
| .. nonce: 5bTrkw | |
| .. section: Library | |
| argparse actions store_const and append_const each receive a default value | |
| of ``None`` when the ``const`` kwarg is not provided. Previously, this raised a | |
| :exc:`TypeError`. | |
| .. | |
| .. bpo: 44389 | |
| .. date: 2021-06-12-22-58-20 | |
| .. nonce: WTRnoC | |
| .. section: Library | |
| Fix deprecation of :data:`ssl.OP_NO_TLSv1_3` | |
| .. | |
| .. bpo: 27827 | |
| .. date: 2021-06-12-21-25-35 | |
| .. nonce: TMWh1i | |
| .. section: Library | |
| :meth:`!pathlib.PureWindowsPath.is_reserved` now identifies a greater range | |
| of reserved filenames, including those with trailing spaces or colons. | |
| .. | |
| .. bpo: 44395 | |
| .. date: 2021-06-12-10-08-14 | |
| .. nonce: PcW6Sx | |
| .. section: Library | |
| Fix :meth:`~email.message.MIMEPart.as_string` to pass unixfrom properly. | |
| Patch by Donghee Na. | |
| .. | |
| .. bpo: 34266 | |
| .. date: 2021-06-10-21-53-46 | |
| .. nonce: k3fxnm | |
| .. section: Library | |
| Handle exceptions from parsing the arg of :mod:`pdb`'s run/restart command. | |
| .. | |
| .. bpo: 44362 | |
| .. date: 2021-06-10-20-07-32 | |
| .. nonce: oVOMfd | |
| .. section: Library | |
| Improve :mod:`ssl` module's deprecation messages, error reporting, and | |
| documentation for deprecations. | |
| .. | |
| .. bpo: 44342 | |
| .. date: 2021-06-10-15-06-47 | |
| .. nonce: qqkGlj | |
| .. section: Library | |
| [Enum] Change pickling from by-value to by-name. | |
| .. | |
| .. bpo: 44356 | |
| .. date: 2021-06-10-08-35-38 | |
| .. nonce: 6oDFhO | |
| .. section: Library | |
| [Enum] Allow multiple data-type mixins if they are all the same. | |
| .. | |
| .. bpo: 44351 | |
| .. date: 2021-06-10-07-26-12 | |
| .. nonce: rvyf2v | |
| .. section: Library | |
| Restore back :func:`parse_makefile` in ``distutils.sysconfig`` because it | |
| behaves differently than the similar implementation in :mod:`sysconfig`. | |
| .. | |
| .. bpo: 35800 | |
| .. date: 2021-06-09-10-08-32 | |
| .. nonce: 3hmkWw | |
| .. section: Library | |
| :class:`!smtpd.MailmanProxy` is now removed as it is unusable without an | |
| external module, ``mailman``. Patch by Donghee Na. | |
| .. | |
| .. bpo: 44357 | |
| .. date: 2021-06-09-08-32-39 | |
| .. nonce: 70Futb | |
| .. section: Library | |
| Added a function that returns cube root of the given number | |
| :func:`math.cbrt` | |
| .. | |
| .. bpo: 44339 | |
| .. date: 2021-06-08-17-47-38 | |
| .. nonce: 9JwMSc | |
| .. section: Library | |
| Change ``math.pow(±0.0, -math.inf)`` to return ``inf`` instead of raising | |
| ``ValueError``. This brings the special-case handling of ``math.pow`` into | |
| compliance with the IEEE 754 standard. | |
| .. | |
| .. bpo: 44242 | |
| .. date: 2021-06-07-10-26-14 | |
| .. nonce: MKeMCQ | |
| .. section: Library | |
| Remove missing flag check from Enum creation and move into a ``verify`` | |
| decorator. | |
| .. | |
| .. bpo: 44246 | |
| .. date: 2021-05-31-11-34-56 | |
| .. nonce: yHAkF0 | |
| .. section: Library | |
| In ``importlib.metadata``, restore compatibility in the result from | |
| ``Distribution.entry_points`` (``EntryPoints``) to honor expectations in | |
| older implementations and issuing deprecation warnings for these cases: A. | |
| ``EntryPoints`` objects are once again mutable, allowing for ``sort()`` | |
| and other list-based mutation operations. Avoid deprecation warnings by | |
| casting to a mutable sequence (e.g. ``list(dist.entry_points).sort()``). | |
| B. ``EntryPoints`` results once again allow for access by index. To avoid | |
| deprecation warnings, cast the result to a Sequence first (e.g. | |
| ``tuple(dist.entry_points)[0]``). | |
| .. | |
| .. bpo: 44246 | |
| .. date: 2021-05-31-11-28-03 | |
| .. nonce: nhmt-v | |
| .. section: Library | |
| In importlib.metadata.entry_points, de-duplication of distributions no | |
| longer requires loading the full metadata for PathDistribution objects, | |
| improving entry point loading performance by ~10x. | |
| .. | |
| .. bpo: 43858 | |
| .. date: 2021-05-31-04-51-02 | |
| .. nonce: r7LOu6 | |
| .. section: Library | |
| Added a function that returns a copy of a dict of logging levels: | |
| :func:`logging.getLevelNamesMapping` | |
| .. | |
| .. bpo: 44260 | |
| .. date: 2021-05-30-13-32-09 | |
| .. nonce: ROEbVd | |
| .. section: Library | |
| The :class:`random.Random` constructor no longer reads system entropy | |
| without need. | |
| .. | |
| .. bpo: 44254 | |
| .. date: 2021-05-29-01-05-43 | |
| .. nonce: f06xDm | |
| .. section: Library | |
| On Mac, give turtledemo button text a color that works on both light or dark | |
| background. Programmers cannot control the latter. | |
| .. | |
| .. bpo: 44258 | |
| .. date: 2021-05-28-09-43-33 | |
| .. nonce: nh5F7R | |
| .. section: Library | |
| Support PEP 515 for Fraction's initialization from string. | |
| .. | |
| .. bpo: 44235 | |
| .. date: 2021-05-26-22-04-40 | |
| .. nonce: qFBYpp | |
| .. section: Library | |
| Remove deprecated functions in the :mod:`gettext`. Patch by Donghee Na. | |
| .. | |
| .. bpo: 38693 | |
| .. date: 2021-05-26-14-50-06 | |
| .. nonce: NkMacJ | |
| .. section: Library | |
| Prefer f-strings to ``.format`` in importlib.resources. | |
| .. | |
| .. bpo: 33693 | |
| .. date: 2021-05-26-13-34-37 | |
| .. nonce: 3okzdo | |
| .. section: Library | |
| Importlib.metadata now prefers f-strings to .format. | |
| .. | |
| .. bpo: 44241 | |
| .. date: 2021-05-26-13-15-51 | |
| .. nonce: TBqej8 | |
| .. section: Library | |
| Incorporate minor tweaks from importlib_metadata 4.1: SimplePath protocol, | |
| support for Metadata 2.2. | |
| .. | |
| .. bpo: 43216 | |
| .. date: 2021-05-25-23-26-38 | |
| .. nonce: xTUyyX | |
| .. section: Library | |
| Remove the :deco:`asyncio.coroutine` :term:`decorator` | |
| enabling legacy generator-based coroutines to be compatible with async/await | |
| code; remove :class:`asyncio.coroutines.CoroWrapper` used for wrapping | |
| legacy coroutine objects in the debug mode. The decorator has been | |
| deprecated since Python 3.8 and the removal was initially scheduled for | |
| Python 3.10. Patch by Illia Volochii. | |
| .. | |
| .. bpo: 44210 | |
| .. date: 2021-05-21-21-23-43 | |
| .. nonce: 5afQ3K | |
| .. section: Library | |
| Make importlib.metadata._meta.PackageMetadata public. | |
| .. | |
| .. bpo: 43643 | |
| .. date: 2021-05-21-12-12-35 | |
| .. nonce: GWnmcF | |
| .. section: Library | |
| Declare readers.MultiplexedPath.name as a property per the spec. | |
| .. | |
| .. bpo: 27334 | |
| .. date: 2021-05-18-00-17-21 | |
| .. nonce: 32EJZi | |
| .. section: Library | |
| The :mod:`sqlite3` context manager now performs a rollback (thus releasing | |
| the database lock) if commit failed. Patch by Luca Citi and Erlend E. | |
| Aasland. | |
| .. | |
| .. bpo: 4928 | |
| .. date: 2021-05-17-21-05-06 | |
| .. nonce: Ot2yjO | |
| .. section: Library | |
| Documented existing behavior on POSIX: NamedTemporaryFiles are not deleted | |
| when creating process is killed with SIGKILL | |
| .. | |
| .. bpo: 44154 | |
| .. date: 2021-05-17-07-24-24 | |
| .. nonce: GRI5bf | |
| .. section: Library | |
| Optimize :class:`fractions.Fraction` pickling for large components. | |
| .. | |
| .. bpo: 33433 | |
| .. date: 2021-05-16-17-48-24 | |
| .. nonce: MyzO71 | |
| .. section: Library | |
| For IPv4 mapped IPv6 addresses (:rfc:`4291` Section 2.5.5.2), the | |
| :mod:`ipaddress.IPv6Address.is_private` check is deferred to the mapped IPv4 | |
| address. This solves a bug where public mapped IPv4 addresses were | |
| considered private by the IPv6 check. | |
| .. | |
| .. bpo: 44150 | |
| .. date: 2021-05-16-11-57-38 | |
| .. nonce: xAhhik | |
| .. section: Library | |
| Add optional *weights* argument to statistics.fmean(). | |
| .. | |
| .. bpo: 44142 | |
| .. date: 2021-05-16-02-24-23 | |
| .. nonce: t-XU8k | |
| .. section: Library | |
| :func:`ast.unparse` will now drop the redundant parentheses when tuples used | |
| as assignment targets (e.g in for loops). | |
| .. | |
| .. bpo: 44145 | |
| .. date: 2021-05-16-00-00-38 | |
| .. nonce: ko5SJ7 | |
| .. section: Library | |
| :mod:`hmac` computations were not releasing the GIL while calling the | |
| OpenSSL ``HMAC_Update`` C API (a new feature in 3.9). This unintentionally | |
| prevented parallel computation as other :mod:`hashlib` algorithms support. | |
| .. | |
| .. bpo: 44095 | |
| .. date: 2021-05-14-16-06-02 | |
| .. nonce: v_pLwY | |
| .. section: Library | |
| :class:`zipfile.Path` now supports :attr:`zipfile.Path.stem`, | |
| :attr:`zipfile.Path.suffixes`, and :attr:`zipfile.Path.suffix` attributes. | |
| .. | |
| .. bpo: 44077 | |
| .. date: 2021-05-13-19-44-38 | |
| .. nonce: 04b2a4 | |
| .. section: Library | |
| It's now possible to receive the type of service (ToS), a.k.a. | |
| differentiated services (DS), a.k.a. differentiated services code point | |
| (DSCP) and explicit congestion notification (ECN) IP header fields with | |
| ``socket.IP_RECVTOS``. | |
| .. | |
| .. bpo: 37788 | |
| .. date: 2021-05-13-19-07-28 | |
| .. nonce: adeFcf | |
| .. section: Library | |
| Fix a reference leak when a Thread object is never joined. | |
| .. | |
| .. bpo: 38908 | |
| .. date: 2021-05-12-16-43-21 | |
| .. nonce: nM2_rO | |
| .. section: Library | |
| Subclasses of ``typing.Protocol`` which only have data variables declared | |
| will now raise a ``TypeError`` when checked with ``isinstance`` unless they | |
| are decorated with :func:`runtime_checkable`. Previously, these checks | |
| passed silently. Patch provided by Yurii Karabas. | |
| .. | |
| .. bpo: 44098 | |
| .. date: 2021-05-10-17-45-00 | |
| .. nonce: _MoxuZ | |
| .. section: Library | |
| ``typing.ParamSpec`` will no longer be found in the ``__parameters__`` of | |
| most :mod:`typing` generics except in valid use locations specified by | |
| :pep:`612`. This prevents incorrect usage like ``typing.List[P][int]``. This | |
| change means incorrect usage which may have passed silently in 3.10 beta 1 | |
| and earlier will now error. | |
| .. | |
| .. bpo: 44089 | |
| .. date: 2021-05-09-22-52-34 | |
| .. nonce: IoANsN | |
| .. section: Library | |
| Allow subclassing ``csv.Error`` in 3.10 (it was allowed in 3.9 and earlier | |
| but was disallowed in early versions of 3.10). | |
| .. | |
| .. bpo: 44081 | |
| .. date: 2021-05-09-03-26-31 | |
| .. nonce: A-Mrto | |
| .. section: Library | |
| :func:`ast.unparse` now doesn't use redundant spaces to separate ``lambda`` | |
| and the ``:`` if there are no parameters. | |
| .. | |
| .. bpo: 44061 | |
| .. date: 2021-05-07-08-39-23 | |
| .. nonce: MvElG6 | |
| .. section: Library | |
| Fix regression in previous release when calling :func:`pkgutil.iter_modules` | |
| with a list of :class:`pathlib.Path` objects | |
| .. | |
| .. bpo: 44059 | |
| .. date: 2021-05-06-16-01-55 | |
| .. nonce: GF5r6O | |
| .. section: Library | |
| Register the SerenityOS Browser in the :mod:`webbrowser` module. | |
| .. | |
| .. bpo: 36515 | |
| .. date: 2021-05-05-11-44-49 | |
| .. nonce: uOSa3q | |
| .. section: Library | |
| The :mod:`hashlib` module no longer does unaligned memory accesses when | |
| compiled for ARM platforms. | |
| .. | |
| .. bpo: 40465 | |
| .. date: 2021-05-03-19-59-14 | |
| .. nonce: 1tB4Y0 | |
| .. section: Library | |
| Remove random module features deprecated in Python 3.9. | |
| .. | |
| .. bpo: 44018 | |
| .. date: 2021-05-03-10-07-43 | |
| .. nonce: VDyW8f | |
| .. section: Library | |
| random.seed() no longer mutates bytearray inputs. | |
| .. | |
| .. bpo: 38352 | |
| .. date: 2021-05-02-13-54-25 | |
| .. nonce: N9MlhV | |
| .. section: Library | |
| Add ``IO``, ``BinaryIO``, ``TextIO``, ``Match``, and ``Pattern`` to | |
| ``typing.__all__``. Patch by Jelle Zijlstra. | |
| .. | |
| .. bpo: 44002 | |
| .. date: 2021-05-01-15-43-37 | |
| .. nonce: KLT_wd | |
| .. section: Library | |
| :mod:`urllib.parse` now uses :func:`functool.lru_cache` for its internal URL | |
| splitting and quoting caches instead of rolling its own like its the '90s. | |
| The undocumented internal :mod:`urllib.parse` ``Quoted`` class API is now | |
| deprecated, for removal in 3.14. | |
| .. | |
| .. bpo: 43972 | |
| .. date: 2021-04-30-16-58-24 | |
| .. nonce: Y2r9lg | |
| .. section: Library | |
| When :class:`http.server.SimpleHTTPRequestHandler` sends a ``301 (Moved | |
| Permanently)`` for a directory path not ending with ``/``, add a | |
| ``Content-Length: 0`` header. This improves the behavior for certain | |
| clients. | |
| .. | |
| .. bpo: 28528 | |
| .. date: 2021-04-29-00-48-00 | |
| .. nonce: JLAVWj | |
| .. section: Library | |
| Fix a bug in :mod:`pdb` where :meth:`~pdb.Pdb.checkline` raises | |
| :exc:`AttributeError` if it is called after :meth:`~pdb.Pdb.reset`. | |
| .. | |
| .. bpo: 43853 | |
| .. date: 2021-04-15-12-02-17 | |
| .. nonce: XXCVAp | |
| .. section: Library | |
| Improved string handling for :mod:`sqlite3` user-defined functions and | |
| aggregates: | |
| * It is now possible to pass strings with embedded null characters to UDFs | |
| * Conversion failures now correctly raise :exc:`MemoryError` | |
| Patch by Erlend E. Aasland. | |
| .. | |
| .. bpo: 43666 | |
| .. date: 2021-03-30-08-39-08 | |
| .. nonce: m72tlH | |
| .. section: Library | |
| AIX: ``Lib/_aix_support.get_platform()`` may fail in an AIX WPAR. The fileset | |
| bos.rte appears to have a builddate in both LPAR and WPAR so this fileset is | |
| queried rather than bos.mp64. To prevent a similar situation (no builddate | |
| in ODM) a value (9988) sufficient for completing a build is provided. Patch | |
| by M Felt. | |
| .. | |
| .. bpo: 43650 | |
| .. date: 2021-03-29-00-23-30 | |
| .. nonce: v01tic | |
| .. section: Library | |
| Fix :exc:`MemoryError` in :func:`shutil.unpack_archive` which fails inside | |
| :func:`shutil._unpack_zipfile` on large files. Patch by Igor Bolshakov. | |
| .. | |
| .. bpo: 43612 | |
| .. date: 2021-03-24-09-40-02 | |
| .. nonce: vMGZ4y | |
| .. section: Library | |
| :func:`zlib.compress` now accepts a wbits parameter which allows users to | |
| compress data as a raw deflate block without zlib headers and trailers in | |
| one go. Previously this required instantiating a ``zlib.compressobj``. It | |
| also provides a faster alternative to ``gzip.compress`` when wbits=31 is | |
| used. | |
| .. | |
| .. bpo: 43392 | |
| .. date: 2021-03-03-13-32-37 | |
| .. nonce: QQumou | |
| .. section: Library | |
| :func:`importlib._bootstrap._find_and_load` now implements a two-step check | |
| to avoid locking when modules have been already imported and are ready. This | |
| improves performance of repeated calls to :func:`importlib.import_module` | |
| and :func:`importlib.__import__`. | |
| .. | |
| .. bpo: 43318 | |
| .. date: 2021-02-25-08-32-06 | |
| .. nonce: bZJw6V | |
| .. section: Library | |
| Fix a bug where :mod:`pdb` does not always echo cleared breakpoints. | |
| .. | |
| .. bpo: 43234 | |
| .. date: 2021-02-15-22-14-31 | |
| .. nonce: F-vKAT | |
| .. section: Library | |
| Prohibit passing non-:class:`concurrent.futures.ThreadPoolExecutor` | |
| executors to :meth:`loop.set_default_executor` following a deprecation in | |
| Python 3.8. Patch by Illia Volochii. | |
| .. | |
| .. bpo: 43232 | |
| .. date: 2021-02-15-21-17-46 | |
| .. nonce: awc4yZ | |
| .. section: Library | |
| Prohibit previously deprecated potentially disruptive operations on | |
| :class:`asyncio.trsock.TransportSocket`. Patch by Illia Volochii. | |
| .. | |
| .. bpo: 30077 | |
| .. date: 2021-02-04-23-16-03 | |
| .. nonce: v6TqAi | |
| .. section: Library | |
| Added support for Apple's aifc/sowt pseudo-compression | |
| .. | |
| .. bpo: 42971 | |
| .. date: 2021-02-02-20-11-14 | |
| .. nonce: OpVoFu | |
| .. section: Library | |
| Add definition of ``errno.EQFULL`` for platforms that define this constant | |
| (such as macOS). | |
| .. | |
| .. bpo: 43086 | |
| .. date: 2021-01-31-18-24-54 | |
| .. nonce: 2_P-SH | |
| .. section: Library | |
| Added a new optional :code:`strict_mode` parameter to *binascii.a2b_base64*. | |
| When :code:`scrict_mode` is set to :code:`True`, the *a2b_base64* function | |
| will accept only valid base64 content. More details about what "valid base64 | |
| content" is, can be found in the function's documentation. | |
| .. | |
| .. bpo: 43024 | |
| .. date: 2021-01-25-21-24-55 | |
| .. nonce: vAUrIi | |
| .. section: Library | |
| Improve the help signature of :func:`traceback.print_exception`, | |
| :func:`traceback.format_exception` and | |
| :func:`traceback.format_exception_only`. | |
| .. | |
| .. bpo: 33809 | |
| .. date: 2021-01-16-18-36-00 | |
| .. nonce: BiMK6V | |
| .. section: Library | |
| Add the :meth:`traceback.TracebackException.print` method which prints the | |
| formatted exception information. | |
| .. | |
| .. bpo: 42862 | |
| .. date: 2021-01-13-00-02-44 | |
| .. nonce: Z6ACLN | |
| .. section: Library | |
| :mod:`sqlite3` now utilizes :meth:`functools.lru_cache` to implement the | |
| connection statement cache. As a small optimisation, the default statement | |
| cache size has been increased from 100 to 128. Patch by Erlend E. Aasland. | |
| .. | |
| .. bpo: 41818 | |
| .. date: 2020-12-08-01-08-58 | |
| .. nonce: zO8vV7 | |
| .. section: Library | |
| Soumendra Ganguly: add termios.tcgetwinsize(), termios.tcsetwinsize(). | |
| .. | |
| .. bpo: 40497 | |
| .. date: 2020-10-18-09-42-53 | |
| .. nonce: CRz2sG | |
| .. section: Library | |
| :meth:`subprocess.check_output` now raises :exc:`ValueError` when the | |
| invalid keyword argument *check* is passed by user code. Previously such use | |
| would fail later with a :exc:`TypeError`. Patch by Rémi Lapeyre. | |
| .. | |
| .. bpo: 37449 | |
| .. date: 2020-10-11-20-23-48 | |
| .. nonce: f-t3V6 | |
| .. section: Library | |
| ``ensurepip`` now uses ``importlib.resources.files()`` traversable APIs | |
| .. | |
| .. bpo: 40956 | |
| .. date: 2020-10-01-21-46-34 | |
| .. nonce: _tvsZ7 | |
| .. section: Library | |
| Use Argument Clinic in :mod:`sqlite3`. Patches by Erlend E. Aasland. | |
| .. | |
| .. bpo: 41730 | |
| .. date: 2020-09-10-07-23-24 | |
| .. nonce: DyKFi9 | |
| .. section: Library | |
| ``DeprecationWarning`` is now raised when importing :mod:`tkinter.tix`, | |
| which has been deprecated in documentation since Python 3.6. | |
| .. | |
| .. bpo: 20684 | |
| .. date: 2020-07-30-14-37-15 | |
| .. nonce: qV35GU | |
| .. section: Library | |
| Remove unused ``_signature_get_bound_param`` function from :mod:`inspect` - | |
| by Anthony Sottile. | |
| .. | |
| .. bpo: 41402 | |
| .. date: 2020-07-26-18-17-30 | |
| .. nonce: YRkVkp | |
| .. section: Library | |
| Fix :meth:`email.message.EmailMessage.set_content` when called with binary | |
| data and ``7bit`` content transfer encoding. | |
| .. | |
| .. bpo: 32695 | |
| .. date: 2020-07-13-23-46-59 | |
| .. nonce: tTqqXe | |
| .. section: Library | |
| The *compresslevel* and *preset* keyword arguments of :func:`tarfile.open` | |
| are now both documented and tested. | |
| .. | |
| .. bpo: 41137 | |
| .. date: 2020-07-01-17-42-41 | |
| .. nonce: AnqbP- | |
| .. section: Library | |
| Use utf-8 encoding while reading .pdbrc files. Patch by Srinivas Reddy | |
| Thatiparthy | |
| .. | |
| .. bpo: 24391 | |
| .. date: 2020-05-30-10-48-04 | |
| .. nonce: ZCTnhX | |
| .. section: Library | |
| Improved reprs of :mod:`threading` synchronization objects: | |
| :class:`~threading.Semaphore`, :class:`~threading.BoundedSemaphore`, | |
| :class:`~threading.Event` and :class:`~threading.Barrier`. | |
| .. | |
| .. bpo: 5846 | |
| .. date: 2020-05-25-23-58-29 | |
| .. nonce: O9BIfm | |
| .. section: Library | |
| Deprecated the following :mod:`unittest` functions, scheduled for removal in | |
| Python 3.13: | |
| * :func:`!findTestCases` | |
| * :func:`!makeSuite` | |
| * :func:`!getTestCaseNames` | |
| Use :class:`~unittest.TestLoader` methods instead: | |
| * :meth:`unittest.TestLoader.loadTestsFromModule` | |
| * :meth:`unittest.TestLoader.loadTestsFromTestCase` | |
| * :meth:`unittest.TestLoader.getTestCaseNames` | |
| Patch by Erlend E. Aasland. | |
| .. | |
| .. bpo: 40563 | |
| .. date: 2020-05-21-01-42-32 | |
| .. nonce: fDn5bP | |
| .. section: Library | |
| Support pathlike objects on dbm/shelve. Patch by Hakan Çelik and | |
| Henry-Joseph Audéoud. | |
| .. | |
| .. bpo: 34990 | |
| .. date: 2020-04-24-20-39-38 | |
| .. nonce: 3SmL9M | |
| .. section: Library | |
| Fixed a Y2k38 bug in the compileall module where it would fail to compile | |
| files with a modification time after the year 2038. | |
| .. | |
| .. bpo: 39549 | |
| .. date: 2020-02-03-21-18-31 | |
| .. nonce: l4a8uH | |
| .. section: Library | |
| Whereas the code for reprlib.Repr had previously used a hardcoded string | |
| value of '...', this PR updates it to use of a “fillvalue” attribute, whose | |
| value defaults to '...' and can be reset in either individual reprlib.Repr | |
| instances or in subclasses thereof. | |
| .. | |
| .. bpo: 37022 | |
| .. date: 2020-01-25-12-58-20 | |
| .. nonce: FUZI25 | |
| .. section: Library | |
| :mod:`pdb` now displays exceptions from ``repr()`` with its ``p`` and ``pp`` | |
| commands. | |
| .. | |
| .. bpo: 38840 | |
| .. date: 2020-01-16-23-41-16 | |
| .. nonce: VzzYZz | |
| .. section: Library | |
| Fix ``test___all__`` on platforms lacking a shared memory implementation. | |
| .. | |
| .. bpo: 39359 | |
| .. date: 2020-01-16-13-54-28 | |
| .. nonce: hzTu0h | |
| .. section: Library | |
| Add one missing check that the password is a bytes object for an encrypted | |
| zipfile. | |
| .. | |
| .. bpo: 38741 | |
| .. date: 2019-11-12-18-59-33 | |
| .. nonce: W7IYkq | |
| .. section: Library | |
| :mod:`configparser`: using ']' inside a section header will no longer cut | |
| the section name short at the ']' | |
| .. | |
| .. bpo: 38415 | |
| .. date: 2019-10-08-14-08-59 | |
| .. nonce: N1bUw6 | |
| .. section: Library | |
| Added missing behavior to :func:`contextlib.asynccontextmanager` to match | |
| :func:`contextlib.contextmanager` so decorated functions can themselves be | |
| decorators. | |
| .. | |
| .. bpo: 30256 | |
| .. date: 2019-09-25-13-54-41 | |
| .. nonce: wBkzox | |
| .. section: Library | |
| Pass multiprocessing BaseProxy argument ``manager_owned`` through AutoProxy. | |
| .. | |
| .. bpo: 27513 | |
| .. date: 2019-06-03-23-53-25 | |
| .. nonce: qITN7d | |
| .. section: Library | |
| :func:`email.utils.getaddresses` now accepts :class:`email.header.Header` | |
| objects along with string values. Patch by Zackery Spytz. | |
| .. | |
| .. bpo: 16379 | |
| .. date: 2019-05-08-15-14-32 | |
| .. nonce: rN5JVe | |
| .. section: Library | |
| Add SQLite error code and name to :mod:`sqlite3` exceptions. Patch by Aviv | |
| Palivoda, Daniel Shahaf, and Erlend E. Aasland. | |
| .. | |
| .. bpo: 26228 | |
| .. date: 2019-02-26-09-31-59 | |
| .. nonce: wyrHKc | |
| .. section: Library | |
| pty.spawn no longer hangs on FreeBSD, macOS, and Solaris. | |
| .. | |
| .. bpo: 33349 | |
| .. date: 2018-04-24-14-25-07 | |
| .. nonce: Y_0LIr | |
| .. section: Library | |
| lib2to3 now recognizes async generators everywhere. | |
| .. | |
| .. bpo: 29298 | |
| .. date: 2017-09-20-14-43-03 | |
| .. nonce: _78CSN | |
| .. section: Library | |
| Fix ``TypeError`` when required subparsers without ``dest`` do not receive | |
| arguments. Patch by Anthony Sottile. | |
| .. | |
| .. bpo: 45216 | |
| .. date: 2021-09-18-13-45-19 | |
| .. nonce: o56nyt | |
| .. section: Documentation | |
| Remove extra documentation listing methods in ``difflib``. It was rendering | |
| twice in pydoc and was outdated in some places. | |
| .. | |
| .. bpo: 45024 | |
| .. date: 2021-09-08-17-20-19 | |
| .. nonce: dkNPNi | |
| .. section: Documentation | |
| :mod:`collections.abc` documentation has been expanded to explicitly cover | |
| how instance and subclass checks work, with additional doctest examples and | |
| an exhaustive list of ABCs which test membership purely by presence of the | |
| right :term:`special method`\s. Patch by Raymond Hettinger. | |
| .. | |
| .. bpo: 44957 | |
| .. date: 2021-08-19-15-53-08 | |
| .. nonce: imqrh3 | |
| .. section: Documentation | |
| Promote PEP 604 union syntax by using it where possible. Also, mention ``X | | |
| Y`` more prominently in section about ``Union`` and mention ``X | None`` at | |
| all in section about ``Optional``. | |
| .. | |
| .. bpo: 16580 | |
| .. date: 2021-08-13-20-17-59 | |
| .. nonce: MZ_iK9 | |
| .. section: Documentation | |
| Added code equivalents for the :meth:`int.to_bytes` and | |
| :meth:`int.from_bytes` methods, as well as tests ensuring that these code | |
| equivalents are valid. | |
| .. | |
| .. bpo: 44903 | |
| .. date: 2021-08-13-19-08-03 | |
| .. nonce: aJuvQF | |
| .. section: Documentation | |
| Removed the ``othergui.rst`` file, any references to it, and the list of GUI | |
| frameworks in the FAQ. In their place I've added links to the Python Wiki | |
| `page on GUI frameworks <https://wiki.python.org/moin/GuiProgramming>`_. | |
| .. | |
| .. bpo: 33479 | |
| .. date: 2021-08-11-18-02-06 | |
| .. nonce: rCe4c5 | |
| .. section: Documentation | |
| Tkinter documentation has been greatly expanded with new "Architecture" and | |
| "Threading model" sections. | |
| .. | |
| .. bpo: 36700 | |
| .. date: 2021-08-09-19-58-45 | |
| .. nonce: WPNW5f | |
| .. section: Documentation | |
| :mod:`base64` RFC references were updated to point to :rfc:`4648`; a section | |
| was added to point users to the new "security considerations" section of the | |
| RFC. | |
| .. | |
| .. bpo: 44740 | |
| .. date: 2021-07-26-23-48-31 | |
| .. nonce: zMFGMV | |
| .. section: Documentation | |
| Replaced occurrences of uppercase "Web" and "Internet" with lowercase | |
| versions per the 2016 revised Associated Press Style Book. | |
| .. | |
| .. bpo: 44693 | |
| .. date: 2021-07-25-23-04-15 | |
| .. nonce: JuCbNq | |
| .. section: Documentation | |
| Update the definition of __future__ in the glossary by replacing the | |
| confusing word "pseudo-module" with a more accurate description. | |
| .. | |
| .. bpo: 35183 | |
| .. date: 2021-07-22-08-28-03 | |
| .. nonce: p9BWTB | |
| .. section: Documentation | |
| Add typical examples to os.path.splitext docs | |
| .. | |
| .. bpo: 30511 | |
| .. date: 2021-07-20-21-03-18 | |
| .. nonce: eMFkRi | |
| .. section: Documentation | |
| Clarify that :func:`shutil.make_archive` is not thread-safe due to reliance | |
| on changing the current working directory. | |
| .. | |
| .. bpo: 44561 | |
| .. date: 2021-07-18-22-43-14 | |
| .. nonce: T7HpWm | |
| .. section: Documentation | |
| Update of three expired hyperlinks in Doc/distributing/index.rst: "Project | |
| structure", "Building and packaging the project", and "Uploading the project | |
| to the Python Packaging Index". | |
| .. | |
| .. bpo: 44651 | |
| .. date: 2021-07-18-22-26-02 | |
| .. nonce: SjT9iY | |
| .. section: Documentation | |
| Delete entry "coercion" in Doc/glossary.rst for its outdated definition. | |
| .. | |
| .. bpo: 42958 | |
| .. date: 2021-07-15-11-19-03 | |
| .. nonce: gC5IHM | |
| .. section: Documentation | |
| Updated the docstring and docs of :func:`filecmp.cmp` to be more accurate | |
| and less confusing especially in respect to *shallow* arg. | |
| .. | |
| .. bpo: 44631 | |
| .. date: 2021-07-13-22-25-13 | |
| .. nonce: qkGwe4 | |
| .. section: Documentation | |
| Refactored the ``repr()`` code of the ``_Environ`` (os module). | |
| .. | |
| .. bpo: 44613 | |
| .. date: 2021-07-12-11-39-20 | |
| .. nonce: DIXNzc | |
| .. section: Documentation | |
| importlib.metadata is no longer provisional. | |
| .. | |
| .. bpo: 44558 | |
| .. date: 2021-07-03-18-25-17 | |
| .. nonce: 0pTknl | |
| .. section: Documentation | |
| Match the docstring and python implementation of :func:`~operator.countOf` | |
| to the behavior of its c implementation. | |
| .. | |
| .. bpo: 44544 | |
| .. date: 2021-07-02-14-02-29 | |
| .. nonce: _5_aCz | |
| .. section: Documentation | |
| List all kwargs for :func:`textwrap.wrap`, :func:`textwrap.fill`, and | |
| :func:`textwrap.shorten`. Now, there are nav links to attributes of | |
| :class:`TextWrap`, which makes navigation much easier while minimizing | |
| duplication in the documentation. | |
| .. | |
| .. bpo: 38062 | |
| .. date: 2021-06-28-12-13-48 | |
| .. nonce: 9Ehp9O | |
| .. section: Documentation | |
| Clarify that atexit uses equality comparisons internally. | |
| .. | |
| .. bpo: 40620 | |
| .. date: 2021-06-26-17-41-06 | |
| .. nonce: PAYDrB | |
| .. section: Documentation | |
| Convert examples in tutorial controlflow.rst section 4.3 to be | |
| interpreter-demo style. | |
| .. | |
| .. bpo: 43066 | |
| .. date: 2021-06-24-14-37-16 | |
| .. nonce: Ti7ahX | |
| .. section: Documentation | |
| Added a warning to :mod:`zipfile` docs: filename arg with a leading slash | |
| may cause archive to be un-openable on Windows systems. | |
| .. | |
| .. bpo: 39452 | |
| .. date: 2021-06-23-15-21-36 | |
| .. nonce: o_I-6d | |
| .. section: Documentation | |
| Rewrote ``Doc/library/__main__.rst``. Broadened scope of the document to | |
| explicitly discuss and differentiate between ``__main__.py`` in packages | |
| versus the ``__name__ == '__main__'`` expression (and the idioms that | |
| surround it). | |
| .. | |
| .. bpo: 13814 | |
| .. date: 2021-06-21-15-46-32 | |
| .. nonce: LDcslu | |
| .. section: Documentation | |
| In the Design FAQ, answer "Why don't generators support the with statement?" | |
| .. | |
| .. bpo: 27752 | |
| .. date: 2021-06-18-18-04-53 | |
| .. nonce: NEByNk | |
| .. section: Documentation | |
| Documentation of csv.Dialect is more descriptive. | |
| .. | |
| .. bpo: 44453 | |
| .. date: 2021-06-18-06-44-45 | |
| .. nonce: 3PIkj2 | |
| .. section: Documentation | |
| Fix documentation for the return type of :func:`sysconfig.get_path`. | |
| .. | |
| .. bpo: 44392 | |
| .. date: 2021-06-16-18-09-49 | |
| .. nonce: 6RF1Sc | |
| .. section: Documentation | |
| Added a new section in the C API documentation for types used in type | |
| hinting. Documented ``Py_GenericAlias`` and ``Py_GenericAliasType``. | |
| .. | |
| .. bpo: 38291 | |
| .. date: 2021-06-14-09-20-37 | |
| .. nonce: VMYa_Q | |
| .. section: Documentation | |
| Mark ``typing.io`` and ``typing.re`` as deprecated since Python 3.8 in the | |
| documentation. They were never properly supported by type checkers. | |
| .. | |
| .. bpo: 44322 | |
| .. date: 2021-06-06-14-12-00 | |
| .. nonce: K0PHfE | |
| .. section: Documentation | |
| Document that SyntaxError args have a details tuple and that details are | |
| adjusted for errors in f-string field replacement expressions. | |
| .. | |
| .. bpo: 42392 | |
| .. date: 2021-05-26-11-16-33 | |
| .. nonce: oxRx6E | |
| .. section: Documentation | |
| Document the deprecation and removal of the ``loop`` parameter for many | |
| functions and classes in :mod:`asyncio`. | |
| .. | |
| .. bpo: 44195 | |
| .. date: 2021-05-23-09-11-28 | |
| .. nonce: 1bqkOs | |
| .. section: Documentation | |
| Corrected references to ``TraversableResources`` in docs. There is no | |
| ``TraversableReader``. | |
| .. | |
| .. bpo: 41963 | |
| .. date: 2021-05-17-20-03-47 | |
| .. nonce: eUz9_o | |
| .. section: Documentation | |
| Document that ``ConfigParser`` strips off comments when reading | |
| configuration files. | |
| .. | |
| .. bpo: 44072 | |
| .. date: 2021-05-08-09-48-05 | |
| .. nonce: fb2x5I | |
| .. section: Documentation | |
| Correct where in the numeric ABC hierarchy ``**`` support is added, i.e., in | |
| numbers.Complex, not numbers.Integral. | |
| .. | |
| .. bpo: 43558 | |
| .. date: 2021-05-07-12-27-09 | |
| .. nonce: UGhA8R | |
| .. section: Documentation | |
| Add the remark to :mod:`dataclasses` documentation that the :meth:`__init__` | |
| of any base class has to be called in :meth:`__post_init__`, along with a | |
| code example. | |
| .. | |
| .. bpo: 44025 | |
| .. date: 2021-05-03-22-08-08 | |
| .. nonce: gcB7iP | |
| .. section: Documentation | |
| Clarify when '_' in match statements is a keyword, and when not. | |
| .. | |
| .. bpo: 41706 | |
| .. date: 2020-09-03-13-37-19 | |
| .. nonce: _zXWOR | |
| .. section: Documentation | |
| Fix docs about how methods like ``__add__`` are invoked when evaluating | |
| operator expressions. | |
| .. | |
| .. bpo: 41621 | |
| .. date: 2020-08-24-13-35-04 | |
| .. nonce: nqaw9G | |
| .. section: Documentation | |
| Document that :class:`collections.defaultdict` parameter ``default_factory`` | |
| defaults to ``None`` and is positional-only. | |
| .. | |
| .. bpo: 41576 | |
| .. date: 2020-08-21-22-59-37 | |
| .. nonce: 7a6CQR | |
| .. section: Documentation | |
| document BaseException in favor of bare except | |
| .. | |
| .. bpo: 21760 | |
| .. date: 2020-03-21-01-19-28 | |
| .. nonce: CqofIc | |
| .. section: Documentation | |
| The description for __file__ fixed. Patch by Furkan Onder | |
| .. | |
| .. bpo: 39498 | |
| .. date: 2020-01-30-05-18-48 | |
| .. nonce: Nu3sFL | |
| .. section: Documentation | |
| Add a "Security Considerations" index which links to standard library | |
| modules that have explicitly documented security considerations. | |
| .. | |
| .. bpo: 33479 | |
| .. date: 2018-05-19-15-59-29 | |
| .. nonce: 4cLlxo | |
| .. section: Documentation | |
| Remove the unqualified claim that tkinter is threadsafe. It has not been | |
| true for several years and likely never was. An explanation of what is true | |
| may be added later, after more discussion, and possibly after patching | |
| _tkinter.c, | |
| .. | |
| .. bpo: 40173 | |
| .. date: 2021-09-30-16-54-39 | |
| .. nonce: J_slCw | |
| .. section: Tests | |
| Fix :func:`test.support.import_helper.import_fresh_module`. | |
| .. | |
| .. bpo: 45280 | |
| .. date: 2021-09-25-11-05-31 | |
| .. nonce: 3MA6lC | |
| .. section: Tests | |
| Add a test case for empty :class:`typing.NamedTuple`. | |
| .. | |
| .. bpo: 45269 | |
| .. date: 2021-09-24-10-41-49 | |
| .. nonce: 8jKEr8 | |
| .. section: Tests | |
| Cover case when invalid ``markers`` type is supplied to ``c_make_encoder``. | |
| .. | |
| .. bpo: 45128 | |
| .. date: 2021-09-16-17-22-35 | |
| .. nonce: Jz6fl2 | |
| .. section: Tests | |
| Fix ``test_multiprocessing_fork`` failure due to ``test_logging`` and | |
| ``sys.modules`` manipulation. | |
| .. | |
| .. bpo: 45209 | |
| .. date: 2021-09-15-23-32-39 | |
| .. nonce: 55ntL5 | |
| .. section: Tests | |
| Fix ``UserWarning: resource_tracker`` warning in | |
| ``_test_multiprocessing._TestSharedMemory.test_shared_memory_cleaned_after_process_termination`` | |
| .. | |
| .. bpo: 45185 | |
| .. date: 2021-09-14-14-54-04 | |
| .. nonce: qFx5I6 | |
| .. section: Tests | |
| Enables ``TestEnumerations`` test cases in ``test_ssl`` suite. | |
| .. | |
| .. bpo: 45195 | |
| .. date: 2021-09-14-13-16-18 | |
| .. nonce: EyQR1G | |
| .. section: Tests | |
| Fix test_readline.test_nonascii(): sometimes, the newline character is not | |
| written at the end, so don't expect it in the output. Patch by Victor | |
| Stinner. | |
| .. | |
| .. bpo: 45156 | |
| .. date: 2021-09-13-00-28-17 | |
| .. nonce: 8oomV3 | |
| .. section: Tests | |
| Fixes infinite loop on :func:`unittest.mock.seal` of mocks created by | |
| :func:`~unittest.create_autospec`. | |
| .. | |
| .. bpo: 45125 | |
| .. date: 2021-09-11-22-08-18 | |
| .. nonce: FVSzs2 | |
| .. section: Tests | |
| Improves pickling tests and docs of ``SharedMemory`` and ``SharableList`` | |
| objects. | |
| .. | |
| .. bpo: 44860 | |
| .. date: 2021-09-08-13-01-37 | |
| .. nonce: qXd0kx | |
| .. section: Tests | |
| Update ``test_sysconfig.test_user_similar()`` for the posix_user scheme: | |
| ``platlib`` doesn't use :data:`sys.platlibdir`. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 45052 | |
| .. date: 2021-09-06-19-00-29 | |
| .. nonce: yrOK3J | |
| .. section: Tests | |
| ``WithProcessesTestSharedMemory.test_shared_memory_basics`` test was | |
| ignored, because ``self.assertEqual(sms.size, sms2.size)`` line was failing. | |
| It is now removed and test is unskipped. | |
| The main motivation for this line to be removed from the test is that the | |
| ``size`` of ``SharedMemory`` is not ever guaranteed to be the same. It is | |
| decided by the platform. | |
| .. | |
| .. bpo: 44895 | |
| .. date: 2021-09-01-17-17-44 | |
| .. nonce: kV7H77 | |
| .. section: Tests | |
| libregrtest now clears the type cache later to reduce the risk of false | |
| alarm when checking for reference leaks. Previously, the type cache was | |
| cleared too early and libregrtest raised a false alarm about reference leaks | |
| under very specific conditions. Patch by Irit Katriel and Victor Stinner. | |
| .. | |
| .. bpo: 45042 | |
| .. date: 2021-08-30-11-54-14 | |
| .. nonce: QMz3X8 | |
| .. section: Tests | |
| Fixes that test classes decorated with | |
| ``@hashlib_helper.requires_hashdigest`` were skipped all the time. | |
| .. | |
| .. bpo: 25130 | |
| .. date: 2021-08-27-22-37-19 | |
| .. nonce: ig4oJe | |
| .. section: Tests | |
| Add calls of :func:`gc.collect` in tests to support PyPy. | |
| .. | |
| .. bpo: 45011 | |
| .. date: 2021-08-26-14-20-44 | |
| .. nonce: mQZdXU | |
| .. section: Tests | |
| Made tests relying on the :mod:`!_asyncio` C extension module optional to | |
| allow running on alternative Python implementations. Patch by Serhiy | |
| Storchaka. | |
| .. | |
| .. bpo: 44949 | |
| .. date: 2021-08-18-18-30-12 | |
| .. nonce: VE5ENv | |
| .. section: Tests | |
| Fix auto history tests of test_readline: sometimes, the newline character is | |
| not written at the end, so don't expect it in the output. | |
| .. | |
| .. bpo: 44891 | |
| .. date: 2021-08-13-12-11-06 | |
| .. nonce: T9_mBT | |
| .. section: Tests | |
| Tests were added to clarify :func:`id` is preserved when ``obj * 1`` is used | |
| on :class:`str` and :class:`bytes` objects. Patch by Nikita Sobolev. | |
| .. | |
| .. bpo: 44852 | |
| .. date: 2021-08-06-18-36-04 | |
| .. nonce: sUL8YX | |
| .. section: Tests | |
| Add ability to wholesale silence DeprecationWarnings while running the | |
| regression test suite. | |
| .. | |
| .. bpo: 40928 | |
| .. date: 2021-08-06-00-07-15 | |
| .. nonce: aIwb6G | |
| .. section: Tests | |
| Notify users running test_decimal regression tests on macOS of potential | |
| harmless "malloc can't allocate region" messages spewed by test_decimal. | |
| .. | |
| .. bpo: 44734 | |
| .. date: 2021-07-24-20-09-15 | |
| .. nonce: KKsNOV | |
| .. section: Tests | |
| Fixed floating-point precision issue in turtle tests. | |
| .. | |
| .. bpo: 44708 | |
| .. date: 2021-07-22-16-38-39 | |
| .. nonce: SYNaac | |
| .. section: Tests | |
| Regression tests, when run with -w, are now re-running only the affected | |
| test methods instead of re-running the entire test file. | |
| .. | |
| .. bpo: 42095 | |
| .. date: 2021-07-17-11-41-20 | |
| .. nonce: kCB7oj | |
| .. section: Tests | |
| Added interop tests for Apple plists: generate plist files with Python | |
| plistlib and parse with Apple plutil; and the other way round. | |
| .. | |
| .. bpo: 44647 | |
| .. date: 2021-07-16-14-02-33 | |
| .. nonce: 5LzqIy | |
| .. section: Tests | |
| Added a permanent Unicode-valued environment variable to regression tests to | |
| ensure they handle this use case in the future. If your test environment | |
| breaks because of that, report a bug to us, and temporarily set | |
| PYTHONREGRTEST_UNICODE_GUARD=0 in your test environment. | |
| .. | |
| .. bpo: 44515 | |
| .. date: 2021-06-26-18-37-36 | |
| .. nonce: e9fO6f | |
| .. section: Tests | |
| Adjust recently added contextlib tests to avoid assuming the use of a | |
| refcounted GC | |
| .. | |
| .. bpo: 44287 | |
| .. date: 2021-06-21-17-53-41 | |
| .. nonce: YON57s | |
| .. section: Tests | |
| Fix asyncio test_popen() of test_windows_utils by using a longer timeout. | |
| Use military grade battle-tested :data:`test.support.SHORT_TIMEOUT` timeout | |
| rather than a hardcoded timeout of 10 seconds: it's 30 seconds by default, | |
| but it is made longer on slow buildbots. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 44451 | |
| .. date: 2021-06-18-15-19-35 | |
| .. nonce: aj5pqE | |
| .. section: Tests | |
| Reset ``DeprecationWarning`` filters in | |
| ``test.test_importlib.test_metadata_api.APITests.test_entry_points_by_index`` | |
| to avoid ``StopIteration`` error if ``DeprecationWarnings`` are ignored. | |
| .. | |
| .. bpo: 44363 | |
| .. date: 2021-06-10-11-19-43 | |
| .. nonce: -K9jD0 | |
| .. section: Tests | |
| Account for address sanitizer in test_capi. test_capi now passes when run | |
| GCC address sanitizer. | |
| .. | |
| .. bpo: 44364 | |
| .. date: 2021-06-09-15-32-05 | |
| .. nonce: zu9Zee | |
| .. section: Tests | |
| Add non integral tests for :func:`math.sqrt` function. | |
| .. | |
| .. bpo: 43921 | |
| .. date: 2021-06-03-03-29-34 | |
| .. nonce: nwH1FS | |
| .. section: Tests | |
| Fix test_ssl.test_wrong_cert_tls13(): use ``suppress_ragged_eofs=False``, | |
| since ``read()`` can raise :exc:`ssl.SSLEOFError` on Windows. Patch by | |
| Victor Stinner. | |
| .. | |
| .. bpo: 43921 | |
| .. date: 2021-06-02-17-41-42 | |
| .. nonce: xP7yZ4 | |
| .. section: Tests | |
| Fix test_pha_required_nocert() of test_ssl: catch two more EOF cases (when | |
| the ``recv()`` method returns an empty string). Patch by Victor Stinner. | |
| .. | |
| .. bpo: 44131 | |
| .. date: 2021-05-14-14-13-44 | |
| .. nonce: YPizoC | |
| .. section: Tests | |
| Add test_frozenmain to test_embed to test the :c:func:`Py_FrozenMain` C | |
| function. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 31904 | |
| .. date: 2021-05-07-15-46-04 | |
| .. nonce: 8dk3la | |
| .. section: Tests | |
| Ignore error string case in test_file_not_exists(). | |
| .. | |
| .. bpo: 42083 | |
| .. date: 2021-05-04-18-10-57 | |
| .. nonce: EMS2TK | |
| .. section: Tests | |
| Add test to check that ``PyStructSequence_NewType`` accepts a | |
| ``PyStructSequence_Desc`` with ``doc`` field set to ``NULL``. | |
| .. | |
| .. bpo: 35753 | |
| .. date: 2020-10-25-19-20-26 | |
| .. nonce: 2LT-hO | |
| .. section: Tests | |
| Fix crash in doctest when doctest parses modules that include unwrappable | |
| functions by skipping those functions. | |
| .. | |
| .. bpo: 30256 | |
| .. date: 2019-09-25-18-10-10 | |
| .. nonce: A5i76Q | |
| .. section: Tests | |
| Add test for nested queues when using ``multiprocessing`` shared objects | |
| ``AutoProxy[Queue]`` inside ``ListProxy`` and ``DictProxy`` | |
| .. | |
| .. bpo: 45220 | |
| .. date: 2021-09-16-18-00-43 | |
| .. nonce: TgbkvW | |
| .. section: Build | |
| Avoid building with the Windows 11 SDK previews automatically. This may be | |
| overridden by setting the ``DefaultWindowsSDKVersion`` environment variable | |
| before building. | |
| .. | |
| .. bpo: 45020 | |
| .. date: 2021-09-14-10-07-23 | |
| .. nonce: _VGGPv | |
| .. section: Build | |
| Freeze stdlib modules that are imported during startup. This provides | |
| significant performance improvements to startup. If necessary, use the | |
| previously added "-X frozen_modules=off" commandline option to force | |
| importing the source modules. | |
| .. | |
| .. bpo: 45188 | |
| .. date: 2021-09-14-00-47-57 | |
| .. nonce: MNbo_T | |
| .. section: Build | |
| Windows builds now regenerate frozen modules as the first part of the build. | |
| Previously the regeneration was later in the build, which would require it | |
| to be restarted if any modules had changed. | |
| .. | |
| .. bpo: 45163 | |
| .. date: 2021-09-11-06-05-23 | |
| .. nonce: q7xT93 | |
| .. section: Build | |
| Fixes Haiku platform build. | |
| .. | |
| .. bpo: 45067 | |
| .. date: 2021-09-09-16-45-26 | |
| .. nonce: mFmY92 | |
| .. section: Build | |
| The ncurses function extended_color_content was introduced in 2017 | |
| (https://invisible-island.net/ncurses/NEWS.html#index-t20170401). The | |
| ncurses-devel package in CentOS 7 had a older version ncurses resulted in | |
| compilation error. For compiling ncurses with extended color support, we | |
| verify the version of the ncurses library >= 20170401. | |
| .. | |
| .. bpo: 45019 | |
| .. date: 2021-08-26-13-10-46 | |
| .. nonce: e0mo49 | |
| .. section: Build | |
| Generate lines in relevant files for frozen modules. Up until now each of | |
| the files had to be edited manually. This change makes it easier to add to | |
| and modify the frozen modules. | |
| .. | |
| .. bpo: 44340 | |
| .. date: 2021-07-19-01-09-56 | |
| .. nonce: JNeOf4 | |
| .. section: Build | |
| Add support for building with clang thin lto via --with-lto=thin/full. Patch | |
| by Donghee Na and Brett Holman. | |
| .. | |
| .. bpo: 44535 | |
| .. date: 2021-06-30-02-32-46 | |
| .. nonce: M9iN4- | |
| .. section: Build | |
| Enable building using a Visual Studio 2022 install on Windows. | |
| .. | |
| .. bpo: 43298 | |
| .. date: 2021-06-19-11-50-03 | |
| .. nonce: 9ircMb | |
| .. section: Build | |
| Improved error message when building without a Windows SDK installed. | |
| .. | |
| .. bpo: 44381 | |
| .. date: 2021-06-10-18-08-44 | |
| .. nonce: Xpc1iX | |
| .. section: Build | |
| The Windows build now accepts :envvar:`EnableControlFlowGuard` set to | |
| ``guard`` to enable CFG. | |
| .. | |
| .. bpo: 41282 | |
| .. date: 2021-05-24-03-31-17 | |
| .. nonce: L8nP44 | |
| .. section: Build | |
| Fix broken ``make install`` that caused standard library extension modules | |
| to be unnecessarily and incorrectly rebuilt during the install phase of | |
| cpython. | |
| .. | |
| .. bpo: 45375 | |
| .. date: 2021-10-05-12-41-53 | |
| .. nonce: CohPP- | |
| .. section: Windows | |
| Fixes an assertion failure due to searching for the standard library in | |
| unnormalised paths. | |
| .. | |
| .. bpo: 45022 | |
| .. date: 2021-09-03-18-05-21 | |
| .. nonce: bgpD_r | |
| .. section: Windows | |
| Update Windows release to include libffi 3.4.2 | |
| .. | |
| .. bpo: 45007 | |
| .. date: 2021-08-27-23-50-02 | |
| .. nonce: NIBlVG | |
| .. section: Windows | |
| Update to OpenSSL 1.1.1l in Windows build | |
| .. | |
| .. bpo: 44848 | |
| .. date: 2021-08-06-10-11-07 | |
| .. nonce: ib3Jcz | |
| .. section: Windows | |
| Upgrade Windows installer to use SQLite 3.36.0. | |
| .. | |
| .. bpo: 44572 | |
| .. date: 2021-07-13-15-32-49 | |
| .. nonce: gXvhDc | |
| .. section: Windows | |
| Avoid consuming standard input in the :mod:`platform` module | |
| .. | |
| .. bpo: 44582 | |
| .. date: 2021-07-07-21-07-18 | |
| .. nonce: 4Mm6Hh | |
| .. section: Windows | |
| Accelerate speed of :mod:`mimetypes` initialization using a native | |
| implementation of the registry scan. | |
| .. | |
| .. bpo: 41299 | |
| .. date: 2021-06-06-16-36-13 | |
| .. nonce: Rg-vb_ | |
| .. section: Windows | |
| Fix 16 milliseconds jitter when using timeouts in :mod:`threading`, such as | |
| with :meth:`threading.Lock.acquire` or :meth:`threading.Condition.wait`. | |
| .. | |
| .. bpo: 42686 | |
| .. date: 2021-01-01-21-21-03 | |
| .. nonce: G_f-TC | |
| .. section: Windows | |
| Build :mod:`sqlite3` with math functions enabled. Patch by Erlend E. | |
| Aasland. | |
| .. | |
| .. bpo: 40263 | |
| .. date: 2020-04-13-15-20-28 | |
| .. nonce: 1KKEbu | |
| .. section: Windows | |
| This is a follow-on bug from https://bugs.python.org/issue26903. Once that | |
| is applied we run into an off-by-one assertion problem. The assert was not | |
| correct. | |
| .. | |
| .. bpo: 45007 | |
| .. date: 2021-08-30-00-04-10 | |
| .. nonce: pixqUB | |
| .. section: macOS | |
| Update macOS installer builds to use OpenSSL 1.1.1l. | |
| .. | |
| .. bpo: 34602 | |
| .. date: 2021-08-27-16-55-10 | |
| .. nonce: ZjHsYJ | |
| .. section: macOS | |
| When building CPython on macOS with ``./configure | |
| --with-undefined-behavior-sanitizer --with-pydebug``, the stack size is now | |
| quadrupled to allow for the entire test suite to pass. | |
| .. | |
| .. bpo: 44848 | |
| .. date: 2021-08-06-10-08-41 | |
| .. nonce: 0uYXsE | |
| .. section: macOS | |
| Update macOS installer to use SQLite 3.36.0. | |
| .. | |
| .. bpo: 44689 | |
| .. date: 2021-07-20-22-27-01 | |
| .. nonce: mmT_xH | |
| .. section: macOS | |
| :meth:`ctypes.util.find_library` now works correctly on macOS 11 Big Sur | |
| even if Python is built on an older version of macOS. Previously, when | |
| built on older macOS systems, ``find_library`` was not able to find macOS | |
| system libraries when running on Big Sur due to changes in how system | |
| libraries are stored. | |
| .. | |
| .. bpo: 41972 | |
| .. date: 2021-07-12-15-42-02 | |
| .. nonce: yUjE8j | |
| .. section: macOS | |
| The framework build's user header path in sysconfig is changed to add a | |
| 'pythonX.Y' component to match distutils's behavior. | |
| .. | |
| .. bpo: 43109 | |
| .. date: 2021-05-24-21-15-41 | |
| .. nonce: npKJ9c | |
| .. section: macOS | |
| Allow --with-lto configure option to work with Apple-supplied Xcode or | |
| Command Line Tools. | |
| .. | |
| .. bpo: 34932 | |
| .. date: 2021-03-29-21-11-23 | |
| .. nonce: f3Hdyd | |
| .. section: macOS | |
| Add socket.TCP_KEEPALIVE support for macOS. Patch by Shane Harvey. | |
| .. | |
| .. bpo: 45296 | |
| .. date: 2021-09-27-01-21-59 | |
| .. nonce: 9H8rdY | |
| .. section: IDLE | |
| On Windows, change exit/quit message to suggest Ctrl-D, which works, instead | |
| of <Ctrl-Z Return>, which does not work in IDLE. | |
| .. | |
| .. bpo: 45193 | |
| .. date: 2021-09-15-03-20-06 | |
| .. nonce: G61_GV | |
| .. section: IDLE | |
| Make completion boxes appear on Ubuntu again. | |
| .. | |
| .. bpo: 40128 | |
| .. date: 2021-06-11-17-43-39 | |
| .. nonce: 7vDN3U | |
| .. section: IDLE | |
| Mostly fix completions on macOS when not using tcl/tk 8.6.11 (as with 3.9). | |
| The added update_idletask call should be harmless and possibly helpful | |
| otherwise. | |
| .. | |
| .. bpo: 33962 | |
| .. date: 2021-06-10-00-50-02 | |
| .. nonce: ikAUNg | |
| .. section: IDLE | |
| Move the indent space setting from the Font tab to the new Windows tab. | |
| Patch by Mark Roseman and Terry Jan Reedy. | |
| .. | |
| .. bpo: 40468 | |
| .. date: 2021-06-08-03-04-51 | |
| .. nonce: tUCGUb | |
| .. section: IDLE | |
| Split the settings dialog General tab into Windows and Shell/ED tabs. Move | |
| help sources, which extend the Help menu, to the Extensions tab. Make space | |
| for new options and shorten the dialog. The latter makes the dialog better | |
| fit small screens. | |
| .. | |
| .. bpo: 41611 | |
| .. date: 2021-05-27-18-22-46 | |
| .. nonce: jOKpfc | |
| .. section: IDLE | |
| Avoid uncaught exceptions in ``AutoCompleteWindow.winconfig_event()``. | |
| .. | |
| .. bpo: 41611 | |
| .. date: 2021-05-27-13-39-43 | |
| .. nonce: liNQqj | |
| .. section: IDLE | |
| Fix IDLE sometimes freezing upon tab-completion on macOS. | |
| .. | |
| .. bpo: 44010 | |
| .. date: 2021-05-09-09-02-09 | |
| .. nonce: TaLe9x | |
| .. section: IDLE | |
| Highlight the new :ref:`match <match>` statement's :ref:`soft keywords | |
| <soft-keywords>`: :keyword:`match`, :keyword:`case <match>`, and :keyword:`_ | |
| <wildcard-patterns>`. However, this highlighting is not perfect and will be | |
| incorrect in some rare cases, including some ``_``-s in ``case`` patterns. | |
| .. | |
| .. bpo: 44026 | |
| .. date: 2021-05-05-09-45-24 | |
| .. nonce: m2Z0zR | |
| .. section: IDLE | |
| Include interpreter's typo fix suggestions in message line for NameErrors | |
| and AttributeErrors. Patch by E. Paine. | |
| .. | |
| .. bpo: 44786 | |
| .. date: 2021-09-14-11-44-26 | |
| .. nonce: DU0LC0 | |
| .. section: Tools/Demos | |
| Fix a warning in regular expression in the c-analyzer script. | |
| .. | |
| .. bpo: 44967 | |
| .. date: 2021-08-26-11-57-31 | |
| .. nonce: UT1RMV | |
| .. section: Tools/Demos | |
| pydoc now returns a non-zero status code when a module cannot be found. | |
| .. | |
| .. bpo: 44978 | |
| .. date: 2021-08-22-11-45-31 | |
| .. nonce: QupKV3 | |
| .. section: Tools/Demos | |
| Allow the Argument Clinic tool to handle ``__complex__`` special methods. | |
| .. | |
| .. bpo: 43425 | |
| .. date: 2021-07-01-22-21-25 | |
| .. nonce: t65len | |
| .. section: Tools/Demos | |
| Removed the 'test2to3' demo project that demonstrated using lib2to3 to | |
| support Python 2.x and Python 3.x from a single source in a distutils | |
| package. Patch by Donghee Na | |
| .. | |
| .. bpo: 44074 | |
| .. date: 2021-05-08-13-57-00 | |
| .. nonce: F09kCK | |
| .. section: Tools/Demos | |
| Make patchcheck automatically detect the correct base branch name | |
| (previously it was hardcoded to 'master') | |
| .. | |
| .. bpo: 20291 | |
| .. date: 2020-02-25-18-22-09 | |
| .. nonce: AyrDiZ | |
| .. section: Tools/Demos | |
| Added support for variadic positional parameters in Argument Clinic. | |
| .. | |
| .. bpo: 41710 | |
| .. date: 2021-09-30-03-14-35 | |
| .. nonce: DDWJKx | |
| .. section: C API | |
| The PyThread_acquire_lock_timed() function now clamps the timeout if it is | |
| too large, rather than aborting the process. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 44687 | |
| .. date: 2021-09-19-17-18-25 | |
| .. nonce: 3fqDRC | |
| .. section: C API | |
| :meth:`BufferedReader.peek` no longer raises :exc:`ValueError` when the | |
| entire file has already been buffered. | |
| .. | |
| .. bpo: 45116 | |
| .. date: 2021-09-16-18-05-20 | |
| .. nonce: WxXewl | |
| .. section: C API | |
| Add the :c:macro:`Py_ALWAYS_INLINE` macro to ask the compiler to always | |
| inline a static inline function. The compiler can ignore it and decides to | |
| not inline the function. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 45094 | |
| .. date: 2021-09-03-15-53-43 | |
| .. nonce: tinXwL | |
| .. section: C API | |
| Add the :c:macro:`Py_NO_INLINE` macro to disable inlining on a function. | |
| Patch by Victor Stinner. | |
| .. | |
| .. bpo: 45061 | |
| .. date: 2021-08-31-15-21-36 | |
| .. nonce: ZH0HVe | |
| .. section: C API | |
| Add a deallocator to the :class:`bool` type to detect refcount bugs in C | |
| extensions which call ``Py_DECREF(Py_True);`` or ``Py_DECREF(Py_False);`` by | |
| mistake. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 42035 | |
| .. date: 2021-08-02-20-49-36 | |
| .. nonce: HTBcZt | |
| .. section: C API | |
| Add a new :c:func:`PyType_GetQualName` function to get type's qualified | |
| name. | |
| .. | |
| .. bpo: 41103 | |
| .. date: 2021-07-29-16-04-28 | |
| .. nonce: hiKKcF | |
| .. section: C API | |
| Reverts removal of the old buffer protocol because they are part of stable | |
| ABI. | |
| .. | |
| .. bpo: 44751 | |
| .. date: 2021-07-27-17-29-12 | |
| .. nonce: 4qmbDG | |
| .. section: C API | |
| Remove ``crypt.h`` include from the public ``Python.h`` header. | |
| .. | |
| .. bpo: 42747 | |
| .. date: 2021-07-20-16-21-06 | |
| .. nonce: rRxjUY | |
| .. section: C API | |
| The ``Py_TPFLAGS_HAVE_VERSION_TAG`` type flag now does nothing. The | |
| ``Py_TPFLAGS_HAVE_AM_SEND`` flag (which was added in 3.10) is removed. Both | |
| were unnecessary because it is not possible to have type objects with the | |
| relevant fields missing. | |
| .. | |
| .. bpo: 44530 | |
| .. date: 2021-06-28-23-44-47 | |
| .. nonce: qij7YC | |
| .. section: C API | |
| Added the ``co_qualname`` to the ``PyCodeObject`` structure to propagate the | |
| qualified name from the compiler to code objects. | |
| Patch by Gabriele N. Tornetta | |
| .. | |
| .. bpo: 44441 | |
| .. date: 2021-06-23-12-12-04 | |
| .. nonce: 3p14JB | |
| .. section: C API | |
| :c:func:`Py_RunMain` now resets :c:data:`PyImport_Inittab` to its initial | |
| value at exit. It must be possible to call :c:func:`PyImport_AppendInittab` | |
| or :c:func:`PyImport_ExtendInittab` at each Python initialization. Patch by | |
| Victor Stinner. | |
| .. | |
| .. bpo: 39947 | |
| .. date: 2021-06-23-10-31-45 | |
| .. nonce: je_HMo | |
| .. section: C API | |
| Remove 4 private trashcan C API functions which were only kept for the | |
| backward compatibility of the stable ABI with Python 3.8 and older, since | |
| the trashcan API was not usable with the limited C API on Python 3.8 and | |
| older. The trashcan API was excluded from the limited C API in Python 3.9. | |
| Removed functions: | |
| * _PyTrash_deposit_object() | |
| * _PyTrash_destroy_chain() | |
| * _PyTrash_thread_deposit_object() | |
| * _PyTrash_thread_destroy_chain() | |
| The trashcan C API was never usable with the limited C API, since old | |
| trashcan macros accessed directly :c:type:`PyThreadState` members like | |
| ``_tstate->trash_delete_nesting``, whereas the :c:type:`PyThreadState` | |
| structure is opaque in the limited C API. | |
| Exclude also the ``PyTrash_UNWIND_LEVEL`` constant from the C API. | |
| Patch by Victor Stinner. | |
| .. | |
| .. bpo: 40939 | |
| .. date: 2021-06-22-17-00-06 | |
| .. nonce: CGB0I5 | |
| .. section: C API | |
| Removed documentation for the removed ``PyParser_*`` C API. | |
| .. | |
| .. bpo: 43795 | |
| .. date: 2021-06-15-16-28-18 | |
| .. nonce: fy0AXK | |
| .. section: C API | |
| The list in :ref:`limited-api-list` now shows the public name | |
| :c:struct:`PyFrameObject` rather than ``_frame``. The non-existing entry | |
| ``_node`` no longer appears in the list. | |
| .. | |
| .. bpo: 44378 | |
| .. date: 2021-06-10-15-22-31 | |
| .. nonce: jGYakF | |
| .. section: C API | |
| :c:func:`Py_IS_TYPE` no longer uses :c:func:`Py_TYPE` to avoid a compiler | |
| warning: no longer cast ``const PyObject*`` to ``PyObject*``. Patch by | |
| Victor Stinner. | |
| .. | |
| .. bpo: 39573 | |
| .. date: 2021-06-03-00-59-48 | |
| .. nonce: -elHTJ | |
| .. section: C API | |
| Convert the :c:func:`Py_TYPE` and :c:func:`Py_SIZE` macros to static inline | |
| functions. The :c:func:`Py_SET_TYPE` and :c:func:`Py_SET_SIZE` functions | |
| must now be used to set an object type and size. Patch by Victor Stinner. | |
| .. | |
| .. bpo: 44263 | |
| .. date: 2021-05-31-11-31-13 | |
| .. nonce: 8mIOfV | |
| .. section: C API | |
| The :c:func:`PyType_Ready` function now raises an error if a type is defined | |
| with the :c:macro:`Py_TPFLAGS_HAVE_GC` flag set but has no traverse function | |
| (:c:member:`PyTypeObject.tp_traverse`). Patch by Victor Stinner. | |
| .. | |
| .. bpo: 43795 | |
| .. date: 2021-05-19-15-09-47 | |
| .. nonce: WAHRxt | |
| .. section: C API | |
| The undocumented function :c:func:`Py_FrozenMain` is removed from the | |
| Limited API. | |
| .. | |
| .. bpo: 44113 | |
| .. date: 2021-05-12-12-24-45 | |
| .. nonce: DcgOqE | |
| .. section: C API | |
| Deprecate the following functions to configure the Python initialization: | |
| * :c:func:`!PySys_AddWarnOptionUnicode` | |
| * :c:func:`!PySys_AddWarnOption` | |
| * :c:func:`!PySys_AddXOption` | |
| * :c:func:`!PySys_HasWarnOptions` | |
| * :c:func:`!Py_SetPath` | |
| * :c:func:`!Py_SetProgramName` | |
| * :c:func:`!Py_SetPythonHome` | |
| * :c:func:`!Py_SetStandardStreamEncoding` | |
| * :c:func:`!_Py_SetProgramFullPath` | |
| Use the new :c:type:`PyConfig` API of the :ref:`Python Initialization | |
| Configuration <init-config>` instead (:pep:`587`). | |
| .. | |
| .. bpo: 44094 | |
| .. date: 2021-05-10-14-34-22 | |
| .. nonce: HayXZO | |
| .. section: C API | |
| Remove ``PyErr_SetFromErrnoWithUnicodeFilename()``, | |
| ``PyErr_SetFromWindowsErrWithUnicodeFilename()``, and | |
| ``PyErr_SetExcFromWindowsErrWithUnicodeFilename()``. They are not documented | |
| and have been deprecated since Python 3.3. | |
| .. | |
| .. bpo: 43795 | |
| .. date: 2021-05-05-19-04-50 | |
| .. nonce: 9Ojj73 | |
| .. section: C API | |
| :c:func:`PyCodec_Unregister` is now properly exported as a function in the | |
| Windows Stable ABI DLL. | |
| .. | |
| .. bpo: 44029 | |
| .. date: 2021-05-04-17-43-39 | |
| .. nonce: ayX4PR | |
| .. section: C API | |
| Remove deprecated ``Py_UNICODE`` APIs: ``PyUnicode_Encode``, | |
| ``PyUnicode_EncodeUTF7``, ``PyUnicode_EncodeUTF8``, | |
| ``PyUnicode_EncodeUTF16``, ``PyUnicode_EncodeUTF32``, | |
| ``PyUnicode_EncodeLatin1``, ``PyUnicode_EncodeMBCS``, | |
| ``PyUnicode_EncodeDecimal``, ``PyUnicode_EncodeRawUnicodeEscape``, | |
| ``PyUnicode_EncodeCharmap``, ``PyUnicode_EncodeUnicodeEscape``, | |
| ``PyUnicode_TransformDecimalToASCII``, ``PyUnicode_TranslateCharmap``, | |
| ``PyUnicodeEncodeError_Create``, ``PyUnicodeTranslateError_Create``. See | |
| :pep:`393` and :pep:`624` for reference. | |
| .. | |
| .. bpo: 42035 | |
| .. date: 2020-12-23-01-28-50 | |
| .. nonce: S9eUm0 | |
| .. section: C API | |
| Add a new :c:func:`PyType_GetName` function to get type's short name. |