Back to Cpython

3.13.0a3

Misc/NEWS.d/3.13.0a3.rst

3.15.0a853.5 KB
Original Source

.. 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++.