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

2415 lines
54 KiB
ReStructuredText

.. date: 2024-01-02-19-52-23
.. gh-issue: 113659
.. nonce: DkmnQc
.. release date: 2024-01-17
.. section: Security
Skip ``.pth`` files with names starting with a dot or hidden file attribute.
..
.. date: 2023-12-06-14-06-59
.. gh-issue: 112302
.. nonce: 3bl20f
.. section: Security
Created a Software Bill-of-Materials document and tooling for tracking
dependencies.
..
.. date: 2024-01-11-16-54-55
.. gh-issue: 107901
.. nonce: Td3JPI
.. section: Core and Builtins
Compiler duplicates basic blocks that have an eval breaker check, no line
number, and multiple predecessors.
..
.. date: 2024-01-11-14-03-31
.. gh-issue: 107901
.. nonce: U65IyC
.. section: Core and Builtins
A jump leaving an exception handler back to normal code no longer checks the
eval breaker.
..
.. date: 2024-01-11-01-28-25
.. gh-issue: 113655
.. nonce: Mfioxp
.. section: Core and Builtins
Set the C recursion limit to 4000 on Windows, and 10000 on Linux/OSX. This
seems to be near the sweet spot to maintain safety, but not compromise
backwards compatibility.
..
.. date: 2024-01-09-23-01-00
.. gh-issue: 113710
.. nonce: pe3flY
.. section: Core and Builtins
Add typed stack effects to the interpreter DSL, along with various
instruction annotations.
..
.. date: 2024-01-08-14-34-02
.. gh-issue: 77046
.. nonce: sDUh2d
.. section: Core and Builtins
On Windows, file descriptors wrapping Windows handles are now created non
inheritable by default (:pep:`446`). Patch by Zackery Spytz and Victor
Stinner.
..
.. date: 2024-01-08-05-36-59
.. gh-issue: 113853
.. nonce: lm-6_a
.. section: Core and Builtins
Guarantee that all executors make progress. This then guarantees that tier 2
execution always makes progress.
..
.. date: 2024-01-05-21-28-48
.. gh-issue: 113753
.. nonce: 2HNiuq
.. section: Core and Builtins
Fix an issue where the finalizer of ``PyAsyncGenASend`` objects might not be
called if they were allocated from a free list.
..
.. date: 2024-01-05-00-49-14
.. gh-issue: 107901
.. nonce: 6JRrb6
.. section: Core and Builtins
Compiler changed so that synthetic jumps which are not at loop end no longer
check the eval breaker.
..
.. date: 2024-01-04-17-15-30
.. gh-issue: 113703
.. nonce: Zsk0pY
.. section: Core and Builtins
Fix a regression in the :mod:`codeop` module that was causing it to
incorrectly identify incomplete f-strings. Patch by Pablo Galindo
..
.. date: 2024-01-03-12-19-37
.. gh-issue: 89811
.. nonce: cZOj6d
.. section: Core and Builtins
Check for a valid ``tp_version_tag`` before performing bytecode
specializations that rely on this value being usable.
..
.. date: 2024-01-02-17-22-57
.. gh-issue: 111488
.. nonce: EJH3Oh
.. section: Core and Builtins
Changed error message in case of no 'in' keyword after 'for' in list
comprehensions
..
.. date: 2024-01-02-11-14-29
.. gh-issue: 113657
.. nonce: CQo9vF
.. section: Core and Builtins
Fix an issue that caused important instruction pointer updates to be
optimized out of tier two traces.
..
.. date: 2024-01-01-23-57-24
.. gh-issue: 113603
.. nonce: ySwovr
.. section: Core and Builtins
Fixed bug where a redundant NOP is not removed, causing an assertion to fail
in the compiler in debug mode.
..
.. date: 2024-01-01-00-07-02
.. gh-issue: 113602
.. nonce: cWuTzk
.. section: Core and Builtins
Fix an error that was causing the parser to try to overwrite existing errors
and crashing in the process. Patch by Pablo Galindo
..
.. date: 2023-12-31-07-46-01
.. gh-issue: 113486
.. nonce: uki19C
.. section: Core and Builtins
No longer issue spurious ``PY_UNWIND`` events for optimized calls to
classes.
..
.. date: 2023-12-20-18-27-11
.. gh-issue: 113297
.. nonce: BZyAI_
.. section: Core and Builtins
Fix segfault in the compiler on with statement with 19 context managers.
..
.. date: 2023-12-20-08-54-54
.. gh-issue: 113212
.. nonce: 62AUlw
.. section: Core and Builtins
Improve :py:class:`super` error messages.
..
.. date: 2023-12-19-22-03-43
.. gh-issue: 111375
.. nonce: M9vuA6
.. section: Core and Builtins
Only use ``NULL`` in the exception stack to indicate an exception was
handled. Patch by Carey Metcalfe.
..
.. date: 2023-12-15-16-26-01
.. gh-issue: 112215
.. nonce: xJS6_6
.. section: Core and Builtins
Increase the C recursion limit by a factor of 3 for non-debug builds, except
for webassembly and s390 platforms which are unchanged. This mitigates some
regressions in 3.12 with deep recursion mixing builtin (C) and Python code.
..
.. date: 2023-12-14-20-08-35
.. gh-issue: 113054
.. nonce: e20CtM
.. section: Core and Builtins
Fixed bug where a redundant NOP is not removed, causing an assertion to fail
in the compiler in debug mode.
..
.. date: 2023-12-13-11-45-53
.. gh-issue: 106905
.. nonce: 5dslTN
.. section: Core and Builtins
Use per AST-parser state rather than global state to track recursion depth
within the AST parser to prevent potential race condition due to
simultaneous parsing.
The issue primarily showed up in 3.11 by multithreaded users of
:func:`ast.parse`. In 3.12 a change to when garbage collection can be
triggered prevented the race condition from occurring.
..
.. date: 2023-12-12-04-53-19
.. gh-issue: 108866
.. nonce: xbJ-9a
.. section: Core and Builtins
Change the API and contract of ``_PyExecutorObject`` to return the
next_instr pointer, instead of the frame, and to always execute at least one
instruction.
..
.. date: 2023-12-11-19-53-32
.. gh-issue: 90350
.. nonce: -FQy3E
.. section: Core and Builtins
Optimize builtin functions :func:`min` and :func:`max`.
..
.. date: 2023-12-11-00-50-00
.. gh-issue: 112943
.. nonce: RHNZie
.. section: Core and Builtins
Correctly compute end column offsets for multiline tokens in the
:mod:`tokenize` module. Patch by Pablo Galindo
..
.. date: 2023-12-07-13-19-55
.. gh-issue: 112125
.. nonce: 4ADN7i
.. section: Core and Builtins
Fix ``None.__ne__(None)`` returning ``NotImplemented`` instead of ``False``.
..
.. date: 2023-12-07-12-00-04
.. gh-issue: 74616
.. nonce: kgTGVb
.. section: Core and Builtins
:func:`input` now raises a ValueError when output on the terminal if the
prompt contains embedded null characters instead of silently truncating it.
..
.. date: 2023-12-05-20-41-58
.. gh-issue: 112716
.. nonce: hOcx0Y
.. section: Core and Builtins
Fix SystemError in the ``import`` statement and in ``__reduce__()`` methods
of builtin types when ``__builtins__`` is not a dict.
..
.. date: 2023-12-04-23-09-07
.. gh-issue: 112730
.. nonce: BXHlFa
.. section: Core and Builtins
Use color to highlight error locations in tracebacks. Patch by Pablo Galindo
..
.. date: 2023-12-03-19-34-51
.. gh-issue: 112625
.. nonce: QWTlwS
.. section: Core and Builtins
Fixes a bug where a bytearray object could be cleared while iterating over
an argument in the ``bytearray.join()`` method that could result in reading
memory after it was freed.
..
.. date: 2023-12-03-15-29-53
.. gh-issue: 112660
.. nonce: gldBvh
.. section: Core and Builtins
Do not clear unexpected errors during formatting error messages for
ImportError and AttributeError for modules.
..
.. date: 2023-12-01-19-02-21
.. gh-issue: 105967
.. nonce: Puq5Cn
.. section: Core and Builtins
Workaround a bug in Apple's macOS platform zlib library where
:func:`zlib.crc32` and :func:`binascii.crc32` could produce incorrect
results on multi-gigabyte inputs. Including when using :mod:`zipfile` on
zips containing large data.
..
.. date: 2023-12-01-08-16-10
.. gh-issue: 95754
.. nonce: ae4gwy
.. section: Core and Builtins
Provide a better error message when accessing invalid attributes on
partially initialized modules. The origin of the module being accessed is
now included in the message to help with the common issue of shadowing other
modules.
..
.. date: 2023-11-27-18-55-30
.. gh-issue: 112217
.. nonce: SwFLMj
.. section: Core and Builtins
Add check for the type of ``__cause__`` returned from calling the type ``T``
in ``raise from T``.
..
.. date: 2023-11-26-21-30-11
.. gh-issue: 111058
.. nonce: q4DqDY
.. section: Core and Builtins
Change coro.cr_frame/gen.gi_frame to return ``None`` after the
coroutine/generator has been closed. This fixes a bug where
:func:`~inspect.getcoroutinestate` and :func:`~inspect.getgeneratorstate`
return the wrong state for a closed coroutine/generator.
..
.. date: 2023-11-25-22-58-49
.. gh-issue: 112388
.. nonce: MU3cIM
.. section: Core and Builtins
Fix an error that was causing the parser to try to overwrite tokenizer
errors. Patch by pablo Galindo
..
.. date: 2023-11-25-22-39-44
.. gh-issue: 112387
.. nonce: AbBq5W
.. section: Core and Builtins
Fix error positions for decoded strings with backwards tokenize errors.
Patch by Pablo Galindo
..
.. date: 2023-11-25-20-36-38
.. gh-issue: 99606
.. nonce: fDY5hK
.. section: Core and Builtins
Make code generated for an empty f-string identical to the code of an empty
normal string.
..
.. date: 2023-11-24-14-10-57
.. gh-issue: 112367
.. nonce: 9z1IDp
.. section: Core and Builtins
Avoid undefined behaviour when using the perf trampolines by not freeing the
code arenas until shutdown. Patch by Pablo Galindo
..
.. date: 2023-11-22-13-17-54
.. gh-issue: 112320
.. nonce: EddM51
.. section: Core and Builtins
The Tier 2 translator now tracks the confidence level for staying "on trace"
(i.e. not exiting back to the Tier 1 interpreter) for branch instructions
based on the number of bits set in the branch "counter". Trace translation
ends when the confidence drops below 1/3rd.
..
.. date: 2023-09-21-11-54-28
.. gh-issue: 109598
.. nonce: CRidSy
.. section: Core and Builtins
:c:func:`PyComplex_RealAsDouble`/:c:func:`PyComplex_ImagAsDouble` now tries
to convert an object to a :class:`complex` instance using its
``__complex__()`` method before falling back to the ``__float__()`` method.
Patch by Sergey B Kirpichev.
..
.. date: 2022-07-07-05-37-53
.. gh-issue: 94606
.. nonce: hojJ54
.. section: Core and Builtins
Fix UnicodeEncodeError when :func:`email.message.get_payload` reads a
message with a Unicode surrogate character and the message content is not
well-formed for surrogateescape encoding. Patch by Sidney Markowitz.
..
.. bpo: 21861
.. date: 2022-01-23-18-00-10
.. nonce: N8E1zw
.. section: Core and Builtins
Use the object's actual class name in :meth:`_io.FileIO.__repr__`,
:meth:`_io._WindowsConsoleIO` and :meth:`_io.TextIOWrapper.__repr__`, to
make these methods subclass friendly.
..
.. bpo: 45369
.. date: 2021-10-05-05-00-16
.. nonce: tluk_X
.. section: Core and Builtins
Remove LibreSSL workarounds as per :pep:`644`.
..
.. bpo: 34392
.. date: 2018-08-13-13-25-15
.. nonce: 9kIlMF
.. section: Core and Builtins
Added :func:`sys._is_interned`.
..
.. date: 2024-01-15-12-12-54
.. gh-issue: 114077
.. nonce: KcVnfj
.. section: Library
Fix possible :exc:`OverflowError` in :meth:`socket.socket.sendfile` when
pass *count* larger than 2 GiB on 32-bit platform.
..
.. date: 2024-01-13-14-20-31
.. gh-issue: 111803
.. nonce: llpLAw
.. section: Library
:mod:`plistlib` now supports loading more deeply nested lists in binary
format.
..
.. date: 2024-01-13-11-34-29
.. gh-issue: 114014
.. nonce: WRHifN
.. section: Library
Fixed a bug in :class:`fractions.Fraction` where an invalid string using
``d`` in the decimals part creates a different error compared to other
invalid letters/characters. Patch by Jeremiah Gabriel Pascual.
..
.. date: 2024-01-11-22-22-51
.. gh-issue: 108364
.. nonce: QH7C-1
.. section: Library
:meth:`sqlite3.Connection.iterdump` now ensures that foreign key support is
disabled before dumping the database schema, if there is any foreign key
violation. Patch by Erlend E. Aasland and Mariusz Felisiak.
..
.. date: 2024-01-11-16-58-10
.. gh-issue: 113971
.. nonce: skJZ4g
.. section: Library
The :class:`zipfile.ZipInfo` previously protected ``._compresslevel``
attribute has been made public as ``.compress_level`` with the old
``_compresslevel`` name remaining available as a property to retain
compatibility.
..
.. date: 2024-01-10-12-03-38
.. gh-issue: 113877
.. nonce: RxKlrQ
.. section: Library
Fix :mod:`tkinter` method ``winfo_pathname()`` on 64-bit Windows.
..
.. date: 2024-01-09-18-07-08
.. gh-issue: 113868
.. nonce: DlZG2r
.. section: Library
Added :data:`mmap.MAP_NORESERVE`, :data:`mmap.MAP_NOEXTEND`,
:data:`mmap.MAP_HASSEMAPHORE`, :data:`mmap.MAP_NOCACHE`,
:data:`mmap.MAP_JIT`, :data:`mmap.MAP_RESILIENT_CODESIGN`,
:data:`mmap.MAP_RESILIENT_MEDIA`, :data:`mmap.MAP_32BIT`,
:data:`mmap.MAP_TRANSLATED_ALLOW_EXECUTE`, :data:`mmap.MAP_UNIX03` and
:data:`mmap.MAP_TPRO`. All of them are ``mmap(2)`` flags on macOS.
..
.. date: 2024-01-09-12-19-55
.. gh-issue: 113848
.. nonce: kXoCy0
.. section: Library
:func:`asyncio.TaskGroup()` and :func:`asyncio.timeout()` context managers
now handle :exc:`~asyncio.CancelledError` subclasses as well as exact
:exc:`!CancelledError`.
..
.. date: 2024-01-09-08-59-43
.. gh-issue: 113661
.. nonce: asvXSx
.. section: Library
unittest runner: Don't exit 5 if tests were skipped. The intention of
exiting 5 was to detect issues where the test suite wasn't discovered at
all. If we skipped tests, it was correctly discovered.
..
.. date: 2024-01-08-19-38-42
.. gh-issue: 96037
.. nonce: Yr2Y1C
.. section: Library
Insert :exc:`TimeoutError` in the context of the exception that was raised
during exiting an expired :func:`asyncio.timeout` block.
..
.. date: 2024-01-08-14-57-09
.. gh-issue: 113781
.. nonce: IoTnwi
.. section: Library
Silence unraisable AttributeError when warnings are emitted during Python
finalization.
..
.. date: 2024-01-07-23-31-44
.. gh-issue: 113238
.. nonce: wFWBfW
.. section: Library
Add ``Anchor`` to ``importlib.resources`` (in order for the code to comply
with the documentation)
..
.. date: 2024-01-07-13-36-03
.. gh-issue: 111693
.. nonce: xN2LuL
.. section: Library
:func:`asyncio.Condition.wait()` now re-raises the same
:exc:`CancelledError` instance that may have caused it to be interrupted.
Fixed race condition in :func:`asyncio.Semaphore.acquire` when interrupted
with a :exc:`CancelledError`.
..
.. date: 2024-01-07-11-45-56
.. gh-issue: 113791
.. nonce: XF5xSW
.. section: Library
Add ``CLOCK_MONOTONIC_RAW_APPROX`` and ``CLOCK_UPTIME_RAW_APPROX`` to
:mod:`time` on macOS. These are clocks available on macOS 10.12 or later.
..
.. date: 2024-01-07-00-56-41
.. gh-issue: 112932
.. nonce: OfhUu7
.. section: Library
Restore the ability for :mod:`zipfile` to ``extractall`` from zip files with
a "/" directory entry in them as is commonly added to zips by some wiki or
bug tracker data exporters.
..
.. date: 2024-01-05-21-52-59
.. gh-issue: 113568
.. nonce: _0FkpZ
.. section: Library
Raise deprecation warnings from :class:`pathlib.PurePath` and not its
private base class ``PurePathBase``.
..
.. date: 2024-01-05-12-42-07
.. gh-issue: 113594
.. nonce: 4t8HiR
.. section: Library
Fix :exc:`UnicodeEncodeError` in :mod:`email` when re-fold lines that
contain unknown-8bit encoded part followed by non-unknown-8bit encoded part.
..
.. date: 2024-01-03-14-19-26
.. gh-issue: 113538
.. nonce: ahuBCo
.. section: Library
In :meth:`asyncio.StreamReaderProtocol.connection_made`, there is callback
that logs an error if the task wrapping the "connected callback" fails. This
callback would itself fail if the task was cancelled. Prevent this by
checking whether the task was cancelled first. If so, close the transport
but don't log an error.
..
.. date: 2024-01-02-12-41-59
.. gh-issue: 113626
.. nonce: i1PPY_
.. section: Library
Add support for the *allow_code* argument in the :mod:`marshal` module.
Passing ``allow_code=False`` prevents serialization and de-serialization of
code objects which is incompatible between Python versions.
..
.. date: 2024-01-01-13-26-02
.. gh-issue: 85567
.. nonce: K4U15m
.. section: Library
Fix resource warnings for unclosed files in :mod:`pickle` and
:mod:`pickletools` command line interfaces.
..
.. date: 2023-12-30-20-30-05
.. gh-issue: 113537
.. nonce: v1W5_X
.. section: Library
Support loads ``str`` in :func:`plistlib.loads`.
..
.. date: 2023-12-29-22-29-34
.. gh-issue: 89850
.. nonce: KnxiZA
.. section: Library
Add default implementations of :meth:`pickle.Pickler.persistent_id` and
:meth:`pickle.Unpickler.persistent_load` methods in the C implementation.
Calling ``super().persistent_id()`` and ``super().persistent_load()`` in
subclasses of the C implementation of :class:`pickle.Pickler` and
:class:`pickle.Unpickler` classes no longer causes infinite recursion.
..
.. date: 2023-12-29-17-57-45
.. gh-issue: 113569
.. nonce: qcRCEI
.. section: Library
Indicate if there were no actual calls in unittest
:meth:`~unittest.mock.Mock.assert_has_calls` failure.
..
.. date: 2023-12-29-17-46-06
.. gh-issue: 101225
.. nonce: QaEyxF
.. section: Library
Increase the backlog for :class:`multiprocessing.connection.Listener`
objects created by :mod:`multiprocessing.manager` and
:mod:`multiprocessing.resource_sharer` to significantly reduce the risk of
getting a connection refused error when creating a
:class:`multiprocessing.connection.Connection` to them.
..
.. date: 2023-12-29-17-30-49
.. gh-issue: 113568
.. nonce: UpWNAI
.. section: Library
Raise audit events from :class:`pathlib.Path` and not its private base class
``PathBase``.
..
.. date: 2023-12-28-14-36-20
.. gh-issue: 113543
.. nonce: 2iWkOR
.. section: Library
Make sure that ``webbrowser.MacOSXOSAScript`` sends ``webbrowser.open``
audit event.
..
.. date: 2023-12-23-16-51-17
.. gh-issue: 113028
.. nonce: 3Jmdoj
.. section: Library
When a second reference to a string appears in the input to :mod:`pickle`,
and the Python implementation is in use, we are guaranteed that a single
copy gets pickled and a single object is shared when reloaded. Previously,
in protocol 0, when a string contained certain characters (e.g. newline) it
resulted in duplicate objects.
..
.. date: 2023-12-23-16-10-07
.. gh-issue: 113421
.. nonce: w7vs08
.. section: Library
Fix multiprocessing logger for ``%(filename)s``.
..
.. date: 2023-12-23-13-10-42
.. gh-issue: 111784
.. nonce: Nb4L1j
.. section: Library
Fix segfaults in the ``_elementtree`` module. Fix first segfault during
deallocation of ``_elementtree.XMLParser`` instances by keeping strong
reference to ``pyexpat`` module in module state for capsule lifetime. Fix
second segfault which happens in the same deallocation process by keeping
strong reference to ``_elementtree`` module in ``XMLParser`` structure for
``_elementtree`` module lifetime.
..
.. date: 2023-12-22-20-49-52
.. gh-issue: 113407
.. nonce: C_O13_
.. section: Library
Fix import of :mod:`unittest.mock` when CPython is built without docstrings.
..
.. date: 2023-12-22-11-30-57
.. gh-issue: 113320
.. nonce: Vp5suS
.. section: Library
Fix regression in Python 3.12 where :class:`~typing.Protocol` classes that
were not marked as :func:`runtime-checkable <typing.runtime_checkable>`
would be unnecessarily introspected, potentially causing exceptions to be
raised if the protocol had problematic members. Patch by Alex Waygood.
..
.. date: 2023-12-21-23-47-42
.. gh-issue: 53502
.. nonce: dercJI
.. section: Library
Add a new option ``aware_datetime`` in :mod:`plistlib` to loads or dumps
aware datetime.
..
.. date: 2023-12-21-14-55-06
.. gh-issue: 113358
.. nonce: nRkiSL
.. section: Library
Fix rendering tracebacks with exceptions with a broken __getattr__
..
.. date: 2023-12-20-21-18-51
.. gh-issue: 113214
.. nonce: JcV9Mn
.. section: Library
Fix an ``AttributeError`` during asyncio SSL protocol aborts in SSL-over-SSL
scenarios.
..
.. date: 2023-12-18-09-47-54
.. gh-issue: 113246
.. nonce: em930H
.. section: Library
Update bundled pip to 23.3.2.
..
.. date: 2023-12-17-13-56-30
.. gh-issue: 87264
.. nonce: RgfHCv
.. section: Library
Fixed tarfile list() method to show file type.
..
.. date: 2023-12-17-10-22-55
.. gh-issue: 112182
.. nonce: jLWGlr
.. section: Library
:meth:`asyncio.futures.Future.set_exception()` now transforms
:exc:`StopIteration` into :exc:`RuntimeError` instead of hanging or other
misbehavior. Patch contributed by Jamie Phan.
..
.. date: 2023-12-17-04-43-57
.. gh-issue: 113225
.. nonce: dhxhiZ
.. section: Library
Speed up :meth:`pathlib.Path.glob` by using :attr:`os.DirEntry.path` where
possible.
..
.. date: 2023-12-16-23-56-42
.. gh-issue: 113149
.. nonce: 7LWgTS
.. section: Library
Improve error message when a JSON array or object contains a trailing comma.
Patch by Carson Radtke.
..
.. date: 2023-12-16-10-58-34
.. gh-issue: 113117
.. nonce: 0zF7bH
.. section: Library
The :mod:`subprocess` module can now use the :func:`os.posix_spawn` function
with ``close_fds=True`` on platforms where
``posix_spawn_file_actions_addclosefrom_np`` is available. Patch by Jakub
Kulik.
..
.. date: 2023-12-16-01-10-47
.. gh-issue: 113199
.. nonce: oDjnjL
.. section: Library
Make ``http.client.HTTPResponse.read1`` and
``http.client.HTTPResponse.readline`` close IO after reading all data when
content length is known. Patch by Illia Volochii.
..
.. date: 2023-12-15-21-33-42
.. gh-issue: 113191
.. nonce: Il155b
.. section: Library
Add support of :func:`os.fchmod` and a file descriptor in :func:`os.chmod`
on Windows.
..
.. date: 2023-12-15-20-29-49
.. gh-issue: 113188
.. nonce: AvoraB
.. section: Library
Fix :func:`shutil.copymode` and :func:`shutil.copystat` on Windows.
Previously they worked differently if *dst* is a symbolic link: they modified
the permission bits of *dst* itself rather than the file it points to if
*follow_symlinks* is true or *src* is not a symbolic link, and did not
modify the permission bits if *follow_symlinks* is false and *src* is a
symbolic link.
..
.. date: 2023-12-15-18-13-59
.. gh-issue: 113119
.. nonce: al-569
.. section: Library
:func:`os.posix_spawn` now accepts ``env=None``, which makes the newly
spawned process use the current process environment. Patch by Jakub Kulik.
..
.. date: 2023-12-15-18-10-26
.. gh-issue: 113202
.. nonce: xv_Ww8
.. section: Library
Add a ``strict`` option to ``batched()`` in the ``itertools`` module.
..
.. date: 2023-12-15-12-35-28
.. gh-issue: 61648
.. nonce: G-4pz0
.. section: Library
Detect line numbers of properties in doctests.
..
.. date: 2023-12-15-09-51-41
.. gh-issue: 113175
.. nonce: RHsNwE
.. section: Library
Sync with importlib_metadata 7.0, including improved type annotations, fixed
issue with symlinked packages in ``package_distributions``, added
``EntryPoints.__repr__``, introduced the ``diagnose`` script, added
``Distribution.origin`` property, and removed deprecated ``EntryPoint``
access by numeric index (tuple behavior).
..
.. date: 2023-12-13-17-08-21
.. gh-issue: 59616
.. nonce: JNlWSs
.. section: Library
Add support of :func:`os.lchmod` and the *follow_symlinks* argument in
:func:`os.chmod` on Windows. Note that the default value of
*follow_symlinks* in :func:`!os.lchmod` is ``False`` on Windows.
..
.. date: 2023-12-12-20-15-57
.. gh-issue: 112559
.. nonce: IgXkje
.. section: Library
:func:`signal.signal` and :func:`signal.getsignal` no longer call ``repr``
on callable handlers. :func:`asyncio.run` and :meth:`asyncio.Runner.run` no
longer call ``repr`` on the task results. Patch by Yilei Yang.
..
.. date: 2023-12-12-16-32-55
.. gh-issue: 112962
.. nonce: ZZWXZn
.. section: Library
:mod:`dis` module functions add cache information to the
:class:`~dis.Instruction` instance rather than creating fake
:class:`~dis.Instruction` instances to represent the cache entries.
..
.. date: 2023-12-12-05-48-17
.. gh-issue: 112989
.. nonce: ZAa_eq
.. section: Library
Reduce overhead to connect sockets with :mod:`asyncio` SelectorEventLoop.
..
.. date: 2023-12-11-16-13-15
.. gh-issue: 112970
.. nonce: 87jmKP
.. section: Library
Use :c:func:`!closefrom` on Linux where available (e.g. glibc-2.34), rather
than only FreeBSD.
..
.. date: 2023-12-11-14-12-46
.. gh-issue: 110190
.. nonce: e0iEUa
.. section: Library
Fix ctypes structs with array on PPC64LE platform by setting
``MAX_STRUCT_SIZE`` to 64 in stgdict. Patch by Diego Russo.
..
.. date: 2023-12-08-11-17-17
.. gh-issue: 112540
.. nonce: Pm5egX
.. section: Library
The statistics.geometric_mean() function now returns zero for datasets
containing a zero. Formerly, it would raise an exception.
..
.. date: 2023-12-07-16-55-41
.. gh-issue: 87286
.. nonce: MILC9_
.. section: Library
Added :const:`LOG_FTP`, :const:`LOG_NETINFO`, :const:`LOG_REMOTEAUTH`,
:const:`LOG_INSTALL`, :const:`LOG_RAS`, and :const:`LOG_LAUNCHD` tot the
:mod:`syslog` module, all of them constants on used on macOS.
..
.. date: 2023-12-06-16-01-33
.. gh-issue: 112800
.. nonce: TNsGJ-
.. section: Library
Fix :mod:`asyncio` ``SubprocessTransport.close()`` not to throw
``PermissionError`` when used with setuid executables.
..
.. date: 2023-12-06-14-06-14
.. gh-issue: 51944
.. nonce: -5qq_L
.. section: Library
Add the following constants to the :mod:`termios` module. These values are
present in macOS system headers: ``ALTWERASE``, ``B14400``, ``B28800``,
``B7200``, ``B76800``, ``CCAR_OFLOW``, ``CCTS_OFLOW``, ``CDSR_OFLOW``,
``CDTR_IFLOW``, ``CIGNORE``, ``CRTS_IFLOW``, ``EXTPROC``, ``IUTF8``,
``MDMBUF``, ``NL2``, ``NL3``, ``NOKERNINFO``, ``ONOEOT``, ``OXTABS``,
``VDSUSP``, ``VSTATUS``.
..
.. date: 2023-12-05-18-57-53
.. gh-issue: 79325
.. nonce: P2vMVK
.. section: Library
Fix an infinite recursion error in :func:`tempfile.TemporaryDirectory`
cleanup on Windows.
..
.. date: 2023-12-05-16-20-40
.. gh-issue: 94692
.. nonce: -e5C3c
.. section: Library
:func:`shutil.rmtree` now only catches OSError exceptions. Previously a
symlink attack resistant version of ``shutil.rmtree()`` could ignore or pass
to the error handler arbitrary exception when invalid arguments were
provided.
..
.. date: 2023-12-05-01-19-28
.. gh-issue: 112736
.. nonce: rdHDrU
.. section: Library
The use of del-safe symbols in ``subprocess`` was refactored to allow for
use in cross-platform build environments.
..
.. date: 2023-12-04-21-30-34
.. gh-issue: 112727
.. nonce: jpgNRB
.. section: Library
Speed up :meth:`pathlib.Path.absolute`. Patch by Barney Gale.
..
.. date: 2023-12-04-16-45-11
.. gh-issue: 74690
.. nonce: pQYP5U
.. section: Library
Speedup :func:`issubclass` checks against simple :func:`runtime-checkable
protocols <typing.runtime_checkable>` by around 6%. Patch by Alex Waygood.
..
.. date: 2023-12-04-14-05-24
.. gh-issue: 74690
.. nonce: eODKRm
.. section: Library
Speedup :func:`isinstance` checks by roughly 20% for
:func:`runtime-checkable protocols <typing.runtime_checkable>` that only
have one callable member. Speedup :func:`issubclass` checks for these
protocols by roughly 10%. Patch by Alex Waygood.
..
.. date: 2023-12-03-12-41-48
.. gh-issue: 112645
.. nonce: blMsKf
.. section: Library
Remove deprecation error on passing ``onerror`` to :func:`shutil.rmtree`.
..
.. date: 2023-12-03-11-15-53
.. gh-issue: 112640
.. nonce: -FVwP7
.. section: Library
Add ``kwdefaults`` parameter to :data:`types.FunctionType` to set default
keyword argument values.
..
.. date: 2023-12-03-01-01-52
.. gh-issue: 112622
.. nonce: 1Z8cpx
.. section: Library
Ensure ``name`` parameter is passed to event loop in
:func:`asyncio.create_task`.
..
.. date: 2023-12-02-12-55-17
.. gh-issue: 112618
.. nonce: 7_FT8-
.. section: Library
Fix a caching bug relating to :data:`typing.Annotated`. ``Annotated[str,
True]`` is no longer identical to ``Annotated[str, 1]``.
..
.. date: 2023-12-01-21-05-46
.. gh-issue: 112334
.. nonce: DmNXKh
.. section: Library
Fixed a performance regression in 3.12's :mod:`subprocess` on Linux where it
would no longer use the fast-path ``vfork()`` system call when it could have
due to a logic bug, instead falling back to the safe but slower ``fork()``.
Also fixed a second 3.12.0 potential security bug. If a value of
``extra_groups=[]`` was passed to :mod:`subprocess.Popen` or related APIs,
the underlying ``setgroups(0, NULL)`` system call to clear the groups list
would not be made in the child process prior to ``exec()``.
This was identified via code inspection in the process of fixing the first
bug.
..
.. date: 2023-12-01-18-05-09
.. gh-issue: 110190
.. nonce: 5bf-c9
.. section: Library
Fix ctypes structs with array on Arm platform by setting ``MAX_STRUCT_SIZE``
to 32 in stgdict. Patch by Diego Russo.
..
.. date: 2023-12-01-16-09-59
.. gh-issue: 81194
.. nonce: FFad1c
.. section: Library
Fix a crash in :func:`socket.if_indextoname` with specific value (UINT_MAX).
Fix an integer overflow in :func:`socket.if_indextoname` on 64-bit
non-Windows platforms.
..
.. date: 2023-12-01-08-28-09
.. gh-issue: 112578
.. nonce: bfNbfi
.. section: Library
Fix a spurious :exc:`RuntimeWarning` when executing the :mod:`zipfile`
module.
..
.. date: 2023-11-29-10-51-41
.. gh-issue: 112516
.. nonce: rFKUKN
.. section: Library
Update the bundled copy of pip to version 23.3.1.
..
.. date: 2023-11-29-02-26-32
.. gh-issue: 112510
.. nonce: j-zXGc
.. section: Library
Add :data:`readline.backend` for the backend readline uses (``editline`` or
``readline``)
..
.. date: 2023-11-28-20-47-39
.. gh-issue: 112328
.. nonce: Z2AxEY
.. section: Library
[Enum] Make ``EnumDict``, ``EnumDict.member_names``,
``EnumType._add_alias_`` and ``EnumType._add_value_alias_`` public.
..
.. date: 2023-11-28-20-01-33
.. gh-issue: 112509
.. nonce: QtoKed
.. section: Library
Fix edge cases that could cause a key to be present in both the
``__required_keys__`` and ``__optional_keys__`` attributes of a
:class:`typing.TypedDict`. Patch by Jelle Zijlstra.
..
.. date: 2023-11-28-02-39-30
.. gh-issue: 101336
.. nonce: ya433z
.. section: Library
Add ``keep_alive`` keyword parameter for
:meth:`AbstractEventLoop.create_server` and
:meth:`BaseEventLoop.create_server`.
..
.. date: 2023-11-27-12-41-23
.. gh-issue: 63284
.. nonce: q2Qi9q
.. section: Library
Added support for TLS-PSK (pre-shared key) mode to the :mod:`ssl` module.
..
.. date: 2023-11-26-13-44-19
.. gh-issue: 112414
.. nonce: kx2E7S
.. section: Library
Fix regression in Python 3.12 where calling :func:`repr` on a module that
had been imported using a custom :term:`loader` could fail with
:exc:`AttributeError`. Patch by Alex Waygood.
..
.. date: 2023-11-26-13-26-56
.. gh-issue: 112358
.. nonce: smhaeZ
.. section: Library
Revert change to :class:`struct.Struct` initialization that broke some cases
of subclassing.
..
.. date: 2023-11-25-20-29-28
.. gh-issue: 112405
.. nonce: cOtzxC
.. section: Library
Optimize :meth:`pathlib.PurePath.relative_to`. Patch by Alex Waygood.
..
.. date: 2023-11-24-21-00-24
.. gh-issue: 94722
.. nonce: GMIQIn
.. section: Library
Fix bug where comparison between instances of :class:`~doctest.DocTest`
fails if one of them has ``None`` as its lineno.
..
.. date: 2023-11-24-09-27-01
.. gh-issue: 112361
.. nonce: kYtnHW
.. section: Library
Speed up a small handful of :mod:`pathlib` methods by removing some
temporary objects.
..
.. date: 2023-11-23-17-25-27
.. gh-issue: 112345
.. nonce: FFApHx
.. section: Library
Improve error message when trying to call :func:`issubclass` against a
:class:`typing.Protocol` that has non-method members. Patch by Randolf
Scholz.
..
.. date: 2023-11-23-12-37-22
.. gh-issue: 112137
.. nonce: kM46Q6
.. section: Library
Change :mod:`dis` output to display no-lineno as "--" instead of "None".
..
.. date: 2023-11-23-10-41-21
.. gh-issue: 112332
.. nonce: rhTBaa
.. section: Library
Deprecate the ``exc_type`` field of :class:`traceback.TracebackException`.
Add ``exc_type_str`` to replace it.
..
.. date: 2023-11-22-23-08-47
.. gh-issue: 81620
.. nonce: mfZ2Wf
.. section: Library
Add extra tests for :func:`random.binomialvariate`
..
.. date: 2023-11-22-19-43-54
.. gh-issue: 112292
.. nonce: 5nDU87
.. section: Library
Fix a crash in :mod:`readline` when imported from a sub interpreter. Patch
by Anthony Shaw
..
.. date: 2023-11-21-02-58-14
.. gh-issue: 77621
.. nonce: MYv5XS
.. section: Library
Slightly improve the import time of the :mod:`pathlib` module by deferring
some imports. Patch by Barney Gale.
..
.. date: 2023-11-16-17-18-09
.. gh-issue: 112137
.. nonce: QvjGjN
.. section: Library
Change :mod:`dis` output to display logical labels for jump targets instead
of offsets.
..
.. date: 2023-11-16-10-42-15
.. gh-issue: 112139
.. nonce: WpHosf
.. section: Library
Add :meth:`Signature.format` to format signatures to string with extra
options. And use it in :mod:`pydoc` to render more readable signatures that
have new lines between parameters.
..
.. date: 2023-11-15-04-53-37
.. gh-issue: 112105
.. nonce: I3RcVN
.. section: Library
Make :func:`readline.set_completer_delims` work with libedit
..
.. date: 2023-11-15-01-36-04
.. gh-issue: 106922
.. nonce: qslOVH
.. section: Library
Display multiple lines with ``traceback`` when errors span multiple lines.
..
.. date: 2023-11-09-11-07-34
.. gh-issue: 111874
.. nonce: dzYc3j
.. section: Library
When creating a :class:`typing.NamedTuple` class, ensure
:func:`~object.__set_name__` is called on all objects that define
``__set_name__`` and exist in the values of the ``NamedTuple`` class's class
dictionary. Patch by Alex Waygood.
..
.. date: 2023-11-08-18-53-07
.. gh-issue: 68166
.. nonce: 1iTh4Y
.. section: Library
Add support of the "vsapi" element type in
:meth:`tkinter.ttk.Style.element_create`.
..
.. date: 2023-11-08-16-11-04
.. gh-issue: 110275
.. nonce: Bm6GwR
.. section: Library
Named tuple's methods ``_replace()`` and ``__replace__()`` now raise
TypeError instead of ValueError for invalid keyword arguments.
..
.. date: 2023-11-05-20-09-27
.. gh-issue: 99367
.. nonce: HLaWKo
.. section: Library
Do not mangle ``sys.path[0]`` in :mod:`pdb` if safe_path is set
..
.. date: 2023-11-02-10-13-31
.. gh-issue: 111615
.. nonce: 3SMixi
.. section: Library
Fix a regression caused by a fix to gh-93162 whereby you couldn't configure
a :class:`QueueHandler` without specifying handlers.
..
.. date: 2023-10-25-16-37-13
.. gh-issue: 75666
.. nonce: BpsWut
.. section: Library
Fix the behavior of :mod:`tkinter` widget's ``unbind()`` method with two
arguments. Previously, ``widget.unbind(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: 2023-10-25-13-07-53
.. gh-issue: 67790
.. nonce: jMn9Ad
.. section: Library
Implement basic formatting support (minimum width, alignment, fill) for
:class:`fractions.Fraction`.
..
.. date: 2023-10-23-18-42-26
.. gh-issue: 111049
.. nonce: Ys7-o_
.. section: Library
Fix crash during garbage collection of the :class:`io.BytesIO` buffer
object.
..
.. date: 2023-10-23-03-49-34
.. gh-issue: 102980
.. nonce: aXBd54
.. section: Library
Redirect the output of ``interact`` command of :mod:`pdb` to the same
channel as the debugger. Add tests and improve docs.
..
.. date: 2023-10-20-15-28-08
.. gh-issue: 102988
.. nonce: dStNO7
.. section: Library
:func:`email.utils.getaddresses` and :func:`email.utils.parseaddr` now
return ``('', '')`` 2-tuples in more situations where invalid email
addresses are encountered instead of potentially inaccurate values. Add
optional *strict* parameter to these two functions: use ``strict=False`` to
get the old behavior, accept malformed inputs. ``getattr(email.utils,
'supports_strict_parsing', False)`` can be use to check if the *strict*
parameter is available. Patch by Thomas Dwyer and Victor Stinner to improve
the :cve:`2023-27043` fix.
..
.. date: 2023-10-17-16-11-03
.. gh-issue: 52161
.. nonce: WBYyCJ
.. section: Library
:meth:`cmd.Cmd.do_help` now cleans docstrings with :func:`inspect.cleandoc`
before writing them. Patch by Filip Łapkiewicz.
..
.. date: 2023-10-12-18-19-47
.. gh-issue: 82300
.. nonce: P8-O38
.. section: Library
Add ``track`` parameter to
:class:`multiprocessing.shared_memory.SharedMemory` that allows using shared
memory blocks without having to register with the POSIX resource tracker
that automatically releases them upon process exit.
..
.. date: 2023-10-11-02-34-01
.. gh-issue: 110109
.. nonce: RFCmHs
.. section: Library
Add private ``pathlib._PurePathBase`` class: a base class for
:class:`pathlib.PurePath` that omits certain magic methods. It may be made
public (along with ``_PathBase``) in future.
..
.. date: 2023-09-28-13-15-51
.. gh-issue: 109858
.. nonce: 43e2dg
.. section: Library
Protect :mod:`zipfile` from "quoted-overlap" zipbomb. It now raises
BadZipFile when try to read an entry that overlaps with other entry or
central directory.
..
.. date: 2023-09-23-14-40-51
.. gh-issue: 109786
.. nonce: UX3pKv
.. section: Library
Fix possible reference leaks and crash when re-enter the ``__next__()``
method of :class:`itertools.pairwise`.
..
.. date: 2023-09-01-15-33-18
.. gh-issue: 91539
.. nonce: xoNLEI
.. section: Library
Small (10 - 20%) and trivial performance improvement of
:func:`urllib.request.getproxies_environment`, typically useful when there
are many environment variables to go over.
..
.. date: 2023-08-14-21-10-52
.. gh-issue: 103363
.. nonce: u64_QI
.. section: Library
Add *follow_symlinks* keyword-only argument to :meth:`pathlib.Path.owner`
and :meth:`~pathlib.Path.group`, defaulting to ``True``.
..
.. date: 2023-08-07-21-11-24
.. gh-issue: 102130
.. nonce: _UyI5i
.. section: Library
Support tab completion in :mod:`cmd` for ``editline``.
..
.. date: 2023-08-04-18-43-21
.. gh-issue: 99437
.. nonce: Et8hu8
.. section: Library
:func:`runpy.run_path` now decodes path-like objects, making sure __file__
and sys.argv[0] of the module being run are always strings.
..
.. date: 2023-04-29-20-49-13
.. gh-issue: 104003
.. nonce: -8Ruk2
.. section: Library
Add :func:`warnings.deprecated`, a decorator to mark deprecated functions to
static type checkers and to warn on usage of deprecated classes and
functions. See :pep:`702`. Patch by Jelle Zijlstra.
..
.. date: 2023-04-23-11-08-02
.. gh-issue: 103708
.. nonce: Y17C7p
.. section: Library
Make hardcoded python name, a configurable parameter so that different
implementations of python can override it instead of making huge diffs in
sysconfig.py
..
.. date: 2023-04-09-21-05-43
.. gh-issue: 66515
.. nonce: 0DS8Ya
.. section: Library
:class:`mailbox.MH` now supports folders that do not contain a
``.mh_sequences`` file (e.g. Claws Mail IMAP-cache folders). Patch by Serhiy
Storchaka.
..
.. date: 2023-02-08-00-43-29
.. gh-issue: 83162
.. nonce: ufdI9F
.. section: Library
Renamed :exc:`!re.error` to :exc:`PatternError` for clarity, and kept
:exc:`!re.error` for backward compatibility. Patch by Matthias Bussonnier
and Adam Chhina.
..
.. date: 2022-12-01-16-57-44
.. gh-issue: 91133
.. nonce: LKMVCV
.. section: Library
Fix a bug in :class:`tempfile.TemporaryDirectory` cleanup, which now no
longer dereferences symlinks when working around file system permission
errors.
..
.. bpo: 43153
.. date: 2021-12-06-22-10-53
.. nonce: J7mjSy
.. section: Library
On Windows, ``tempfile.TemporaryDirectory`` previously masked a
``PermissionError`` with ``NotADirectoryError`` during directory cleanup. It
now correctly raises ``PermissionError`` if errors are not ignored. Patch by
Andrei Kulakov and Ken Jin.
..
.. bpo: 32731
.. date: 2021-11-23-22-22-49
.. nonce: kNOASr
.. section: Library
:func:`getpass.getuser` now raises :exc:`OSError` for all failures rather
than :exc:`ImportError` on systems lacking the :mod:`pwd` module or
:exc:`KeyError` if the password database is empty.
..
.. bpo: 34321
.. date: 2021-04-15-10-41-51
.. nonce: 36m6_l
.. section: Library
:class:`mmap.mmap` now has a *trackfd* parameter on Unix; if it is
``False``, the file descriptor specified by *fileno* will not be duplicated.
..
.. bpo: 35332
.. date: 2020-12-14-09-31-13
.. nonce: s22wAx
.. section: Library
The :func:`shutil.rmtree` function now ignores errors when calling
:func:`os.close` when *ignore_errors* is ``True``, and :func:`os.close` no
longer retried after error.
..
.. bpo: 35928
.. date: 2020-10-03-23-47-28
.. nonce: E0iPAa
.. section: Library
:class:`io.TextIOWrapper` now correctly handles the decoding buffer after
``read()`` and ``write()``.
..
.. bpo: 26791
.. date: 2020-08-06-14-43-55
.. nonce: KxoEfO
.. section: Library
:func:`shutil.move` now moves a symlink into a directory when that directory
is the target of the symlink. This provides the same behavior as the mv
shell command. The previous behavior raised an exception. Patch by Jeffrey
Kintscher.
..
.. bpo: 41422
.. date: 2020-07-28-20-48-05
.. nonce: iMwnMu
.. section: Library
Fixed memory leaks of :class:`pickle.Pickler` and :class:`pickle.Unpickler`
involving cyclic references via the internal memo mapping.
..
.. bpo: 19821
.. date: 2020-06-15-23-44-53
.. nonce: ihBk39
.. section: Library
The :func:`!pydoc.ispackage` function has been deprecated.
..
.. bpo: 40262
.. date: 2020-05-21-23-32-46
.. nonce: z4fQv1
.. section: Library
The :meth:`ssl.SSLSocket.recv_into` method no longer requires the *buffer*
argument to implement ``__len__`` and supports buffers with arbitrary item
size.
..
.. bpo: 39912
.. date: 2020-03-09-15-08-29
.. nonce: xPOBBY
.. section: Library
:func:`warnings.filterwarnings()` and :func:`warnings.simplefilter()` now
raise appropriate exceptions instead of ``AssertionError``. Patch
contributed by Rémi Lapeyre.
..
.. bpo: 37260
.. date: 2019-06-14-22-37-32
.. nonce: oecdIf
.. section: Library
Fixed a race condition in :func:`shutil.rmtree` in which directory entries
removed by another process or thread while ``shutil.rmtree()`` is running
can cause it to raise FileNotFoundError. Patch by Jeffrey Kintscher.
..
.. bpo: 36959
.. date: 2019-05-18-15-50-14
.. nonce: ew6WZ4
.. section: Library
Fix some error messages for invalid ISO format string combinations in
``strptime()`` that referred to directives not contained in the format
string. Patch by Gordon P. Hemsley.
..
.. bpo: 18060
.. date: 2019-05-17-07-22-33
.. nonce: 5mqTQM
.. section: Library
Fixed a class inheritance issue that can cause segfaults when deriving two
or more levels of subclasses from a base class of Structure or Union.
..
.. bpo: 29779
.. date: 2019-05-08-13-14-11
.. nonce: jg33dp
.. section: Library
Add a new :envvar:`PYTHON_HISTORY` environment variable to set the location
of a ``.python_history`` file.
..
.. bpo: 21360
.. date: 2019-02-12-16-12-54
.. nonce: gkSSfx
.. section: Library
:class:`mailbox.Maildir` now ignores files with a leading dot.
..
.. date: 2023-11-30-02-33-59
.. gh-issue: 111699
.. nonce: _O5G_y
.. section: Documentation
Relocate ``smtpd`` deprecation notice to its own section rather than under
``locale`` in What's New in Python 3.12 document
..
.. date: 2023-10-23-23-43-43
.. gh-issue: 110746
.. nonce: yg77IE
.. section: Documentation
Improved markup for valid options/values for methods ttk.treeview.column and
ttk.treeview.heading, and for Layouts.
..
.. date: 2023-08-01-13-11-39
.. gh-issue: 95649
.. nonce: F4KhPS
.. section: Documentation
Document that the :mod:`asyncio` module contains code taken from `v0.16.0 of
the uvloop project <https://github.com/MagicStack/uvloop/tree/v0.16.0>`_, as
well as the required MIT licensing information.
..
.. date: 2024-01-12-14-34-24
.. gh-issue: 111798
.. nonce: hd9B_-
.. section: Tests
Disable ``test_super_deep()`` from ``test_call`` under pydebug builds on
WASI; the stack depth is too small to make the test useful.
..
.. date: 2024-01-12-13-19-12
.. gh-issue: 111801
.. nonce: 9hh9DY
.. section: Tests
Lower the recursion limit in ``test_isinstance`` for
``test_infinitely_many_bases()``. This prevents a stack overflow on a
pydebug build of WASI.
..
.. date: 2024-01-12-12-45-24
.. gh-issue: 111802
.. nonce: gN41vt
.. section: Tests
Specify a low recursion depth for ``test_bad_getattr()`` in
``test.pickletester`` to avoid exhausting the stack under a pydebug build
for WASI.
..
.. date: 2024-01-08-21-15-48
.. gh-issue: 44626
.. nonce: DRq-PR
.. section: Tests
Fix :func:`os.path.isabs` incorrectly returning ``True`` when given a path
that starts with exactly one (back)slash on Windows.
Fix :meth:`pathlib.PureWindowsPath.is_absolute` incorrectly returning
``False`` for some paths beginning with two (back)slashes.
..
.. date: 2024-01-01-14-40-02
.. gh-issue: 113633
.. nonce: VOY5ai
.. section: Tests
Use module state for the _testcapi extension module.
..
.. date: 2023-12-09-21-27-46
.. gh-issue: 109980
.. nonce: y--500
.. section: Tests
Fix ``test_tarfile_vs_tar`` in ``test_shutil`` for macOS, where system tar
can include more information in the archive than :mod:`shutil.make_archive`.
..
.. date: 2023-12-05-19-50-03
.. gh-issue: 112769
.. nonce: kdLJmS
.. section: Tests
The tests now correctly compare zlib version when
:const:`zlib.ZLIB_RUNTIME_VERSION` contains non-integer suffixes. For
example zlib-ng defines the version as ``1.3.0.zlib-ng``.
..
.. date: 2023-12-04-15-56-11
.. gh-issue: 112334
.. nonce: FFc9Ti
.. section: Tests
Adds a regression test to verify that ``vfork()`` is used when expected by
:mod:`subprocess` on vfork enabled POSIX systems (Linux).
..
.. date: 2023-09-05-20-46-35
.. gh-issue: 108927
.. nonce: TpwWav
.. section: Tests
Fixed order dependence in running tests in the same process when a test that
has submodules (e.g. test_importlib) follows a test that imports its
submodule (e.g. test_importlib.util) and precedes a test (e.g. test_unittest
or test_compileall) that uses that submodule.
..
.. bpo: 40648
.. date: 2020-05-16-18-00-21
.. nonce: p2uPqy
.. section: Tests
Test modes that file can get with chmod() on Windows.
..
.. date: 2024-01-15-16-58-43
.. gh-issue: 114013
.. nonce: FoSeQf
.. section: Build
Fix ``Tools/wasm/wasi.py`` to not include the path to ``python.wasm`` as
part of ``HOSTRUNNER``. The environment variable is meant to specify how to
run the WASI host only, having ``python.wasm`` and relevant flags appended
to the ``HOSTRUNNER``. This fixes ``make test`` work.
..
.. date: 2023-12-23-09-35-48
.. gh-issue: 113258
.. nonce: GlsAyH
.. section: Build
Changed the Windows build to write out generated frozen modules into the
build tree instead of the source tree.
..
.. date: 2023-12-21-05-35-06
.. gh-issue: 112305
.. nonce: VfqQPx
.. section: Build
Fixed the ``check-clean-src`` step performed on out of tree builds to detect
errant ``$(srcdir)/Python/frozen_modules/*.h`` files and recommend
appropriate source tree cleanup steps to get a working build again.
..
.. date: 2023-12-17-18-23-02
.. gh-issue: 112536
.. nonce: 8lr3Ep
.. section: Build
Add support for thread sanitizer (TSAN)
..
.. date: 2023-12-08-11-33-37
.. gh-issue: 112867
.. nonce: ZzDfXQ
.. section: Build
Fix the build for the case that WITH_PYMALLOC_RADIX_TREE=0 set.
..
.. date: 2023-11-27-13-55-47
.. gh-issue: 103065
.. nonce: o72OiA
.. section: Build
Introduce ``Tools/wasm/wasi.py`` to simplify doing a WASI build.
..
.. bpo: 11102
.. date: 2020-05-01-23-44-31
.. nonce: Fw9zeS
.. section: Build
The :func:`os.major`, :func:`os.makedev`, and :func:`os.minor` functions are
now available on HP-UX v3.
..
.. bpo: 36351
.. date: 2020-01-11-23-49-17
.. nonce: ce8BBh
.. section: Build
Do not set ipv6type when cross-compiling.
..
.. date: 2024-01-15-23-53-25
.. gh-issue: 114096
.. nonce: G-Myja
.. section: Windows
Process privileges that are activated for creating directory junctions are
now restored afterwards, avoiding behaviour changes in other parts of the
program.
..
.. date: 2024-01-04-21-16-31
.. gh-issue: 111877
.. nonce: fR-B4c
.. section: Windows
:func:`os.stat` calls were returning incorrect time values for files that
could not be accessed directly.
..
.. date: 2023-12-19-10-56-46
.. gh-issue: 111973
.. nonce: A9Wtsb
.. section: Windows
Update Windows installer to use SQLite 3.44.2.
..
.. date: 2023-12-14-19-00-29
.. gh-issue: 113009
.. nonce: 6LNdjz
.. section: Windows
:mod:`multiprocessing`: On Windows, fix a race condition in
``Process.terminate()``: no longer set the ``returncode`` attribute to
always call ``WaitForSingleObject()`` in ``Process.wait()``. Previously,
sometimes the process was still running after ``TerminateProcess()`` even if
``GetExitCodeProcess()`` is not ``STILL_ACTIVE``. Patch by Victor Stinner.
..
.. date: 2023-12-12-20-58-09
.. gh-issue: 86179
.. nonce: YYSk_6
.. section: Windows
Fixes path calculations when launching Python on Windows through a symlink.
..
.. date: 2023-12-11-20-23-04
.. gh-issue: 71383
.. nonce: 9pZh6t
.. section: Windows
Update Tcl/Tk in Windows installer to 8.6.13 with a patch to suppress
incorrect ThemeChanged warnings.
..
.. date: 2023-12-05-22-56-30
.. gh-issue: 111650
.. nonce: xlWmvM
.. section: Windows
Ensures the ``Py_GIL_DISABLED`` preprocessor variable is defined in
:file:`pyconfig.h` so that extension modules written in C are able to use
it.
..
.. date: 2023-12-03-19-22-37
.. gh-issue: 112278
.. nonce: FiloCE
.. section: Windows
Reduce the time cost for some functions in :mod:`platform` on Windows if
current user has no permission to the WMI.
..
.. date: 2023-08-08-01-42-14
.. gh-issue: 73427
.. nonce: WOpiNt
.. section: Windows
Deprecate :func:`sys._enablelegacywindowsfsencoding`. Use
:envvar:`PYTHONLEGACYWINDOWSFSENCODING` instead. Patch by Inada Naoki.
..
.. date: 2023-03-15-23-53-45
.. gh-issue: 87868
.. nonce: 4C36oQ
.. section: Windows
Correctly sort and remove duplicate environment variables in
:py:func:`!_winapi.CreateProcess`.
..
.. bpo: 37308
.. date: 2019-06-16-11-27-05
.. nonce: Iz_NU_
.. section: Windows
Fix mojibake in :class:`mmap.mmap` when using a non-ASCII *tagname* argument
on Windows.
..
.. date: 2024-01-02-22-25-21
.. gh-issue: 113666
.. nonce: xKZoBm
.. section: macOS
Add the following constants to module :mod:`stat`: ``UF_SETTABLE``,
``UF_TRACKED``, ``UF_DATAVAULT``, ``SF_SUPPORTED``, ``SF_SETTABLE``,
``SF_SYNTHETIC``, ``SF_RESTRICTED``, ``SF_FIRMLINK`` and ``SF_DATALESS``.
The values ``UF_SETTABLE``, ``SF_SUPPORTED``, ``SF_SETTABLE`` and
``SF_SYNTHETIC`` are only available on macOS.
..
.. date: 2023-12-28-12-18-39
.. gh-issue: 113536
.. nonce: 0ythg7
.. section: macOS
:func:`os.waitid` is now available on macOS
..
.. date: 2023-12-23-22-41-07
.. gh-issue: 110459
.. nonce: NaMBJy
.. section: macOS
Running ``configure ... --with-openssl-rpath=X/Y/Z`` no longer fails to
detect OpenSSL on macOS.
..
.. date: 2023-12-21-11-53-47
.. gh-issue: 74573
.. nonce: MA6Vys
.. section: macOS
Document that :mod:`dbm.ndbm` can silently corrupt DBM files on updates when
exceeding undocumented platform limits, and can crash (segmentation fault)
when reading such a corrupted file. (FB8919203)
..
.. date: 2023-12-21-10-20-41
.. gh-issue: 65701
.. nonce: Q2hNbN
.. section: macOS
The :program:`freeze` tool doesn't work with framework builds of Python.
Document this and bail out early when running the tool with such a build.
..
.. date: 2023-12-21-09-41-42
.. gh-issue: 87277
.. nonce: IF6EZZ
.. section: macOS
webbrowser: Don't look for X11 browsers on macOS. Those are generally not
used and probing for them can result in starting XQuartz even if it isn't
used otherwise.
..
.. date: 2023-12-19-10-50-08
.. gh-issue: 111973
.. nonce: HMHJfy
.. section: macOS
Update macOS installer to use SQLite 3.44.2.
..
.. date: 2023-12-16-11-45-32
.. gh-issue: 108269
.. nonce: wVgCHF
.. section: macOS
Set ``CFBundleAllowMixedLocalizations`` to true in the Info.plist for the
framework, embedded Python.app and IDLE.app with framework installs on
macOS. This allows applications to pick up the user's preferred locale when
that's different from english.
..
.. date: 2023-12-10-20-30-06
.. gh-issue: 102362
.. nonce: y8svbF
.. section: macOS
Make sure the result of :func:`sysconfig.get_plaform` includes at least a
major and minor versions, even if ``MACOSX_DEPLOYMENT_TARGET`` is set to
only a major version during build to match the format expected by pip.
..
.. date: 2023-12-07-15-53-16
.. gh-issue: 110017
.. nonce: UMYzMR
.. section: macOS
Disable a signal handling stress test on macOS due to a bug in macOS
(FB13453490).
..
.. date: 2023-12-07-14-19-46
.. gh-issue: 110820
.. nonce: DIxb_F
.. section: macOS
Make sure the preprocessor definitions for ``ALIGNOF_MAX_ALIGN_T``,
``SIZEOF_LONG_DOUBLE`` and ``HAVE_GCC_ASM_FOR_X64`` are correct for
Universal 2 builds on macOS.
..
.. date: 2023-12-06-12-11-13
.. gh-issue: 109981
.. nonce: mOHg10
.. section: macOS
Use ``/dev/fd`` on macOS to determine the number of open files in
``test.support.os_helper.fd_count`` to avoid a crash with "guarded" file
descriptors when probing for open files.
..
.. date: 2024-01-17-02-15-33
.. gh-issue: 72284
.. nonce: cAQiYO
.. section: IDLE
Improve the lists of features, editor key bindings, and shell key bingings
in the IDLE doc.
..
.. date: 2024-01-11-21-26-58
.. gh-issue: 113903
.. nonce: __GLlQ
.. section: IDLE
Fix rare failure of test.test_idle, in test_configdialog.
..
.. date: 2024-01-05-12-24-01
.. gh-issue: 113729
.. nonce: qpluea
.. section: IDLE
Fix the "Help -> IDLE Doc" menu bug in 3.11.7 and 3.12.1.
..
.. date: 2023-12-19-00-03-12
.. gh-issue: 113269
.. nonce: lrU-IC
.. section: IDLE
Fix test_editor hang on macOS Catalina.
..
.. date: 2023-12-10-20-01-11
.. gh-issue: 112898
.. nonce: 98aWv2
.. section: IDLE
Fix processing unsaved files when quitting IDLE on macOS.
..
.. bpo: 13586
.. date: 2019-12-13-12-26-56
.. nonce: 1grqsR
.. section: IDLE
Enter the selected text when opening the "Replace" dialog.
..
.. date: 2023-12-02-02-08-11
.. gh-issue: 106560
.. nonce: THvuji
.. section: C API
Fix redundant declarations in the public C API. Declare PyBool_Type,
PyLong_Type and PySys_Audit() only once. Patch by Victor Stinner.
..
.. date: 2023-11-27-09-44-16
.. gh-issue: 112438
.. nonce: GdNZiI
.. section: C API
Fix support of format units "es", "et", "es#", and "et#" in nested tuples in
:c:func:`PyArg_ParseTuple`-like functions.
..
.. date: 2023-11-15-01-26-59
.. gh-issue: 111545
.. nonce: iAoFtA
.. section: C API
Add :c:func:`Py_HashPointer` function to hash a pointer. Patch by Victor
Stinner.
..
.. date: 2023-06-21-11-53-09
.. gh-issue: 65210
.. nonce: PhFRBJ
.. section: C API
Change the declaration of the *keywords* parameter of
:c:func:`PyArg_ParseTupleAndKeywords` and
:c:func:`PyArg_VaParseTupleAndKeywords` for better compatibility with C++.