| .. bpo: 45716 |
| .. date: 2021-11-04-20-19-07 |
| .. nonce: 5C0pA1 |
| .. release date: 2021-11-05 |
| .. section: Core and Builtins |
| |
| Improve the :exc:`SyntaxError` message when using ``True``, ``None`` or |
| ``False`` as keywords in a function call. Patch by Pablo Galindo. |
| |
| .. |
| |
| .. bpo: 45688 |
| .. date: 2021-11-02-09-27-46 |
| .. nonce: v5Der1 |
| .. section: Core and Builtins |
| |
| :data:`sys.stdlib_module_names` now contains the macOS-specific module |
| :mod:`_scproxy`. |
| |
| .. |
| |
| .. bpo: 45379 |
| .. date: 2021-10-23-13-49-00 |
| .. nonce: ZF7G3n |
| .. section: Core and Builtins |
| |
| Clarify :exc:`ImportError` message when we try to explicitly import a frozen |
| module but frozen modules are disabled. |
| |
| .. |
| |
| .. bpo: 44525 |
| .. date: 2021-10-20-11-57-31 |
| .. nonce: veL4lJ |
| .. section: Core and Builtins |
| |
| Specialize simple calls to Python functions (no starargs, keyowrd dict, or |
| closure) |
| |
| .. |
| |
| .. bpo: 45530 |
| .. date: 2021-10-20-01-28-26 |
| .. nonce: 5r7n4m |
| .. section: Core and Builtins |
| |
| Cases of sorting using tuples as keys may now be significantly faster in |
| some cases. Patch by Tim Peters. |
| |
| The order of the result may differ from earlier releases if the tuple |
| elements don't define a total ordering (see |
| :ref:`expressions-value-comparisons` for information on total ordering). |
| It's generally true that the result of sorting simply isn't well-defined in |
| the absence of a total ordering on list elements. |
| |
| .. |
| |
| .. bpo: 45526 |
| .. date: 2021-10-19-10-29-47 |
| .. nonce: WQnvW9 |
| .. section: Core and Builtins |
| |
| In obmalloc, set ADDRESS_BITS to not ignore any bits (ignored 16 before). |
| That is safer in the case that the kernel gives user-space virtual addresses |
| that span a range greater than 48 bits. |
| |
| .. |
| |
| .. bpo: 30570 |
| .. date: 2021-10-19-01-04-08 |
| .. nonce: _G30Ms |
| .. section: Core and Builtins |
| |
| Fixed a crash in ``issubclass()`` from infinite recursion when searching |
| pathological ``__bases__`` tuples. |
| |
| .. |
| |
| .. bpo: 45521 |
| .. date: 2021-10-18-22-40-33 |
| .. nonce: GdMiuW |
| .. section: Core and Builtins |
| |
| Fix a bug in the obmalloc radix tree code. On 64-bit machines, the bug |
| causes the tree to hold 46-bits of virtual addresses, rather than the |
| intended 48-bits. |
| |
| .. |
| |
| .. bpo: 45494 |
| .. date: 2021-10-16-17-27-48 |
| .. nonce: vMt1g4 |
| .. section: Core and Builtins |
| |
| Fix parser crash when reporting errors involving invalid continuation |
| characters. Patch by Pablo Galindo. |
| |
| .. |
| |
| .. bpo: 45445 |
| .. date: 2021-10-12-14-41-39 |
| .. nonce: _F5cMf |
| .. section: Core and Builtins |
| |
| Python now fails to initialize if it finds an invalid :option:`-X` option in |
| the command line. Patch by Pablo Galindo. |
| |
| .. |
| |
| .. bpo: 45340 |
| .. date: 2021-10-08-09-47-38 |
| .. nonce: ukHgDb |
| .. section: Core and Builtins |
| |
| Object attributes are held in an array instead of a dictionary. An object's |
| dictionary are created lazily, only when needed. Reduces the memory |
| consumption of a typical Python object by about 30%. Patch by Mark Shannon. |
| |
| .. |
| |
| .. bpo: 45408 |
| .. date: 2021-10-07-21-26-44 |
| .. nonce: qUqzcd |
| .. section: Core and Builtins |
| |
| Fix a crash in the parser when reporting tokenizer errors that occur at the |
| same time unclosed parentheses are detected. Patch by Pablo Galindo. |
| |
| .. |
| |
| .. bpo: 29410 |
| .. date: 2021-10-07-19-09-12 |
| .. nonce: bg5SYp |
| .. section: Core and Builtins |
| |
| Add SipHash13 for string hash algorithm and use it by default. |
| |
| .. |
| |
| .. bpo: 45385 |
| .. date: 2021-10-06-21-20-11 |
| .. nonce: CTUT8s |
| .. section: Core and Builtins |
| |
| Fix reference leak from descr_check. Patch by Dong-hee Na. |
| |
| .. |
| |
| .. bpo: 45367 |
| .. date: 2021-10-05-03-49-07 |
| .. nonce: _astoU |
| .. section: Core and Builtins |
| |
| Specialized the ``BINARY_MULTIPLY`` opcode to ``BINARY_MULTIPLY_INT`` and |
| ``BINARY_MULTIPLY_FLOAT`` using the PEP 659 machinery. |
| |
| .. |
| |
| .. bpo: 21736 |
| .. date: 2021-10-01-09-21-02 |
| .. nonce: RI47BU |
| .. section: Core and Builtins |
| |
| Frozen stdlib modules now have ``__file__`` to the .py file they would |
| otherwise be loaded from, if possible. For packages, ``__path__`` now has |
| the correct entry instead of being an empty list, which allows unfrozen |
| submodules to be imported. These are set only if the stdlib directory is |
| known when the runtime is initialized. Note that the file at ``__file__`` |
| is not guaranteed to exist. None of this affects non-stdlib frozen modules |
| nor, for now, frozen modules imported using |
| ``PyImport_ImportFrozenModule()``. Also, at the moment ``co_filename`` is |
| not updated for the module. |
| |
| .. |
| |
| .. bpo: 45020 |
| .. date: 2021-10-01-09-06-54 |
| .. nonce: Cj5VQN |
| .. section: Core and Builtins |
| |
| For frozen stdlib modules, record the original module name as |
| ``module.__spec__.loader_state.origname``. If the value is different than |
| ``module.__spec__.name`` then the module was defined as an alias in |
| Tools/scripts/freeze_modules.py. If it is ``None`` then the module comes |
| from a source file outside the stdlib. |
| |
| .. |
| |
| .. bpo: 45324 |
| .. date: 2021-09-29-12-02-39 |
| .. nonce: BTQElX |
| .. section: Core and Builtins |
| |
| In FrozenImporter.find_spec(), we now preserve the information needed in |
| exec_module() to load the module. This change mostly impacts internal |
| details, rather than changing the importer's behavior. |
| |
| .. |
| |
| .. bpo: 45292 |
| .. date: 2021-09-26-18-18-50 |
| .. nonce: aX5HVr |
| .. section: Core and Builtins |
| |
| Implement :pep:`654`. Add :class:`ExceptionGroup` and |
| :class:`BaseExceptionGroup`. Update traceback display code. |
| |
| .. |
| |
| .. bpo: 40116 |
| .. date: 2021-09-23-14-00-05 |
| .. nonce: KaoeFs |
| .. section: Core and Builtins |
| |
| Change to the implementation of split dictionaries. Classes where the |
| instances differ either in the exact set of attributes, or in the order in |
| which those attributes are set, can still share keys. This should have no |
| observable effect on users of Python or the C-API. Patch by Mark Shannon. |
| |
| .. |
| |
| .. bpo: 44050 |
| .. date: 2021-09-08-00-30-09 |
| .. nonce: mFI15u |
| .. section: Core and Builtins |
| |
| Extensions that indicate they use global state (by setting ``m_size`` to -1) |
| can again be used in multiple interpreters. This reverts to behavior of |
| Python 3.8. |
| |
| .. |
| |
| .. bpo: 44525 |
| .. date: 2021-06-28-22-23-59 |
| .. nonce: sSvUKG |
| .. section: Core and Builtins |
| |
| Setup initial specialization infrastructure for the ``CALL_FUNCTION`` |
| opcode. Implemented initial specializations for C function calls: |
| |
| * ``CALL_FUNCTION_BUILTIN_O`` for ``METH_O`` flag. |
| |
| * ``CALL_FUNCTION_BUILTIN_FAST`` for ``METH_FASTCALL`` flag without keywords. |
| |
| * ``CALL_FUNCTION_LEN`` for ``len(o)``. |
| |
| * ``CALL_FUNCTION_ISINSTANCE`` for ``isinstance(o, t)``. |
| |
| .. |
| |
| .. bpo: 44511 |
| .. date: 2021-06-26-16-55-08 |
| .. nonce: k8sMvV |
| .. section: Core and Builtins |
| |
| Improve the generated bytecode for class and mapping patterns. |
| |
| .. |
| |
| .. bpo: 43706 |
| .. date: 2021-04-03-02-44-15 |
| .. nonce: jjsXlT |
| .. section: Core and Builtins |
| |
| Speed up calls to ``enumerate()`` by using the :pep:`590` ``vectorcall`` |
| calling convention. Patch by Dong-hee Na. |
| |
| .. |
| |
| .. bpo: 45679 |
| .. date: 2021-10-30-21-11-37 |
| .. nonce: Dq8Cpu |
| .. section: Library |
| |
| Fix caching of multi-value :data:`typing.Literal`. ``Literal[True, 2]`` is |
| no longer equal to ``Literal[1, 2]``. |
| |
| .. |
| |
| .. bpo: 42064 |
| .. date: 2021-10-27-13-28-52 |
| .. nonce: UK4jgV |
| .. section: Library |
| |
| Convert :mod:`sqlite3` to multi-phase initialisation (PEP 489). Patches by |
| Erlend E. Aasland. |
| |
| .. |
| |
| .. bpo: 45438 |
| .. date: 2021-10-27-10-05-39 |
| .. nonce: Xz5lGU |
| .. section: Library |
| |
| Fix typing.Signature string representation for generic builtin types. |
| |
| .. |
| |
| .. bpo: 45613 |
| .. date: 2021-10-26-14-29-54 |
| .. nonce: 55Ie3c |
| .. section: Library |
| |
| :mod:`sqlite3` now sets :attr:`sqlite3.threadsafety` based on the default |
| threading mode the underlying SQLite library has been compiled with. Patch |
| by Erlend E. Aasland. |
| |
| .. |
| |
| .. bpo: 45574 |
| .. date: 2021-10-22-23-06-33 |
| .. nonce: svqA84 |
| .. section: Library |
| |
| Fix warning about ``print_escape`` being unused. |
| |
| .. |
| |
| .. bpo: 45581 |
| .. date: 2021-10-22-21-57-02 |
| .. nonce: rlH6ay |
| .. section: Library |
| |
| :meth:`sqlite3.connect` now correctly raises :exc:`MemoryError` if the |
| underlying SQLite API signals memory error. Patch by Erlend E. Aasland. |
| |
| .. |
| |
| .. bpo: 45557 |
| .. date: 2021-10-21-16-18-51 |
| .. nonce: 4MQt4r |
| .. section: Library |
| |
| pprint.pprint() now handles underscore_numbers correctly. Previously it was |
| always setting it to False. |
| |
| .. |
| |
| .. bpo: 44019 |
| .. date: 2021-10-21-10-14-22 |
| .. nonce: Xk4Ncr |
| .. section: Library |
| |
| Add :func:`operator.call` to ``operator.__all__``. Patch by Kreusada. |
| |
| .. |
| |
| .. bpo: 42174 |
| .. date: 2021-10-19-01-30-57 |
| .. nonce: O2w9bi |
| .. section: Library |
| |
| :meth:`shutil.get_terminal_size` now falls back to sane values if the column |
| or line count are 0. |
| |
| .. |
| |
| .. bpo: 35673 |
| .. date: 2021-10-18-18-12-47 |
| .. nonce: KOkHWe |
| .. section: Library |
| |
| Improve the introspectability of the ``__loader__`` attribute for namespace |
| packages. :class:`importlib.machinery.NamespaceLoader` is now public, and |
| implements the :class:`importlib.abc.InspectLoader` interface. |
| ``_NamespaceLoader`` is kept for backward compatibility. |
| |
| .. |
| |
| .. bpo: 45515 |
| .. date: 2021-10-18-14-52-48 |
| .. nonce: aXdvm_ |
| .. section: Library |
| |
| Add references to :mod:`zoneinfo` in the :mod:`datetime` documentation, |
| mostly replacing outdated references to ``dateutil.tz``. Change by Paul |
| Ganssle. |
| |
| .. |
| |
| .. bpo: 45475 |
| .. date: 2021-10-18-10-46-47 |
| .. nonce: sb9KDF |
| .. section: Library |
| |
| Reverted optimization of iterating :class:`gzip.GzipFile`, |
| :class:`bz2.BZ2File`, and :class:`lzma.LZMAFile` (see bpo-43787) because it |
| caused regression when user iterate them without having reference of them. |
| Patch by Inada Naoki. |
| |
| .. |
| |
| .. bpo: 45489 |
| .. date: 2021-10-16-23-46-39 |
| .. nonce: QB0rhG |
| .. section: Library |
| |
| Update :class:`~typing.ForwardRef` to support ``|`` operator. Patch by |
| Dong-hee Na. |
| |
| .. |
| |
| .. bpo: 42222 |
| .. date: 2021-10-15-11-30-11 |
| .. nonce: hdHyac |
| .. section: Library |
| |
| Removed deprecated support for float arguments in *randrange()*. |
| |
| .. |
| |
| .. bpo: 45428 |
| .. date: 2021-10-14-18-04-17 |
| .. nonce: mM2War |
| .. section: Library |
| |
| Fix a regression in py_compile when reading filenames from standard input. |
| |
| .. |
| |
| .. bpo: 45467 |
| .. date: 2021-10-14-13-31-19 |
| .. nonce: Q7Ma6A |
| .. section: Library |
| |
| Fix incremental decoder and stream reader in the "raw-unicode-escape" codec. |
| Previously they failed if the escape sequence was split. |
| |
| .. |
| |
| .. bpo: 45461 |
| .. date: 2021-10-14-00-19-02 |
| .. nonce: 4LB_tJ |
| .. section: Library |
| |
| Fix incremental decoder and stream reader in the "unicode-escape" codec. |
| Previously they failed if the escape sequence was split. |
| |
| .. |
| |
| .. bpo: 45239 |
| .. date: 2021-10-13-17-52-48 |
| .. nonce: 7li1_0 |
| .. section: Library |
| |
| Fixed :func:`email.utils.parsedate_tz` crashing with |
| :exc:`UnboundLocalError` on certain invalid input instead of returning |
| ``None``. Patch by Ben Hoyt. |
| |
| .. |
| |
| .. bpo: 45417 |
| .. date: 2021-10-12-20-35-06 |
| .. nonce: gQM-O7 |
| .. section: Library |
| |
| Fix quadratic behaviour in the enum module: Creation of enum classes with a |
| lot of entries was quadratic. |
| |
| .. |
| |
| .. bpo: 45249 |
| .. date: 2021-10-10-16-14-33 |
| .. nonce: xqLliz |
| .. section: Library |
| |
| Fix the behaviour of :func:`traceback.print_exc` when displaying the caret |
| when the ``end_offset`` in the exception is set to 0. Patch by Pablo Galindo |
| |
| .. |
| |
| .. bpo: 45416 |
| .. date: 2021-10-10-09-42-34 |
| .. nonce: n35O0_ |
| .. section: Library |
| |
| Fix use of :class:`asyncio.Condition` with explicit :class:`asyncio.Lock` |
| objects, which was a regression due to removal of explicit loop arguments. |
| Patch by Joongi Kim. |
| |
| .. |
| |
| .. bpo: 20028 |
| .. date: 2021-10-10-00-25-36 |
| .. nonce: bPx4Z8 |
| .. section: Library |
| |
| Empty escapechar/quotechar is not allowed when initializing |
| :class:`csv.Dialect`. Patch by Vajrasky Kok and Dong-hee Na. |
| |
| .. |
| |
| .. bpo: 44904 |
| .. date: 2021-10-09-18-42-27 |
| .. nonce: RlW5h8 |
| .. section: Library |
| |
| Fix bug in the :mod:`doctest` module that caused it to fail if a docstring |
| included an example with a ``classmethod`` ``property``. Patch by Alex |
| Waygood. |
| |
| .. |
| |
| .. bpo: 45406 |
| .. date: 2021-10-08-19-24-48 |
| .. nonce: Qh_Mz4 |
| .. section: Library |
| |
| Make :func:`inspect.getmodule` catch ``FileNotFoundError`` raised by |
| :'func:`inspect.getabsfile`, and return ``None`` to indicate that the module |
| could not be determined. |
| |
| .. |
| |
| .. bpo: 45411 |
| .. date: 2021-10-08-11-29-29 |
| .. nonce: 4jR--U |
| .. section: Library |
| |
| Add extensions for files containing subtitles - .srt & .vtt - to the |
| mimetypes.py module. |
| |
| .. |
| |
| .. bpo: 10716 |
| .. date: 2021-10-08-04-11-55 |
| .. nonce: QSRVK2 |
| .. section: Library |
| |
| Migrated pydoc to HTML5 (without changing the look of it). Side effect is to |
| update xmlrpc's ``ServerHTMLDoc`` which now uses the CSS too. cgitb now |
| relies less on pydoc (as it can't use the CSS file). |
| |
| .. |
| |
| .. bpo: 27580 |
| .. date: 2021-10-07-21-11-48 |
| .. nonce: tGcBTH |
| .. section: Library |
| |
| Add support of null characters in :mod:`csv`. |
| |
| .. |
| |
| .. bpo: 45262 |
| .. date: 2021-10-07-14-04-10 |
| .. nonce: HqF71Z |
| .. section: Library |
| |
| Prevent use-after-free in asyncio. Make sure the cached running loop holder |
| gets cleared on dealloc to prevent use-after-free in get_running_loop |
| |
| .. |
| |
| .. bpo: 45386 |
| .. date: 2021-10-07-00-05-05 |
| .. nonce: q9ORpA |
| .. section: Library |
| |
| Make :mod:`xmlrpc.client` more robust to C runtimes where the underlying C |
| ``strftime`` function results in a ``ValueError`` when testing for year |
| formatting options. |
| |
| .. |
| |
| .. bpo: 20028 |
| .. date: 2021-10-03-21-14-37 |
| .. nonce: zBA4RK |
| .. section: Library |
| |
| Improve error message of :class:`csv.Dialect` when initializing. Patch by |
| Vajrasky Kok and Dong-hee Na. |
| |
| .. |
| |
| .. bpo: 45343 |
| .. date: 2021-10-01-23-07-02 |
| .. nonce: ixmctD |
| .. section: Library |
| |
| Update bundled pip to 21.2.4 and setuptools to 58.1.0 |
| |
| .. |
| |
| .. bpo: 45328 |
| .. date: 2021-09-30-08-22-44 |
| .. nonce: 8Z-Q0B |
| .. section: Library |
| |
| Fixed :class:`http.client.HTTPConnection` to work properly in OSs that don't |
| support the ``TCP_NODELAY`` socket option. |
| |
| .. |
| |
| .. bpo: 45243 |
| .. date: 2021-09-20-01-25-09 |
| .. nonce: 0pJf0U |
| .. section: Library |
| |
| Add :meth:`~sqlite3.Connection.setlimit` and |
| :meth:`~sqlite3.Connection.getlimit` to :class:`sqlite3.Connection` for |
| setting and getting SQLite limits by connection basis. Patch by Erlend E. |
| Aasland. |
| |
| .. |
| |
| .. bpo: 45320 |
| .. date: 2021-09-15-10-21-10 |
| .. nonce: 4qaf5x |
| .. section: Library |
| |
| Removed from the :mod:`inspect` module: |
| |
| * the ``getargspec`` function, deprecated since Python 3.0; |
| use :func:`inspect.signature` or :func:`inspect.getfullargspec` instead. |
| |
| * the ``formatargspec`` function, deprecated since Python 3.5; |
| use the :func:`inspect.signature` function and :class:`Signature` object |
| directly. |
| |
| * the undocumented ``Signature.from_callable`` and ``Signature.from_function`` |
| functions, deprecated since Python 3.5; use the |
| :meth:`Signature.from_callable() <inspect.Signature.from_callable>` method |
| instead. |
| |
| Patch by Hugo van Kemenade. |
| |
| .. |
| |
| .. bpo: 45192 |
| .. date: 2021-09-14-15-52-47 |
| .. nonce: DjA-BI |
| .. section: Library |
| |
| Fix the ``tempfile._infer_return_type`` function so that the ``dir`` |
| argument of the :mod:`tempfile` functions accepts an object implementing the |
| ``os.PathLike`` protocol. |
| |
| Patch by Kyungmin Lee. |
| |
| .. |
| |
| .. bpo: 45160 |
| .. date: 2021-09-11-14-47-05 |
| .. nonce: VzMXbW |
| .. section: Library |
| |
| When tracing a tkinter variable used by a ttk OptionMenu, callbacks are no |
| longer made twice. |
| |
| .. |
| |
| .. bpo: 25625 |
| .. date: 2021-09-10-12-53-28 |
| .. nonce: SzcBCw |
| .. section: Library |
| |
| Added non parallel-safe :func:`~contextlib.chdir` context manager to change |
| the current working directory and then restore it on exit. Simple wrapper |
| around :func:`~os.chdir`. |
| |
| .. |
| |
| .. bpo: 24139 |
| .. date: 2021-08-30-23-10-48 |
| .. nonce: e38czf |
| .. section: Library |
| |
| Add support for SQLite extended result codes in :exc:`sqlite3.Error`. Patch |
| by Erlend E. Aasland. |
| |
| .. |
| |
| .. bpo: 24444 |
| .. date: 2021-08-30-00-19-23 |
| .. nonce: Ki4bgz |
| .. section: Library |
| |
| Fixed an error raised in :mod:`argparse` help display when help for an |
| option is set to 1+ blank spaces or when *choices* arg is an empty |
| container. |
| |
| .. |
| |
| .. bpo: 44547 |
| .. date: 2021-08-20-10-52-40 |
| .. nonce: eu0iJq |
| .. section: Library |
| |
| Implement ``Fraction.__int__``, so that a :class:`fractions.Fraction` |
| instance ``f`` passes an ``isinstance(f, typing.SupportsInt)`` check. |
| |
| .. |
| |
| .. bpo: 40321 |
| .. date: 2021-07-22-21-25-56 |
| .. nonce: gBlFmw |
| .. section: Library |
| |
| Adds support for HTTP 308 redirects to :mod:`urllib`. See :rfc:`7538` for |
| details. Patch by Jochem Schulenklopper. |
| |
| .. |
| |
| .. bpo: 41374 |
| .. date: 2020-07-27-19-21-05 |
| .. nonce: cd-kFL |
| .. section: Library |
| |
| Ensure that ``socket.TCP_*`` constants are exposed on Cygwin 3.1.6 and |
| greater. |
| |
| .. |
| |
| .. bpo: 35970 |
| .. date: 2019-02-11-19-06-10 |
| .. nonce: ZRvh51 |
| .. section: Library |
| |
| Add help flag to the base64 module's command line interface. Patch |
| contributed by Robert Kuska. |
| |
| .. |
| |
| .. bpo: 45726 |
| .. date: 2021-11-05-12-15-24 |
| .. nonce: GwRr7e |
| .. section: Documentation |
| |
| Improve documentation for :func:`functools.singledispatch` and |
| :class:`functools.singledispatchmethod`. |
| |
| .. |
| |
| .. bpo: 45680 |
| .. date: 2021-11-03-14-51-03 |
| .. nonce: 9_NTFU |
| .. section: Documentation |
| |
| Amend the docs on ``GenericAlias`` objects to clarify that non-container |
| classes can also implement ``__class_getitem__``. Patch contributed by Alex |
| Waygood. |
| |
| .. |
| |
| .. bpo: 45618 |
| .. date: 2021-10-31-20-35-06 |
| .. nonce: RTcNXF |
| .. section: Documentation |
| |
| Update Sphinx version used to build the documentation to 4.2.0. Patch by |
| Maciej Olko. |
| |
| .. |
| |
| .. bpo: 45655 |
| .. date: 2021-10-28-19-22-55 |
| .. nonce: aPYGaS |
| .. section: Documentation |
| |
| Add a new "relevant PEPs" section to the top of the documentation for the |
| ``typing`` module. Patch by Alex Waygood. |
| |
| .. |
| |
| .. bpo: 45604 |
| .. date: 2021-10-26-10-00-45 |
| .. nonce: Dm-YhV |
| .. section: Documentation |
| |
| Add ``level`` argument to ``multiprocessing.log_to_stderr`` function docs. |
| |
| .. |
| |
| .. bpo: 45516 |
| .. date: 2021-10-22-21-57-42 |
| .. nonce: 7_RMEX |
| .. section: Documentation |
| |
| Add protocol description to the :class:`importlib.abc.TraversableResources` |
| documentation. |
| |
| .. |
| |
| .. bpo: 45464 |
| .. date: 2021-10-20-16-26-53 |
| .. nonce: mOISBs |
| .. section: Documentation |
| |
| Mention in the documentation of :ref:`Built-in Exceptions |
| <bltin-exceptions>` that inheriting from multiple exception types in a |
| single subclass is not recommended due to possible memory layout |
| incompatibility. |
| |
| .. |
| |
| .. bpo: 45449 |
| .. date: 2021-10-19-01-41-40 |
| .. nonce: fjHZJc |
| .. section: Documentation |
| |
| Add note about :pep:`585` in :mod:`collections.abc`. |
| |
| .. |
| |
| .. bpo: 45516 |
| .. date: 2021-10-18-20-12-18 |
| .. nonce: EJh4K8 |
| .. section: Documentation |
| |
| Add protocol description to the :class:`importlib.abc.Traversable` |
| documentation. |
| |
| .. |
| |
| .. bpo: 20692 |
| .. date: 2021-10-13-00-42-54 |
| .. nonce: K5rGtP |
| .. section: Documentation |
| |
| Add Programming FAQ entry explaining that int literal attribute access |
| requires either a space after or parentheses around the literal. |
| |
| .. |
| |
| .. bpo: 45678 |
| .. date: 2021-11-04-20-03-32 |
| .. nonce: 1xNMjN |
| .. section: Tests |
| |
| Add tests for scenarios in which :class:`functools.singledispatchmethod` is |
| stacked on top of a method that has already been wrapped by two other |
| decorators. Patch by Alex Waygood. |
| |
| .. |
| |
| .. bpo: 45578 |
| .. date: 2021-10-30-19-00-25 |
| .. nonce: bvu6X2 |
| .. section: Tests |
| |
| Add tests for :func:`dis.distb` |
| |
| .. |
| |
| .. bpo: 45678 |
| .. date: 2021-10-30-13-12-20 |
| .. nonce: bKrYeS |
| .. section: Tests |
| |
| Add tests to ensure that ``functools.singledispatchmethod`` correctly wraps |
| the attributes of the target function. |
| |
| .. |
| |
| .. bpo: 45668 |
| .. date: 2021-10-29-17-18-56 |
| .. nonce: MfAw4i |
| .. section: Tests |
| |
| PGO tests now pass when Python is built without test extension modules. |
| |
| .. |
| |
| .. bpo: 45577 |
| .. date: 2021-10-22-19-44-13 |
| .. nonce: dSaNvK |
| .. section: Tests |
| |
| Add subtests for all ``pickle`` protocols in ``test_zoneinfo``. |
| |
| .. |
| |
| .. bpo: 45566 |
| .. date: 2021-10-22-12-05-21 |
| .. nonce: 2gQ3ZB |
| .. section: Tests |
| |
| Fix ``test_frozen_pickle`` in ``test_dataclasses`` to check all ``pickle`` |
| versions. |
| |
| .. |
| |
| .. bpo: 43592 |
| .. date: 2021-10-21-17-22-26 |
| .. nonce: kHRsra |
| .. section: Tests |
| |
| :mod:`test.libregrtest` now raises the soft resource limit for the maximum |
| number of file descriptors when the default is too low for our test suite as |
| was often the case on macOS. |
| |
| .. |
| |
| .. bpo: 39679 |
| .. date: 2021-10-18-16-18-41 |
| .. nonce: F18qcE |
| .. section: Tests |
| |
| Add more test cases for `@functools.singledispatchmethod` when combined with |
| `@classmethod` or `@staticmethod`. |
| |
| .. |
| |
| .. bpo: 45410 |
| .. date: 2021-10-08-14-03-20 |
| .. nonce: Ex9xe2 |
| .. section: Tests |
| |
| When libregrtest spawns a worker process, stderr is now written into stdout |
| to keep messages order. Use a single pipe for stdout and stderr, rather than |
| two pipes. Previously, messages were out of order which made analysis of |
| buildbot logs harder Patch by Victor Stinner. |
| |
| .. |
| |
| .. bpo: 45402 |
| .. date: 2021-10-07-13-43-01 |
| .. nonce: jlQvep |
| .. section: Tests |
| |
| Fix test_tools.test_sundry() when Python is built out of tree: fix how the |
| freeze_modules.py tool locates the _freeze_module program. Patch by Victor |
| Stinner. |
| |
| .. |
| |
| .. bpo: 45403 |
| .. date: 2021-10-07-13-27-12 |
| .. nonce: 7QiDvw |
| .. section: Tests |
| |
| Fix test_sys.test_stdlib_dir() when Python is built outside the source tree: |
| compare normalized paths. Patch by Victor Stinner. |
| |
| .. |
| |
| .. bpo: 45400 |
| .. date: 2021-10-07-13-11-45 |
| .. nonce: h3iT7V |
| .. section: Tests |
| |
| Fix test_name_error_suggestions_do_not_trigger_for_too_many_locals() of |
| test_exceptions if a directory name contains "a1" (like "Python-3.11.0a1"): |
| use a stricter regular expression. Patch by Victor Stinner. |
| |
| .. |
| |
| .. bpo: 10572 |
| .. date: 2021-01-07-01-25-38 |
| .. nonce: gEEZ9z |
| .. section: Tests |
| |
| Rename :mod:`sqlite3` tests from ``test_sqlite`` to ``test_sqlite3``, and |
| relocate them to ``Lib/test/test_sqlite3``. Patch by Erlend E. Aasland. |
| |
| .. |
| |
| .. bpo: 43158 |
| .. date: 2021-11-01-12-51-46 |
| .. nonce: fghS6w |
| .. section: Build |
| |
| ``setup.py`` now uses values from configure script to build the ``_uuid`` |
| extension module. Configure now detects util-linux's ``libuuid``, too. |
| |
| .. |
| |
| .. bpo: 45666 |
| .. date: 2021-10-29-12-54-53 |
| .. nonce: w2G63u |
| .. section: Build |
| |
| Fix warning of ``swprintf`` and ``%s`` usage in ``_testembed.c`` |
| |
| .. |
| |
| .. bpo: 45548 |
| .. date: 2021-10-28-14-47-22 |
| .. nonce: mdCBxB |
| .. section: Build |
| |
| ``Modules/Setup`` and ``Modules/makesetup`` have been improved. The |
| ``Setup`` file now contains working rules for all extensions. Outdated |
| comments have been removed. Rules defined by ``makesetup`` track |
| dependencies correctly. |
| |
| .. |
| |
| .. bpo: 45548 |
| .. date: 2021-10-24-21-49-49 |
| .. nonce: UWx0UC |
| .. section: Build |
| |
| The :mod:`math` and :mod:`cmath` implementation now require a C99 compatible |
| ``libm`` and no longer ship with workarounds for missing acosh, asinh, |
| atanh, expm1, and log1p functions. |
| |
| .. |
| |
| .. bpo: 45595 |
| .. date: 2021-10-24-11-02-43 |
| .. nonce: WI_5YU |
| .. section: Build |
| |
| ``setup.py`` and ``makesetup`` now track build dependencies on all Python |
| header files and module specific header files. |
| |
| .. |
| |
| .. bpo: 45571 |
| .. date: 2021-10-22-15-28-29 |
| .. nonce: yY8NsJ |
| .. section: Build |
| |
| ``Modules/Setup`` now use ``PY_CFLAGS_NODIST`` instead of ``PY_CFLAGS`` to |
| compile shared modules. |
| |
| .. |
| |
| .. bpo: 45570 |
| .. date: 2021-10-22-14-45-40 |
| .. nonce: 61gM2A |
| .. section: Build |
| |
| :mod:`pyexpat` and :mod:`_elementtree` no longer define obsolete macros |
| ``HAVE_EXPAT_CONFIG_H`` and ``USE_PYEXPAT_CAPI``. ``XML_POOR_ENTROPY`` is |
| now defined in ``expat_config.h``. |
| |
| .. |
| |
| .. bpo: 43974 |
| .. date: 2021-10-22-14-00-44 |
| .. nonce: HHZtbx |
| .. section: Build |
| |
| ``setup.py`` no longer defines ``Py_BUILD_CORE_MODULE``. Instead every |
| module, that uses the internal API, defines the macro. |
| |
| .. |
| |
| .. bpo: 45548 |
| .. date: 2021-10-20-17-02-56 |
| .. nonce: BoggEf |
| .. section: Build |
| |
| Fill in missing entries in Modules/Setup. |
| |
| .. |
| |
| .. bpo: 45532 |
| .. date: 2021-10-20-16-07-39 |
| .. nonce: kyhvis |
| .. section: Build |
| |
| Update :data:`sys.version` to use ``main`` as fallback information. Patch by |
| Jeong YunWon. |
| |
| .. |
| |
| .. bpo: 45536 |
| .. date: 2021-10-20-12-42-39 |
| .. nonce: oQNYHB |
| .. section: Build |
| |
| The ``configure`` script now checks whether OpenSSL headers and libraries |
| provide required APIs. Most common APIs are verified. The check detects |
| outdated or missing OpenSSL. Failures do not stop configure. |
| |
| .. |
| |
| .. bpo: 45221 |
| .. date: 2021-10-18-10-25-56 |
| .. nonce: rnulhf |
| .. section: Build |
| |
| Fixed regression in handling of ``LDFLAGS`` and ``CPPFLAGS`` options where |
| :meth:`argparse.parse_known_args` could interpret an option as one of the |
| built-in command line argument, for example ``-h`` for help. |
| |
| .. |
| |
| .. bpo: 45440 |
| .. date: 2021-10-12-02-13-08 |
| .. nonce: -zYgDb |
| .. section: Build |
| |
| Building Python now requires a C99 ``<math.h>`` header file providing the |
| following functions: ``copysign()``, ``hypot()``, ``isfinite()``, |
| ``isinf()``, ``isnan()``, ``round()``. Patch by Victor Stinner. |
| |
| .. |
| |
| .. bpo: 45405 |
| .. date: 2021-10-11-16-27-38 |
| .. nonce: iSfdW5 |
| .. section: Build |
| |
| Prevent ``internal configure error`` when running ``configure`` with recent |
| versions of non-Apple clang. Patch by David Bohman. |
| |
| .. |
| |
| .. bpo: 45433 |
| .. date: 2021-10-11-16-08-37 |
| .. nonce: pVDkMV |
| .. section: Build |
| |
| Avoid linking libpython with libcrypt. |
| |
| .. |
| |
| .. bpo: 43652 |
| .. date: 2021-11-04-00-41-50 |
| .. nonce: RnqV7I |
| .. section: Windows |
| |
| Update Tcl/Tk to 8.6.11, actually this time. The previous update incorrectly |
| included 8.6.10. |
| |
| .. |
| |
| .. bpo: 45337 |
| .. date: 2021-09-30-23-17-27 |
| .. nonce: qg7U_h |
| .. section: Windows |
| |
| venv now warns when the created environment may need to be accessed at a |
| different path, due to redirections, links or junctions. It also now |
| correctly installs or upgrades components when the alternate path is |
| required. |
| |
| .. |
| |
| .. bpo: 43851 |
| .. date: 2021-04-15-01-23-10 |
| .. nonce: qgU0gy |
| .. section: Windows |
| |
| Build SQLite ``SQLITE_OMIT_AUTOINIT`` on Windows. Patch by Erlend E. |
| Aasland. |
| |
| .. |
| |
| .. bpo: 44828 |
| .. date: 2021-10-25-02-02-21 |
| .. nonce: XBdXlJ |
| .. section: macOS |
| |
| Avoid tkinter file dialog failure on macOS 12 Monterey when using the Tk |
| 8.6.11 provided by python.org macOS installers. Patch by Marc Culler of the |
| Tk project. |
| |
| .. |
| |
| .. bpo: 45495 |
| .. date: 2021-10-16-17-20-32 |
| .. nonce: ST8RFt |
| .. section: IDLE |
| |
| Add context keywords 'case' and 'match' to completions list. |
| |
| .. |
| |
| .. bpo: 29103 |
| .. date: 2021-10-20-18-41-17 |
| .. nonce: CMRLyq |
| .. section: C API |
| |
| :c:func:`PyType_FromSpec* <PyType_FromModuleAndSpec>` now copies the class |
| name from the spec to a buffer owned by the class, so the original can be |
| safely deallocated. Patch by Petr Viktorin. |
| |
| .. |
| |
| .. bpo: 45522 |
| .. date: 2021-10-19-13-07-46 |
| .. nonce: kGAwmZ |
| .. section: C API |
| |
| The internal freelists for frame, float, list, dict, async generators, and |
| context objects can now be disabled. |
| |
| .. |
| |
| .. bpo: 35134 |
| .. date: 2021-10-19-00-20-40 |
| .. nonce: Z0Zk_m |
| .. section: C API |
| |
| Exclude :c:func:`PyWeakref_GET_OBJECT` from the limited C API. It never |
| worked since the :c:type:`PyWeakReference` structure is opaque in the |
| limited C API. |
| |
| .. |
| |
| .. bpo: 35081 |
| .. date: 2021-10-15-09-29-59 |
| .. nonce: 2teFD3 |
| .. section: C API |
| |
| Move the ``interpreteridobject.h`` header file from ``Include/`` to |
| ``Include/internal/``. It only provides private functions. Patch by Victor |
| Stinner. |
| |
| .. |
| |
| .. bpo: 35134 |
| .. date: 2021-10-15-00-11-51 |
| .. nonce: eX4zqy |
| .. section: C API |
| |
| The non-limited API files ``cellobject.h``, ``classobject.h``, |
| ``context.h``, ``funcobject.h``, ``genobject.h`` and ``longintrepr.h`` have |
| been moved to the ``Include/cpython`` directory. Moreover, the ``eval.h`` |
| header file was removed. These files must not be included directly, as they |
| are already included in ``Python.h``: :ref:`Include Files <api-includes>`. |
| If they have been included directly, consider including ``Python.h`` |
| instead. Patch by Victor Stinner. |
| |
| .. |
| |
| .. bpo: 45474 |
| .. date: 2021-10-14-22-16-56 |
| .. nonce: 1OkJQh |
| .. section: C API |
| |
| The following items are no longer available when ``Py_LIMITED_API`` is |
| defined: |
| |
| * :c:func:`PyMarshal_WriteLongToFile` |
| * :c:func:`PyMarshal_WriteObjectToFile` |
| * :c:func:`PyMarshal_ReadObjectFromString` |
| * :c:func:`PyMarshal_WriteObjectToString` |
| * the ``Py_MARSHAL_VERSION`` macro |
| |
| These are not part of the :ref:`limited API <stable-abi-list>`. |
| |
| Patch by Victor Stinner. |
| |
| .. |
| |
| .. bpo: 45434 |
| .. date: 2021-10-13-14-42-46 |
| .. nonce: INNEEt |
| .. section: C API |
| |
| Remove the ``pystrhex.h`` header file. It only contains private functions. C |
| extensions should only include the main ``<Python.h>`` header file. Patch by |
| Victor Stinner. |
| |
| .. |
| |
| .. bpo: 45440 |
| .. date: 2021-10-12-02-13-41 |
| .. nonce: Gf94rE |
| .. section: C API |
| |
| Remove the ``Py_FORCE_DOUBLE()`` macro. It was used by the |
| ``Py_IS_INFINITY()`` macro. Patch by Victor Stinner. |
| |
| .. |
| |
| .. bpo: 45434 |
| .. date: 2021-10-11-23-03-49 |
| .. nonce: tsS8I_ |
| .. section: C API |
| |
| ``<Python.h>`` no longer includes the header files ``<stdlib.h>``, |
| ``<stdio.h>``, ``<errno.h>`` and ``<string.h>`` when the ``Py_LIMITED_API`` |
| macro is set to ``0x030b0000`` (Python 3.11) or higher. C extensions should |
| explicitly include the header files after ``#include <Python.h>``. Patch by |
| Victor Stinner. |
| |
| .. |
| |
| .. bpo: 41123 |
| .. date: 2021-10-11-22-58-33 |
| .. nonce: myrlIp |
| .. section: C API |
| |
| Remove ``Py_UNICODE_COPY()`` and ``Py_UNICODE_FILL()`` macros, deprecated |
| since Python 3.3. Use ``PyUnicode_CopyCharacters()`` or ``memcpy()`` |
| (``wchar_t*`` string), and ``PyUnicode_Fill()`` functions instead. Patch by |
| Victor Stinner. |
| |
| .. |
| |
| .. bpo: 45412 |
| .. date: 2021-10-08-15-54-07 |
| .. nonce: KHyJCT |
| .. section: C API |
| |
| Remove the following math macros using the ``errno`` variable: |
| |
| * ``Py_ADJUST_ERANGE1()`` |
| * ``Py_ADJUST_ERANGE2()`` |
| * ``Py_OVERFLOWED()`` |
| * ``Py_SET_ERANGE_IF_OVERFLOW()`` |
| * ``Py_SET_ERRNO_ON_MATH_ERROR()`` |
| |
| Patch by Victor Stinner. |
| |
| .. |
| |
| .. bpo: 45395 |
| .. date: 2021-10-06-15-54-40 |
| .. nonce: yVhdAl |
| .. section: C API |
| |
| Custom frozen modules (the array set to ``PyImport_FrozenModules``) are now |
| treated as additions, rather than replacing all the default frozen modules. |
| Frozen stdlib modules can still be disabled by setting the "code" field of |
| the custom array entry to NULL. |
| |
| .. |
| |
| .. bpo: 43760 |
| .. date: 2021-09-24-11-12-21 |
| .. nonce: Bfxd1- |
| .. section: C API |
| |
| Add new :c:func:`PyThreadState_EnterTracing`, and |
| :c:func:`PyThreadState_LeaveTracing` functions to the limited C API to |
| suspend and resume tracing and profiling. Patch by Victor Stinner. |
| |
| .. |
| |
| .. bpo: 44220 |
| .. date: 2021-05-24-22-12-40 |
| .. nonce: H9CUGl |
| .. section: C API |
| |
| :c:var:`PyStructSequence_UnnamedField` is added to the Stable ABI. |