]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Python 3.15.0b2 v3.15.0b2
authorHugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Tue, 2 Jun 2026 15:28:30 +0000 (18:28 +0300)
committerHugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Tue, 2 Jun 2026 15:28:41 +0000 (18:28 +0300)
81 files changed:
Doc/library/sqlite3.rst
Include/patchlevel.h
Lib/pydoc_data/module_docs.py
Lib/pydoc_data/topics.py
Misc/NEWS.d/3.15.0b2.rst [new file with mode: 0644]
Misc/NEWS.d/next/Build/2026-05-18-16-00-41.gh-issue-148260.UwFiIX.rst [deleted file]
Misc/NEWS.d/next/Build/2026-05-21-15-14-59.gh-issue-148294.VtFaW4.rst [deleted file]
Misc/NEWS.d/next/C_API/2026-02-25-13-37-10.gh-issue-145235.-1ySNR.rst [deleted file]
Misc/NEWS.d/next/C_API/2026-05-12-16-47-21.gh-issue-149725.HZLBTZ.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-04-15-15-48-04.gh-issue-148450.2MEVqH.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-07-03-18-59.gh-issue-149459.5fhAqP.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-09-15-22-32.gh-issue-144957.u1F2aQ.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-10-07-42-36.gh-issue-149642.6ZksML.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-10-16-43-50.gh-issue-148829.gscS14.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-11-14-48-56.gh-issue-149676.6aTrw1.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-12-16-47-23.gh-issue-139808.iIs7_E.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-13-06-54-41.gh-issue-149738.4BLFoH.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-14-19-41-03.gh-issue-149807.IwGaCo.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-15-11-31-57.gh-issue-149816.ugN2rx.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-16-11-03-54.gh-issue-149816.X_gqMT.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-18-13-47-17.gh-issue-149590.IPBeQx.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-18-16-54-54.gh-issue-150042.LSr5W8.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-18-18-36-28.gh-issue-148587.-RD3z5.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-20-13-06-17.gh-issue-150146.i5m_SL.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-22-17-09-28.gh-issue-150107.GD72-D.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-23-22-08-01.gh-issue-149449.2lhQFF.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-24-14-45-00.gh-issue-149156.NP73rB.rst [deleted file]
Misc/NEWS.d/next/Core_and_Builtins/2026-05-25-16-00-22.gh-issue-150374.Emu6d8.rst [deleted file]
Misc/NEWS.d/next/Library/2021-10-18-13-46-55.bpo-45509.Upwb60.rst [deleted file]
Misc/NEWS.d/next/Library/2024-07-02-20-57-43.gh-issue-121109.Tp6R2s.rst [deleted file]
Misc/NEWS.d/next/Library/2024-11-02-02-02-31.gh-issue-107398.uUtA6Q.rst [deleted file]
Misc/NEWS.d/next/Library/2025-03-01-13-36-02.gh-issue-128110.9wx_G0.rst [deleted file]
Misc/NEWS.d/next/Library/2025-05-19-20-29-35.gh-issue-133998.KmElUw.rst [deleted file]
Misc/NEWS.d/next/Library/2025-05-19-21-08-25.gh-issue-134261.ravGYm.rst [deleted file]
Misc/NEWS.d/next/Library/2025-08-30-07-44-30.gh-issue-86533.pathlib.rst [deleted file]
Misc/NEWS.d/next/Library/2026-03-26-09-30-00.gh-issue-146452.Y2N6qZ8J.rst [deleted file]
Misc/NEWS.d/next/Library/2026-04-23-12-50-15.gh-issue-148441.zvpCkR.rst [deleted file]
Misc/NEWS.d/next/Library/2026-04-27-11-12-00.gh-issue-149046.74shDd.rst [deleted file]
Misc/NEWS.d/next/Library/2026-04-29-08-10-17.gh-issue-149056.jnaD4W.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-07-14-18-47.gh-issue-149489.bX9iHe.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-07-21-58-17.gh-issue-149388.DDBPeA.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-08-09-11-48.gh-issue-149534.Tw7eeY.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-08-15-08-35.gh-issue-112821.t9T1YD.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-09-21-02-08.gh-issue-149614.U4snj3.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-10-07-21-51.gh-issue-139489.rS7LTA.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-10-19-26-50.gh-issue-149584.x7Qm9A.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-10-23-51-23.gh-issue-149504.pDSCbn.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-12-06-24-54.gh-issue-149701.8v9RTm.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-12-13-03-45.gh-issue-149718.SaM1NJ.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-13-23-18-39.gh-issue-149801.S_FfGr.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-14-15-55-28.gh-issue-149816.ZaXQ0q.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-15-16-28-00.gh-issue-149819.fixpth.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-15-18-44-20.gh-issue-142349.fHK3v1.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-16-21-08-33.gh-issue-149921.I1yNML.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-17-02-25-56.gh-issue-149571.LNyuWJ.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-17-22-37-02.gh-issue-88726.BAoL6j.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-18-07-44-46.gh-issue-149995.vvtFHn.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-18-17-17-20.gh-issue-149189.a8IooK.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-19-19-00-49.gh-issue-84353.ZU5zaQ.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-21-11-25-58.gh-issue-150175.8H4Caz.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-21-20-47-45.gh-issue-150157.ZvmO-bQZ.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-25-07-22-05.gh-issue-150372.9hLqhe.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-25-17-00-00.gh-issue-150406.jF3g63.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-27-11-18-36.gh-issue-150228.pNPiO-.rst [deleted file]
Misc/NEWS.d/next/Library/2026-05-31-17-47-30.gh-issue-150685.EBB2mU.rst [deleted file]
Misc/NEWS.d/next/Security/2026-04-26-19-30-45.gh-issue-149018.a9SqWb.rst [deleted file]
Misc/NEWS.d/next/Security/2026-04-27-16-36-11.gh-issue-149079.vKl-LM.rst [deleted file]
Misc/NEWS.d/next/Security/2026-05-03-21-00-00.gh-issue-149486.tarflt.rst [deleted file]
Misc/NEWS.d/next/Security/2026-05-08-02-18-54.gh-issue-149474.ujQ-mu.rst [deleted file]
Misc/NEWS.d/next/Security/2026-05-10-18-05-32.gh-issue-87451.XkKB6M.rst [deleted file]
Misc/NEWS.d/next/Security/2026-05-11-21-15-07.gh-issue-149698.OudOcW.rst [deleted file]
Misc/NEWS.d/next/Tests/2026-05-13-14-53-23.gh-issue-149776.orqgsn.rst [deleted file]
Misc/NEWS.d/next/Tests/2026-05-25-15-39-53.gh-issue-150387.yzZ7jq.rst [deleted file]
Misc/NEWS.d/next/Tools-Demos/2026-05-22-18-51-09.gh-issue-150258.dh8GVK.rst [deleted file]
Misc/NEWS.d/next/Windows/2026-04-26-23-14-45.gh-issue-149029.oPTXP4.rst [deleted file]
Misc/NEWS.d/next/Windows/2026-04-29-14-44-51.gh-issue-138489.234aj6.rst [deleted file]
Misc/NEWS.d/next/Windows/2026-05-06-21-36-53.gh-issue-124111.m4OBX8.rst [deleted file]
Misc/NEWS.d/next/Windows/2026-05-14-22-09-46.gh-issue-149786.UI-HZM.rst [deleted file]
Misc/NEWS.d/next/macOS/2026-04-26-23-15-09.gh-issue-149029.Lsx--T.rst [deleted file]
Misc/NEWS.d/next/macOS/2026-05-31-10-40-00.gh-issue-150644.zLWyjj.rst [deleted file]
README.rst

index 3a75d44f3f7d21bf1625a170a5a154be57c2c564..36f080b56ffea7ca8412b7d19769f6077fc21fd0 100644 (file)
@@ -1417,7 +1417,7 @@ Connection objects
 
       See :ref:`sqlite3-howto-row-factory` for more details.
 
-      .. versionchanged:: next
+      .. versionchanged:: 3.15
          Deleting the ``row_factory`` attribute is no longer allowed.
 
    .. attribute:: text_factory
@@ -1429,7 +1429,7 @@ Connection objects
 
       See :ref:`sqlite3-howto-encoding` for more details.
 
-      .. versionchanged:: next
+      .. versionchanged:: 3.15
          Deleting the ``text_factory`` attribute is no longer allowed.
 
    .. attribute:: total_changes
@@ -1715,7 +1715,7 @@ Cursor objects
 
       See :ref:`sqlite3-howto-row-factory` for more details.
 
-      .. versionchanged:: next
+      .. versionchanged:: 3.15
          Deleting the ``row_factory`` attribute is no longer allowed.
 
 
index cdca931566577fc4d37342dbeca606a34c674e36..649609136fec809f4daaf2add92152a6c158056e 100644 (file)
 #define PY_MINOR_VERSION        15
 #define PY_MICRO_VERSION        0
 #define PY_RELEASE_LEVEL        PY_RELEASE_LEVEL_BETA
-#define PY_RELEASE_SERIAL       1
+#define PY_RELEASE_SERIAL       2
 
 /* Version as a string */
-#define PY_VERSION              "3.15.0b1+"
+#define PY_VERSION              "3.15.0b2"
 /*--end constants--*/
 
 
