-# Autogenerated by Sphinx on Tue Apr 8 15:54:03 2025
+# Autogenerated by Sphinx on Tue Jun 3 17:34:20 2025
# as part of the release process.
topics = {
When using "pdb.pm()" or "Pdb.post_mortem(...)" with a chained
exception instead of a traceback, it allows the user to move
between the chained exceptions using "exceptions" command to list
- exceptions, and "exception <number>" to switch to that exception.
+ exceptions, and "exceptions <number>" to switch to that exception.
Example:
Return centered in a string of length *width*. Padding is done
using the specified *fillchar* (default is an ASCII space). The
original string is returned if *width* is less than or equal to
- "len(s)".
+ "len(s)". For example:
+
+ >>> 'Python'.center(10)
+ ' Python '
+ >>> 'Python'.center(10, '-')
+ '--Python--'
+ >>> 'Python'.center(4)
+ 'Python'
str.count(sub[, start[, end]])
*end* are interpreted as in slice notation.
If *sub* is empty, returns the number of empty strings between
- characters which is the length of the string plus one.
+ characters which is the length of the string plus one. For example:
+
+ >>> 'spam, spam, spam'.count('spam')
+ 3
+ >>> 'spam, spam, spam'.count('spam', 5)
+ 2
+ >>> 'spam, spam, spam'.count('spam', 5, 10)
+ 1
+ >>> 'spam, spam, spam'.count('eggs')
+ 0
+ >>> 'spam, spam, spam'.count('')
+ 17
str.encode(encoding='utf-8', errors='strict')
str.isprintable()
- Return true if all characters in the string are printable, false if
- it contains at least one non-printable character.
+ Return "True" if all characters in the string are printable,
+ "False" if it contains at least one non-printable character.
Here “printable” means the character is suitable for "repr()" to
use in its output; “non-printable” means that "repr()" on built-in
>>> ' 1 2 3 '.split()
['1', '2', '3']
+ If *sep* is not specified or is "None" and *maxsplit* is "0", only
+ leading runs of consecutive whitespace are considered.
+
+ For example:
+
+ >>> "".split(None, 0)
+ []
+ >>> " ".split(None, 0)
+ []
+ >>> " foo ".split(maxsplit=0)
+ ['foo ']
+
str.splitlines(keepends=False)
Return a list of the lines in the string, breaking at line
Flags for details on the semantics of each flags that might be
present.
-Future feature declarations ("from __future__ import division") also
-use bits in "co_flags" to indicate whether a code object was compiled
-with a particular feature enabled: bit "0x2000" is set if the function
-was compiled with future division enabled; bits "0x10" and "0x1000"
-were used in earlier versions of Python.
+Future feature declarations (for example, "from __future__ import
+division") also use bits in "co_flags" to indicate whether a code
+object was compiled with a particular feature enabled. See
+"compiler_flag".
Other bits in "co_flags" are reserved for internal use.
the keyword argument replaces the value from the positional
argument.
- To illustrate, the following examples all return a dictionary equal
- to "{"one": 1, "two": 2, "three": 3}":
+ Providing keyword arguments as in the first example only works for
+ keys that are valid Python identifiers. Otherwise, any valid keys
+ can be used.
+
+ Dictionaries compare equal if and only if they have the same "(key,
+ value)" pairs (regardless of ordering). Order comparisons (‘<’,
+ ‘<=’, ‘>=’, ‘>’) raise "TypeError". To illustrate dictionary
+ creation and equality, the following examples all return a
+ dictionary equal to "{"one": 1, "two": 2, "three": 3}":
>>> a = dict(one=1, two=2, three=3)
>>> b = {'one': 1, 'two': 2, 'three': 3}
keys that are valid Python identifiers. Otherwise, any valid keys
can be used.
+ Dictionaries preserve insertion order. Note that updating a key
+ does not affect the order. Keys added after deletion are inserted
+ at the end.
+
+ >>> d = {"one": 1, "two": 2, "three": 3, "four": 4}
+ >>> d
+ {'one': 1, 'two': 2, 'three': 3, 'four': 4}
+ >>> list(d)
+ ['one', 'two', 'three', 'four']
+ >>> list(d.values())
+ [1, 2, 3, 4]
+ >>> d["one"] = 42
+ >>> d
+ {'one': 42, 'two': 2, 'three': 3, 'four': 4}
+ >>> del d["two"]
+ >>> d["two"] = None
+ >>> d
+ {'one': 42, 'three': 3, 'four': 4, 'two': None}
+
+ Changed in version 3.7: Dictionary order is guaranteed to be
+ insertion order. This behavior was an implementation detail of
+ CPython from 3.6.
+
These are the operations that dictionaries support (and therefore,
custom mapping types should support too):
Added in version 3.9.
- Dictionaries compare equal if and only if they have the same "(key,
- value)" pairs (regardless of ordering). Order comparisons (‘<’,
- ‘<=’, ‘>=’, ‘>’) raise "TypeError".
-
- Dictionaries preserve insertion order. Note that updating a key
- does not affect the order. Keys added after deletion are inserted
- at the end.
-
- >>> d = {"one": 1, "two": 2, "three": 3, "four": 4}
- >>> d
- {'one': 1, 'two': 2, 'three': 3, 'four': 4}
- >>> list(d)
- ['one', 'two', 'three', 'four']
- >>> list(d.values())
- [1, 2, 3, 4]
- >>> d["one"] = 42
- >>> d
- {'one': 42, 'two': 2, 'three': 3, 'four': 4}
- >>> del d["two"]
- >>> d["two"] = None
- >>> d
- {'one': 42, 'three': 3, 'four': 4, 'two': None}
-
- Changed in version 3.7: Dictionary order is guaranteed to be
- insertion order. This behavior was an implementation detail of
- CPython from 3.6.
-
Dictionaries and dictionary views are reversible.
>>> d = {"one": 1, "two": 2, "three": 3, "four": 4}
| "s[i] = x" | item *i* of *s* is replaced by | |
| | *x* | |
+--------------------------------+----------------------------------+-----------------------+
+| "del s[i]" | removes item *i* of *s* | |
++--------------------------------+----------------------------------+-----------------------+
| "s[i:j] = t" | slice of *s* from *i* to *j* is | |
| | replaced by the contents of the | |
| | iterable *t* | |
| "s[i] = x" | item *i* of *s* is replaced by | |
| | *x* | |
+--------------------------------+----------------------------------+-----------------------+
+| "del s[i]" | removes item *i* of *s* | |
++--------------------------------+----------------------------------+-----------------------+
| "s[i:j] = t" | slice of *s* from *i* to *j* is | |
| | replaced by the contents of the | |
| | iterable *t* | |
--- /dev/null
+.. date: 2025-05-20-21-43-20
+.. gh-issue: 130727
+.. nonce: -69t4D
+.. release date: 2025-06-03
+.. section: Windows
+
+Fix a race in internal calls into WMI that can result in an "invalid handle"
+exception under high load. Patch by Chris Eibl.
+
+..
+
+.. date: 2025-05-19-03-02-04
+.. gh-issue: 76023
+.. nonce: vHOf6M
+.. section: Windows
+
+Make :func:`os.path.realpath` ignore Windows error 1005 when in non-strict
+mode.
+
+..
+
+.. date: 2025-05-08-19-07-26
+.. gh-issue: 133626
+.. nonce: yFTKYK
+.. section: Windows
+
+Ensures packages are not accidentally bundled into the traditional
+installer.
+
+..
+
+.. date: 2025-05-06-14-09-19
+.. gh-issue: 133512
+.. nonce: bh-D-g
+.. section: Windows
+
+Add warnings to :ref:`launcher` about use of subcommands belonging to the
+Python install manager.
+
+..
+
+.. date: 2025-05-09-14-54-48
+.. gh-issue: 133744
+.. nonce: LCquu0
+.. section: Tests
+
+Fix multiprocessing interrupt test. Add an event to synchronize the parent
+process with the child process: wait until the child process starts
+sleeping. Patch by Victor Stinner.
+
+..
+
+.. date: 2025-05-08-15-06-01
+.. gh-issue: 133639
+.. nonce: 50-kbV
+.. section: Tests
+
+Fix ``TestPyReplAutoindent.test_auto_indent_default()`` doesn't run
+``input_code``.
+
+..
+
+.. date: 2025-04-29-14-56-37
+.. gh-issue: 133131
+.. nonce: 1pchjl
+.. section: Tests
+
+The iOS testbed will now select the most recently released "SE-class" device
+for testing if a device isn't explicitly specified.
+
+..
+
+.. date: 2025-04-23-02-23-37
+.. gh-issue: 109981
+.. nonce: IX3k8p
+.. section: Tests
+
+The test helper that counts the list of open file descriptors now uses the
+optimised ``/dev/fd`` approach on all Apple platforms, not just macOS. This
+avoids crashes caused by guarded file descriptors.
+
+..
+
+.. date: 2025-06-02-11-32-23
+.. gh-issue: 135034
+.. nonce: RLGjbp
+.. section: Security
+
+Fixes multiple issues that allowed ``tarfile`` extraction filters
+(``filter="data"`` and ``filter="tar"``) to be bypassed using crafted
+symlinks and hard links.
+
+Addresses :cve:`2024-12718`, :cve:`2025-4138`, :cve:`2025-4330`, and
+:cve:`2025-4517`.
+
+..
+
+.. date: 2025-05-09-20-22-54
+.. gh-issue: 133767
+.. nonce: kN2i3Q
+.. section: Security
+
+Fix use-after-free in the "unicode-escape" decoder with a non-"strict" error
+handler.
+
+..
+
+.. date: 2025-01-14-11-19-07
+.. gh-issue: 128840
+.. nonce: M1doZW
+.. section: Security
+
+Short-circuit the processing of long IPv6 addresses early in
+:mod:`ipaddress` to prevent excessive memory consumption and a minor
+denial-of-service.
+
+..
+
+.. date: 2025-05-30-13-07-29
+.. gh-issue: 134718
+.. nonce: 9Qvhxn
+.. section: Library
+
+:func:`ast.dump` now only omits ``None`` and ``[]`` values if they are
+default values.
+
+..
+
+.. date: 2025-05-28-15-53-27
+.. gh-issue: 128840
+.. nonce: Nur2pB
+.. section: Library
+
+Fix parsing long IPv6 addresses with embedded IPv4 address.
+
+..
+
+.. date: 2025-05-26-14-04-39
+.. gh-issue: 134696
+.. nonce: P04xUa
+.. section: Library
+
+Built-in HACL* and OpenSSL implementations of hash function constructors now
+correctly accept the same *documented* named arguments. For instance,
+:func:`~hashlib.md5` could be previously invoked as ``md5(data=data)`` or
+``md5(string=string)`` depending on the underlying implementation but these
+calls were not compatible. Patch by Bénédikt Tran.
+
+..
+
+.. date: 2025-05-24-13-10-35
+.. gh-issue: 134210
+.. nonce: 0IuMY2
+.. section: Library
+
+:func:`curses.window.getch` now correctly handles signals. Patch by Bénédikt
+Tran.
+
+..
+
+.. date: 2025-05-24-03-10-36
+.. gh-issue: 80334
+.. nonce: z21cMa
+.. section: Library
+
+:func:`multiprocessing.freeze_support` now checks for work on any "spawn"
+start method platform rather than only on Windows.
+
+..
+
+.. date: 2025-05-22-13-10-32
+.. gh-issue: 114177
+.. nonce: 3TYUJ3
+.. section: Library
+
+Fix :mod:`asyncio` to not close subprocess pipes which would otherwise error
+out when the event loop is already closed.
+
+..
+
+.. date: 2025-05-19-10-32-11
+.. gh-issue: 134152
+.. nonce: INJC2j
+.. section: Library
+
+Fixed :exc:`UnboundLocalError` that could occur during :mod:`email` header
+parsing if an expected trailing delimiter is missing in some contexts.
+
+..
+
+.. date: 2025-05-18-12-48-39
+.. gh-issue: 62184
+.. nonce: y11l10
+.. section: Library
+
+Remove import of C implementation of :class:`io.FileIO` from Python
+implementation which has its own implementation
+
+..
+
+.. date: 2025-05-17-20-23-57
+.. gh-issue: 133982
+.. nonce: smS7au
+.. section: Library
+
+Emit :exc:`RuntimeWarning` in the Python implementation of :mod:`io` when
+the :term:`file-like object <file object>` is not closed explicitly in the
+presence of multiple I/O layers.
+
+..
+
+.. date: 2025-05-17-18-08-35
+.. gh-issue: 133890
+.. nonce: onn9_X
+.. section: Library
+
+The :mod:`tarfile` module now handles :exc:`UnicodeEncodeError` in the same
+way as :exc:`OSError` when cannot extract a member.
+
+..
+
+.. date: 2025-05-17-13-46-20
+.. gh-issue: 134097
+.. nonce: fgkjE1
+.. section: Library
+
+Fix interaction of the new :term:`REPL` and :option:`-X showrefcount <-X>`
+command line option.
+
+..
+
+.. date: 2025-05-17-12-40-12
+.. gh-issue: 133889
+.. nonce: Eh-zO4
+.. section: Library
+
+The generated directory listing page in
+:class:`http.server.SimpleHTTPRequestHandler` now only shows the decoded
+path component of the requested URL, and not the query and fragment.
+
+..
+
+.. date: 2025-05-16-20-10-25
+.. gh-issue: 134098
+.. nonce: YyTkKr
+.. section: Library
+
+Fix handling paths that end with a percent-encoded slash (``%2f`` or
+``%2F``) in :class:`http.server.SimpleHTTPRequestHandler`.
+
+..
+
+.. date: 2025-05-15-14-27-01
+.. gh-issue: 134062
+.. nonce: fRbJet
+.. section: Library
+
+:mod:`ipaddress`: fix collisions in :meth:`~object.__hash__` for
+:class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` objects.
+
+..
+
+.. date: 2025-05-14-08-13-08
+.. gh-issue: 133745
+.. nonce: rjgJkH
+.. section: Library
+
+In 3.13.3 we accidentally changed the signature of the asyncio
+``create_task()`` family of methods and how it calls a custom task factory
+in a backwards incompatible way. Since some 3rd party libraries have already
+made changes to work around the issue that might break if we simply reverted
+the changes, we're instead changing things to be backwards compatible with
+3.13.2 while still supporting those workarounds for 3.13.3. In particular,
+the special-casing of ``name`` and ``context`` is back (until 3.14) and
+consequently eager tasks may still find that their name hasn't been set
+before they execute their first yielding await.
+
+..
+
+.. date: 2025-05-13-18-21-59
+.. gh-issue: 71253
+.. nonce: -3Sf_K
+.. section: Library
+
+Raise :exc:`ValueError` in :func:`open` if *opener* returns a negative
+file-descriptor in the Python implementation of :mod:`io` to match the C
+implementation.
+
+..
+
+.. date: 2025-05-09-15-50-00
+.. gh-issue: 77057
+.. nonce: fV8SU-
+.. section: Library
+
+Fix handling of invalid markup declarations in
+:class:`html.parser.HTMLParser`.
+
+..
+
+.. date: 2025-05-08-13-43-19
+.. gh-issue: 133489
+.. nonce: 9eGS1Z
+.. section: Library
+
+:func:`random.getrandbits` can now generate more that 2\ :sup:`31` bits.
+:func:`random.randbytes` can now generate more that 256 MiB.
+
+..
+
+.. date: 2025-05-02-13-16-44
+.. gh-issue: 133290
+.. nonce: R5WrLM
+.. section: Library
+
+Fix attribute caching issue when setting :attr:`ctypes._Pointer._type_` in
+the undocumented and deprecated :func:`!ctypes.SetPointerType` function and
+the undocumented :meth:`!set_type` method.
+
+..
+
+.. date: 2025-04-29-11-48-46
+.. gh-issue: 132876
+.. nonce: lyTQGZ
+.. section: Library
+
+``ldexp()`` on Windows doesn't round subnormal results before Windows 11,
+but should. Python's :func:`math.ldexp` wrapper now does round them, so
+results may change slightly, in rare cases of very small results, on Windows
+versions before 11.
+
+..
+
+.. date: 2025-04-29-02-23-04
+.. gh-issue: 133089
+.. nonce: 8Jy1ZS
+.. section: Library
+
+Use original timeout value for :exc:`subprocess.TimeoutExpired` when the
+func :meth:`subprocess.run` is called with a timeout instead of sometimes a
+confusing partial remaining time out value used internally on the final
+``wait()``.
+
+..
+
+.. date: 2025-04-26-15-50-12
+.. gh-issue: 133009
+.. nonce: etBuz5
+.. section: Library
+
+:mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element.__deepcopy__
+<object.__deepcopy__>` when the element is concurrently mutated. Patch by
+Bénédikt Tran.
+
+..
+
+.. date: 2025-04-26-10-54-38
+.. gh-issue: 132995
+.. nonce: JuDF9p
+.. section: Library
+
+Bump the version of pip bundled in ensurepip to version 25.1.1
+
+..
+
+.. date: 2025-04-25-10-51-00
+.. gh-issue: 132017
+.. nonce: SIGCONT1
+.. section: Library
+
+Fix error when ``pyrepl`` is suspended, then resumed and terminated.
+
+..
+
+.. date: 2025-04-18-12-45-18
+.. gh-issue: 132673
+.. nonce: P7Z3F1
+.. section: Library
+
+Fix a crash when using ``_align_ = 0`` and ``_fields_ = []`` in a
+:class:`ctypes.Structure`.
+
+..
+
+.. date: 2025-04-14-23-00-00
+.. gh-issue: 132527
+.. nonce: kTi8T7
+.. section: Library
+
+Include the valid typecode 'w' in the error message when an invalid typecode
+is passed to :class:`array.array`.
+
+..
+
+.. date: 2025-04-12-16-29-42
+.. gh-issue: 132439
+.. nonce: 3twrU6
+.. section: Library
+
+Fix ``PyREPL`` on Windows: characters entered via AltGr are swallowed. Patch
+by Chris Eibl.
+
+..
+
+.. date: 2025-04-12-12-59-51
+.. gh-issue: 132429
+.. nonce: OEIdlW
+.. section: Library
+
+Fix support of Bluetooth sockets on NetBSD and DragonFly BSD.
+
+..
+
+.. date: 2025-04-12-09-30-24
+.. gh-issue: 132106
+.. nonce: OxUds3
+.. section: Library
+
+:meth:`QueueListener.start <logging.handlers.QueueListener.start>` now
+raises a :exc:`RuntimeError` if the listener is already started.
+
+..
+
+.. date: 2025-04-11-21-48-49
+.. gh-issue: 132417
+.. nonce: uILGdS
+.. section: Library
+
+Fix a ``NULL`` pointer dereference when a C function called using
+:mod:`ctypes` with ``restype`` :class:`~ctypes.py_object` returns ``NULL``.
+
+..
+
+.. date: 2025-04-11-12-41-47
+.. gh-issue: 132385
+.. nonce: 86HoA7
+.. section: Library
+
+Fix instance error suggestions trigger potential exceptions in
+:meth:`object.__getattr__` in :mod:`traceback`.
+
+..
+
+.. date: 2025-04-10-13-06-42
+.. gh-issue: 132308
+.. nonce: 1js5SI
+.. section: Library
+
+A :class:`traceback.TracebackException` now correctly renders the
+``__context__`` and ``__cause__`` attributes from :ref:`falsey <truth>`
+:class:`Exception`, and the ``exceptions`` attribute from falsey
+:class:`ExceptionGroup`.
+
+..
+
+.. date: 2025-04-08-01-55-11
+.. gh-issue: 132250
+.. nonce: APBFCw
+.. section: Library
+
+Fixed the :exc:`SystemError` in :mod:`cProfile` when locating the actual C
+function of a method raises an exception.
+
+..
+
+.. date: 2025-04-05-15-05-09
+.. gh-issue: 132063
+.. nonce: KHnslU
+.. section: Library
+
+Prevent exceptions that evaluate as falsey (namely, when their ``__bool__``
+method returns ``False`` or their ``__len__`` method returns 0) from being
+ignored by :class:`concurrent.futures.ProcessPoolExecutor` and
+:class:`concurrent.futures.ThreadPoolExecutor`.
+
+..
+
+.. date: 2025-04-03-17-19-42
+.. gh-issue: 119605
+.. nonce: c7QXAA
+.. section: Library
+
+Respect ``follow_wrapped`` for :meth:`!__init__` and :meth:`!__new__`
+methods when getting the class signature for a class with
+:func:`inspect.signature`. Preserve class signature after wrapping with
+:func:`warnings.deprecated`. Patch by Xuehai Pan.
+
+..
+
+.. date: 2025-03-30-16-42-38
+.. gh-issue: 91555
+.. nonce: ShVtwW
+.. section: Library
+
+Ignore log messages generated during handling of log messages, to avoid
+deadlock or infinite recursion.
+
+..
+
+.. date: 2025-03-21-21-24-36
+.. gh-issue: 131434
+.. nonce: BPkyyh
+.. section: Library
+
+Improve error reporting for incorrect format in :func:`time.strptime`.
+
+..
+
+.. date: 2025-03-11-21-08-46
+.. gh-issue: 131127
+.. nonce: whcVdY
+.. section: Library
+
+Systems using LibreSSL now successfully build.
+
+..
+
+.. date: 2025-03-09-03-13-41
+.. gh-issue: 130999
+.. nonce: tBRBVB
+.. section: Library
+
+Avoid exiting the new REPL and offer suggestions even if there are
+non-string candidates when errors occur.
+
+..
+
+.. date: 2025-03-07-17-47-32
+.. gh-issue: 130941
+.. nonce: 7_GvhW
+.. section: Library
+
+Fix :class:`configparser.ConfigParser` parsing empty interpolation with
+``allow_no_value`` set to ``True``.
+
+..
+
+.. date: 2025-03-01-12-37-08
+.. gh-issue: 129098
+.. nonce: eJ2-6L
+.. section: Library
+
+Fix REPL traceback reporting when using :func:`compile` with an inexisting
+file. Patch by Bénédikt Tran.
+
+..
+
+.. date: 2025-02-27-14-25-01
+.. gh-issue: 130631
+.. nonce: dmZcZM
+.. section: Library
+
+:func:`!http.cookiejar.join_header_words` is now more similar to the
+original Perl version. It now quotes the same set of characters and always
+quote values that end with ``"\n"``.
+
+..
+
+.. date: 2025-02-06-11-23-51
+.. gh-issue: 129719
+.. nonce: Of6rvb
+.. section: Library
+
+Fix missing :data:`!socket.CAN_RAW_ERR_FILTER` constant in the socket module
+on Linux systems. It was missing since Python 3.11.
+
+..
+
+.. date: 2024-09-16-17-03-52
+.. gh-issue: 124096
+.. nonce: znin0O
+.. section: Library
+
+Turn on virtual terminal mode and enable bracketed paste in REPL on Windows
+console. (If the terminal does not support bracketed paste, enabling it does
+nothing.)
+
+..
+
+.. date: 2024-08-02-20-01-36
+.. gh-issue: 122559
+.. nonce: 2JlJr3
+.. section: Library
+
+Remove :meth:`!__reduce__` and :meth:`!__reduce_ex__` methods that always
+raise :exc:`TypeError` in the C implementation of :class:`io.FileIO`,
+:class:`io.BufferedReader`, :class:`io.BufferedWriter` and
+:class:`io.BufferedRandom` and replace them with default
+:meth:`!__getstate__` methods that raise :exc:`!TypeError`. This restores
+fine details of behavior of Python 3.11 and older versions.
+
+..
+
+.. date: 2024-07-23-17-08-41
+.. gh-issue: 122179
+.. nonce: 0jZm9h
+.. section: Library
+
+:func:`hashlib.file_digest` now raises :exc:`BlockingIOError` when no data
+is available during non-blocking I/O. Before, it added spurious null bytes
+to the digest.
+
+..
+
+.. date: 2023-02-13-21-41-34
+.. gh-issue: 86155
+.. nonce: ppIGSC
+.. section: Library
+
+:meth:`html.parser.HTMLParser.close` no longer loses data when the
+``<script>`` tag is not closed. Patch by Waylan Limberg.
+
+..
+
+.. date: 2022-07-24-20-56-32
+.. gh-issue: 69426
+.. nonce: unccw7
+.. section: Library
+
+Fix :class:`html.parser.HTMLParser` to not unescape character entities in
+attribute values if they are followed by an ASCII alphanumeric or an equals
+sign.
+
+..
+
+.. bpo: 44172
+.. date: 2021-05-18-19-12-58
+.. nonce: rJ_-CI
+.. section: Library
+
+Keep a reference to original :mod:`curses` windows in subwindows so that the
+original window does not get deleted before subwindows.
+
+..
+
+.. date: 2024-11-08-18-07-13
+.. gh-issue: 112936
+.. nonce: 1Q2RcP
+.. section: IDLE
+
+fix IDLE: no Shell menu item in single-process mode.
+
+..
+
+.. date: 2025-03-28-18-25-43
+.. gh-issue: 107006
+.. nonce: BxFijD
+.. section: Documentation
+
+Move documentation and example code for :class:`threading.local` from its
+docstring to the official docs.
+
+..
+
+.. date: 2025-05-30-15-56-19
+.. gh-issue: 134908
+.. nonce: 3a7PxM
+.. section: Core and Builtins
+
+Fix crash when iterating over lines in a text file on the :term:`free
+threaded <free threading>` build.
+
+..
+
+.. date: 2025-05-27-09-19-21
+.. gh-issue: 127682
+.. nonce: 9WwFrM
+.. section: Core and Builtins
+
+No longer call ``__iter__`` twice in list comprehensions. This brings the
+behavior of list comprehensions in line with other forms of iteration
+
+..
+
+.. date: 2025-05-22-14-48-19
+.. gh-issue: 134381
+.. nonce: 2BXhth
+.. section: Core and Builtins
+
+Fix :exc:`RuntimeError` when using a not-started :class:`threading.Thread`
+after calling :func:`os.fork`
+
+..
+
+.. date: 2025-05-20-14-41-50
+.. gh-issue: 128066
+.. nonce: qzzGfv
+.. section: Core and Builtins
+
+Fixes an edge case where PyREPL improperly threw an error when Python is
+invoked on a read only filesystem while trying to write history file
+entries.
+
+..
+
+.. date: 2025-05-16-17-25-52
+.. gh-issue: 134100
+.. nonce: 5-FbLK
+.. section: Core and Builtins
+
+Fix a use-after-free bug that occurs when an imported module isn't in
+:data:`sys.modules` after its initial import. Patch by Nico-Posada.
+
+..
+
+.. date: 2025-05-10-17-12-27
+.. gh-issue: 133703
+.. nonce: bVM-re
+.. section: Core and Builtins
+
+Fix hashtable in dict can be bigger than intended in some situations.
+
+..
+
+.. date: 2025-05-08-19-01-32
+.. gh-issue: 132869
+.. nonce: lqIOhZ
+.. section: Core and Builtins
+
+Fix crash in the :term:`free threading` build when accessing an object
+attribute that may be concurrently inserted or deleted.
+
+..
+
+.. date: 2025-05-08-13-48-02
+.. gh-issue: 132762
+.. nonce: tKbygC
+.. section: Core and Builtins
+
+:meth:`~dict.fromkeys` no longer loops forever when adding a small set of
+keys to a large base dict. Patch by Angela Liss.
+
+..
+
+.. date: 2025-05-07-10-48-31
+.. gh-issue: 133543
+.. nonce: 4jcszP
+.. section: Core and Builtins
+
+Fix a possible memory leak that could occur when directly accessing instance
+dictionaries (``__dict__``) that later become part of a reference cycle.
+
+..
+
+.. date: 2025-05-06-15-01-41
+.. gh-issue: 133516
+.. nonce: RqWVf2
+.. section: Core and Builtins
+
+Raise :exc:`ValueError` when constants ``True``, ``False`` or ``None`` are
+used as an identifier after NFKC normalization.
+
+..
+
+.. date: 2025-05-05-17-02-08
+.. gh-issue: 133441
+.. nonce: EpjHD4
+.. section: Core and Builtins
+
+Fix crash upon setting an attribute with a :class:`dict` subclass. Patch by
+Victor Stinner.
+
+..
+
+.. date: 2025-04-26-17-50-47
+.. gh-issue: 132942
+.. nonce: aEEZvZ
+.. section: Core and Builtins
+
+Fix two races in the type lookup cache. This affected the free-threaded
+build and could cause crashes (apparently quite difficult to trigger).
+
+..
+
+.. date: 2025-04-22-16-38-43
+.. gh-issue: 132713
+.. nonce: mBWTSZ
+.. section: Core and Builtins
+
+Fix ``repr(list)`` race condition: hold a strong reference to the item while
+calling ``repr(item)``. Patch by Victor Stinner.
+
+..
+
+.. date: 2025-04-21-07-39-59
+.. gh-issue: 132747
+.. nonce: L-cnej
+.. section: Core and Builtins
+
+Fix a crash when calling :meth:`~object.__get__` of a :term:`method` with a
+:const:`None` second argument.
+
+..
+
+.. date: 2025-04-19-17-16-46
+.. gh-issue: 132542
+.. nonce: 7T_TY_
+.. section: Core and Builtins
+
+Update :attr:`Thread.native_id <threading.Thread.native_id>` after
+:manpage:`fork(2)` to ensure accuracy. Patch by Noam Cohen.
+
+..
+
+.. date: 2025-04-13-17-18-01
+.. gh-issue: 124476
+.. nonce: fvGfQ7
+.. section: Core and Builtins
+
+Fix decoding from the locale encoding in the C.UTF-8 locale.
+
+..
+
+.. date: 2025-04-13-10-34-27
+.. gh-issue: 131927
+.. nonce: otp80n
+.. section: Core and Builtins
+
+Compiler warnings originating from the same module and line number are now
+only emitted once, matching the behaviour of warnings emitted from user
+code. This can also be configured with :mod:`warnings` filters.
+
+..
+
+.. date: 2025-04-10-10-29-45
+.. gh-issue: 127682
+.. nonce: X0HoGz
+.. section: Core and Builtins
+
+No longer call ``__iter__`` twice when creating and executing a generator
+expression. Creating a generator expression from a non-interable will raise
+only when the generator expression is executed. This brings the behavior of
+generator expressions in line with other generators.
+
+..
+
+.. date: 2025-03-30-19-58-14
+.. gh-issue: 131878
+.. nonce: uxM26H
+.. section: Core and Builtins
+
+Handle uncaught exceptions in the main input loop for the new REPL.
+
+..
+
+.. date: 2025-03-30-19-49-00
+.. gh-issue: 131878
+.. nonce: J8_cHB
+.. section: Core and Builtins
+
+Fix support of unicode characters with two or more codepoints on Windows in
+the new REPL.
+
+..
+
+.. date: 2025-03-10-21-46-37
+.. gh-issue: 130804
+.. nonce: 0PpcTx
+.. section: Core and Builtins
+
+Fix support of unicode characters on Windows in the new REPL.
+
+..
+
+.. date: 2025-02-13-05-09-31
+.. gh-issue: 130070
+.. nonce: C8c9gK
+.. section: Core and Builtins
+
+Fixed an assertion error for :func:`exec` passed a string ``source`` and a
+non-``None`` ``closure``. Patch by Bartosz Sławecki.
+
+..
+
+.. date: 2025-02-13-00-14-24
+.. gh-issue: 129958
+.. nonce: Uj7lyY
+.. section: Core and Builtins
+
+Fix a bug that was allowing newlines inconsitently in format specifiers for
+single-quoted f-strings. Patch by Pablo Galindo.
+
+..
+
+.. date: 2025-04-25-11-39-24
+.. gh-issue: 132909
+.. nonce: JC3n_l
+.. section: C API
+
+Fix an overflow when handling the :ref:`K <capi-py-buildvalue-format-K>`
+format in :c:func:`Py_BuildValue`. Patch by Bénédikt Tran.
+
+..
+
+.. date: 2025-05-30-11-02-30
+.. gh-issue: 134923
+.. nonce: gBkRg4
+.. section: Build
+
+Windows builds with profile-guided optimization enabled now use
+``/GENPROFILE`` and ``/USEPROFILE`` instead of deprecated ``/LTCG:``
+options.
+
+..
+
+.. date: 2025-04-30-11-07-53
+.. gh-issue: 133183
+.. nonce: zCKUeQ
+.. section: Build
+
+iOS compiler shims now include ``IPHONEOS_DEPLOYMENT_TARGET`` in target
+triples, ensuring that SDK version minimums are honored.
+
+..
+
+.. date: 2025-04-30-10-23-18
+.. gh-issue: 133167
+.. nonce: E0jrYJ
+.. section: Build
+
+Fix compilation process with ``--enable-optimizations`` and
+``--without-docstrings``.
+
+..
+
+.. date: 2025-04-17-19-10-15
+.. gh-issue: 132649
+.. nonce: DZqGoq
+.. section: Build
+
+The :file:`PC\layout` script now allows passing ``--include-tcltk`` on
+Windows ARM64.
+
+..
+
+.. date: 2025-04-16-09-38-48
+.. gh-issue: 117088
+.. nonce: EFt_5c
+.. section: Build
+
+AIX linker don't support -h option, so avoid it through platform check
+
+..
+
+.. date: 2025-04-02-21-08-36
+.. gh-issue: 132026
+.. nonce: ptnR7T
+.. section: Build
+
+Fix use of undefined identifiers in platform triplet detection on MIPS Linux
+platforms.