cpython/Misc/NEWS.d/3.13.0a4.rst

1434 lines
32 KiB
ReStructuredText

.. date: 2024-02-13-15-14-39
.. gh-issue: 115399
.. nonce: xT-scP
.. release date: 2024-02-15
.. section: Security
Update bundled libexpat to 2.6.0
..
.. date: 2024-02-12-00-33-01
.. gh-issue: 115243
.. nonce: e1oGX8
.. section: Security
Fix possible crashes in :meth:`collections.deque.index` when the deque is
concurrently modified.
..
.. date: 2024-02-14-23-50-55
.. gh-issue: 112087
.. nonce: H_4W_v
.. section: Core and Builtins
For an empty reverse iterator for list will be reduced to :func:`reversed`.
Patch by Donghee Na
..
.. date: 2024-02-12-17-18-26
.. gh-issue: 114570
.. nonce: BzwMlJ
.. section: Core and Builtins
Add :exc:`PythonFinalizationError` exception. This exception derived from
:exc:`RuntimeError` is raised when an operation is blocked during the
:term:`Python finalization <interpreter shutdown>`. Patch by Victor Stinner.
..
.. date: 2024-02-07-18-04-36
.. gh-issue: 114695
.. nonce: o9wP5P
.. section: Core and Builtins
Add :func:`sys._clear_internal_caches`, which clears all internal
performance-related caches (and deprecate the less-general
:func:`sys._clear_type_cache` function).
..
.. date: 2024-02-07-07-50-12
.. gh-issue: 114828
.. nonce: nSXwMi
.. section: Core and Builtins
Fix compilation crashes in uncommon code examples using :func:`super` inside
a comprehension in a class body.
..
.. date: 2024-02-07-00-18-42
.. gh-issue: 112069
.. nonce: jRDRR5
.. section: Core and Builtins
Adapt :class:`set` and :class:`frozenset` methods to Argument Clinic.
..
.. date: 2024-02-05-12-40-26
.. gh-issue: 115011
.. nonce: L1AKF5
.. section: Core and Builtins
Setters for members with an unsigned integer type now support the same range
of valid values for objects that has a :meth:`~object.__index__` method as
for :class:`int`.
..
.. date: 2024-02-03-04-07-18
.. gh-issue: 114887
.. nonce: uLSFmN
.. section: Core and Builtins
Changed socket type validation in
:meth:`~asyncio.loop.create_datagram_endpoint` to accept all non-stream
sockets. This fixes a regression in compatibility with raw sockets.
..
.. date: 2024-02-03-01-48-38
.. gh-issue: 114944
.. nonce: 4J5ELD
.. section: Core and Builtins
Fixes a race between ``PyParkingLot_Park`` and ``_PyParkingLot_UnparkAll``.
..
.. date: 2024-02-02-05-27-48
.. gh-issue: 113462
.. nonce: VMml8q
.. section: Core and Builtins
Limit the number of versions that a single class can use. Prevents a few
wayward classes using up all the version numbers.
..
.. date: 2024-02-01-23-43-49
.. gh-issue: 76763
.. nonce: o_2J6i
.. section: Core and Builtins
The :func:`chr` builtin function now always raises :exc:`ValueError` for
values outside the valid range. Previously it raised :exc:`OverflowError`
for very large or small values.
..
.. date: 2024-02-01-18-16-52
.. gh-issue: 114806
.. nonce: wrH2J6
.. section: Core and Builtins
No longer specialize calls to classes, if those classes have metaclasses.
Fixes bug where the ``__call__`` method of the metaclass was not being
called.
..
.. date: 2024-01-31-09-10-10
.. gh-issue: 107944
.. nonce: XWm1B-
.. section: Core and Builtins
Improve error message for function calls with bad keyword arguments via
getargs
..
.. date: 2024-01-25-18-50-49
.. gh-issue: 112529
.. nonce: IbbApA
.. section: Core and Builtins
The free-threaded build no longer allocates space for the ``PyGC_Head``
structure in objects that support cyclic garbage collection. A number of
other fields and data structures are used as replacements, including
``ob_gc_bits``, ``ob_tid``, and mimalloc internal data structures.
..
.. date: 2024-01-22-15-10-01
.. gh-issue: 114456
.. nonce: fBFEJF
.. section: Core and Builtins
Lower the recursion limit under a debug build of WASI.
..
.. date: 2024-01-22-09-49-02
.. gh-issue: 114083
.. nonce: hf1-ku
.. section: Core and Builtins
Compiler applies folding of LOAD_CONST with following instruction in a
separate pass before other optimisations. This enables jump threading in
certain circumstances.
..
.. date: 2024-01-21-17-29-32
.. gh-issue: 114388
.. nonce: UVGO4K
.. section: Core and Builtins
Fix a :exc:`RuntimeWarning` emitted when assign an integer-like value that
is not an instance of :class:`int` to an attribute that corresponds to a C
struct member of :ref:`type <PyMemberDef-types>` T_UINT and T_ULONG. Fix a
double :exc:`RuntimeWarning` emitted when assign a negative integer value to
an attribute that corresponds to a C struct member of type T_UINT.
..
.. date: 2024-01-19-13-18-13
.. gh-issue: 114265
.. nonce: 7HAi--
.. section: Core and Builtins
Compiler propagates line numbers before optimization, leading to more
optimization opportunities and removing the need for the
``guarantee_lineno_for_exits`` hack.
..
.. date: 2024-01-18-20-20-37
.. gh-issue: 112529
.. nonce: oVNvDG
.. section: Core and Builtins
The free-threaded build now has its own thread-safe GC implementation that
uses mimalloc to find GC tracked objects. It is non-generational, unlike the
existing GC implementation.
..
.. date: 2024-01-17-23-39-20
.. gh-issue: 114050
.. nonce: Lnv1oq
.. section: Core and Builtins
Fix segmentation fault caused by an incorrect format string in ``TypeError``
exception when more than two arguments are passed to ``int``.
..
.. date: 2024-01-17-05-09-32
.. gh-issue: 112354
.. nonce: Run9ko
.. section: Core and Builtins
The ``END_FOR`` instruction now pops only one value. This is to better
support side exits in loops.
..
.. date: 2024-01-17-00-52-57
.. gh-issue: 113884
.. nonce: CvEjUE
.. section: Core and Builtins
Make :class:`queue.SimpleQueue` thread safe when the GIL is disabled.
..
.. date: 2024-01-16-14-41-54
.. gh-issue: 114058
.. nonce: Cb2b8h
.. section: Core and Builtins
Implement the foundations of the Tier 2 redundancy eliminator.
..
.. date: 2024-01-12-16-40-07
.. gh-issue: 113939
.. nonce: Yi3L-e
.. section: Core and Builtins
frame.clear(): Clear frame.f_locals as well, and not only the fast locals.
This is relevant once frame.f_locals was accessed, which would contain also
references to all the locals.
..
.. date: 2024-01-11-22-58-45
.. gh-issue: 112050
.. nonce: hDuvDW
.. section: Core and Builtins
Convert :class:`collections.deque` to use Argument Clinic.
..
.. date: 2024-01-08-21-57-41
.. gh-issue: 112050
.. nonce: qwgjx1
.. section: Core and Builtins
Make methods on :class:`collections.deque` thread-safe when the GIL is
disabled.
..
.. date: 2023-12-24-03-25-28
.. gh-issue: 113464
.. nonce: dvjQmA
.. section: Core and Builtins
Add an option (``--enable-experimental-jit`` for ``configure``-based builds
or ``--experimental-jit`` for ``PCbuild``-based ones) to build an
*experimental* just-in-time compiler, based on `copy-and-patch
<https://fredrikbk.com/publications/copy-and-patch.pdf>`_
..
.. date: 2023-12-22-13-21-39
.. gh-issue: 113055
.. nonce: 47xBMF
.. section: Core and Builtins
Make interp->obmalloc a pointer. For interpreters that share state with the
main interpreter, this points to the same static memory structure. For
interpreters with their own obmalloc state, it is heap allocated. Add
free_obmalloc_arenas() which will free the obmalloc arenas and radix tree
structures for interpreters with their own obmalloc state.
..
.. date: 2023-06-06-19-09-00
.. gh-issue: 55664
.. nonce: vYYl0V
.. section: Core and Builtins
Add warning when creating :class:`type` using a namespace dictionary with
non-string keys. Patched by Daniel Urban and Furkan Onder.
..
.. date: 2023-05-16-06-52-34
.. gh-issue: 104530
.. nonce: mJnA0W
.. section: Core and Builtins
Use native Win32 condition variables.
..
.. date: 2024-02-13-18-27-03
.. gh-issue: 115392
.. nonce: gle5tp
.. section: Library
Fix a bug in :mod:`doctest` where incorrect line numbers would be reported
for decorated functions.
..
.. date: 2024-02-11-20-23-36
.. gh-issue: 114563
.. nonce: RzxNYT
.. section: Library
Fix several :func:`format()` bugs when using the C implementation of
:class:`~decimal.Decimal`: * memory leak in some rare cases when using the
``z`` format option (coerce negative 0) * incorrect output when applying the
``z`` format option to type ``F`` (fixed-point with capital ``NAN`` /
``INF``) * incorrect output when applying the ``#`` format option (alternate
form)
..
.. date: 2024-02-10-15-24-20
.. gh-issue: 102840
.. nonce: 4mnDq1
.. section: Library
Fix confused traceback when floordiv, mod, or divmod operations happens
between instances of :class:`fractions.Fraction` and :class:`complex`.
..
.. date: 2024-02-09-07-20-16
.. gh-issue: 115165
.. nonce: yfJLXA
.. section: Library
Most exceptions are now ignored when attempting to set the
``__orig_class__`` attribute on objects returned when calling :mod:`typing`
generic aliases (including generic aliases created using
:data:`typing.Annotated`). Previously only :exc:`AttributeError` was
ignored. Patch by Dave Shawley.
..
.. date: 2024-02-08-17-04-58
.. gh-issue: 112903
.. nonce: SN_vUs
.. section: Library
Fix "issubclass() arg 1 must be a class" errors in certain cases of multiple
inheritance with generic aliases (regression in early 3.13 alpha releases).
..
.. date: 2024-02-08-14-21-28
.. gh-issue: 115133
.. nonce: ycl4ko
.. section: Library
Fix tests for :class:`~xml.etree.ElementTree.XMLPullParser` with Expat
2.6.0.
..
.. date: 2024-02-08-13-26-14
.. gh-issue: 115059
.. nonce: DqP9dr
.. section: Library
:meth:`io.BufferedRandom.read1` now flushes the underlying write buffer.
..
.. date: 2024-02-07-12-37-52
.. gh-issue: 79382
.. nonce: Yz_5WB
.. section: Library
Trailing ``**`` no longer allows to match files and non-existing paths in
recursive :func:`~glob.glob`.
..
.. date: 2024-02-06-15-16-28
.. gh-issue: 67837
.. nonce: _JKa73
.. section: Library
Avoid race conditions in the creation of directories during concurrent
extraction in :mod:`tarfile` and :mod:`zipfile`.
..
.. date: 2024-02-06-03-55-46
.. gh-issue: 115060
.. nonce: EkWRpP
.. section: Library
Speed up :meth:`pathlib.Path.glob` by removing redundant regex matching.
..
.. date: 2024-02-05-16-48-06
.. gh-issue: 97928
.. nonce: JZCies
.. section: Library
Partially revert the behavior of :meth:`tkinter.Text.count`. By default it
preserves the behavior of older Python versions, except that setting
``wantobjects`` to 0 no longer has effect. Add a new parameter
*return_ints*: specifying ``return_ints=True`` makes ``Text.count()`` always
returning the single count as an integer instead of a 1-tuple or ``None``.
..
.. date: 2024-02-04-13-17-33
.. gh-issue: 114628
.. nonce: WJpqqS
.. section: Library
When csv.Error is raised when handling TypeError, do not print the TypeError
traceback.
..
.. date: 2024-02-04-02-28-37
.. gh-issue: 85984
.. nonce: NHZVTQ
.. section: Library
Added ``_POSIX_VDISABLE`` from C's ``<unistd.h>`` to :mod:`termios`.
..
.. date: 2024-02-03-17-54-17
.. gh-issue: 114965
.. nonce: gHksCK
.. section: Library
Update bundled pip to 24.0
..
.. date: 2024-02-03-16-59-25
.. gh-issue: 114959
.. nonce: dCfAG2
.. section: Library
:mod:`tarfile` no longer ignores errors when trying to extract a directory
on top of a file.
..
.. date: 2024-02-02-15-50-13
.. gh-issue: 114894
.. nonce: DF-dSd
.. section: Library
Add :meth:`array.array.clear`.
..
.. date: 2024-02-01-10-19-11
.. gh-issue: 114071
.. nonce: vkm2G_
.. section: Library
Support tuple subclasses using auto() for enum member value.
..
.. date: 2024-01-31-20-07-11
.. gh-issue: 109475
.. nonce: lmTb9S
.. section: Library
Fix support of explicit option value "--" in :mod:`argparse` (e.g.
``--option=--``).
..
.. date: 2024-01-30-22-10-50
.. gh-issue: 49766
.. nonce: yulJL_
.. section: Library
Fix :class:`~datetime.date`-:class:`~datetime.datetime` comparison. Now the
special comparison methods like ``__eq__`` and ``__lt__`` return
:data:`NotImplemented` if one of comparands is :class:`!date` and other is
:class:`!datetime` instead of ignoring the time part and the time zone or
forcefully return "not equal" or raise :exc:`TypeError`. It makes comparison
of :class:`!date` and :class:`!datetime` subclasses more symmetric and
allows to change the default behavior by overriding the special comparison
methods in subclasses.
..
.. date: 2024-01-30-15-34-08
.. gh-issue: 110190
.. nonce: Z5PQQX
.. section: Library
Fix ctypes structs with array on Windows ARM64 platform by setting
``MAX_STRUCT_SIZE`` to 32 in stgdict. Patch by Diego Russo
..
.. date: 2024-01-28-19-40-40
.. gh-issue: 114678
.. nonce: kYKcJw
.. section: Library
Ensure that deprecation warning for 'N' specifier in
:class:`~decimal.Decimal` format is not raised for cases where 'N' appears
in other places in the format specifier. Based on patch by Stefan Krah.
..
.. date: 2024-01-28-18-38-18
.. gh-issue: 70303
.. nonce: _Lt_pj
.. section: Library
Return both files and directories from :meth:`pathlib.Path.glob` if a
pattern ends with "``**``". Previously only directories were returned.
..
.. date: 2024-01-28-00-48-12
.. gh-issue: 109653
.. nonce: vF4exe
.. section: Library
Improve import time of :mod:`importlib.metadata` and :mod:`email.utils`.
..
.. date: 2024-01-27-20-11-24
.. gh-issue: 113280
.. nonce: CZPQMf
.. section: Library
Fix a leak of open socket in rare cases when error occurred in
:class:`ssl.SSLSocket` creation.
..
.. date: 2024-01-26-16-46-21
.. gh-issue: 77749
.. nonce: NY_7TS
.. section: Library
:meth:`email.policy.EmailPolicy.fold` now always encodes non-ASCII
characters in headers if :attr:`~email.policy.EmailPolicy.utf8` is false.
..
.. date: 2024-01-25-19-22-17
.. gh-issue: 83383
.. nonce: 3GwO9v
.. section: Library
Synchronization of the :mod:`dbm.dumb` database is now no-op if there was no
modification since opening or last synchronization. The directory file for a
newly created empty :mod:`dbm.dumb` database is now created immediately
after opening instead of deferring this until synchronizing or closing.
..
.. date: 2024-01-24-20-51-49
.. gh-issue: 91602
.. nonce: 8fOH8l
.. section: Library
Add *filter* keyword-only parameter to :meth:`sqlite3.Connection.iterdump`
for filtering database objects to dump. Patch by Mariusz Felisiak.
..
.. date: 2024-01-24-20-11-46
.. gh-issue: 112451
.. nonce: 7YrG4p
.. section: Library
Prohibit subclassing pure-Python :class:`datetime.timezone`. This is
consistent with C-extension implementation. Patch by Mariusz Felisiak.
..
.. date: 2024-01-24-17-25-18
.. gh-issue: 69893
.. nonce: PQq5fR
.. section: Library
Add the :meth:`!close` method for the iterator returned by
:func:`xml.etree.ElementTree.iterparse`.
..
.. date: 2024-01-23-23-13-47
.. gh-issue: 109653
.. nonce: KLBHmT
.. section: Library
Reduce the import time of :mod:`threading` module by ~50%. Patch by Daniel
Hollas.
..
.. date: 2024-01-23-21-20-40
.. gh-issue: 114492
.. nonce: vKxl5o
.. section: Library
Make the result of :func:`termios.tcgetattr` reproducible on Alpine Linux.
Previously it could leave a random garbage in some fields.
..
.. date: 2024-01-23-14-11-49
.. gh-issue: 114315
.. nonce: KeVdzl
.. section: Library
Make :class:`threading.Lock` a real class, not a factory function. Add
``__new__`` to ``_thread.lock`` type.
..
.. date: 2024-01-23-13-03-22
.. gh-issue: 100414
.. nonce: 5kTdU5
.. section: Library
Add :mod:`dbm.sqlite3` as a backend to :mod:`dbm`, and make it the new
default :mod:`!dbm` backend. Patch by Raymond Hettinger and Erlend E.
Aasland.
..
.. date: 2024-01-23-11-04-21
.. gh-issue: 113267
.. nonce: xe_Pxe
.. section: Library
Revert changes in :gh:`106584` which made calls of ``TestResult`` methods
``startTest()`` and ``stopTest()`` unbalanced.
..
.. date: 2024-01-22-12-10-34
.. gh-issue: 75128
.. nonce: 4FGlRS
.. section: Library
Ignore an :exc:`OSError` in :meth:`asyncio.BaseEventLoop.create_server` when
IPv6 is available but the interface cannot actually support it.
..
.. date: 2024-01-22-11-43-38
.. gh-issue: 114423
.. nonce: 6mMoPH
.. section: Library
``_DummyThread`` entries in ``threading._active`` are now automatically
removed when the related thread dies.
..
.. date: 2024-01-21-16-32-55
.. gh-issue: 114257
.. nonce: bCFld5
.. section: Library
Dismiss the :exc:`FileNotFound` error in :func:`ctypes.util.find_library`
and just return ``None`` on Linux.
..
.. date: 2024-01-19-18-41-02
.. gh-issue: 114321
.. nonce: yj_Xw3
.. section: Library
Expose more platform specific constants in the :mod:`fcntl` module on Linux,
macOS, FreeBSD and NetBSD.
..
.. date: 2024-01-19-15-48-06
.. gh-issue: 114328
.. nonce: hixxW3
.. section: Library
The :func:`tty.setcbreak` and new :func:`tty.cfmakecbreak` no longer clears
the terminal input ICRLF flag. This fixes a regression introduced in 3.12
that no longer matched how OSes define cbreak mode in their ``stty(1)``
manual pages.
..
.. date: 2024-01-19-12-05-22
.. gh-issue: 114281
.. nonce: H5JQe4
.. section: Library
Remove type hints from ``Lib/asyncio/staggered.py``. The annotations in the
`typeshed <https://github.com/python/typeshed>`__ project should be used
instead.
..
.. date: 2024-01-18-22-29-28
.. gh-issue: 101438
.. nonce: 1-uUi_
.. section: Library
Avoid reference cycle in ElementTree.iterparse. The iterator returned by
``ElementTree.iterparse`` may hold on to a file descriptor. The reference
cycle prevented prompt clean-up of the file descriptor if the returned
iterator was not exhausted.
..
.. date: 2024-01-18-10-07-52
.. gh-issue: 114198
.. nonce: lK4Iif
.. section: Library
The signature for the ``__replace__`` method on :mod:`dataclasses` now has
the first argument named ``self``, rather than ``obj``.
..
.. date: 2024-01-17-18-53-51
.. gh-issue: 104522
.. nonce: 3NyDf4
.. section: Library
:exc:`OSError` raised when run a subprocess now only has *filename*
attribute set to *cwd* if the error was caused by a failed attempt to change
the current directory.
..
.. date: 2024-01-16-15-59-06
.. gh-issue: 114149
.. nonce: LJ8IPm
.. section: Library
Enum: correctly handle tuple subclasses in custom ``__new__``.
..
.. date: 2024-01-15-20-21-33
.. gh-issue: 83648
.. nonce: HzD_fY
.. section: Library
Support deprecation of options, positional arguments and subcommands in
:mod:`argparse`.
..
.. date: 2024-01-15-19-54-41
.. gh-issue: 114087
.. nonce: Xic5vY
.. section: Library
Speed up ``dataclasses.asdict`` up to 1.35x.
..
.. date: 2024-01-15-18-42-44
.. gh-issue: 109534
.. nonce: wYaLMZ
.. section: Library
Fix a reference leak in
:class:`asyncio.selector_events.BaseSelectorEventLoop` when SSL handshakes
fail. Patch contributed by Jamie Phan.
..
.. date: 2024-01-12-17-32-36
.. gh-issue: 79634
.. nonce: uTSTRI
.. section: Library
Accept :term:`path-like objects <path-like object>` as patterns in
:meth:`pathlib.Path.glob` and :meth:`~pathlib.Path.rglob`.
..
.. date: 2024-01-12-09-35-07
.. gh-issue: 112202
.. nonce: t_0V1m
.. section: Library
Ensure that a :func:`asyncio.Condition.notify` call does not get lost if the
awakened ``Task`` is simultaneously cancelled or encounters any other error.
..
.. date: 2024-01-11-20-47-49
.. gh-issue: 113951
.. nonce: AzlqFK
.. section: Library
Fix the behavior of ``tag_unbind()`` methods of :class:`tkinter.Text` and
:class:`tkinter.Canvas` classes with three arguments. Previously,
``widget.tag_unbind(tag, sequence, funcid)`` destroyed the current binding
for *sequence*, leaving *sequence* unbound, and deleted the *funcid*
command. Now it removes only *funcid* from the binding for *sequence*,
keeping other commands, and deletes the *funcid* command. It leaves
*sequence* unbound only if *funcid* was the last bound command.
..
.. date: 2024-01-11-15-10-53
.. gh-issue: 97959
.. nonce: UOj6d4
.. section: Library
Fix rendering class methods, bound methods, method and function aliases in
:mod:`pydoc`. Class methods no longer have "method of builtins.type
instance" note. Corresponding notes are now added for class and unbound
methods. Method and function aliases now have references to the module or
the class where the origin was defined if it differs from the current. Bound
methods are now listed in the static methods section. Methods of builtin
classes are now supported as well as methods of Python classes.
..
.. date: 2024-01-07-21-04-24
.. gh-issue: 113796
.. nonce: 6iNsCR
.. section: Library
Add more validation checks in the :class:`csv.Dialect` constructor.
:exc:`ValueError` is now raised if the same character is used in different
roles.
..
.. date: 2024-01-05-16-27-34
.. gh-issue: 113732
.. nonce: fgDRXA
.. section: Library
Fix support of :data:`~csv.QUOTE_NOTNULL` and :data:`~csv.QUOTE_STRINGS` in
:func:`csv.reader`.
..
.. date: 2024-01-04-20-58-17
.. gh-issue: 113225
.. nonce: -nyJM4
.. section: Library
Speed up :meth:`pathlib.Path.walk` by using :attr:`os.DirEntry.path` where
possible.
..
.. date: 2023-12-18-20-10-50
.. gh-issue: 89039
.. nonce: gqFdtU
.. section: Library
When replace() method is called on a subclass of datetime, date or time,
properly call derived constructor. Previously, only the base class's
constructor was called.
Also, make sure to pass non-zero fold values when creating subclasses in
various methods. Previously, fold was silently ignored.
..
.. date: 2023-12-09-23-31-17
.. gh-issue: 112919
.. nonce: S5k9QN
.. section: Library
Speed-up :func:`datetime.datetime.replace`, :func:`datetime.date.replace`
and :func:`datetime.time.replace`.
..
.. date: 2023-11-27-19-54-43
.. gh-issue: 59013
.. nonce: chpQ0e
.. section: Library
Set breakpoint on the first executable line of the function, instead of the
line of function definition when the user do ``break func`` using :mod:`pdb`
..
.. date: 2023-11-24-19-08-50
.. gh-issue: 112343
.. nonce: RarGFC
.. section: Library
Improve handling of pdb convenience variables to avoid replacing string
contents.
..
.. date: 2023-11-18-16-30-21
.. gh-issue: 112240
.. nonce: YXS0tj
.. section: Library
Add option to calendar module CLI to specify the weekday to start each week.
Patch by Steven Ward.
..
.. date: 2023-11-04-22-32-27
.. gh-issue: 111741
.. nonce: f1ufr8
.. section: Library
Recognise ``image/webp`` as a standard format in the :mod:`mimetypes`
module.
..
.. date: 2023-10-27-19-24-58
.. gh-issue: 43457
.. nonce: 84lx9H
.. section: Library
Fix the :mod:`tkinter` widget method :meth:`!wm_attributes`. It now accepts
the attribute name without the minus prefix to get window attributes and
allows to specify attributes and values to set as keyword arguments. Add new
optional keyword argument *return_python_dict*: calling
``w.wm_attributes(return_python_dict=True)`` returns the attributes as a
dict instead of a tuple. Calling ``w.wm_attributes()`` now returns a tuple
instead of string if *wantobjects* was set to 0.
..
.. date: 2023-10-24-19-19-54
.. gh-issue: 82626
.. nonce: _hfLRf
.. section: Library
Many functions now emit a warning if a boolean value is passed as a file
descriptor argument.
..
.. date: 2023-10-19-02-08-12
.. gh-issue: 111051
.. nonce: 8h1Dpk
.. section: Library
Added check for file modification during debugging with :mod:`pdb`
..
.. date: 2023-10-04-11-09-30
.. gh-issue: 110345
.. nonce: fZU1ud
.. section: Library
Show the Tcl/Tk patchlevel (rather than version) in :meth:`tkinter._test`.
..
.. date: 2023-09-22-22-17-45
.. gh-issue: 38807
.. nonce: m9McRN
.. section: Library
Fix race condition in :mod:`trace`. Instead of checking if a directory
exists and creating it, directly call :func:`os.makedirs` with the kwarg
``exist_ok=True``.
..
.. date: 2023-07-23-12-28-26
.. gh-issue: 75705
.. nonce: aB2-Ww
.. section: Library
Set unixfrom envelope in :class:`mailbox.mbox` and :class:`mailbox.MMDF`.
..
.. date: 2023-06-29-14-26-56
.. gh-issue: 106233
.. nonce: Aqw2HI
.. section: Library
Fix stacklevel in ``InvalidTZPathWarning`` during :mod:`zoneinfo` module
import.
..
.. date: 2023-05-30-18-30-11
.. gh-issue: 105102
.. nonce: SnpK04
.. section: Library
Allow :class:`ctypes.Union` to be nested in :class:`ctypes.Structure` when
the system endianness is the opposite of the classes.
..
.. date: 2023-05-08-09-30-00
.. gh-issue: 104282
.. nonce: h4c6Eb
.. section: Library
Fix null pointer dereference in :func:`lzma._decode_filter_properties` due
to improper handling of BCJ filters with properties of zero length. Patch by
Radislav Chugunov.
..
.. date: 2023-05-06-04-57-10
.. gh-issue: 96471
.. nonce: C9wAU7
.. section: Library
Add :py:class:`queue.Queue` termination with
:py:meth:`~queue.Queue.shutdown`.
..
.. date: 2023-04-08-11-41-07
.. gh-issue: 101599
.. nonce: PaWNFh
.. section: Library
Changed argparse flag options formatting to remove redundancy.
..
.. date: 2023-03-15-03-21-18
.. gh-issue: 85984
.. nonce: Xaq6ZN
.. section: Library
Add POSIX pseudo-terminal functions :func:`os.posix_openpt`,
:func:`os.grantpt`, :func:`os.unlockpt`, and :func:`os.ptsname`.
..
.. date: 2023-03-08-00-02-30
.. gh-issue: 102512
.. nonce: LiugDr
.. section: Library
When :func:`os.fork` is called from a foreign thread (aka ``_DummyThread``),
the type of the thread in a child process is changed to ``_MainThread``.
Also changed its name and daemonic status, it can be now joined.
..
.. date: 2022-07-31-01-24-40
.. gh-issue: 88569
.. nonce: eU0--b
.. section: Library
Add :func:`os.path.isreserved`, which identifies reserved pathnames such as
"NUL", "AUX" and "CON". This function is only available on Windows.
Deprecate :meth:`pathlib.PurePath.is_reserved`.
..
.. bpo: 38364
.. date: 2019-10-05-22-56-50
.. nonce: sYTCWF
.. section: Library
The ``inspect`` functions ``isgeneratorfunction``, ``iscoroutinefunction``,
``isasyncgenfunction`` now support ``functools.partialmethod`` wrapped
functions the same way they support ``functools.partial``.
..
.. date: 2024-02-12-12-26-17
.. gh-issue: 115233
.. nonce: aug6r9
.. section: Documentation
Fix an example for :class:`~logging.LoggerAdapter` in the Logging Cookbook.
..
.. date: 2024-01-17-11-40-03
.. gh-issue: 114123
.. nonce: LuueXf
.. section: Documentation
Move the :mod:`csv` module docstring to the :mod:`!csv` module instead of
reexporting it from the internal :mod:`!_csv` module, and remove ``__doc__``
from ``csv.__all__``.
Move :attr:`!csv.__version__` to the :mod:`!csv` module instead of
reexporting it from the internal :mod:`!_csv` module, and remove
``__version__`` from ``csv.__all__``.
..
.. date: 2024-02-02-13-18-55
.. gh-issue: 114099
.. nonce: C_ycWg
.. section: Tests
Added test exclusions required to run the test suite on iOS.
..
.. date: 2023-06-02-05-04-15
.. gh-issue: 105089
.. nonce: KaZFtU
.. section: Tests
Fix
``test.test_zipfile.test_core.TestWithDirectory.test_create_directory_with_write``
test in AIX by doing a bitwise AND of 0xFFFF on mode , so that it will be in
sync with ``zinfo.external_attr``
..
.. date: 2024-02-08-19-36-20
.. gh-issue: 115167
.. nonce: LB9nDK
.. section: Build
Avoid vendoring ``vcruntime140_threads.dll`` when building with Visual
Studio 2022 version 17.8.
..
.. date: 2024-02-08-17-38-56
.. gh-issue: 113632
.. nonce: y9KIGb
.. section: Build
Promote WASI to a tier 2 platform and drop Emscripten from tier 3 in
configure.ac.
..
.. date: 2024-02-07-08-23-48
.. gh-issue: 114099
.. nonce: XcEXEZ
.. section: Build
configure and Makefile were refactored to accommodate framework builds on
Apple platforms other than macOS.
..
.. date: 2024-02-01-20-08-11
.. gh-issue: 114875
.. nonce: x_2iZ9
.. section: Build
Add :c:func:`!getgrent` as a prerequisite for building the :mod:`grp`
module.
..
.. date: 2024-02-08-21-37-22
.. gh-issue: 115049
.. nonce: X1ObpJ
.. section: Windows
Fixes ``py.exe`` launcher failing when run as users without user profiles.
..
.. date: 2024-02-06-09-05-13
.. gh-issue: 115009
.. nonce: ShMjZs
.. section: Windows
Update Windows installer to use SQLite 3.45.1.
..
.. date: 2024-02-05-16-53-12
.. gh-issue: 109991
.. nonce: YqjnDz
.. section: Windows
Update Windows build to use OpenSSL 3.0.13.
..
.. date: 2024-02-01-14-35-05
.. gh-issue: 111239
.. nonce: SO7SUF
.. section: Windows
Update Windows builds to use zlib v1.3.1.
..
.. date: 2024-01-23-00-05-05
.. gh-issue: 100107
.. nonce: lkbP_Q
.. section: Windows
The ``py.exe`` launcher will no longer attempt to run the Microsoft Store
redirector when launching a script containing a ``/usr/bin/env`` shebang
..
.. date: 2023-12-19-22-32-28
.. gh-issue: 112984
.. nonce: F7kFMl
.. section: Windows
Adds free-threaded binaries to Windows installer as an optional component.
..
.. date: 2023-08-11-18-21-38
.. gh-issue: 89240
.. nonce: dtSOLG
.. section: Windows
Allows :mod:`multiprocessing` to create pools of greater than 62 processes.
..
.. date: 2024-02-06-09-01-10
.. gh-issue: 115009
.. nonce: ysau7e
.. section: macOS
Update macOS installer to use SQLite 3.45.1.
..
.. date: 2024-02-05-18-30-27
.. gh-issue: 109991
.. nonce: tun6Yu
.. section: macOS
Update macOS installer to use OpenSSL 3.0.13.
..
.. date: 2024-01-23-11-35-26
.. gh-issue: 114490
.. nonce: FrQOQ0
.. section: macOS
Add Mach-O linkage support for :func:`platform.architecture()`.
..
.. date: 2022-11-18-10-05-35
.. gh-issue: 87804
.. nonce: rhlDmD
.. section: macOS
On macOS the result of ``os.statvfs`` and ``os.fstatvfs`` now correctly
report the size of very large disks, in previous versions the reported
number of blocks was wrong for disks with at least 2**32 blocks.
..
.. date: 2024-01-17-23-18-15
.. gh-issue: 96905
.. nonce: UYaxoU
.. section: IDLE
In idlelib code, stop redefining built-ins 'dict' and 'object'.
..
.. date: 2023-04-25-03-01-23
.. gh-issue: 103820
.. nonce: LCSpza
.. section: IDLE
Revise IDLE bindings so that events from mouse button 4/5 on non-X11
windowing systems (i.e. Win32 and Aqua) are not mistaken for scrolling.
..
.. date: 2024-02-14-15-58-13
.. gh-issue: 113516
.. nonce: TyIHWx
.. section: Tools/Demos
Don't set ``LDSHARED`` when building for WASI.
..
.. date: 2024-02-05-19-00-32
.. gh-issue: 109991
.. nonce: yJSEkw
.. section: Tools/Demos
Update GitHub CI workflows to use OpenSSL 3.0.13 and multissltests to use
1.1.1w, 3.0.13, 3.1.5, and 3.2.1.
..
.. date: 2024-02-05-02-45-51
.. gh-issue: 115015
.. nonce: rgtiDB
.. section: Tools/Demos
Fix a bug in Argument Clinic that generated incorrect code for methods with
no parameters that use the :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS
<METH_METHOD-METH_FASTCALL-METH_KEYWORDS>` calling convention. Only the
positional parameter count was checked; any keyword argument passed would be
silently accepted.
..
.. date: 2024-02-05-17-11-15
.. gh-issue: 111140
.. nonce: WMEjid
.. section: C API
Adds :c:func:`PyLong_AsNativeBytes`, :c:func:`PyLong_FromNativeBytes` and
:c:func:`PyLong_FromUnsignedNativeBytes` functions.
..
.. date: 2024-01-31-15-43-35
.. gh-issue: 114685
.. nonce: n7aRmX
.. section: C API
:c:func:`PyBuffer_FillInfo` now raises a :exc:`SystemError` if called with
:c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE` as flags. These flags should
only be used with the ``PyMemoryView_*`` C API.
..
.. date: 2024-01-29-12-13-24
.. gh-issue: 114685
.. nonce: B07RME
.. section: C API
:c:func:`PyObject_GetBuffer` now raises a :exc:`SystemError` if called with
:c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE` as flags. These flags should
only be used with the ``PyMemoryView_*`` C API.
..
.. date: 2024-01-26-21-54-42
.. gh-issue: 114626
.. nonce: SKhbh_
.. section: C API
Add ``PyCFunctionFast`` and ``PyCFunctionFastWithKeywords`` typedefs
(identical to the existing ``_PyCFunctionFast`` and
``_PyCFunctionFastWithKeywords`` typedefs, just without a leading ``_``
prefix).
..
.. date: 2024-01-23-21-45-02
.. gh-issue: 114329
.. nonce: YRaBoe
.. section: C API
Add :c:func:`PyList_GetItemRef`, which is similar to
:c:func:`PyList_GetItem` but returns a :term:`strong reference` instead of a
:term:`borrowed reference`.
..
.. date: 2023-11-16-02-07-48
.. gh-issue: 110850
.. nonce: DQGNfF
.. section: C API
Add PyTime C API:
* :c:type:`PyTime_t` type.
* :c:var:`PyTime_MIN` and :c:var:`PyTime_MAX` constants.
* :c:func:`PyTime_AsSecondsDouble`,
:c:func:`PyTime_Monotonic`, :c:func:`PyTime_PerfCounter`, and
:c:func:`PyTime_Time` functions.
Patch by Victor Stinner.
..
.. date: 2023-11-15-13-47-48
.. gh-issue: 112066
.. nonce: 22WsqR
.. section: C API
Add :c:func:`PyDict_SetDefaultRef`: insert a key and value into a dictionary
if the key is not already present. This is similar to
:meth:`dict.setdefault`, but returns an integer value indicating if the key
was already present. It is also similar to :c:func:`PyDict_SetDefault`, but
returns a strong reference instead of a borrowed reference.