mirror of
https://github.com/python/cpython.git
synced 2024-11-24 10:24:35 +08:00
1335 lines
29 KiB
ReStructuredText
1335 lines
29 KiB
ReStructuredText
.. 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_builtin`` 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.
|