.. 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 ` 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 ` 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 ` 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 `_, 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++.