index 1a3126d3db9590993eb3e0a425e1223891436552..0505210b0bfe0dfea115fd25048f0c5743d5e59f 100644 (file)
@@ -1,4 +1,4 @@
-# Autogenerated by Sphinx on Thu May  7 16:26:23 2026
+# Autogenerated by Sphinx on Tue Jun  2 18:28:34 2026
 # as part of the release process.
 
 module_docs = {
index 5f61001c46b79ceb228b1c0104f7826cf6c9b9cd..3ab289ebed6a6f69e760a60dc3ad94e19a0f1150 100644 (file)
@@ -1,4 +1,4 @@
-# Autogenerated by Sphinx on Thu May  7 16:26:23 2026
+# Autogenerated by Sphinx on Tue Jun  2 18:28:34 2026
 # as part of the release process.
 
 topics = {
@@ -2344,9 +2344,9 @@ Added in version 3.10.
 The match statement is used for pattern matching.  Syntax:
 
    match_stmt:   'match' subject_expr ":" NEWLINE INDENT case_block+ DEDENT
-   subject_expr: `!star_named_expression` "," `!star_named_expressions`?
-                 | `!named_expression`
-   case_block:   'case' patterns [guard] ":" `!block`
+   subject_expr: flexible_expression "," [flexible_expression_list [',']]
+                 | assignment_expression
+   case_block:   'case' patterns [guard] ":" suite
 
 Note:
 
@@ -2437,7 +2437,7 @@ section.
 Guards
 ------
 
-   guard: "if" `!named_expression`
+   guard: "if" assignment_expression
 
 A "guard" (which is part of the "case") must succeed for code inside
 the "case" block to execute.  It takes the form: "if" followed by an
@@ -4971,61 +4971,49 @@ block.
     'dict': r'''Dictionary displays
 *******************
 
-A dictionary display is a possibly empty series of dict items
-(key/value pairs) enclosed in curly braces:
-
-   dict_display:       "{" [dict_item_list | dict_comprehension] "}"
-   dict_item_list:     dict_item ("," dict_item)* [","]
-   dict_comprehension: dict_item comp_for
-   dict_item:          expression ":" expression | "**" or_expr
-
-A dictionary display yields a new dictionary object.
-
-If a comma-separated sequence of dict items is given, they are
-evaluated from left to right to define the entries of the dictionary:
-each key object is used as a key into the dictionary to store the
-corresponding value.  This means that you can specify the same key
-multiple times in the dict item list, and the final dictionary’s value
-for that key will be the last one given.
-
-A double asterisk "**" denotes *dictionary unpacking*. Its operand
-must be a *mapping*.  Each mapping item is added to the new
-dictionary.  Later values replace values already set by earlier dict
-items and earlier dictionary unpackings.
+A *dictionary display* is a possibly empty series of *dict items*
+enclosed in curly braces. Each dict item is a colon-separated pair of
+expressions: the *key* and its associated *value*. For example:
+
+   >>> {1: 'one', 2: 'two'}
+   {1: 'one', 2: 'two'}
+
+At runtime, when a dictionary comprehension is evaluated, the
+expressions are evaluated from left to right. Each key object is used
+as a key into the dictionary to store the corresponding value. This
+means that you can specify the same key multiple times in the
+comprehension, and the final dictionary’s value for a given key will
+be the last one given. For example:
+
+   >>> {
+   ...     1: 'this will be overridden',
+   ...     2: 'two',
+   ...     1: 'also overridden',
+   ...     1: 'one',
+   ... }
+   {1: 'one', 2: 'two'}
+
+Instead of a key-value pair, a dict item may be an expression prefixed
+by a double asterisk "**". This denotes *dictionary unpacking*. At
+runtime, the expression must evaluate to a *mapping*; each item of the
+mapping is added to the new dictionary. As with key-value pairs, later
+values replace values already set by earlier items and unpackings.
+This may be used to override a set of defaults:
+
+   >>> defaults = {'color': 'blue', 'count': 8}
+   >>> overrides = {'color': 'yellow'}
+   >>> {**defaults, **overrides}
+   {'color': 'yellow', 'count': 8}
 
 Added in version 3.5: Unpacking into dictionary displays, originally
 proposed by **PEP 448**.
 
-A dict comprehension may take one of two forms:
-
-* The first form  uses two expressions separated with a colon followed
-  by the usual “for” and “if” clauses.  When the comprehension is run,
-  the resulting key and value elements are inserted in the new
-  dictionary in the order they are produced.
-
-* The second form uses a single expression prefixed by the "**"
-  dictionary unpacking operator followed by the usual “for” and “if”
-  clauses.  When the comprehension is evaluated, the expression is
-  evaluated and then unpacked, inserting zero or more key/value pairs
-  into the new dictionary.
-
-Both forms of dictionary comprehension retain the property that if the
-same key is specified multiple times, the associated value in the
-resulting dictionary will be the last one specified.
-
-Restrictions on the types of the key values are listed earlier in
-section The standard type hierarchy.  (To summarize, the key type
-should be *hashable*, which excludes all mutable objects.)  Clashes
-between duplicate keys are not detected; the last value (textually
-rightmost in the display) stored for a given key value prevails.
+The formal grammar for dict displays is:
 
-Changed in version 3.8: Prior to Python 3.8, in dict comprehensions,
-the evaluation order of key and value was not well-defined.  In
-CPython, the value was evaluated before the key.  Starting with 3.8,
-the key is evaluated before the value, as proposed by **PEP 572**.
-
-Changed in version 3.15: Unpacking with the "**" operator is now
-allowed in dictionary comprehensions.
+   dict:                   '{' [double_starred_kvpairs] '}'
+   double_starred_kvpairs: ','.double_starred_kvpair+ [',']
+   double_starred_kvpair:  '**' or_expr | kvpair
+   kvpair:                 expression ':' expression
 ''',
     'dynamic-features': r'''Interaction with dynamic features
 *********************************
@@ -5655,8 +5643,22 @@ containing at least one comma yields a tuple.  The length of the tuple
 is the number of expressions in the list.  The expressions are
 evaluated from left to right.
 
-An asterisk "*" denotes *iterable unpacking*.  Its operand must be an
-*iterable*.  The iterable is expanded into a sequence of items, which
+A trailing comma is required only to create a one-item tuple, such as
+"1,"; it is optional in all other cases. A single expression without a
+trailing comma doesn’t create a tuple, but rather yields the value of
+that expression. (To create an empty tuple, use an empty pair of
+parentheses: "()".)
+
+
+Iterable unpacking
+==================
+
+In an expression list or tuple, list or set display, any expression
+may be prefixed with an asterisk ("*"). This denotes *iterable
+unpacking*.
+
+At runtime, the asterisk-prefixed expression must evaluate to an
+*iterable*. The iterable is expanded into a sequence of items, which
 are included in the new tuple, list, or set, at the site of the
 unpacking.
 
@@ -5665,12 +5667,6 @@ originally proposed by **PEP 448**.
 
 Added in version 3.11: Any item in an expression list may be starred.
 See **PEP 646**.
-
-A trailing comma is required only to create a one-item tuple, such as
-"1,"; it is optional in all other cases. A single expression without a
-trailing comma doesn’t create a tuple, but rather yields the value of
-that expression. (To create an empty tuple, use an empty pair of
-parentheses: "()".)
 ''',
     'floating': r'''Floating-point literals
 ***********************
@@ -6015,7 +6011,8 @@ number respectively. It can be one of the following:
 |           | is not supported.                                          |
 +-----------+------------------------------------------------------------+
 
-For a locale aware separator, use the "'n'" presentation type instead.
+For a locale-aware separator, use the "'n'" float presentation type or
+integer presentation type instead.
 
 Changed in version 3.1: Added the "','" option (see also **PEP 378**).
 
@@ -6061,7 +6058,10 @@ The available integer presentation types are:
    +-----------+------------------------------------------------------------+
    | "'n'"     | Number. This is the same as "'d'", except that it uses the |
    |           | current locale setting to insert the appropriate digit     |
-   |           | group separators.                                          |
+   |           | group separators. Note that the default locale is not the  |
+   |           | system locale. Depending on your use case, you may wish to |
+   |           | set "LC_NUMERIC" with "locale.setlocale()" before using    |
+   |           | "'n'".                                                     |
    +-----------+------------------------------------------------------------+
    | None      | The same as "'d'".                                         |
    +-----------+------------------------------------------------------------+
@@ -6135,7 +6135,10 @@ The available presentation types for "float" and "Decimal" values are:
    +-----------+------------------------------------------------------------+
    | "'n'"     | Number. This is the same as "'g'", except that it uses the |
    |           | current locale setting to insert the appropriate digit     |
-   |           | group separators for the integral part of a number.        |
+   |           | group separators for the integral part of a number. Note   |
+   |           | that the default locale is not the system locale.          |
+   |           | Depending on your use case, you may wish to set            |
+   |           | "LC_NUMERIC" with "locale.setlocale()" before using "'n'". |
    +-----------+------------------------------------------------------------+
    | "'%'"     | Percentage. Multiplies the number by 100 and displays in   |
    |           | fixed ("'f'") format, followed by a percent sign.          |
@@ -7231,21 +7234,113 @@ object defined with:
 See section Function definitions for the syntax of parameter lists.
 Note that functions created with lambda expressions cannot contain
 statements or annotations.
+''',
+    'lazy': r'''Lazy imports
+************
+
+The "lazy" keyword is a soft keyword that only has special meaning
+when it appears immediately before an "import" or "from" statement.
+When an import statement is preceded by the "lazy" keyword, the import
+becomes *lazy*: the module is not loaded immediately at the import
+statement. Instead, a lazy proxy object is created and bound to the
+name. The actual module is loaded on first use of that name.
+
+Lazy imports are only permitted at module scope. Using "lazy" inside a
+function, class body, or "try"/"except"/"finally" block raises a
+"SyntaxError". Star imports cannot be lazy ("lazy from module import
+*" is a syntax error), and future statements cannot be lazy.
+
+When using "lazy from ... import", each imported name is bound to a
+lazy proxy object. The first access to any of these names triggers
+loading of the entire module and resolves only that specific name to
+its actual value. Other names remain as lazy proxies until they are
+accessed.
+
+Example:
+
+   lazy import json
+   import sys
+
+   print('json' in sys.modules)  # False - json module not yet loaded
+
+   # First use triggers loading
+   result = json.dumps({"hello": "world"})
+
+   print('json' in sys.modules)  # True - now loaded
+
+If an error occurs during module loading (such as "ImportError" or
+"SyntaxError"), it is raised at the point where the lazy import is
+first used, not at the import statement itself.
+
+See **PEP 810** for the full specification of lazy imports.
+
+Added in version 3.15.
+
+
+Compatibility via "__lazy_modules__"
+====================================
+
+As an alternative to using the "lazy" keyword, a module can opt into
+lazy loading for specific imports by defining a module-level
+"__lazy_modules__" variable.  When present, it must be a container of
+fully qualified module name strings.  Any regular (non-"lazy")
+"import" statement at module scope whose target appears in
+"__lazy_modules__" is treated as a lazy import, exactly as if the
+"lazy" keyword had been used.
+
+This provides a way to enable lazy loading for specific dependencies
+without changing individual "import" statements. This is useful when
+supporting Python versions older than 3.15 while using lazy imports in
+3.15+:
+
+   __lazy_modules__ = ["json", "pathlib"]
+
+   import json     # loaded lazily (name is in __lazy_modules__)
+   import os       # loaded eagerly (name not in __lazy_modules__)
+
+   import pathlib  # loaded lazily
+
+Relative imports are resolved to their absolute name before the
+lookup, so "__lazy_modules__" must always contain fully qualified
+module names.
+
+For "from"-style imports, the relevant name is the module following
+"from", not the names of its members:
+
+   # In mypackage/mymodule.py
+   __lazy_modules__ = ["mypackage", "mypackage.sub.utils"]
+
+   from . import helper         # loaded lazily: . resolves to mypackage
+   from .sub.utils import func  # loaded lazily: .sub.utils resolves to mypackage.sub.utils
+   import json                  # loaded eagerly (not in __lazy_modules__)
+
+Imports inside functions, class bodies, or "try"/"except"/"finally"
+blocks are always eager, regardless of "__lazy_modules__".
+
+Setting "-X lazy_imports=none" (or the "PYTHON_LAZY_IMPORTS"
+environment variable to "none") overrides "__lazy_modules__" and
+forces all imports to be eager.
+
+Added in version 3.15.
 ''',
     'lists': r'''List displays
 *************
 
-A list display is a possibly empty series of expressions enclosed in
-square brackets:
+A *list display* is a possibly empty series of expressions enclosed in
+square brackets. For example:
+
+   >>> ["one", "two", "three"]
+   ['one', 'two', 'three']
+   >>> ["one"]  # One-element list
+   ['one']
+   >>> []       # empty list
+   []
 
-   list_display: "[" [flexible_expression_list | comprehension] "]"
+See Container displays for general information on displays.
 
-A list display yields a new list object, the contents being specified
-by either a list of expressions or a comprehension.  When a comma-
-separated list of expressions is supplied, its elements are evaluated
-from left to right and placed into the list object in that order.
-When a comprehension is supplied, the list is constructed from the
-elements resulting from the comprehension.
+The formal grammar for list displays is:
+
+   list: '[' [flexible_expression_list] ']'
 ''',
     'naming': r'''Naming and binding
 ******************
@@ -11059,6 +11154,8 @@ str.strip(chars=None, /)
    not a prefix or suffix; rather, all combinations of its values are
    stripped.
 
+   Whitespace characters are defined by "str.isspace()".
+
    For example:
 
       >>> '   spacious   '.strip()
@@ -12447,7 +12544,7 @@ from the mapping "a"; this can be used in expressions and as the
 target of assignments or "del" statements. The built-in function
 "len()" returns the number of items in a mapping.
 
-There is currently a single intrinsic mapping type:
+There are two intrinsic mapping types:
 
 
 Dictionaries
@@ -12481,6 +12578,18 @@ preserved, but it was considered an implementation detail at that time
 rather than a language guarantee.
 
 
+Frozen dictionaries
+-------------------
+
+These represent an immutable dictionary.  They are created by the
+built-in "frozendict()" constructor.  A frozendict is *hashable* if
+all of its keys and values are hashable, in which case it can be used
+as an element of a set, or as a key in another mapping.  "frozendict"
+is not a subclass of "dict"; it inherits directly from "object".
+
+Added in version 3.15.
+
+
 Callable types
 ==============
 
diff --git a/Misc/NEWS.d/3.15.0b2.rst b/Misc/NEWS.d/3.15.0b2.rst
new file mode 100644 (file)
index 0000000..24fef19
--- /dev/null
@@ -0,0 +1,795 @@
+.. date: 2026-05-11-21-15-07
+.. gh-issue: 149698
+.. nonce: OudOcW
+.. release date: 2026-06-02
+.. section: Security
+
+Update bundled `libexpat <https://libexpat.github.io/>`_ to version 2.8.1
+for the fix for :cve:`2026-45186`.
+
+..
+
+.. date: 2026-05-10-18-05-32
+.. gh-issue: 87451
+.. nonce: XkKB6M
+.. section: Security
+
+The :mod:`ftplib` module's undocumented ``ftpcp`` function no longer trusts
+the IPv4 address value returned from the source server in response to the
+``PASV`` command by default, completing the fix for CVE-2021-4189.  As with
+:class:`ftplib.FTP`, the former behavior can be re-enabled by setting the
+``trust_server_pasv_ipv4_address`` attribute on the source
+:class:`ftplib.FTP` instance to ``True``.  Thanks to Qi Deng at Aurascape AI
+for the report.
+
+..
+
+.. date: 2026-05-08-02-18-54
+.. gh-issue: 149474
+.. nonce: ujQ-mu
+.. section: Security
+
+Fix the binary writer in :mod:`profiling.sampling` not firing the audit
+(:pep:`578`) when creating the output file. The writer and the reader now
+accept any path-like object. Patch by Maurycy Pawłowski-Wieroński.
+
+..
+
+.. date: 2026-05-03-21-00-00
+.. gh-issue: 149486
+.. nonce: tarflt
+.. section: Security
+
+:func:`tarfile.data_filter` now validates link targets using the same
+normalised value that is written to disk, strips trailing separators from
+the member name when resolving a symlink's directory, and rejects link
+members that would replace the destination directory itself. This closes
+several path-traversal bypasses of the ``data`` extraction filter.
+
+..
+
+.. date: 2026-04-27-16-36-11
+.. gh-issue: 149079
+.. nonce: vKl-LM
+.. section: Security
+
+Fix a potential denial of service in :func:`unicodedata.normalize`. The
+canonical ordering step of Unicode normalization used a quadratic-time
+insertion sort for reordering combining characters, which could be exploited
+with crafted input containing many combining characters in non-canonical
+order. Replaced with a linear-time counting sort for long runs.
+
+..
+
+.. date: 2026-04-26-19-30-45
+.. gh-issue: 149018
+.. nonce: a9SqWb
+.. section: Security
+
+Improved protection against XML hash-flooding attacks in
+:mod:`xml.parsers.expat` and :mod:`xml.etree.ElementTree` when Python is
+compiled with libExpat 2.8.0 or later.
+
+..
+
+.. date: 2026-05-25-16-00-22
+.. gh-issue: 150374
+.. nonce: Emu6d8
+.. section: Core and Builtins
+
+Fix double release of the import lock on lazy import reification errors.
+
+..
+
+.. date: 2026-05-24-14-45-00
+.. gh-issue: 149156
+.. nonce: NP73rB
+.. section: Core and Builtins
+
+Fix an intermittent crash after :func:`os.fork` when perf trampoline
+profiling is enabled and the child returns through trampoline frames
+inherited from the parent process.
+
+..
+
+.. date: 2026-05-23-22-08-01
+.. gh-issue: 149449
+.. nonce: 2lhQFF
+.. section: Core and Builtins
+
+Fix a use-after-free crash when the :mod:`unicodedata` module was removed
+from :data:`sys.modules` and garbage-collected between calls that decode
+``\N{...}`` escapes or use the ``namereplace`` codec error handler.
+
+..
+
+.. date: 2026-05-22-17-09-28
+.. gh-issue: 150107
+.. nonce: GD72-D
+.. section: Core and Builtins
+
+:mod:`asyncio`: ``sendfile()`` and ``sock_sendfile()`` event loop methods
+now call ``file.seek(offset)`` if *file* has a ``seek()`` method, even if
+*offset* is ``0`` (default value).
+
+..
+
+.. date: 2026-05-20-13-06-17
+.. gh-issue: 150146
+.. nonce: i5m_SL
+.. section: Core and Builtins
+
+Fix a crash on a complex type variable substitution.
+
+``from typing import TypeVar; memoryview[TypeVar("")][*typing.Mapping[...,
+...]]`` used to fail due to missing ``NULL`` check on ``_unpack_args`` C
+function call.
+
+..
+
+.. date: 2026-05-18-18-36-28
+.. gh-issue: 148587
+.. nonce: -RD3z5
+.. section: Core and Builtins
+
+``sys.lazy_modules`` is now a set instead of a dict as initially spelled out
+in PEP 810.
+
+..
+
+.. date: 2026-05-18-16-54-54
+.. gh-issue: 150042
+.. nonce: LSr5W8
+.. section: Core and Builtins
+
+Fix refleak in queue.SimpleQueue.put if memory allocation fails.
+
+..
+
+.. date: 2026-05-18-13-47-17
+.. gh-issue: 149590
+.. nonce: IPBeQx
+.. section: Core and Builtins
+
+Fix crash when faulthandler is imported more than once.
+
+..
+
+.. date: 2026-05-16-11-03-54
+.. gh-issue: 149816
+.. nonce: X_gqMT
+.. section: Core and Builtins
+
+Fix a race condition in ``_PyBytes_FromList`` in free-threading mode.
+
+..
+
+.. date: 2026-05-15-11-31-57
+.. gh-issue: 149816
+.. nonce: ugN2rx
+.. section: Core and Builtins
+
+Fix a race condition in :class:`memoryview` with free-threading.
+
+..
+
+.. date: 2026-05-14-19-41-03
+.. gh-issue: 149807
+.. nonce: IwGaCo
+.. section: Core and Builtins
+
+Fix ``hash(frozendict)``: compute the hash of each ``(key, value)`` pair
+correctly. Patch by Victor Stinner.
+
+..
+
+.. date: 2026-05-13-06-54-41
+.. gh-issue: 149738
+.. nonce: 4BLFoH
+.. section: Core and Builtins
+
+:mod:`sqlite3`: Disallow removing ``row_factory`` and ``text_factory``
+attributes of a connection to prevent a crash on a query.
+
+..
+
+.. date: 2026-05-12-16-47-23
+.. gh-issue: 139808
+.. nonce: iIs7_E
+.. section: Core and Builtins
+
+Add branch protections for AArch64 (BTI/PAC) in assembly code used by
+:option:`-X perf_jit <-X>` (Linux perf profiler integration).
+
+..
+
+.. date: 2026-05-11-14-48-56
+.. gh-issue: 149676
+.. nonce: 6aTrw1
+.. section: Core and Builtins
+
+Fix ``frozendict | frozendict`` hash.
+
+..
+
+.. date: 2026-05-10-16-43-50
+.. gh-issue: 148829
+.. nonce: gscS14
+.. section: Core and Builtins
+
+:class:`sentinel` objects now support a ``repr=`` argument and their
+:attr:`~sentinel.__module__` attribute is writable.
+
+..
+
+.. date: 2026-05-10-07-42-36
+.. gh-issue: 149642
+.. nonce: 6ZksML
+.. section: Core and Builtins
+
+Allow imports inside ``exec()`` calls within functions under
+``PYTHON_LAZY_IMPORTS=all``.
+
+..
+
+.. date: 2026-05-09-15-22-32
+.. gh-issue: 144957
+.. nonce: u1F2aQ
+.. section: Core and Builtins
+
+Fix lazy ``from`` imports of module attributes provided by module-level
+``__getattr__``.
+
+..
+
+.. date: 2026-05-07-03-18-59
+.. gh-issue: 149459
+.. nonce: 5fhAqP
+.. section: Core and Builtins
+
+Fix a crash in the JIT optimizer when a specialized ``LOAD_SPECIAL`` guard
+deoptimized after inserting the synthetic ``NULL`` stack entry.
+
+..
+
+.. date: 2026-04-15-15-48-04
+.. gh-issue: 148450
+.. nonce: 2MEVqH
+.. section: Core and Builtins
+
+Fix ``abc.register()`` so it invalidates type version tags for registered
+classes.
+
+..
+
+.. date: 2026-05-31-17-47-30
+.. gh-issue: 150685
+.. nonce: EBB2mU
+.. section: Library
+
+Update bundled pip to 26.1.2
+
+..
+
+.. date: 2026-05-27-11-18-36
+.. gh-issue: 150228
+.. nonce: pNPiO-
+.. section: Library
+
+The new :class:`site.StartupState` class lets callers batch-process
+:pep:`829` startup configuration files across multiple site directories
+before any startup code runs, with public
+:meth:`~site.StartupState.addsitedir`,
+:meth:`~site.StartupState.addusersitepackages`,
+:meth:`~site.StartupState.addsitepackages`, and
+:meth:`~site.StartupState.process` methods.  The signature of
+:func:`site.addsitedir` is unchanged from Python 3.14.  The
+:data:`!defer_processing_start_files` argument and the
+``process_startup_files()`` function added earlier in the 3.15 cycle have
+been removed; use :class:`!site.StartupState` instead.
+
+..
+
+.. date: 2026-05-25-17-00-00
+.. gh-issue: 150406
+.. nonce: jF3g63
+.. section: Library
+
+Fix a possible crash occurring during :mod:`socket` module initialization
+when the system is out of memory on platforms without a reentrant
+``gethostbyname``.
+
+..
+
+.. date: 2026-05-25-07-22-05
+.. gh-issue: 150372
+.. nonce: 9hLqhe
+.. section: Library
+
+:mod:`readline`: Fix a potential crash during tab completion caused by an
+out-of-memory error during module initialization.
+
+..
+
+.. date: 2026-05-21-20-47-45
+.. gh-issue: 150157
+.. nonce: ZvmO-bQZ
+.. section: Library
+
+Fix a crash in free-threaded builds that occurs when pickling by name
+objects without a ``__module__`` attribute while :data:`sys.modules` is
+concurrently being modified.
+
+..
+
+.. date: 2026-05-21-11-25-58
+.. gh-issue: 150175
+.. nonce: 8H4Caz
+.. section: Library
+
+Fix race condition in :class:`unittest.mock.ThreadingMock` where concurrent
+calls could lose increments to ``call_count`` and other attributes due to a
+missing lock in ``_increment_mock_call``.
+
+..
+
+.. date: 2026-05-19-19-00-49
+.. gh-issue: 84353
+.. nonce: ZU5zaQ
+.. section: Library
+
+Preserve non-UTF-8 encoded filenames when appending to a
+:class:`zipfile.ZipFile`.  Previously, non-ASCII names stored in a legacy
+encoding (without the UTF-8 flag bit set) could be corrupted when the
+central directory was rewritten: they were decoded as cp437 and then
+re-stored as UTF-8.
+
+..
+
+.. date: 2026-05-18-17-17-20
+.. gh-issue: 149189
+.. nonce: a8IooK
+.. section: Library
+
+Revert the changes to :mod:`pprint` defaults. Patch by Hugo van Kemenade.
+
+..
+
+.. date: 2026-05-18-07-44-46
+.. gh-issue: 149995
+.. nonce: vvtFHn
+.. section: Library
+
+Update various docstrings in :mod:`typing`.
+
+..
+
+.. date: 2026-05-17-22-37-02
+.. gh-issue: 88726
+.. nonce: BAoL6j
+.. section: Library
+
+The :mod:`email` package now uses standard MIME charset names "gb2312" and
+"big5" instead of non-standard names "eucgb2312_cn" and "big5_tw".
+
+..
+
+.. date: 2026-05-17-02-25-56
+.. gh-issue: 149571
+.. nonce: LNyuWJ
+.. section: Library
+
+Fix the C implementation of :meth:`xml.etree.ElementTree.Element.itertext`:
+it no longer emits text for comments and processing instructions.
+
+..
+
+.. date: 2026-05-16-21-08-33
+.. gh-issue: 149921
+.. nonce: I1yNML
+.. section: Library
+
+Fix reference leaks in error paths of the :mod:`!_interpchannels` and
+:mod:`!_interpqueues` extension modules.
+
+..
+
+.. date: 2026-05-15-18-44-20
+.. gh-issue: 142349
+.. nonce: fHK3v1
+.. section: Library
+
+Add :keyword:`lazy` to the list of support topic by :func:`help`.
+
+..
+
+.. date: 2026-05-15-16-28-00
+.. gh-issue: 149819
+.. nonce: fixpth
+.. section: Library
+
+Fix regression in :func:`site.addsitedir` where ``.pth`` files were no
+longer processed in Python subprocesses. This happened because
+:func:`site.main` seeded ``known_paths`` with entries inherited from the
+parent process, causing ``addsitedir`` to skip ``.pth`` processing.
+
+..
+
+.. date: 2026-05-14-15-55-28
+.. gh-issue: 149816
+.. nonce: ZaXQ0q
+.. section: Library
+
+Fix a race condition in ``_random.Random.__init__`` method in free-threading
+mode.
+
+..
+
+.. date: 2026-05-13-23-18-39
+.. gh-issue: 149801
+.. nonce: S_FfGr
+.. section: Library
+
+Add IANA registered names and aliases with leading zeros before number (like
+IBM00858, CP00858, IBM01140, CP01140) for corresponding codecs.
+
+..
+
+.. date: 2026-05-12-13-03-45
+.. gh-issue: 149718
+.. nonce: SaM1NJ
+.. section: Library
+
+Coalesce consecutive identical stack frames in Tachyon, so aggregating
+collectors (pstats, collapsed, flamegraph, gecko) receive one collect.
+Improves sample rate 3x, error rate and missed rate drop by 70%. Patch by
+Maurycy Pawłowski-Wieroński.
+
+..
+
+.. date: 2026-05-12-06-24-54
+.. gh-issue: 149701
+.. nonce: 8v9RTm
+.. section: Library
+
+Fix bad return code from Lib/venv/bin/activate if hashing is disabled
+
+..
+
+.. date: 2026-05-10-23-51-23
+.. gh-issue: 149504
+.. nonce: pDSCbn
+.. section: Library
+
+Fix :func:`site.addsitedir` to allow re-entrant calls from within startup
+files.  Previously, a ``.pth`` file containing an ``import`` line that
+called :func:`site.addsitedir` (or a ``.start`` entry point doing the same)
+could crash with ``RuntimeError: dictionary changed size during iteration``
+during site initialization, breaking tools such as ``uv run --with``.
+
+..
+
+.. date: 2026-05-10-19-26-50
+.. gh-issue: 149584
+.. nonce: x7Qm9A
+.. section: Library
+
+Fix excessive overhead in the Tachyon profiler when inspecting a remote
+process by avoiding repeated remote page-cache scans, batching predicted
+remote reads, and reusing cached profiler result objects. Patch by Pablo
+Galindo and Maurycy Pawłowski-Wieroński.
+
+..
+
+.. date: 2026-05-10-07-21-51
+.. gh-issue: 139489
+.. nonce: rS7LTA
+.. section: Library
+
+Add :func:`xml.is_valid_text` to ``xml.__all__``.
+
+..
+
+.. date: 2026-05-09-21-02-08
+.. gh-issue: 149614
+.. nonce: U4snj3
+.. section: Library
+
+Fix a regression that broke the ability to deepcopy
+:class:`argparse.ArgumentParser` instances.
+
+..
+
+.. date: 2026-05-08-15-08-35
+.. gh-issue: 112821
+.. nonce: t9T1YD
+.. section: Library
+
+In the REPL, autocompletion might run arbitrary code in the getter of a
+descriptor. If that getter raised an exception, autocompletion would fail to
+present any options for the entire object.  Autocompletion now works as
+expected for these objects.
+
+..
+
+.. date: 2026-05-08-09-11-48
+.. gh-issue: 149534
+.. nonce: Tw7eeY
+.. section: Library
+
+Fix merging of :class:`collections.defaultdict` and :class:`frozendict`.
+
+..
+
+.. date: 2026-05-07-21-58-17
+.. gh-issue: 149388
+.. nonce: DDBPeA
+.. section: Library
+
+Make :class:`!asyncio.windows_utils.PipeHandle` closing idempotent.
+
+..
+
+.. date: 2026-05-07-14-18-47
+.. gh-issue: 149489
+.. nonce: bX9iHe
+.. section: Library
+
+Fix :mod:`~xml.etree.ElementTree` serialization to HTML. The content of
+comments, processing instructions and elements "xmp", "iframe", "noembed",
+"noframes", and "plaintext" is no longer escaped. The "plaintext" element no
+longer have the closing tag. Add support of empty attributes (with value
+``None``).
+
+..
+
+.. date: 2026-04-29-08-10-17
+.. gh-issue: 149056
+.. nonce: jnaD4W
+.. section: Library
+
+Fix :func:`json.load` not forwarding the *array_hook* argument to
+:func:`json.loads`. Patch by Thomas Kowalski.
+
+..
+
+.. date: 2026-04-27-11-12-00
+.. gh-issue: 149046
+.. nonce: 74shDd
+.. section: Library
+
+:mod:`io`: Fix :class:`io.StringIO` serialization: no longer call
+``str(obj)`` on :class:`str` subclasses. Patch by Thomas Kowalski.
+
+..
+
+.. date: 2026-04-23-12-50-15
+.. gh-issue: 148441
+.. nonce: zvpCkR
+.. section: Library
+
+:mod:`xml.parsers.expat`: prevent a crash in
+:meth:`~xml.parsers.expat.xmlparser.CharacterDataHandler` when the character
+data size exceeds the parser's :attr:`buffer size
+<xml.parsers.expat.xmlparser.buffer_size>`.
+
+..
+
+.. date: 2026-03-26-09-30-00
+.. gh-issue: 146452
+.. nonce: Y2N6qZ8J
+.. section: Library
+
+Fix segfault in :mod:`pickle` when pickling a dictionary concurrently
+mutated by another thread in the free-threaded build.
+
+..
+
+.. date: 2025-08-30-07-44-30
+.. gh-issue: 86533
+.. nonce: pathlib
+.. section: Library
+
+The :func:`os.makedirs` function and :meth:`pathlib.Path.mkdir` method now
+have a *parent_mode* parameter to specify the mode for intermediate
+directories when creating parent directories. This allows one to match the
+behavior from Python 3.6 and earlier for :func:`os.makedirs`.
+
+..
+
+.. date: 2025-05-19-21-08-25
+.. gh-issue: 134261
+.. nonce: ravGYm
+.. section: Library
+
+zip: On reproducible builds, ZipFile uses UTC instead of the local time when
+writing file datetimes to avoid underflows.
+
+..
+
+.. date: 2025-05-19-20-29-35
+.. gh-issue: 133998
+.. nonce: KmElUw
+.. section: Library
+
+Fix :exc:`struct.error` exception when creating a file with
+:class:`gzip.GzipFile` or compressing data with :func:`gzip.compress` if the
+system time is outside the range 00:00:00 UTC, January 1, 1970 through
+06:28:15 UTC, February 7, 2106, or explicitly passed *mtime* argument is
+outside the range ``0`` to ``2**32-1``.
+
+..
+
+.. date: 2025-03-01-13-36-02
+.. gh-issue: 128110
+.. nonce: 9wx_G0
+.. section: Library
+
+Fix bug in the parsing of :mod:`email` address headers that could result in
+extraneous spaces in the decoded text when using a modern email policy.
+Space between pairs of adjacent :rfc:`2047` encoded-words is now ignored,
+per section 6.2 (and consistent with existing parsing of unstructured
+headers like *Subject*).
+
+..
+
+.. date: 2024-11-02-02-02-31
+.. gh-issue: 107398
+.. nonce: uUtA6Q
+.. section: Library
+
+Fix :mod:`tarfile` stream mode exception when process the file with the gzip
+extra field.
+
+..
+
+.. date: 2024-07-02-20-57-43
+.. gh-issue: 121109
+.. nonce: Tp6R2s
+.. section: Library
+
+Fix :mod:`tarfile` performance issue when reading archives in streaming mode
+(e.g. ``r|*``).
+
+..
+
+.. bpo: 45509
+.. date: 2021-10-18-13-46-55
+.. nonce: Upwb60
+.. section: Library
+
+Gzip headers are now checked for corrupted NAME, COMMENT and HCRC fields.
+
+..
+
+.. date: 2026-05-25-15-39-53
+.. gh-issue: 150387
+.. nonce: yzZ7jq
+.. section: Tests
+
+Fix hang in
+``test.test_profiling.test_sampling_profiler.test_live_collector_ui.TestLiveModeErrors.test_run_failed_script_live``
+on slow buildbots. The test now always queues a final ``q`` keystroke so the
+live TUI loop exits even when the profiler collects enough samples to enter
+the post-finished input loop.
+
+..
+
+.. date: 2026-05-13-14-53-23
+.. gh-issue: 149776
+.. nonce: orqgsn
+.. section: Tests
+
+Fix test_socket on Linux kernel 7.1 and newer: skip UDP Lite tests if it's
+not supported. Patch by Victor Stinner.
+
+..
+
+.. date: 2026-05-21-15-14-59
+.. gh-issue: 148294
+.. nonce: VtFaW4
+.. section: Build
+
+Corrected the use of ``AC_PATH_TOOL`` in ``configure.ac`` to allow a C++
+compiler to be found on :envvar:`!PATH`.
+
+..
+
+.. date: 2026-05-18-16-00-41
+.. gh-issue: 148260
+.. nonce: UwFiIX
+.. section: Build
+
+On Linux when Python is linked to the musl C library, use a thread stack
+size of at least 1 MiB instead of musl default which is 128 kiB. Patch by
+Victor Stinner.
+
+..
+
+.. date: 2026-05-14-22-09-46
+.. gh-issue: 149786
+.. nonce: UI-HZM
+.. section: Windows
+
+Fixes virtual environment launchers on Windows free-threaded builds.
+
+..
+
+.. date: 2026-05-06-21-36-53
+.. gh-issue: 124111
+.. nonce: m4OBX8
+.. section: Windows
+
+Updated Windows builds to use Tcl/Tk 9.0.3.
+
+..
+
+.. date: 2026-04-29-14-44-51
+.. gh-issue: 138489
+.. nonce: 234aj6
+.. section: Windows
+
+Windows distributions now include a :file:`build-details.json` file (see
+:pep:`739`). The legacy installer does not install it, but all other
+distributions from python.org and all preset configurations in the
+``PC\layout`` script will include one.
+
+..
+
+.. date: 2026-04-26-23-14-45
+.. gh-issue: 149029
+.. nonce: oPTXP4
+.. section: Windows
+
+Update Windows installer to ship with SQLite 3.53.1.
+
+..
+
+.. date: 2026-05-31-10-40-00
+.. gh-issue: 150644
+.. nonce: zLWyjj
+.. section: macOS
+
+When system logging is enabled (with ``config.use_system_logger``, messages
+are now tagged as public. This allows the macOS 26 system logger to view
+messages without special configuration.
+
+..
+
+.. date: 2026-04-26-23-15-09
+.. gh-issue: 149029
+.. nonce: Lsx--T
+.. section: macOS
+
+Update macOS installer to ship with SQLite version 3.53.1.
+
+..
+
+.. date: 2026-05-22-18-51-09
+.. gh-issue: 150258
+.. nonce: dh8GVK
+.. section: Tools/Demos
+
+Update the tooltip on the Tachyon flame graph to show both absolute and
+relative percentages.
+
+..
+
+.. date: 2026-05-12-16-47-21
+.. gh-issue: 149725
+.. nonce: HZLBTZ
+.. section: C API
+
+Add :c:func:`PySentinel_CheckExact` for exact :class:`sentinel` type tests
+to accompany the existing :c:func:`PySentinel_Check`.
+
+..
+
+.. date: 2026-02-25-13-37-10
+.. gh-issue: 145235
+.. nonce: -1ySNR
+.. section: C API
+
+Made :c:func:`PyDict_AddWatcher`, :c:func:`PyDict_ClearWatcher`,
+:c:func:`PyDict_Watch`, and :c:func:`PyDict_Unwatch` thread-safe on the
+:term:`free threaded <free threading>` build.
diff --git a/Misc/NEWS.d/next/Build/2026-05-18-16-00-41.gh-issue-148260.UwFiIX.rst b/Misc/NEWS.d/next/Build/2026-05-18-16-00-41.gh-issue-148260.UwFiIX.rst
deleted file mode 100644 (file)
index 8248c24..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-On Linux when Python is linked to the musl C library, use a thread stack
-size of at least 1 MiB instead of musl default which is 128 kiB. Patch by
-Victor Stinner.
diff --git a/Misc/NEWS.d/next/Build/2026-05-21-15-14-59.gh-issue-148294.VtFaW4.rst b/Misc/NEWS.d/next/Build/2026-05-21-15-14-59.gh-issue-148294.VtFaW4.rst
deleted file mode 100644 (file)
index 861261d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Corrected the use of ``AC_PATH_TOOL`` in ``configure.ac`` to allow a C++
-compiler to be found on :envvar:`!PATH`.
diff --git a/Misc/NEWS.d/next/C_API/2026-02-25-13-37-10.gh-issue-145235.-1ySNR.rst b/Misc/NEWS.d/next/C_API/2026-02-25-13-37-10.gh-issue-145235.-1ySNR.rst
deleted file mode 100644 (file)
index 98a8c26..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Made :c:func:`PyDict_AddWatcher`, :c:func:`PyDict_ClearWatcher`,
-:c:func:`PyDict_Watch`, and :c:func:`PyDict_Unwatch` thread-safe on the
-:term:`free threaded <free threading>` build.
diff --git a/Misc/NEWS.d/next/C_API/2026-05-12-16-47-21.gh-issue-149725.HZLBTZ.rst b/Misc/NEWS.d/next/C_API/2026-05-12-16-47-21.gh-issue-149725.HZLBTZ.rst
deleted file mode 100644 (file)
index 9772143..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Add :c:func:`PySentinel_CheckExact` for exact :class:`sentinel` type tests
-to accompany the existing :c:func:`PySentinel_Check`.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-04-15-15-48-04.gh-issue-148450.2MEVqH.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-04-15-15-48-04.gh-issue-148450.2MEVqH.rst
deleted file mode 100644 (file)
index 2a7d0d9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fix ``abc.register()`` so it invalidates type version tags for registered classes.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-07-03-18-59.gh-issue-149459.5fhAqP.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-07-03-18-59.gh-issue-149459.5fhAqP.rst
deleted file mode 100644 (file)
index 4cd0a14..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fix a crash in the JIT optimizer when a specialized ``LOAD_SPECIAL`` guard deoptimized after inserting the synthetic ``NULL`` stack entry.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-09-15-22-32.gh-issue-144957.u1F2aQ.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-09-15-22-32.gh-issue-144957.u1F2aQ.rst
deleted file mode 100644 (file)
index 3063f1a..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix lazy ``from`` imports of module attributes provided by module-level
-``__getattr__``.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-10-07-42-36.gh-issue-149642.6ZksML.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-10-07-42-36.gh-issue-149642.6ZksML.rst
deleted file mode 100644 (file)
index 815a084..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Allow imports inside ``exec()`` calls within functions under
-``PYTHON_LAZY_IMPORTS=all``.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-10-16-43-50.gh-issue-148829.gscS14.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-10-16-43-50.gh-issue-148829.gscS14.rst
deleted file mode 100644 (file)
index 3f9b1cc..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-:class:`sentinel` objects now support a ``repr=`` argument and their
-:attr:`~sentinel.__module__` attribute is writable.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-11-14-48-56.gh-issue-149676.6aTrw1.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-11-14-48-56.gh-issue-149676.6aTrw1.rst
deleted file mode 100644 (file)
index 96f407c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fix ``frozendict | frozendict`` hash.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-12-16-47-23.gh-issue-139808.iIs7_E.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-12-16-47-23.gh-issue-139808.iIs7_E.rst
deleted file mode 100644 (file)
index 3e9d930..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Add branch protections for AArch64 (BTI/PAC) in assembly code used by
-:option:`-X perf_jit <-X>` (Linux perf profiler integration).
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-13-06-54-41.gh-issue-149738.4BLFoH.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-13-06-54-41.gh-issue-149738.4BLFoH.rst
deleted file mode 100644 (file)
index e62b681..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-:mod:`sqlite3`: Disallow removing ``row_factory`` and ``text_factory`` attributes
-of a connection to prevent a crash on a query.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-14-19-41-03.gh-issue-149807.IwGaCo.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-14-19-41-03.gh-issue-149807.IwGaCo.rst
deleted file mode 100644 (file)
index a94c737..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix ``hash(frozendict)``: compute the hash of each ``(key, value)`` pair
-correctly. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-15-11-31-57.gh-issue-149816.ugN2rx.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-15-11-31-57.gh-issue-149816.ugN2rx.rst
deleted file mode 100644 (file)
index 016c17d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fix a race condition in :class:`memoryview` with free-threading.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-16-11-03-54.gh-issue-149816.X_gqMT.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-16-11-03-54.gh-issue-149816.X_gqMT.rst
deleted file mode 100644 (file)
index d35f085..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fix a race condition in ``_PyBytes_FromList`` in free-threading mode.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-18-13-47-17.gh-issue-149590.IPBeQx.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-18-13-47-17.gh-issue-149590.IPBeQx.rst
deleted file mode 100644 (file)
index 8d3b29d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fix crash when faulthandler is imported more than once.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-18-16-54-54.gh-issue-150042.LSr5W8.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-18-16-54-54.gh-issue-150042.LSr5W8.rst
deleted file mode 100644 (file)
index 18a4fbd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fix refleak in queue.SimpleQueue.put if memory allocation fails.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-18-18-36-28.gh-issue-148587.-RD3z5.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-18-18-36-28.gh-issue-148587.-RD3z5.rst
deleted file mode 100644 (file)
index 61bfdcd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-``sys.lazy_modules`` is now a set instead of a dict as initially spelled out in PEP 810.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-20-13-06-17.gh-issue-150146.i5m_SL.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-20-13-06-17.gh-issue-150146.i5m_SL.rst
deleted file mode 100644 (file)
index f373f0b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix a crash on a complex type variable substitution.
-
-``from typing import TypeVar; memoryview[TypeVar("")][*typing.Mapping[...,
-...]]`` used to fail due to missing ``NULL`` check on ``_unpack_args`` C
-function call.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-22-17-09-28.gh-issue-150107.GD72-D.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-22-17-09-28.gh-issue-150107.GD72-D.rst
deleted file mode 100644 (file)
index a13f249..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-:mod:`asyncio`: ``sendfile()`` and ``sock_sendfile()`` event loop methods
-now call ``file.seek(offset)`` if *file* has a ``seek()`` method,
-even if *offset* is ``0`` (default value).
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-23-22-08-01.gh-issue-149449.2lhQFF.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-23-22-08-01.gh-issue-149449.2lhQFF.rst
deleted file mode 100644 (file)
index 7d11442..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a use-after-free crash when the :mod:`unicodedata` module was removed
-from :data:`sys.modules` and garbage-collected between calls that decode
-``\N{...}`` escapes or use the ``namereplace`` codec error handler.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-24-14-45-00.gh-issue-149156.NP73rB.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-24-14-45-00.gh-issue-149156.NP73rB.rst
deleted file mode 100644 (file)
index 2cb091e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix an intermittent crash after :func:`os.fork` when perf trampoline
-profiling is enabled and the child returns through trampoline frames
-inherited from the parent process.
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-05-25-16-00-22.gh-issue-150374.Emu6d8.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-05-25-16-00-22.gh-issue-150374.Emu6d8.rst
deleted file mode 100644 (file)
index 7189ca1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fix double release of the import lock on lazy import reification errors.
diff --git a/Misc/NEWS.d/next/Library/2021-10-18-13-46-55.bpo-45509.Upwb60.rst b/Misc/NEWS.d/next/Library/2021-10-18-13-46-55.bpo-45509.Upwb60.rst
deleted file mode 100644 (file)
index 80c38c0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Gzip headers are now checked for corrupted NAME, COMMENT and HCRC fields.
diff --git a/Misc/NEWS.d/next/Library/2024-07-02-20-57-43.gh-issue-121109.Tp6R2s.rst b/Misc/NEWS.d/next/Library/2024-07-02-20-57-43.gh-issue-121109.Tp6R2s.rst
deleted file mode 100644 (file)
index eca6014..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix :mod:`tarfile` performance issue when reading archives in streaming mode
-(e.g. ``r|*``).
diff --git a/Misc/NEWS.d/next/Library/2024-11-02-02-02-31.gh-issue-107398.uUtA6Q.rst b/Misc/NEWS.d/next/Library/2024-11-02-02-02-31.gh-issue-107398.uUtA6Q.rst
deleted file mode 100644 (file)
index d5af322..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fix :mod:`tarfile` stream mode exception when process the file with the gzip extra field.
diff --git a/Misc/NEWS.d/next/Library/2025-03-01-13-36-02.gh-issue-128110.9wx_G0.rst b/Misc/NEWS.d/next/Library/2025-03-01-13-36-02.gh-issue-128110.9wx_G0.rst
deleted file mode 100644 (file)
index b08b188..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix bug in the parsing of :mod:`email` address headers that could result in
-extraneous spaces in the decoded text when using a modern email policy.
-Space between pairs of adjacent :rfc:`2047` encoded-words is now ignored, per
-section 6.2 (and consistent with existing parsing of unstructured
-headers like *Subject*).
diff --git a/Misc/NEWS.d/next/Library/2025-05-19-20-29-35.gh-issue-133998.KmElUw.rst b/Misc/NEWS.d/next/Library/2025-05-19-20-29-35.gh-issue-133998.KmElUw.rst
deleted file mode 100644 (file)
index 77d9262..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix :exc:`struct.error` exception when creating a file with
-:class:`gzip.GzipFile` or compressing data with :func:`gzip.compress`
-if the system time is outside the range 00:00:00 UTC, January 1, 1970
-through 06:28:15 UTC, February 7, 2106, or explicitly passed *mtime*
-argument is outside the range ``0`` to ``2**32-1``.
diff --git a/Misc/NEWS.d/next/Library/2025-05-19-21-08-25.gh-issue-134261.ravGYm.rst b/Misc/NEWS.d/next/Library/2025-05-19-21-08-25.gh-issue-134261.ravGYm.rst
deleted file mode 100644 (file)
index bf552fe..0000000
+++ /dev/null
@@ -1 +0,0 @@
-zip: On reproducible builds, ZipFile uses UTC instead of the local time when writing file datetimes to avoid underflows.
diff --git a/Misc/NEWS.d/next/Library/2025-08-30-07-44-30.gh-issue-86533.pathlib.rst b/Misc/NEWS.d/next/Library/2025-08-30-07-44-30.gh-issue-86533.pathlib.rst
deleted file mode 100644 (file)
index 9c32671..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-The :func:`os.makedirs` function and :meth:`pathlib.Path.mkdir` method now have
-a *parent_mode* parameter to specify the mode for intermediate directories when
-creating parent directories. This allows one to match the behavior from Python
-3.6 and earlier for :func:`os.makedirs`.
diff --git a/Misc/NEWS.d/next/Library/2026-03-26-09-30-00.gh-issue-146452.Y2N6qZ8J.rst b/Misc/NEWS.d/next/Library/2026-03-26-09-30-00.gh-issue-146452.Y2N6qZ8J.rst
deleted file mode 100644 (file)
index 99f3cce..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix segfault in :mod:`pickle` when pickling a dictionary concurrently
-mutated by another thread in the free-threaded build.
diff --git a/Misc/NEWS.d/next/Library/2026-04-23-12-50-15.gh-issue-148441.zvpCkR.rst b/Misc/NEWS.d/next/Library/2026-04-23-12-50-15.gh-issue-148441.zvpCkR.rst
deleted file mode 100644 (file)
index 7628152..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-:mod:`xml.parsers.expat`: prevent a crash in
-:meth:`~xml.parsers.expat.xmlparser.CharacterDataHandler`
-when the character data size exceeds the parser's
-:attr:`buffer size <xml.parsers.expat.xmlparser.buffer_size>`.
diff --git a/Misc/NEWS.d/next/Library/2026-04-27-11-12-00.gh-issue-149046.74shDd.rst b/Misc/NEWS.d/next/Library/2026-04-27-11-12-00.gh-issue-149046.74shDd.rst
deleted file mode 100644 (file)
index b05c422..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-:mod:`io`: Fix :class:`io.StringIO` serialization: no longer call ``str(obj)`` on :class:`str`
-subclasses. Patch by Thomas Kowalski.
diff --git a/Misc/NEWS.d/next/Library/2026-04-29-08-10-17.gh-issue-149056.jnaD4W.rst b/Misc/NEWS.d/next/Library/2026-04-29-08-10-17.gh-issue-149056.jnaD4W.rst
deleted file mode 100644 (file)
index 0026d02..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix :func:`json.load` not forwarding the *array_hook* argument to
-:func:`json.loads`. Patch by Thomas Kowalski.
diff --git a/Misc/NEWS.d/next/Library/2026-05-07-14-18-47.gh-issue-149489.bX9iHe.rst b/Misc/NEWS.d/next/Library/2026-05-07-14-18-47.gh-issue-149489.bX9iHe.rst
deleted file mode 100644 (file)
index 1550c89..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix :mod:`~xml.etree.ElementTree` serialization to HTML. The content of
-comments, processing instructions and elements "xmp", "iframe", "noembed",
-"noframes", and "plaintext" is no longer escaped. The "plaintext" element no
-longer have the closing tag. Add support of empty attributes (with value
-``None``).
diff --git a/Misc/NEWS.d/next/Library/2026-05-07-21-58-17.gh-issue-149388.DDBPeA.rst b/Misc/NEWS.d/next/Library/2026-05-07-21-58-17.gh-issue-149388.DDBPeA.rst
deleted file mode 100644 (file)
index 4a1c6f3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Make :class:`!asyncio.windows_utils.PipeHandle` closing idempotent.
diff --git a/Misc/NEWS.d/next/Library/2026-05-08-09-11-48.gh-issue-149534.Tw7eeY.rst b/Misc/NEWS.d/next/Library/2026-05-08-09-11-48.gh-issue-149534.Tw7eeY.rst
deleted file mode 100644 (file)
index 0938935..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fix merging of :class:`collections.defaultdict` and :class:`frozendict`.
diff --git a/Misc/NEWS.d/next/Library/2026-05-08-15-08-35.gh-issue-112821.t9T1YD.rst b/Misc/NEWS.d/next/Library/2026-05-08-15-08-35.gh-issue-112821.t9T1YD.rst
deleted file mode 100644 (file)
index cfbcde8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-In the REPL, autocompletion might run arbitrary code in the getter of a
-descriptor. If that getter raised an exception, autocompletion would fail to
-present any options for the entire object.  Autocompletion now works as
-expected for these objects.
diff --git a/Misc/NEWS.d/next/Library/2026-05-09-21-02-08.gh-issue-149614.U4snj3.rst b/Misc/NEWS.d/next/Library/2026-05-09-21-02-08.gh-issue-149614.U4snj3.rst
deleted file mode 100644 (file)
index 5169c6c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fix a regression that broke the ability to deepcopy :class:`argparse.ArgumentParser` instances.
diff --git a/Misc/NEWS.d/next/Library/2026-05-10-07-21-51.gh-issue-139489.rS7LTA.rst b/Misc/NEWS.d/next/Library/2026-05-10-07-21-51.gh-issue-139489.rS7LTA.rst
deleted file mode 100644 (file)
index 40fe7e9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Add :func:`xml.is_valid_text` to ``xml.__all__``.
diff --git a/Misc/NEWS.d/next/Library/2026-05-10-19-26-50.gh-issue-149584.x7Qm9A.rst b/Misc/NEWS.d/next/Library/2026-05-10-19-26-50.gh-issue-149584.x7Qm9A.rst
deleted file mode 100644 (file)
index 6734250..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix excessive overhead in the Tachyon profiler when inspecting a remote
-process by avoiding repeated remote page-cache scans, batching predicted
-remote reads, and reusing cached profiler result objects. Patch by Pablo
-Galindo and Maurycy Pawłowski-Wieroński.
diff --git a/Misc/NEWS.d/next/Library/2026-05-10-23-51-23.gh-issue-149504.pDSCbn.rst b/Misc/NEWS.d/next/Library/2026-05-10-23-51-23.gh-issue-149504.pDSCbn.rst
deleted file mode 100644 (file)
index 88bf268..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix :func:`site.addsitedir` to allow re-entrant calls from within startup
-files.  Previously, a ``.pth`` file containing an ``import`` line that
-called :func:`site.addsitedir` (or a ``.start`` entry point doing the same)
-could crash with ``RuntimeError: dictionary changed size during iteration``
-during site initialization, breaking tools such as ``uv run --with``.
diff --git a/Misc/NEWS.d/next/Library/2026-05-12-06-24-54.gh-issue-149701.8v9RTm.rst b/Misc/NEWS.d/next/Library/2026-05-12-06-24-54.gh-issue-149701.8v9RTm.rst
deleted file mode 100644 (file)
index 676d788..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fix bad return code from Lib/venv/bin/activate if hashing is disabled
diff --git a/Misc/NEWS.d/next/Library/2026-05-12-13-03-45.gh-issue-149718.SaM1NJ.rst b/Misc/NEWS.d/next/Library/2026-05-12-13-03-45.gh-issue-149718.SaM1NJ.rst
deleted file mode 100644 (file)
index 25344e5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Coalesce consecutive identical stack frames in Tachyon, so aggregating
-collectors (pstats, collapsed, flamegraph, gecko) receive one collect.
-Improves sample rate 3x, error rate and missed rate drop by 70%. Patch by
-Maurycy Pawłowski-Wieroński.
diff --git a/Misc/NEWS.d/next/Library/2026-05-13-23-18-39.gh-issue-149801.S_FfGr.rst b/Misc/NEWS.d/next/Library/2026-05-13-23-18-39.gh-issue-149801.S_FfGr.rst
deleted file mode 100644 (file)
index f9e8538..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Add IANA registered names and aliases with leading zeros before number (like
-IBM00858, CP00858, IBM01140, CP01140) for corresponding codecs.
diff --git a/Misc/NEWS.d/next/Library/2026-05-14-15-55-28.gh-issue-149816.ZaXQ0q.rst b/Misc/NEWS.d/next/Library/2026-05-14-15-55-28.gh-issue-149816.ZaXQ0q.rst
deleted file mode 100644 (file)
index 3ea7007..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a race condition in ``_random.Random.__init__`` method in free-threading
-mode.
diff --git a/Misc/NEWS.d/next/Library/2026-05-15-16-28-00.gh-issue-149819.fixpth.rst b/Misc/NEWS.d/next/Library/2026-05-15-16-28-00.gh-issue-149819.fixpth.rst
deleted file mode 100644 (file)
index 66e6da0..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Fix regression in :func:`site.addsitedir` where ``.pth`` files were no
-longer processed in Python subprocesses. This happened because
-:func:`site.main` seeded ``known_paths`` with entries inherited from
-the parent process, causing ``addsitedir`` to skip ``.pth`` processing.
diff --git a/Misc/NEWS.d/next/Library/2026-05-15-18-44-20.gh-issue-142349.fHK3v1.rst b/Misc/NEWS.d/next/Library/2026-05-15-18-44-20.gh-issue-142349.fHK3v1.rst
deleted file mode 100644 (file)
index fa667c4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Add :keyword:`lazy` to the list of support topic by :func:`help`.
diff --git a/Misc/NEWS.d/next/Library/2026-05-16-21-08-33.gh-issue-149921.I1yNML.rst b/Misc/NEWS.d/next/Library/2026-05-16-21-08-33.gh-issue-149921.I1yNML.rst
deleted file mode 100644 (file)
index 113bd1a..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix reference leaks in error paths of the :mod:`!_interpchannels` and
-:mod:`!_interpqueues` extension modules.
diff --git a/Misc/NEWS.d/next/Library/2026-05-17-02-25-56.gh-issue-149571.LNyuWJ.rst b/Misc/NEWS.d/next/Library/2026-05-17-02-25-56.gh-issue-149571.LNyuWJ.rst
deleted file mode 100644 (file)
index 2b71d9c..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix the C implementation of :meth:`xml.etree.ElementTree.Element.itertext`:
-it no longer emits text for comments and processing instructions.
diff --git a/Misc/NEWS.d/next/Library/2026-05-17-22-37-02.gh-issue-88726.BAoL6j.rst b/Misc/NEWS.d/next/Library/2026-05-17-22-37-02.gh-issue-88726.BAoL6j.rst
deleted file mode 100644 (file)
index ba9058d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-The :mod:`email` package now uses standard MIME charset names "gb2312" and
-"big5" instead of non-standard names "eucgb2312_cn" and "big5_tw".
diff --git a/Misc/NEWS.d/next/Library/2026-05-18-07-44-46.gh-issue-149995.vvtFHn.rst b/Misc/NEWS.d/next/Library/2026-05-18-07-44-46.gh-issue-149995.vvtFHn.rst
deleted file mode 100644 (file)
index a8e412b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Update various docstrings in :mod:`typing`.
diff --git a/Misc/NEWS.d/next/Library/2026-05-18-17-17-20.gh-issue-149189.a8IooK.rst b/Misc/NEWS.d/next/Library/2026-05-18-17-17-20.gh-issue-149189.a8IooK.rst
deleted file mode 100644 (file)
index bad027f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Revert the changes to :mod:`pprint` defaults. Patch by Hugo van Kemenade.
diff --git a/Misc/NEWS.d/next/Library/2026-05-19-19-00-49.gh-issue-84353.ZU5zaQ.rst b/Misc/NEWS.d/next/Library/2026-05-19-19-00-49.gh-issue-84353.ZU5zaQ.rst
deleted file mode 100644 (file)
index 84fb12e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Preserve non-UTF-8 encoded filenames when appending to a
-:class:`zipfile.ZipFile`.  Previously, non-ASCII names stored in a legacy
-encoding (without the UTF-8 flag bit set) could be corrupted when the
-central directory was rewritten: they were decoded as cp437 and then
-re-stored as UTF-8.
diff --git a/Misc/NEWS.d/next/Library/2026-05-21-11-25-58.gh-issue-150175.8H4Caz.rst b/Misc/NEWS.d/next/Library/2026-05-21-11-25-58.gh-issue-150175.8H4Caz.rst
deleted file mode 100644 (file)
index 80fc80d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix race condition in :class:`unittest.mock.ThreadingMock` where
-concurrent calls could lose increments to ``call_count`` and other
-attributes due to a missing lock in ``_increment_mock_call``.
diff --git a/Misc/NEWS.d/next/Library/2026-05-21-20-47-45.gh-issue-150157.ZvmO-bQZ.rst b/Misc/NEWS.d/next/Library/2026-05-21-20-47-45.gh-issue-150157.ZvmO-bQZ.rst
deleted file mode 100644 (file)
index 3a12e26..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a crash in free-threaded builds that occurs when pickling by name
-objects without a ``__module__`` attribute while :data:`sys.modules`
-is concurrently being modified.
diff --git a/Misc/NEWS.d/next/Library/2026-05-25-07-22-05.gh-issue-150372.9hLqhe.rst b/Misc/NEWS.d/next/Library/2026-05-25-07-22-05.gh-issue-150372.9hLqhe.rst
deleted file mode 100644 (file)
index 7b83bd8..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-:mod:`readline`: Fix a potential crash during tab completion caused by an
-out-of-memory error during module initialization.
diff --git a/Misc/NEWS.d/next/Library/2026-05-25-17-00-00.gh-issue-150406.jF3g63.rst b/Misc/NEWS.d/next/Library/2026-05-25-17-00-00.gh-issue-150406.jF3g63.rst
deleted file mode 100644 (file)
index 230e961..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix a possible crash occurring during :mod:`socket` module initialization
-when the system is out of memory on platforms without a reentrant
-``gethostbyname``.
diff --git a/Misc/NEWS.d/next/Library/2026-05-27-11-18-36.gh-issue-150228.pNPiO-.rst b/Misc/NEWS.d/next/Library/2026-05-27-11-18-36.gh-issue-150228.pNPiO-.rst
deleted file mode 100644 (file)
index 8c03989..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-The new :class:`site.StartupState` class lets callers batch-process
-:pep:`829` startup configuration files across multiple site directories
-before any startup code runs, with public
-:meth:`~site.StartupState.addsitedir`,
-:meth:`~site.StartupState.addusersitepackages`,
-:meth:`~site.StartupState.addsitepackages`, and
-:meth:`~site.StartupState.process` methods.  The signature of
-:func:`site.addsitedir` is unchanged from Python 3.14.  The
-:data:`!defer_processing_start_files` argument and the
-``process_startup_files()`` function added earlier in the 3.15 cycle have
-been removed; use :class:`!site.StartupState` instead.
diff --git a/Misc/NEWS.d/next/Library/2026-05-31-17-47-30.gh-issue-150685.EBB2mU.rst b/Misc/NEWS.d/next/Library/2026-05-31-17-47-30.gh-issue-150685.EBB2mU.rst
deleted file mode 100644 (file)
index eb7f311..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Update bundled pip to 26.1.2
diff --git a/Misc/NEWS.d/next/Security/2026-04-26-19-30-45.gh-issue-149018.a9SqWb.rst b/Misc/NEWS.d/next/Security/2026-04-26-19-30-45.gh-issue-149018.a9SqWb.rst
deleted file mode 100644 (file)
index d1b5b36..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Improved protection against XML hash-flooding attacks in
-:mod:`xml.parsers.expat` and :mod:`xml.etree.ElementTree` when Python is
-compiled with libExpat 2.8.0 or later.
diff --git a/Misc/NEWS.d/next/Security/2026-04-27-16-36-11.gh-issue-149079.vKl-LM.rst b/Misc/NEWS.d/next/Security/2026-04-27-16-36-11.gh-issue-149079.vKl-LM.rst
deleted file mode 100644 (file)
index 4ed22b5..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix a potential denial of service in :func:`unicodedata.normalize`. The
-canonical ordering step of Unicode normalization used a quadratic-time insertion
-sort for reordering combining characters, which could be exploited with
-crafted input containing many combining characters in non-canonical order.
-Replaced with a linear-time counting sort for long runs.
diff --git a/Misc/NEWS.d/next/Security/2026-05-03-21-00-00.gh-issue-149486.tarflt.rst b/Misc/NEWS.d/next/Security/2026-05-03-21-00-00.gh-issue-149486.tarflt.rst
deleted file mode 100644 (file)
index 7c69edb..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-:func:`tarfile.data_filter` now validates link targets using the same
-normalised value that is written to disk, strips trailing separators from
-the member name when resolving a symlink's directory, and rejects link
-members that would replace the destination directory itself. This closes
-several path-traversal bypasses of the ``data`` extraction filter.
diff --git a/Misc/NEWS.d/next/Security/2026-05-08-02-18-54.gh-issue-149474.ujQ-mu.rst b/Misc/NEWS.d/next/Security/2026-05-08-02-18-54.gh-issue-149474.ujQ-mu.rst
deleted file mode 100644 (file)
index 48e718b..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix the binary writer in :mod:`profiling.sampling` not firing the audit
-(:pep:`578`) when creating the output file. The writer and the reader now
-accept any path-like object. Patch by Maurycy Pawłowski-Wieroński.
diff --git a/Misc/NEWS.d/next/Security/2026-05-10-18-05-32.gh-issue-87451.XkKB6M.rst b/Misc/NEWS.d/next/Security/2026-05-10-18-05-32.gh-issue-87451.XkKB6M.rst
deleted file mode 100644 (file)
index 21a79c3..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-The :mod:`ftplib` module's undocumented ``ftpcp`` function no longer trusts
-the IPv4 address value returned from the source server in response to the
-``PASV`` command by default, completing the fix for CVE-2021-4189.  As with
-:class:`ftplib.FTP`, the former behavior can be re-enabled by setting the
-``trust_server_pasv_ipv4_address`` attribute on the source :class:`ftplib.FTP`
-instance to ``True``.  Thanks to Qi Deng at Aurascape AI for the report.
diff --git a/Misc/NEWS.d/next/Security/2026-05-11-21-15-07.gh-issue-149698.OudOcW.rst b/Misc/NEWS.d/next/Security/2026-05-11-21-15-07.gh-issue-149698.OudOcW.rst
deleted file mode 100644 (file)
index 3c8671b..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Update bundled `libexpat <https://libexpat.github.io/>`_ to version 2.8.1
-for the fix for :cve:`2026-45186`.
diff --git a/Misc/NEWS.d/next/Tests/2026-05-13-14-53-23.gh-issue-149776.orqgsn.rst b/Misc/NEWS.d/next/Tests/2026-05-13-14-53-23.gh-issue-149776.orqgsn.rst
deleted file mode 100644 (file)
index e86a913..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix test_socket on Linux kernel 7.1 and newer: skip UDP Lite tests if it's
-not supported. Patch by Victor Stinner.
diff --git a/Misc/NEWS.d/next/Tests/2026-05-25-15-39-53.gh-issue-150387.yzZ7jq.rst b/Misc/NEWS.d/next/Tests/2026-05-25-15-39-53.gh-issue-150387.yzZ7jq.rst
deleted file mode 100644 (file)
index 663a357..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-Fix hang in
-``test.test_profiling.test_sampling_profiler.test_live_collector_ui.TestLiveModeErrors.test_run_failed_script_live``
-on slow buildbots. The test now always queues a final ``q`` keystroke so the
-live TUI loop exits even when the profiler collects enough samples to enter
-the post-finished input loop.
diff --git a/Misc/NEWS.d/next/Tools-Demos/2026-05-22-18-51-09.gh-issue-150258.dh8GVK.rst b/Misc/NEWS.d/next/Tools-Demos/2026-05-22-18-51-09.gh-issue-150258.dh8GVK.rst
deleted file mode 100644 (file)
index 02cad6c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Update the tooltip on the Tachyon flame graph to show both absolute and relative percentages.
diff --git a/Misc/NEWS.d/next/Windows/2026-04-26-23-14-45.gh-issue-149029.oPTXP4.rst b/Misc/NEWS.d/next/Windows/2026-04-26-23-14-45.gh-issue-149029.oPTXP4.rst
deleted file mode 100644 (file)
index 6c4c640..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Update Windows installer to ship with SQLite 3.53.1.
diff --git a/Misc/NEWS.d/next/Windows/2026-04-29-14-44-51.gh-issue-138489.234aj6.rst b/Misc/NEWS.d/next/Windows/2026-04-29-14-44-51.gh-issue-138489.234aj6.rst
deleted file mode 100644 (file)
index 4afb8f7..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Windows distributions now include a :file:`build-details.json` file (see
-:pep:`739`). The legacy installer does not install it, but all other
-distributions from python.org and all preset configurations in the
-``PC\layout`` script will include one.
diff --git a/Misc/NEWS.d/next/Windows/2026-05-06-21-36-53.gh-issue-124111.m4OBX8.rst b/Misc/NEWS.d/next/Windows/2026-05-06-21-36-53.gh-issue-124111.m4OBX8.rst
deleted file mode 100644 (file)
index 9a57536..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Updated Windows builds to use Tcl/Tk 9.0.3.
diff --git a/Misc/NEWS.d/next/Windows/2026-05-14-22-09-46.gh-issue-149786.UI-HZM.rst b/Misc/NEWS.d/next/Windows/2026-05-14-22-09-46.gh-issue-149786.UI-HZM.rst
deleted file mode 100644 (file)
index 64ca91a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Fixes virtual environment launchers on Windows free-threaded builds.
diff --git a/Misc/NEWS.d/next/macOS/2026-04-26-23-15-09.gh-issue-149029.Lsx--T.rst b/Misc/NEWS.d/next/macOS/2026-04-26-23-15-09.gh-issue-149029.Lsx--T.rst
deleted file mode 100644 (file)
index 157a70f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Update macOS installer to ship with SQLite version 3.53.1.
diff --git a/Misc/NEWS.d/next/macOS/2026-05-31-10-40-00.gh-issue-150644.zLWyjj.rst b/Misc/NEWS.d/next/macOS/2026-05-31-10-40-00.gh-issue-150644.zLWyjj.rst
deleted file mode 100644 (file)
index 7452a7c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-When system logging is enabled (with ``config.use_system_logger``, messages
-are now tagged as public. This allows the macOS 26 system logger to view
-messages without special configuration.
index e9dd44382972d5978ff09607cd7c374733a02dfd..ac84a8a7d054bda3105862b45b9c12b158c8255e 100644 (file)
@@ -1,4 +1,4 @@
-This is Python version 3.15.0 beta 1
+This is Python version 3.15.0 beta 2
 ====================================
 
 .. image:: https://github.com/python/cpython/actions/workflows/build.yml/badge.svg?branch=main&event=push