diff --git a/Doc/c-api/bytearray.rst b/Doc/c-api/bytearray.rst index 15295096a710c8..e2b22ec3c794ae 100644 --- a/Doc/c-api/bytearray.rst +++ b/Doc/c-api/bytearray.rst @@ -76,7 +76,7 @@ Direct API functions Resize the internal buffer of *bytearray* to *len*. Failure is a ``-1`` return with an exception set. - .. versionchanged:: next + .. versionchanged:: 3.14 A negative *len* will now result in an exception being set and -1 returned. diff --git a/Doc/c-api/object.rst b/Doc/c-api/object.rst index 1ba5942c63601d..bef3a79ccd0e21 100644 --- a/Doc/c-api/object.rst +++ b/Doc/c-api/object.rst @@ -623,7 +623,7 @@ Object Protocol Objects that are immortal in one CPython version are not guaranteed to be immortal in another. - .. versionadded:: next + .. versionadded:: 3.14 .. c:function:: int PyUnstable_TryIncRef(PyObject *obj) diff --git a/Doc/library/asyncio-graph.rst b/Doc/library/asyncio-graph.rst index 814bfe6e269bf9..5f642a32bf75c2 100644 --- a/Doc/library/asyncio-graph.rst +++ b/Doc/library/asyncio-graph.rst @@ -17,7 +17,7 @@ a suspended *future*. These utilities and the underlying machinery can be used from within a Python program or by external profilers and debuggers. -.. versionadded:: next +.. versionadded:: 3.14 .. function:: print_call_graph(future=None, /, *, file=None, depth=1, limit=None) diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst index cb02fd33a6e741..0d9cc96ebc5e15 100644 --- a/Doc/library/ctypes.rst +++ b/Doc/library/ctypes.rst @@ -2117,7 +2117,7 @@ Utility functions executable file. It may be an empty string. .. availability:: Windows, macOS, iOS, glibc, BSD libc, musl - .. versionadded:: next + .. versionadded:: 3.14 .. function:: FormatError([code]) diff --git a/Doc/library/imaplib.rst b/Doc/library/imaplib.rst index 2c5a1f1fbc1213..9f198aebcb66b0 100644 --- a/Doc/library/imaplib.rst +++ b/Doc/library/imaplib.rst @@ -392,7 +392,7 @@ An :class:`IMAP4` instance has the following methods: iteration, and public method to remain stable, but should not subclass, instantiate, compare, or otherwise directly reference the class. - .. versionadded:: next + .. versionadded:: 3.14 .. method:: IMAP4.list([directory[, pattern]]) diff --git a/Doc/library/inspect.rst b/Doc/library/inspect.rst index 544efed1a76b96..e8d1176f477866 100644 --- a/Doc/library/inspect.rst +++ b/Doc/library/inspect.rst @@ -316,7 +316,7 @@ attributes (see :ref:`import-mod-attrs` for module attributes): Add ``__builtins__`` attribute to functions. -.. versionchanged:: next +.. versionchanged:: 3.14 Add ``f_generator`` attribute to frames. diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 7d3596622862ea..8dd944d72d5c13 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -1683,7 +1683,7 @@ or `the MSDN `_ on Windo :meth:`io.BufferedIOBase.readinto`, :meth:`io.BufferedIOBase.read`, or :meth:`io.TextIOBase.read` - .. versionadded:: next + .. versionadded:: 3.14 .. function:: sendfile(out_fd, in_fd, offset, count) diff --git a/Doc/library/shutil.rst b/Doc/library/shutil.rst index 06800c4588b663..1819f708890c09 100644 --- a/Doc/library/shutil.rst +++ b/Doc/library/shutil.rst @@ -529,7 +529,7 @@ file then shutil will silently fallback on using less efficient .. versionchanged:: 3.14 Solaris now uses :func:`os.sendfile`. -.. versionchanged:: next +.. versionchanged:: 3.14 Copy-on-write or server-side copy may be used internally via :func:`os.copy_file_range` on supported Linux filesystems. diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index 4a15e27f82a160..0985edf8d0f720 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -2871,7 +2871,7 @@ objects. >>> (grow, len(grow)) (bytearray(b'abc\x00\x00'), 5) - .. versionadded:: next + .. versionadded:: 3.14 Since bytearray objects are sequences of integers (akin to a list), for a bytearray object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index 855237e0984972..eaa8aa711db173 100644 --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -1280,7 +1280,7 @@ always available. Unless explicitly noted otherwise, all variables are read-only to this function) are not guaranteed to be immortal in future versions, and vice versa for mortal objects. - .. versionadded:: next + .. versionadded:: 3.14 .. impl-detail:: diff --git a/Doc/library/turtle.rst b/Doc/library/turtle.rst index 98dfa0f53bc6a5..0bff970fa77dae 100644 --- a/Doc/library/turtle.rst +++ b/Doc/library/turtle.rst @@ -1325,7 +1325,7 @@ Filling >>> turtle.circle(80) >>> turtle.end_fill() - .. versionadded:: next + .. versionadded:: 3.14 .. function:: begin_fill() @@ -1713,7 +1713,7 @@ Special Turtle methods ... turtle.right(60) ... turtle.forward(100) - .. versionadded:: next + .. versionadded:: 3.14 .. function:: begin_poly() @@ -2008,7 +2008,7 @@ Animation control ... fd(dist) ... rt(90) - .. versionadded:: next + .. versionadded:: 3.14 .. function:: delay(delay=None) diff --git a/Doc/library/uuid.rst b/Doc/library/uuid.rst index 09b4d4ac4ffd56..bff6b9dcdc57ca 100644 --- a/Doc/library/uuid.rst +++ b/Doc/library/uuid.rst @@ -297,7 +297,7 @@ The :mod:`uuid` module defines the special Nil and Max UUID values: A special form of UUID that is specified to have all 128 bits set to zero according to :rfc:`RFC 9562, §5.9 <9562#section-5.9>`. - .. versionadded:: next + .. versionadded:: 3.14 .. data:: MAX @@ -305,7 +305,7 @@ The :mod:`uuid` module defines the special Nil and Max UUID values: A special form of UUID that is specified to have all 128 bits set to one according to :rfc:`RFC 9562, §5.10 <9562#section-5.10>`. - .. versionadded:: next + .. versionadded:: 3.14 .. seealso:: diff --git a/Doc/using/configure.rst b/Doc/using/configure.rst index 101c43576b0314..72912cea2f0c28 100644 --- a/Doc/using/configure.rst +++ b/Doc/using/configure.rst @@ -626,7 +626,7 @@ also be used to improve performance. `preserve_none `_ calling convention. For example, Clang 19 and newer supports this feature. - .. versionadded:: next + .. versionadded:: 3.14 .. option:: --without-mimalloc diff --git a/Include/patchlevel.h b/Include/patchlevel.h index 40e7d73b7a6634..74b630a762f257 100644 --- a/Include/patchlevel.h +++ b/Include/patchlevel.h @@ -21,10 +21,10 @@ #define PY_MINOR_VERSION 14 #define PY_MICRO_VERSION 0 #define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA -#define PY_RELEASE_SERIAL 4 +#define PY_RELEASE_SERIAL 5 /* Version as a string */ -#define PY_VERSION "3.14.0a4+" +#define PY_VERSION "3.14.0a5" /*--end constants--*/ diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py index 3e8c7ce321edc2..d58f10c120afa6 100644 --- a/Lib/pydoc_data/topics.py +++ b/Lib/pydoc_data/topics.py @@ -1,4 +1,4 @@ -# Autogenerated by Sphinx on Tue Jan 21 03:33:33 2025 +# Autogenerated by Sphinx on Tue Feb 11 19:16:18 2025 # as part of the release process. topics = { @@ -8,7 +8,7 @@ Assert statements are a convenient way to insert debugging assertions into a program: - assert_stmt ::= "assert" expression ["," expression] + **assert_stmt**: "assert" "expression" ["," "expression"] The simple form, "assert expression", is equivalent to @@ -39,15 +39,15 @@ Assignment statements are used to (re)bind names to values and to modify attributes or items of mutable objects: - assignment_stmt ::= (target_list "=")+ (starred_expression | yield_expression) - target_list ::= target ("," target)* [","] - target ::= identifier - | "(" [target_list] ")" - | "[" [target_list] "]" - | attributeref - | subscription - | slicing - | "*" target + **assignment_stmt**: ("target_list" "=")+ ("starred_expression" | "yield_expression") + **target_list**: "target" ("," "target")* [","] + **target**: "identifier" + | "(" ["target_list"] ")" + | "[" ["target_list"] "]" + | "attributeref" + | "subscription" + | "slicing" + | "*" "target" (See section Primaries for the syntax definitions for *attributeref*, *subscription*, and *slicing*.) @@ -195,10 +195,10 @@ class Cls: Augmented assignment is the combination, in a single statement, of a binary operation and an assignment statement: - augmented_assignment_stmt ::= augtarget augop (expression_list | yield_expression) - augtarget ::= identifier | attributeref | subscription | slicing - augop ::= "+=" | "-=" | "*=" | "@=" | "/=" | "//=" | "%=" | "**=" - | ">>=" | "<<=" | "&=" | "^=" | "|=" + **augmented_assignment_stmt**: "augtarget" "augop" ("expression_list" | "yield_expression") + **augtarget**: "identifier" | "attributeref" | "subscription" | "slicing" + **augop**: "+=" | "-=" | "*=" | "@=" | "/=" | "//=" | "%=" | "**=" + | ">>=" | "<<=" | "&=" | "^=" | "|=" (See section Primaries for the syntax definitions of the last three symbols.) @@ -239,8 +239,8 @@ class and instance attributes applies as for regular assignments. a variable or attribute annotation and an optional assignment statement: - annotated_assignment_stmt ::= augtarget ":" expression - ["=" (starred_expression | yield_expression)] + **annotated_assignment_stmt**: "augtarget" ":" "expression" + ["=" ("starred_expression" | "yield_expression")] The difference from normal Assignment statements is that only a single target is allowed. @@ -289,7 +289,7 @@ class and instance attributes applies as for regular assignments. 'assignment-expressions': r'''Assignment expressions ********************** - assignment_expression ::= [identifier ":="] expression + **assignment_expression**: ["identifier" ":="] "expression" An assignment expression (sometimes also called a “named expression” or “walrus”) assigns an "expression" to an "identifier", while also @@ -324,8 +324,8 @@ class and instance attributes applies as for regular assignments. Coroutine function definition ============================= - async_funcdef ::= [decorators] "async" "def" funcname "(" [parameter_list] ")" - ["->" expression] ":" suite + **async_funcdef**: ["decorators"] "async" "def" "funcname" "(" ["parameter_list"] ")" + ["->" "expression"] ":" "suite" Execution of Python coroutines can be suspended and resumed at many points (see *coroutine*). "await" expressions, "async for" and "async @@ -351,7 +351,7 @@ async def func(param1, param2): The "async for" statement ========================= - async_for_stmt ::= "async" for_stmt + **async_for_stmt**: "async" "for_stmt" An *asynchronous iterable* provides an "__aiter__" method that directly returns an *asynchronous iterator*, which can call @@ -392,7 +392,7 @@ async def func(param1, param2): The "async with" statement ========================== - async_with_stmt ::= "async" with_stmt + **async_with_stmt**: "async" "with_stmt" An *asynchronous context manager* is a *context manager* that is able to suspend execution in its *enter* and *exit* methods. @@ -492,8 +492,8 @@ async def func(param1, param2): Python supports string and bytes literals and various numeric literals: - literal ::= stringliteral | bytesliteral - | integer | floatnumber | imagnumber + **literal**: "stringliteral" | "bytesliteral" + | "integer" | "floatnumber" | "imagnumber" Evaluation of a literal yields an object of the given type (string, bytes, integer, floating-point number, complex number) with the given @@ -842,7 +842,7 @@ class derived from a ""variable-length" built-in type" such as An attribute reference is a primary followed by a period and a name: - attributeref ::= primary "." identifier + **attributeref**: "primary" "." "identifier" The primary must evaluate to an object of a type that supports attribute references, which most objects do. This object is then @@ -864,10 +864,10 @@ class derived from a ""variable-length" built-in type" such as Augmented assignment is the combination, in a single statement, of a binary operation and an assignment statement: - augmented_assignment_stmt ::= augtarget augop (expression_list | yield_expression) - augtarget ::= identifier | attributeref | subscription | slicing - augop ::= "+=" | "-=" | "*=" | "@=" | "/=" | "//=" | "%=" | "**=" - | ">>=" | "<<=" | "&=" | "^=" | "|=" + **augmented_assignment_stmt**: "augtarget" "augop" ("expression_list" | "yield_expression") + **augtarget**: "identifier" | "attributeref" | "subscription" | "slicing" + **augop**: "+=" | "-=" | "*=" | "@=" | "/=" | "//=" | "%=" | "**=" + | ">>=" | "<<=" | "&=" | "^=" | "|=" (See section Primaries for the syntax definitions of the last three symbols.) @@ -906,7 +906,7 @@ class and instance attributes applies as for regular assignments. Suspend the execution of *coroutine* on an *awaitable* object. Can only be used inside a *coroutine function*. - await_expr ::= "await" primary + **await_expr**: "await" "primary" Added in version 3.5. ''', @@ -919,10 +919,10 @@ class and instance attributes applies as for regular assignments. levels, one for multiplicative operators and one for additive operators: - m_expr ::= u_expr | m_expr "*" u_expr | m_expr "@" m_expr | - m_expr "//" u_expr | m_expr "/" u_expr | - m_expr "%" u_expr - a_expr ::= m_expr | a_expr "+" m_expr | a_expr "-" m_expr + **m_expr**: "u_expr" | "m_expr" "*" "u_expr" | "m_expr" "@" "m_expr" | + "m_expr" "//" "u_expr" | "m_expr" "/" "u_expr" | + "m_expr" "%" "u_expr" + **a_expr**: "m_expr" | "a_expr" "+" "m_expr" | "a_expr" "-" "m_expr" The "*" (multiplication) operator yields the product of its arguments. The arguments must either both be numbers, or one argument must be an @@ -1010,9 +1010,9 @@ class and instance attributes applies as for regular assignments. Each of the three bitwise operations has a different priority level: - and_expr ::= shift_expr | and_expr "&" shift_expr - xor_expr ::= and_expr | xor_expr "^" and_expr - or_expr ::= xor_expr | or_expr "|" xor_expr + **and_expr**: "shift_expr" | "and_expr" "&" "shift_expr" + **xor_expr**: "and_expr" | "xor_expr" "^" "and_expr" + **or_expr**: "xor_expr" | "or_expr" "|" "xor_expr" The "&" operator yields the bitwise AND of its arguments, which must be integers or one of them must be a custom object overriding @@ -1077,9 +1077,9 @@ class and instance attributes applies as for regular assignments. 'booleans': r'''Boolean operations ****************** - or_test ::= and_test | or_test "or" and_test - and_test ::= not_test | and_test "and" not_test - not_test ::= comparison | "not" not_test + **or_test**: "and_test" | "or_test" "or" "and_test" + **and_test**: "not_test" | "and_test" "and" "not_test" + **not_test**: "comparison" | "not" "not_test" In the context of Boolean operations, and also when expressions are used by control flow statements, the following values are interpreted @@ -1111,7 +1111,7 @@ class and instance attributes applies as for regular assignments. 'break': r'''The "break" statement ********************* - break_stmt ::= "break" + **break_stmt**: "break" "break" may only occur syntactically nested in a "for" or "while" loop, but not nested in a function or class definition within that @@ -1143,18 +1143,18 @@ class and instance attributes applies as for regular assignments. A call calls a callable object (e.g., a *function*) with a possibly empty series of *arguments*: - call ::= primary "(" [argument_list [","] | comprehension] ")" - argument_list ::= positional_arguments ["," starred_and_keywords] - ["," keywords_arguments] - | starred_and_keywords ["," keywords_arguments] - | keywords_arguments - positional_arguments ::= positional_item ("," positional_item)* - positional_item ::= assignment_expression | "*" expression - starred_and_keywords ::= ("*" expression | keyword_item) - ("," "*" expression | "," keyword_item)* - keywords_arguments ::= (keyword_item | "**" expression) - ("," keyword_item | "," "**" expression)* - keyword_item ::= identifier "=" expression + **call**: "primary" "(" ["argument_list" [","] | "comprehension"] ")" + **argument_list**: "positional_arguments" ["," "starred_and_keywords"] + ["," "keywords_arguments"] + | "starred_and_keywords" ["," "keywords_arguments"] + | "keywords_arguments" + **positional_arguments**: positional_item ("," positional_item)* + **positional_item**: "assignment_expression" | "*" "expression" + **starred_and_keywords**: ("*" "expression" | "keyword_item") + ("," "*" "expression" | "," "keyword_item")* + **keywords_arguments**: ("keyword_item" | "**" "expression") + ("," "keyword_item" | "," "**" "expression")* + **keyword_item**: "identifier" "=" "expression" An optional trailing comma may be present after the positional and keyword arguments but does not affect the semantics. @@ -1296,9 +1296,9 @@ class and instance attributes applies as for regular assignments. A class definition defines a class object (see section The standard type hierarchy): - classdef ::= [decorators] "class" classname [type_params] [inheritance] ":" suite - inheritance ::= "(" [argument_list] ")" - classname ::= identifier + **classdef**: ["decorators"] "class" "classname" ["type_params"] ["inheritance"] ":" "suite" + **inheritance**: "(" ["argument_list"] ")" + **classname**: "identifier" A class definition is an executable statement. The inheritance list usually gives a list of base classes (see Metaclasses for more @@ -1386,9 +1386,9 @@ class attributes; they are shared by instances. Instance attributes operation. Also unlike C, expressions like "a < b < c" have the interpretation that is conventional in mathematics: - comparison ::= or_expr (comp_operator or_expr)* - comp_operator ::= "<" | ">" | "==" | ">=" | "<=" | "!=" - | "is" ["not"] | ["not"] "in" + **comparison**: "or_expr" ("comp_operator" "or_expr")* + **comp_operator**: "<" | ">" | "==" | ">=" | "<=" | "!=" + | "is" ["not"] | ["not"] "in" Comparisons yield boolean values: "True" or "False". Custom *rich comparison methods* may return non-boolean values. In this case Python @@ -1656,20 +1656,20 @@ class attributes; they are shared by instances. Instance attributes Summarizing: - compound_stmt ::= if_stmt - | while_stmt - | for_stmt - | try_stmt - | with_stmt - | match_stmt - | funcdef - | classdef - | async_with_stmt - | async_for_stmt - | async_funcdef - suite ::= stmt_list NEWLINE | NEWLINE INDENT statement+ DEDENT - statement ::= stmt_list NEWLINE | compound_stmt - stmt_list ::= simple_stmt (";" simple_stmt)* [";"] + **compound_stmt**: "if_stmt" + | "while_stmt" + | "for_stmt" + | "try_stmt" + | "with_stmt" + | "match_stmt" + | "funcdef" + | "classdef" + | "async_with_stmt" + | "async_for_stmt" + | "async_funcdef" + **suite**: "stmt_list" NEWLINE | NEWLINE INDENT "statement"+ DEDENT + **statement**: "stmt_list" NEWLINE | "compound_stmt" + **stmt_list**: "simple_stmt" (";" "simple_stmt")* [";"] Note that statements always end in a "NEWLINE" possibly followed by a "DEDENT". Also note that optional continuation clauses always begin @@ -1686,9 +1686,9 @@ class attributes; they are shared by instances. Instance attributes The "if" statement is used for conditional execution: - if_stmt ::= "if" assignment_expression ":" suite - ("elif" assignment_expression ":" suite)* - ["else" ":" suite] + **if_stmt**: "if" "assignment_expression" ":" "suite" + ("elif" "assignment_expression" ":" "suite")* + ["else" ":" "suite"] It selects exactly one of the suites by evaluating the expressions one by one until one is found to be true (see section Boolean operations @@ -1704,8 +1704,8 @@ class attributes; they are shared by instances. Instance attributes The "while" statement is used for repeated execution as long as an expression is true: - while_stmt ::= "while" assignment_expression ":" suite - ["else" ":" suite] + **while_stmt**: "while" "assignment_expression" ":" "suite" + ["else" ":" "suite"] This repeatedly tests the expression and, if it is true, executes the first suite; if the expression is false (which may be the first time @@ -1724,8 +1724,8 @@ class attributes; they are shared by instances. Instance attributes The "for" statement is used to iterate over the elements of a sequence (such as a string, tuple or list) or other iterable object: - for_stmt ::= "for" target_list "in" starred_list ":" suite - ["else" ":" suite] + **for_stmt**: "for" "target_list" "in" "starred_list" ":" "suite" + ["else" ":" "suite"] The "starred_list" expression is evaluated once; it should yield an *iterable* object. An *iterator* is created for that iterable. The @@ -1768,17 +1768,17 @@ class attributes; they are shared by instances. Instance attributes The "try" statement specifies exception handlers and/or cleanup code for a group of statements: - try_stmt ::= try1_stmt | try2_stmt | try3_stmt - try1_stmt ::= "try" ":" suite - ("except" [expression ["as" identifier]] ":" suite)+ - ["else" ":" suite] - ["finally" ":" suite] - try2_stmt ::= "try" ":" suite - ("except" "*" expression ["as" identifier] ":" suite)+ - ["else" ":" suite] - ["finally" ":" suite] - try3_stmt ::= "try" ":" suite - "finally" ":" suite + **try_stmt**: "try1_stmt" | "try2_stmt" | "try3_stmt" + **try1_stmt**: "try" ":" "suite" + ("except" ["expression" ["as" "identifier"]] ":" "suite")+ + ["else" ":" "suite"] + ["finally" ":" "suite"] + **try2_stmt**: "try" ":" "suite" + ("except" "*" "expression" ["as" "identifier"] ":" "suite")+ + ["else" ":" "suite"] + ["finally" ":" "suite"] + **try3_stmt**: "try" ":" "suite" + "finally" ":" "suite" Additional information on exceptions can be found in section Exceptions, and information on using the "raise" statement to generate @@ -1985,9 +1985,9 @@ class attributes; they are shared by instances. Instance attributes Context Managers). This allows common "try"…"except"…"finally" usage patterns to be encapsulated for convenient reuse. - with_stmt ::= "with" ( "(" with_stmt_contents ","? ")" | with_stmt_contents ) ":" suite - with_stmt_contents ::= with_item ("," with_item)* - with_item ::= expression ["as" target] + **with_stmt**: "with" ( "(" "with_stmt_contents" ","? ")" | "with_stmt_contents" ) ":" "suite" + **with_stmt_contents**: "with_item" ("," "with_item")* + **with_item**: "expression" ["as" "target"] The execution of the "with" statement with one “item” proceeds as follows: @@ -2093,10 +2093,10 @@ class attributes; they are shared by instances. Instance attributes 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 + **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" Note: @@ -2187,7 +2187,7 @@ class attributes; they are shared by instances. Instance attributes Guards ------ - guard ::= "if" named_expression + **guard**: "if" "named_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 @@ -2254,16 +2254,16 @@ class attributes; they are shared by instances. Instance attributes The top-level syntax for "patterns" is: - patterns ::= open_sequence_pattern | pattern - pattern ::= as_pattern | or_pattern - closed_pattern ::= | literal_pattern - | capture_pattern - | wildcard_pattern - | value_pattern - | group_pattern - | sequence_pattern - | mapping_pattern - | class_pattern + **patterns**: "open_sequence_pattern" | "pattern" + **pattern**: "as_pattern" | "or_pattern" + **closed_pattern**: | "literal_pattern" + | "capture_pattern" + | "wildcard_pattern" + | "value_pattern" + | "group_pattern" + | "sequence_pattern" + | "mapping_pattern" + | "class_pattern" The descriptions below will include a description “in simple terms” of what a pattern does for illustration purposes (credits to Raymond @@ -2279,7 +2279,7 @@ class attributes; they are shared by instances. Instance attributes An OR pattern is two or more patterns separated by vertical bars "|". Syntax: - or_pattern ::= "|".closed_pattern+ + **or_pattern**: "|"."closed_pattern"+ Only the final subpattern may be irrefutable, and each subpattern must bind the same set of names to avoid ambiguity. @@ -2300,7 +2300,7 @@ class attributes; they are shared by instances. Instance attributes An AS pattern matches an OR pattern on the left of the "as" keyword against a subject. Syntax: - as_pattern ::= or_pattern "as" capture_pattern + **as_pattern**: "or_pattern" "as" "capture_pattern" If the OR pattern fails, the AS pattern fails. Otherwise, the AS pattern binds the subject to the name on the right of the as keyword @@ -2315,14 +2315,14 @@ class attributes; they are shared by instances. Instance attributes A literal pattern corresponds to most literals in Python. Syntax: - literal_pattern ::= signed_number - | signed_number "+" NUMBER - | signed_number "-" NUMBER - | strings - | "None" - | "True" - | "False" - signed_number ::= ["-"] NUMBER + **literal_pattern**: "signed_number" + | "signed_number" "+" NUMBER + | "signed_number" "-" NUMBER + | "strings" + | "None" + | "True" + | "False" + **signed_number**: ["-"] NUMBER The rule "strings" and the token "NUMBER" are defined in the standard Python grammar. Triple-quoted strings are supported. Raw strings and @@ -2342,7 +2342,7 @@ class attributes; they are shared by instances. Instance attributes A capture pattern binds the subject value to a name. Syntax: - capture_pattern ::= !'_' NAME + **capture_pattern**: !'_' NAME A single underscore "_" is not a capture pattern (this is what "!'_'" expresses). It is instead treated as a "wildcard_pattern". @@ -2365,7 +2365,7 @@ class attributes; they are shared by instances. Instance attributes A wildcard pattern always succeeds (matches anything) and binds no name. Syntax: - wildcard_pattern ::= '_' + **wildcard_pattern**: '_' "_" is a soft keyword within any pattern, but only within patterns. It is an identifier, as usual, even within "match" subject @@ -2379,9 +2379,9 @@ class attributes; they are shared by instances. Instance attributes A value pattern represents a named value in Python. Syntax: - value_pattern ::= attr - attr ::= name_or_attr "." NAME - name_or_attr ::= attr | NAME + **value_pattern**: "attr" + **attr**: "name_or_attr" "." NAME + **name_or_attr**: "attr" | NAME The dotted name in the pattern is looked up using standard Python name resolution rules. The pattern succeeds if the value found compares @@ -2405,7 +2405,7 @@ class attributes; they are shared by instances. Instance attributes emphasize the intended grouping. Otherwise, it has no additional syntax. Syntax: - group_pattern ::= "(" pattern ")" + **group_pattern**: "(" "pattern" ")" In simple terms "(P)" has the same effect as "P". @@ -2417,12 +2417,12 @@ class attributes; they are shared by instances. Instance attributes sequence elements. The syntax is similar to the unpacking of a list or tuple. - sequence_pattern ::= "[" [maybe_sequence_pattern] "]" - | "(" [open_sequence_pattern] ")" - open_sequence_pattern ::= maybe_star_pattern "," [maybe_sequence_pattern] - maybe_sequence_pattern ::= ",".maybe_star_pattern+ ","? - maybe_star_pattern ::= star_pattern | pattern - star_pattern ::= "*" (capture_pattern | wildcard_pattern) + **sequence_pattern**: "[" ["maybe_sequence_pattern"] "]" + | "(" ["open_sequence_pattern"] ")" + **open_sequence_pattern**: "maybe_star_pattern" "," ["maybe_sequence_pattern"] + **maybe_sequence_pattern**: ","."maybe_star_pattern"+ ","? + **maybe_star_pattern**: "star_pattern" | "pattern" + **star_pattern**: "*" ("capture_pattern" | "wildcard_pattern") There is no difference if parentheses or square brackets are used for sequence patterns (i.e. "(...)" vs "[...]" ). @@ -2505,11 +2505,11 @@ class attributes; they are shared by instances. Instance attributes A mapping pattern contains one or more key-value patterns. The syntax is similar to the construction of a dictionary. Syntax: - mapping_pattern ::= "{" [items_pattern] "}" - items_pattern ::= ",".key_value_pattern+ ","? - key_value_pattern ::= (literal_pattern | value_pattern) ":" pattern - | double_star_pattern - double_star_pattern ::= "**" capture_pattern + **mapping_pattern**: "{" ["items_pattern"] "}" + **items_pattern**: ","."key_value_pattern"+ ","? + **key_value_pattern**: ("literal_pattern" | "value_pattern") ":" "pattern" + | "double_star_pattern" + **double_star_pattern**: "**" "capture_pattern" At most one double star pattern may be in a mapping pattern. The double star pattern must be the last subpattern in the mapping @@ -2558,12 +2558,12 @@ class attributes; they are shared by instances. Instance attributes A class pattern represents a class and its positional and keyword arguments (if any). Syntax: - class_pattern ::= name_or_attr "(" [pattern_arguments ","?] ")" - pattern_arguments ::= positional_patterns ["," keyword_patterns] - | keyword_patterns - positional_patterns ::= ",".pattern+ - keyword_patterns ::= ",".keyword_pattern+ - keyword_pattern ::= NAME "=" pattern + **class_pattern**: "name_or_attr" "(" ["pattern_arguments" ","?] ")" + **pattern_arguments**: "positional_patterns" ["," "keyword_patterns"] + | "keyword_patterns" + **positional_patterns**: ","."pattern"+ + **keyword_patterns**: ","."keyword_pattern"+ + **keyword_pattern**: NAME "=" "pattern" The same keyword should not be repeated in class patterns. @@ -2690,20 +2690,22 @@ class attributes; they are shared by instances. Instance attributes A function definition defines a user-defined function object (see section The standard type hierarchy): - funcdef ::= [decorators] "def" funcname [type_params] "(" [parameter_list] ")" - ["->" expression] ":" suite - decorators ::= decorator+ - decorator ::= "@" assignment_expression NEWLINE - parameter_list ::= defparameter ("," defparameter)* "," "/" ["," [parameter_list_no_posonly]] - | parameter_list_no_posonly - parameter_list_no_posonly ::= defparameter ("," defparameter)* ["," [parameter_list_starargs]] - | parameter_list_starargs - parameter_list_starargs ::= "*" [star_parameter] ("," defparameter)* ["," ["**" parameter [","]]] - | "**" parameter [","] - parameter ::= identifier [":" expression] - star_parameter ::= identifier [":" ["*"] expression] - defparameter ::= parameter ["=" expression] - funcname ::= identifier + **funcdef**: ["decorators"] "def" "funcname" ["type_params"] "(" ["parameter_list"] ")" + ["->" "expression"] ":" "suite" + **decorators**: "decorator"+ + **decorator**: "@" "assignment_expression" NEWLINE + **parameter_list**: "defparameter" ("," "defparameter")* "," "/" ["," ["parameter_list_no_posonly"]] + | "parameter_list_no_posonly" + **parameter_list_no_posonly**: "defparameter" ("," "defparameter")* ["," ["parameter_list_starargs"]] + | "parameter_list_starargs" + **parameter_list_starargs**: "*" ["star_parameter"] ("," "defparameter")* ["," ["parameter_star_kwargs"]] + "*" ("," "defparameter")+ ["," ["parameter_star_kwargs"]] + | "parameter_star_kwargs" + **parameter_star_kwargs**: "**" "parameter" [","] + **parameter**: "identifier" [":" "expression"] + **star_parameter**: "identifier" [":" ["*"] "expression"] + **defparameter**: "parameter" ["=" "expression"] + **funcname**: "identifier" A function definition is an executable statement. Its execution binds the function name in the current local namespace to a function object @@ -2843,9 +2845,9 @@ def whats_on_the_telly(penguin=None): A class definition defines a class object (see section The standard type hierarchy): - classdef ::= [decorators] "class" classname [type_params] [inheritance] ":" suite - inheritance ::= "(" [argument_list] ")" - classname ::= identifier + **classdef**: ["decorators"] "class" "classname" ["type_params"] ["inheritance"] ":" "suite" + **inheritance**: "(" ["argument_list"] ")" + **classname**: "identifier" A class definition is an executable statement. The inheritance list usually gives a list of base classes (see Metaclasses for more @@ -2935,8 +2937,8 @@ class attributes; they are shared by instances. Instance attributes Coroutine function definition ----------------------------- - async_funcdef ::= [decorators] "async" "def" funcname "(" [parameter_list] ")" - ["->" expression] ":" suite + **async_funcdef**: ["decorators"] "async" "def" "funcname" "(" ["parameter_list"] ")" + ["->" "expression"] ":" "suite" Execution of Python coroutines can be suspended and resumed at many points (see *coroutine*). "await" expressions, "async for" and "async @@ -2962,7 +2964,7 @@ async def func(param1, param2): The "async for" statement ------------------------- - async_for_stmt ::= "async" for_stmt + **async_for_stmt**: "async" "for_stmt" An *asynchronous iterable* provides an "__aiter__" method that directly returns an *asynchronous iterator*, which can call @@ -3003,7 +3005,7 @@ async def func(param1, param2): The "async with" statement -------------------------- - async_with_stmt ::= "async" with_stmt + **async_with_stmt**: "async" "with_stmt" An *asynchronous context manager* is a *context manager* that is able to suspend execution in its *enter* and *exit* methods. @@ -3052,11 +3054,11 @@ async def func(param1, param2): Changed in version 3.13: Support for default values was added (see **PEP 696**). - type_params ::= "[" type_param ("," type_param)* "]" - type_param ::= typevar | typevartuple | paramspec - typevar ::= identifier (":" expression)? ("=" expression)? - typevartuple ::= "*" identifier ("=" expression)? - paramspec ::= "**" identifier ("=" expression)? + **type_params**: "[" "type_param" ("," "type_param")* "]" + **type_param**: "typevar" | "typevartuple" | "paramspec" + **typevar**: "identifier" (":" "expression")? ("=" "expression")? + **typevartuple**: "*" "identifier" ("=" "expression")? + **paramspec**: "**" "identifier" ("=" "expression")? Functions (including coroutines), classes and type aliases may contain a type parameter list: @@ -3422,7 +3424,7 @@ def f() -> annotation: ... 'continue': r'''The "continue" statement ************************ - continue_stmt ::= "continue" + **continue_stmt**: "continue" "continue" may only occur syntactically nested in a "for" or "while" loop, but not nested in a function or class definition within that @@ -3948,9 +3950,9 @@ class pdb.Pdb(completekey='tab', stdin=None, stdout=None, skip=None, nosigint=Fa originate in a module that matches one of these patterns. [1] By default, Pdb sets a handler for the SIGINT signal (which is sent - when the user presses "Ctrl"-"C" on the console) when you give a + when the user presses "Ctrl-C" on the console) when you give a "continue" command. This allows you to break into the debugger - again by pressing "Ctrl"-"C". If you want Pdb not to touch the + again by pressing "Ctrl-C". If you want Pdb not to touch the SIGINT handler, set *nosigint* to true. The *readrc* argument defaults to true and controls whether Pdb @@ -4418,7 +4420,17 @@ class pdb.Pdb(completekey='tab', stdin=None, stdout=None, skip=None, nosigint=Fa q(uit) - Quit from the debugger. The program being executed is aborted. + Quit from the debugger. The program being executed is aborted. An + end-of-file input is equivalent to "quit". + + A confirmation prompt will be shown if the debugger is invoked in + "'inline'" mode. Either "y", "Y", "" or "EOF" will confirm + the quit. + + Changed in version 3.14: A confirmation prompt will be shown if the + debugger is invoked in "'inline'" mode. After the confirmation, the + debugger will call "sys.exit()" immediately, instead of raising + "bdb.BdbQuit" in the next trace event. debug code @@ -4486,7 +4498,7 @@ def inner(x): 'del': r'''The "del" statement ******************* - del_stmt ::= "del" target_list + **del_stmt**: "del" "target_list" Deletion is recursively defined very similar to the way assignment is defined. Rather than spelling it out in full details, here are some @@ -4515,10 +4527,10 @@ def inner(x): 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_item ::= expression ":" expression | "**" or_expr - dict_comprehension ::= expression ":" expression comp_for + **dict_display**: "{" ["dict_item_list" | "dict_comprehension"] "}" + **dict_item_list**: "dict_item" ("," "dict_item")* [","] + **dict_item**: "expression" ":" "expression" | "**" "or_expr" + **dict_comprehension**: "expression" ":" "expression" "comp_for" A dictionary display yields a new dictionary object. @@ -4579,9 +4591,9 @@ def f(): The "if" statement is used for conditional execution: - if_stmt ::= "if" assignment_expression ":" suite - ("elif" assignment_expression ":" suite)* - ["else" ":" suite] + **if_stmt**: "if" "assignment_expression" ":" "suite" + ("elif" "assignment_expression" ":" "suite")* + ["else" ":" "suite"] It selects exactly one of the suites by evaluating the expressions one by one until one is found to be true (see section Boolean operations @@ -5000,12 +5012,12 @@ class of the instance or a *non-virtual base class* thereof. The 'exprlists': r'''Expression lists **************** - starred_expression ::= ["*"] or_expr - flexible_expression ::= assignment_expression | starred_expression - flexible_expression_list ::= flexible_expression ("," flexible_expression)* [","] - starred_expression_list ::= starred_expression ("," starred_expression)* [","] - expression_list ::= expression ("," expression)* [","] - yield_list ::= expression_list | starred_expression "," [starred_expression_list] + **starred_expression**: ["*"] "or_expr" + **flexible_expression**: "assignment_expression" | "starred_expression" + **flexible_expression_list**: "flexible_expression" ("," "flexible_expression")* [","] + **starred_expression_list**: "starred_expression" ("," "starred_expression")* [","] + **expression_list**: "expression" ("," "expression")* [","] + **yield_list**: "expression_list" | "starred_expression" "," ["starred_expression_list"] Except when part of a list or set display, an expression list containing at least one comma yields a tuple. The length of the tuple @@ -5035,12 +5047,12 @@ class of the instance or a *non-virtual base class* thereof. The Floating-point literals are described by the following lexical definitions: - floatnumber ::= pointfloat | exponentfloat - pointfloat ::= [digitpart] fraction | digitpart "." - exponentfloat ::= (digitpart | pointfloat) exponent - digitpart ::= digit (["_"] digit)* - fraction ::= "." digitpart - exponent ::= ("e" | "E") ["+" | "-"] digitpart + **floatnumber**: "pointfloat" | "exponentfloat" + **pointfloat**: ["digitpart"] "fraction" | "digitpart" "." + **exponentfloat**: ("digitpart" | "pointfloat") "exponent" + **digitpart**: "digit" (["_"] "digit")* + **fraction**: "." "digitpart" + **exponent**: ("e" | "E") ["+" | "-"] "digitpart" Note that the integer and exponent parts are always interpreted using radix 10. For example, "077e010" is legal, and denotes the same number @@ -5061,8 +5073,8 @@ class of the instance or a *non-virtual base class* thereof. The The "for" statement is used to iterate over the elements of a sequence (such as a string, tuple or list) or other iterable object: - for_stmt ::= "for" target_list "in" starred_list ":" suite - ["else" ":" suite] + **for_stmt**: "for" "target_list" "in" "starred_list" ":" "suite" + ["else" ":" "suite"] The "starred_list" expression is evaluated once; it should yield an *iterable* object. An *iterator* is created for that iterable. The @@ -5116,14 +5128,14 @@ class of the instance or a *non-virtual base class* thereof. The The grammar for a replacement field is as follows: - replacement_field ::= "{" [field_name] ["!" conversion] [":" format_spec] "}" - field_name ::= arg_name ("." attribute_name | "[" element_index "]")* - arg_name ::= [identifier | digit+] - attribute_name ::= identifier - element_index ::= digit+ | index_string - index_string ::= + - conversion ::= "r" | "s" | "a" - format_spec ::= format-spec:format_spec + **replacement_field**: "{" ["field_name"] ["!" "conversion"] [":" "format_spec"] "}" + **field_name**: "arg_name" ("." "attribute_name" | "[" "element_index" "]")* + **arg_name**: ["identifier" | "digit"+] + **attribute_name**: "identifier" + **element_index**: "digit"+ | "index_string" + **index_string**: + + **conversion**: "r" | "s" | "a" + **format_spec**: "format-spec:format_spec" In less formal terms, the replacement field can start with a *field_name* that specifies the object whose value is to be formatted @@ -5220,14 +5232,14 @@ class of the instance or a *non-virtual base class* thereof. The The general form of a *standard format specifier* is: - format_spec ::= [[fill]align][sign]["z"]["#"]["0"][width][grouping_option]["." precision][type] - fill ::= - align ::= "<" | ">" | "=" | "^" - sign ::= "+" | "-" | " " - width ::= digit+ - grouping_option ::= "_" | "," - precision ::= digit+ - type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%" + **format_spec**: [["fill"]"align"]["sign"]["z"]["#"]["0"]["width"]["grouping_option"]["." "precision"]["type"] + **fill**: + **align**: "<" | ">" | "=" | "^" + **sign**: "+" | "-" | " " + **width**: "digit"+ + **grouping_option**: "_" | "," + **precision**: "digit"+ + **type**: "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%" If a valid *align* value is specified, it can be preceded by a *fill* character that can be any character and defaults to a space if @@ -5602,7 +5614,7 @@ class of the instance or a *non-virtual base class* thereof. The 3232235521 >>> >>> width = 5 - >>> for num in range(5,12): + >>> for num in range(5,12): ... for base in 'dXob': ... print('{0:{width}{base}}'.format(num, base=base, width=width), end=' ') ... print() @@ -5621,20 +5633,22 @@ class of the instance or a *non-virtual base class* thereof. The A function definition defines a user-defined function object (see section The standard type hierarchy): - funcdef ::= [decorators] "def" funcname [type_params] "(" [parameter_list] ")" - ["->" expression] ":" suite - decorators ::= decorator+ - decorator ::= "@" assignment_expression NEWLINE - parameter_list ::= defparameter ("," defparameter)* "," "/" ["," [parameter_list_no_posonly]] - | parameter_list_no_posonly - parameter_list_no_posonly ::= defparameter ("," defparameter)* ["," [parameter_list_starargs]] - | parameter_list_starargs - parameter_list_starargs ::= "*" [star_parameter] ("," defparameter)* ["," ["**" parameter [","]]] - | "**" parameter [","] - parameter ::= identifier [":" expression] - star_parameter ::= identifier [":" ["*"] expression] - defparameter ::= parameter ["=" expression] - funcname ::= identifier + **funcdef**: ["decorators"] "def" "funcname" ["type_params"] "(" ["parameter_list"] ")" + ["->" "expression"] ":" "suite" + **decorators**: "decorator"+ + **decorator**: "@" "assignment_expression" NEWLINE + **parameter_list**: "defparameter" ("," "defparameter")* "," "/" ["," ["parameter_list_no_posonly"]] + | "parameter_list_no_posonly" + **parameter_list_no_posonly**: "defparameter" ("," "defparameter")* ["," ["parameter_list_starargs"]] + | "parameter_list_starargs" + **parameter_list_starargs**: "*" ["star_parameter"] ("," "defparameter")* ["," ["parameter_star_kwargs"]] + "*" ("," "defparameter")+ ["," ["parameter_star_kwargs"]] + | "parameter_star_kwargs" + **parameter_star_kwargs**: "**" "parameter" [","] + **parameter**: "identifier" [":" "expression"] + **star_parameter**: "identifier" [":" ["*"] "expression"] + **defparameter**: "parameter" ["=" "expression"] + **funcname**: "identifier" A function definition is an executable statement. Its execution binds the function name in the current local namespace to a function object @@ -5770,7 +5784,7 @@ def whats_on_the_telly(penguin=None): 'global': r'''The "global" statement ********************** - global_stmt ::= "global" identifier ("," identifier)* + **global_stmt**: "global" "identifier" ("," "identifier")* The "global" statement causes the listed identifiers to be interpreted as globals. It would be impossible to assign to a global variable @@ -5853,11 +5867,11 @@ class body. A "SyntaxError" is raised if a variable is used or Identifiers are unlimited in length. Case is significant. - identifier ::= xid_start xid_continue* - id_start ::= - id_continue ::= - xid_start ::= - xid_continue ::= + **identifier**: "xid_start" "xid_continue"* + **id_start**: + **id_continue**: + **xid_start**: + **xid_continue**: The Unicode category codes mentioned above stand for: @@ -5978,9 +5992,9 @@ class body. A "SyntaxError" is raised if a variable is used or The "if" statement is used for conditional execution: - if_stmt ::= "if" assignment_expression ":" suite - ("elif" assignment_expression ":" suite)* - ["else" ":" suite] + **if_stmt**: "if" "assignment_expression" ":" "suite" + ("elif" "assignment_expression" ":" "suite")* + ["else" ":" "suite"] It selects exactly one of the suites by evaluating the expressions one by one until one is found to be true (see section Boolean operations @@ -5994,7 +6008,7 @@ class body. A "SyntaxError" is raised if a variable is used or Imaginary literals are described by the following lexical definitions: - imagnumber ::= (floatnumber | digitpart) ("j" | "J") + **imagnumber**: ("floatnumber" | "digitpart") ("j" | "J") An imaginary literal yields a complex number with a real part of 0.0. Complex numbers are represented as a pair of floating-point numbers @@ -6007,14 +6021,14 @@ class body. A "SyntaxError" is raised if a variable is used or 'import': r'''The "import" statement ********************** - import_stmt ::= "import" module ["as" identifier] ("," module ["as" identifier])* - | "from" relative_module "import" identifier ["as" identifier] - ("," identifier ["as" identifier])* - | "from" relative_module "import" "(" identifier ["as" identifier] - ("," identifier ["as" identifier])* [","] ")" - | "from" relative_module "import" "*" - module ::= (identifier ".")* identifier - relative_module ::= "."* module | "."+ + **import_stmt**: "import" "module" ["as" "identifier"] ("," "module" ["as" "identifier"])* + | "from" "relative_module" "import" "identifier" ["as" "identifier"] + ("," "identifier" ["as" "identifier"])* + | "from" "relative_module" "import" "(" "identifier" ["as" "identifier"] + ("," "identifier" ["as" "identifier"])* [","] ")" + | "from" "relative_module" "import" "*" + **module**: ("identifier" ".")* "identifier" + **relative_module**: "."* "module" | "."+ The basic import statement (no "from" clause) is executed in two steps: @@ -6133,11 +6147,11 @@ class body. A "SyntaxError" is raised if a variable is used or allows use of the new features on a per-module basis before the release in which the feature becomes standard. - future_stmt ::= "from" "__future__" "import" feature ["as" identifier] - ("," feature ["as" identifier])* - | "from" "__future__" "import" "(" feature ["as" identifier] - ("," feature ["as" identifier])* [","] ")" - feature ::= identifier + **future_stmt**: "from" "__future__" "import" "feature" ["as" "identifier"] + ("," "feature" ["as" "identifier"])* + | "from" "__future__" "import" "(" "feature" ["as" "identifier"] + ("," "feature" ["as" "identifier"])* [","] ")" + **feature**: "identifier" A future statement must appear near the top of the module. The only lines that can appear before a future statement are: @@ -6246,16 +6260,16 @@ class body. A "SyntaxError" is raised if a variable is used or Integer literals are described by the following lexical definitions: - integer ::= decinteger | bininteger | octinteger | hexinteger - decinteger ::= nonzerodigit (["_"] digit)* | "0"+ (["_"] "0")* - bininteger ::= "0" ("b" | "B") (["_"] bindigit)+ - octinteger ::= "0" ("o" | "O") (["_"] octdigit)+ - hexinteger ::= "0" ("x" | "X") (["_"] hexdigit)+ - nonzerodigit ::= "1"..."9" - digit ::= "0"..."9" - bindigit ::= "0" | "1" - octdigit ::= "0"..."7" - hexdigit ::= digit | "a"..."f" | "A"..."F" + **integer**: "decinteger" | "bininteger" | "octinteger" | "hexinteger" + **decinteger**: "nonzerodigit" (["_"] "digit")* | "0"+ (["_"] "0")* + **bininteger**: "0" ("b" | "B") (["_"] "bindigit")+ + **octinteger**: "0" ("o" | "O") (["_"] "octdigit")+ + **hexinteger**: "0" ("x" | "X") (["_"] "hexdigit")+ + **nonzerodigit**: "1"..."9" + **digit**: "0"..."9" + **bindigit**: "0" | "1" + **octdigit**: "0"..."7" + **hexdigit**: "digit" | "a"..."f" | "A"..."F" There is no limit for the length of integer literals apart from what can be stored in available memory. @@ -6281,7 +6295,7 @@ class body. A "SyntaxError" is raised if a variable is used or 'lambda': r'''Lambdas ******* - lambda_expr ::= "lambda" [parameter_list] ":" expression + **lambda_expr**: "lambda" ["parameter_list"] ":" "expression" Lambda expressions (sometimes called lambda forms) are used to create anonymous functions. The expression "lambda parameters: expression" @@ -6301,7 +6315,7 @@ def (parameters): A list display is a possibly empty series of expressions enclosed in square brackets: - list_display ::= "[" [flexible_expression_list | comprehension] "]" + **list_display**: "[" ["flexible_expression_list" | "comprehension"] "]" A list display yields a new list object, the contents being specified by either a list of expressions or a comprehension. When a comma- @@ -6594,7 +6608,7 @@ def f(): 'nonlocal': r'''The "nonlocal" statement ************************ - nonlocal_stmt ::= "nonlocal" identifier ("," identifier)* + **nonlocal_stmt**: "nonlocal" "identifier" ("," "identifier")* When the definition of a function or class is nested (enclosed) within the definitions of other functions, its nonlocal scopes are the local @@ -6981,7 +6995,7 @@ class that has an "__rsub__()" method, "type(y).__rsub__(y, x)" is 'pass': r'''The "pass" statement ******************** - pass_stmt ::= "pass" + **pass_stmt**: "pass" "pass" is a null operation — when it is executed, nothing happens. It is useful as a placeholder when a statement is required syntactically, @@ -6998,7 +7012,7 @@ class C: pass # a class with no methods (yet) left; it binds less tightly than unary operators on its right. The syntax is: - power ::= (await_expr | primary) ["**" u_expr] + **power**: ("await_expr" | "primary") ["**" "u_expr"] Thus, in an unparenthesized sequence of power and unary operators, the operators are evaluated from right to left (this does not constrain @@ -7024,7 +7038,7 @@ class C: pass # a class with no methods (yet) 'raise': r'''The "raise" statement ********************* - raise_stmt ::= "raise" [expression ["from" expression]] + **raise_stmt**: "raise" ["expression" ["from" "expression"]] If no expressions are present, "raise" re-raises the exception that is currently being handled, which is also known as the *active @@ -7126,7 +7140,7 @@ class C: pass # a class with no methods (yet) 'return': r'''The "return" statement ********************** - return_stmt ::= "return" [expression_list] + **return_stmt**: "return" ["expression_list"] "return" may only occur syntactically nested in a function definition, not within a nested class definition. @@ -7311,7 +7325,7 @@ class C: pass # a class with no methods (yet) The shifting operations have lower priority than the arithmetic operations: - shift_expr ::= a_expr | shift_expr ("<<" | ">>") a_expr + **shift_expr**: "a_expr" | "shift_expr" ("<<" | ">>") "a_expr" These operators accept integers as arguments. They shift the first argument to the left or right by the number of bits given by the @@ -7332,13 +7346,13 @@ class C: pass # a class with no methods (yet) string, tuple or list). Slicings may be used as expressions or as targets in assignment or "del" statements. The syntax for a slicing: - slicing ::= primary "[" slice_list "]" - slice_list ::= slice_item ("," slice_item)* [","] - slice_item ::= expression | proper_slice - proper_slice ::= [lower_bound] ":" [upper_bound] [ ":" [stride] ] - lower_bound ::= expression - upper_bound ::= expression - stride ::= expression + **slicing**: "primary" "[" "slice_list" "]" + **slice_list**: "slice_item" ("," "slice_item")* [","] + **slice_item**: "expression" | "proper_slice" + **proper_slice**: ["lower_bound"] ":" ["upper_bound"] [ ":" ["stride"] ] + **lower_bound**: "expression" + **upper_bound**: "expression" + **stride**: "expression" There is ambiguity in the formal syntax here: anything that looks like an expression list also looks like a slice list, so any subscription @@ -9725,26 +9739,26 @@ class is used in a class pattern with positional arguments, each String literals are described by the following lexical definitions: - stringliteral ::= [stringprefix](shortstring | longstring) - stringprefix ::= "r" | "u" | "R" | "U" | "f" | "F" + **stringliteral**: ["stringprefix"]("shortstring" | "longstring") + **stringprefix**: "r" | "u" | "R" | "U" | "f" | "F" | "fr" | "Fr" | "fR" | "FR" | "rf" | "rF" | "Rf" | "RF" - shortstring ::= "'" shortstringitem* "'" | '"' shortstringitem* '"' - longstring ::= "\'\'\'" longstringitem* "\'\'\'" | '"""' longstringitem* '"""' - shortstringitem ::= shortstringchar | stringescapeseq - longstringitem ::= longstringchar | stringescapeseq - shortstringchar ::= - longstringchar ::= - stringescapeseq ::= "\\" - - bytesliteral ::= bytesprefix(shortbytes | longbytes) - bytesprefix ::= "b" | "B" | "br" | "Br" | "bR" | "BR" | "rb" | "rB" | "Rb" | "RB" - shortbytes ::= "'" shortbytesitem* "'" | '"' shortbytesitem* '"' - longbytes ::= "\'\'\'" longbytesitem* "\'\'\'" | '"""' longbytesitem* '"""' - shortbytesitem ::= shortbyteschar | bytesescapeseq - longbytesitem ::= longbyteschar | bytesescapeseq - shortbyteschar ::= - longbyteschar ::= - bytesescapeseq ::= "\\" + **shortstring**: "'" "shortstringitem"* "'" | '"' "shortstringitem"* '"' + **longstring**: "\'\'\'" "longstringitem"* "\'\'\'" | '"""' "longstringitem"* '"""' + **shortstringitem**: "shortstringchar" | "stringescapeseq" + **longstringitem**: "longstringchar" | "stringescapeseq" + **shortstringchar**: + **longstringchar**: + **stringescapeseq**: "\\" + + **bytesliteral**: "bytesprefix"("shortbytes" | "longbytes") + **bytesprefix**: "b" | "B" | "br" | "Br" | "bR" | "BR" | "rb" | "rB" | "Rb" | "RB" + **shortbytes**: "'" "shortbytesitem"* "'" | '"' "shortbytesitem"* '"' + **longbytes**: "\'\'\'" "longbytesitem"* "\'\'\'" | '"""' "longbytesitem"* '"""' + **shortbytesitem**: "shortbyteschar" | "bytesescapeseq" + **longbytesitem**: "longbyteschar" | "bytesescapeseq" + **shortbyteschar**: + **longbyteschar**: + **bytesescapeseq**: "\\" One syntactic restriction not indicated by these productions is that whitespace is not allowed between the "stringprefix" or "bytesprefix" @@ -9908,7 +9922,7 @@ class is used in a class pattern with positional arguments, each select an element from the container. The subscription of a *generic class* will generally return a GenericAlias object. - subscription ::= primary "[" flexible_expression_list "]" + **subscription**: "primary" "[" "flexible_expression_list" "]" When an object is subscripted, the interpreter will evaluate the primary and the expression list. @@ -9988,17 +10002,17 @@ class is used in a class pattern with positional arguments, each The "try" statement specifies exception handlers and/or cleanup code for a group of statements: - try_stmt ::= try1_stmt | try2_stmt | try3_stmt - try1_stmt ::= "try" ":" suite - ("except" [expression ["as" identifier]] ":" suite)+ - ["else" ":" suite] - ["finally" ":" suite] - try2_stmt ::= "try" ":" suite - ("except" "*" expression ["as" identifier] ":" suite)+ - ["else" ":" suite] - ["finally" ":" suite] - try3_stmt ::= "try" ":" suite - "finally" ":" suite + **try_stmt**: "try1_stmt" | "try2_stmt" | "try3_stmt" + **try1_stmt**: "try" ":" "suite" + ("except" ["expression" ["as" "identifier"]] ":" "suite")+ + ["else" ":" "suite"] + ["finally" ":" "suite"] + **try2_stmt**: "try" ":" "suite" + ("except" "*" "expression" ["as" "identifier"] ":" "suite")+ + ["else" ":" "suite"] + ["finally" ":" "suite"] + **try3_stmt**: "try" ":" "suite" + "finally" ":" "suite" Additional information on exceptions can be found in section Exceptions, and information on using the "raise" statement to generate @@ -12607,7 +12621,7 @@ class range(start, stop[, step]) All unary arithmetic and bitwise operations have the same priority: - u_expr ::= power | "-" u_expr | "+" u_expr | "~" u_expr + **u_expr**: "power" | "-" "u_expr" | "+" "u_expr" | "~" "u_expr" The unary "-" (minus) operator yields the negation of its numeric argument; the operation can be overridden with the "__neg__()" special @@ -12630,8 +12644,8 @@ class range(start, stop[, step]) The "while" statement is used for repeated execution as long as an expression is true: - while_stmt ::= "while" assignment_expression ":" suite - ["else" ":" suite] + **while_stmt**: "while" "assignment_expression" ":" "suite" + ["else" ":" "suite"] This repeatedly tests the expression and, if it is true, executes the first suite; if the expression is false (which may be the first time @@ -12651,9 +12665,9 @@ class range(start, stop[, step]) Context Managers). This allows common "try"…"except"…"finally" usage patterns to be encapsulated for convenient reuse. - with_stmt ::= "with" ( "(" with_stmt_contents ","? ")" | with_stmt_contents ) ":" suite - with_stmt_contents ::= with_item ("," with_item)* - with_item ::= expression ["as" target] + **with_stmt**: "with" ( "(" "with_stmt_contents" ","? ")" | "with_stmt_contents" ) ":" "suite" + **with_stmt_contents**: "with_item" ("," "with_item")* + **with_item**: "expression" ["as" "target"] The execution of the "with" statement with one “item” proceeds as follows: @@ -12754,7 +12768,7 @@ class range(start, stop[, step]) 'yield': r'''The "yield" statement ********************* - yield_stmt ::= yield_expression + **yield_stmt**: "yield_expression" A "yield" statement is semantically equivalent to a yield expression. The "yield" statement can be used to omit the parentheses that would diff --git a/Misc/NEWS.d/3.14.0a5.rst b/Misc/NEWS.d/3.14.0a5.rst new file mode 100644 index 00000000000000..a3548d0a7b0357 --- /dev/null +++ b/Misc/NEWS.d/3.14.0a5.rst @@ -0,0 +1,1378 @@ +.. date: 2025-02-10-22-08-37 +.. gh-issue: 91132 +.. nonce: 00x1MI +.. release date: 2025-02-11 +.. section: macOS + +Update macOS installer to use ncurses 6.5. + +.. + +.. date: 2025-01-24-14-49-40 +.. gh-issue: 129248 +.. nonce: JAapG2 +.. section: Tools/Demos + +The iOS test runner now strips the log prefix from each line output by the +test suite. + +.. + +.. date: 2023-05-11-23-32-25 +.. gh-issue: 104400 +.. nonce: 23vxm7 +.. section: Tools/Demos + +Fix several bugs in extraction by switching to an AST parser in +:program:`pygettext`. + +.. + +.. date: 2025-01-30-13-09-27 +.. gh-issue: 129386 +.. nonce: iNtbEi +.. section: Tests + +Add ``test.support.reset_code``, which can be used to reset various +bytecode-level optimizations and local instrumentation for a function. + +.. + +.. date: 2025-01-04-02-41-41 +.. gh-issue: 128474 +.. nonce: 0b-tl4 +.. section: Tests + +Disable ``test_embed`` test cases that segfault on BOLT instrument binaries. +The tests are only disabled when BOLT is enabled. + +.. + +.. date: 2024-12-16-19-15-10 +.. gh-issue: 128003 +.. nonce: GVBrfa +.. section: Tests + +Add an option ``--parallel-threads=N`` to the regression test runner that +runs individual tests in multiple threads in parallel in order to find +concurrency bugs. Note that most of the test suite is not yet reviewed for +thread-safety or annotated with ``@thread_unsafe`` when necessary. + +.. + +.. date: 2025-01-28-14-08-03 +.. gh-issue: 105704 +.. nonce: EnhHxu +.. section: Security + +When using :func:`urllib.parse.urlsplit` and :func:`urllib.parse.urlparse` +host parsing would not reject domain names containing square brackets (``[`` +and ``]``). Square brackets are only valid for IPv6 and IPvFuture hosts +according to `RFC 3986 Section 3.2.2 +`__. + +.. + +.. date: 2024-10-29-09-15-10 +.. gh-issue: 126108 +.. nonce: eTIjHY +.. section: Security + +Fix a possible ``NULL`` pointer dereference in +:c:func:`!PySys_AddWarnOptionUnicode`. + +.. + +.. date: 2024-08-06-11-43-08 +.. gh-issue: 80222 +.. nonce: wfR4BU +.. section: Security + +Fix bug in the folding of quoted strings when flattening an email message +using a modern email policy. Previously when a quoted string was folded so +that it spanned more than one line, the surrounding quotes and internal +escapes would be omitted. This could theoretically be used to spoof header +lines using a carefully constructed quoted string if the resulting rendered +email was transmitted or re-parsed. + +.. + +.. date: 2024-05-24-21-00-52 +.. gh-issue: 119511 +.. nonce: jKrXQ8 +.. section: Security + +Fix a potential denial of service in the :mod:`imaplib` module. When +connecting to a malicious server, it could cause an arbitrary amount of +memory to be allocated. On many systems this is harmless as unused virtual +memory is only a mapping, but if this hit a virtual address size limit it +could lead to a :exc:`MemoryError` or other process crash. On unusual +systems or builds where all allocated memory is touched and backed by actual +ram or storage it could've consumed resources doing so until similarly +crashing. + +.. + +.. date: 2025-02-10-14-34-34 +.. gh-issue: 129939 +.. nonce: B08L4e +.. section: Library + +Comparison pages with highlighted changes generated by the +:class:`difflib.HtmlDiff` class now support dark mode. + +.. + +.. date: 2025-02-10-08-44-11 +.. gh-issue: 129928 +.. nonce: QuiZEz +.. section: Library + +Raise :exc:`sqlite3.ProgrammingError` if a user-defined SQL function with +invalid number of parameters is created. Patch by Erlend Aasland. + +.. + +.. date: 2025-02-09-17-47-01 +.. gh-issue: 129583 +.. nonce: -130Ys +.. section: Library + +Update bundled pip to 25.0.1 + +.. + +.. date: 2025-02-07-10-34-09 +.. gh-issue: 129766 +.. nonce: 6n5fQZ +.. section: Library + +Fix crash in :mod:`warnings`, when calling ``_release_lock()`` with no +existing lock. + +.. + +.. date: 2025-02-05-13-19-15 +.. gh-issue: 129005 +.. nonce: Sb69L_ +.. section: Library + +``_pyio.FileIO.readall()`` now allocates, resizes, and fills a data buffer +using the same algorithm ``_io.FileIO.readall()`` uses. + +.. + +.. date: 2025-02-04-15-16-33 +.. gh-issue: 129646 +.. nonce: sapk1F +.. section: Library + +Update the locale alias mapping in the :mod:`locale` module to match the +latest X Org locale alias mapping and support new locales in Glibc 2.41. + +.. + +.. date: 2025-02-03-22-31-43 +.. gh-issue: 128317 +.. nonce: n2Swnh +.. section: Library + +Put CLI calendar highlighting in private class, removing ``highlight_day`` +from public :class:`calendar.TextCalendar` API. Patch by Hugo van Kemenade. + +.. + +.. date: 2025-02-03-01-43-16 +.. gh-issue: 129603 +.. nonce: xge9Tx +.. section: Library + +Fix bugs where :class:`sqlite3.Row` objects could segfault if their +inherited :attr:`~sqlite3.Cursor.description` was set to ``None``. Patch by +Erlend Aasland. + +.. + +.. date: 2025-02-01-14-55-33 +.. gh-issue: 129559 +.. nonce: hQCeAz +.. section: Library + +Add :meth:`bytearray.resize` method so :class:`bytearray` can be efficiently +resized in place. + +.. + +.. date: 2025-01-31-11-14-05 +.. gh-issue: 129502 +.. nonce: j_ArNo +.. section: Library + +Unlikely errors in preparing arguments for :mod:`ctypes` callback are now +handled in the same way as errors raised in the callback of in converting +the result of the callback -- using :func:`sys.unraisablehook` instead of +:func:`sys.excepthook` and not setting :data:`sys.last_exc` and other +variables. + +.. + +.. date: 2025-01-29-17-10-00 +.. gh-issue: 129403 +.. nonce: 314159 +.. section: Library + +Corrected :exc:`ValueError` message for :class:`asyncio.Barrier` and +:class:`threading.Barrier`. + +.. + +.. date: 2025-01-29-14-30-54 +.. gh-issue: 129409 +.. nonce: JZbOE6 +.. section: Library + +Fix an integer overflow in the :mod:`csv` module when writing a data field +larger than 2GB. + +.. + +.. date: 2025-01-29-13-37-18 +.. gh-issue: 126400 +.. nonce: DaBaR3 +.. section: Library + +Add a socket *timeout* keyword argument to +:class:`logging.handlers.SysLogHandler`. + +.. + +.. date: 2025-01-29-11-14-20 +.. gh-issue: 118761 +.. nonce: gMZwE1 +.. section: Library + +Always lazy import ``warnings`` in :mod:`threading`. Patch by Taneli +Hukkinen. + +.. + +.. date: 2025-01-29-10-53-32 +.. gh-issue: 118761 +.. nonce: i8wjpV +.. section: Library + +Improve import time of :mod:`subprocess` by lazy importing ``locale`` and +``signal``. Patch by Taneli Hukkinen. + +.. + +.. date: 2025-01-27-14-05-19 +.. gh-issue: 129346 +.. nonce: gZRd3g +.. section: Library + +In :mod:`sqlite3`, handle out-of-memory when creating user-defined SQL +functions. + +.. + +.. date: 2025-01-26-10-01-21 +.. gh-issue: 129005 +.. nonce: ncpLvw +.. section: Library + +Optimize ``_pyio.FileIO.readinto`` by avoiding unnecessary objects and +copies using :func:`os.readinto`. + +.. + +.. date: 2025-01-24-10-48-32 +.. gh-issue: 129195 +.. nonce: 89d5NU +.. section: Library + +Support reporting call graph information from +:func:`!asyncio.staggered.staggered_race`. + +.. + +.. date: 2025-01-22-16-54-25 +.. gh-issue: 129205 +.. nonce: FMqrUt +.. section: Library + +Add :func:`os.readinto` to read into a :ref:`buffer object ` +from a file descriptor. + +.. + +.. date: 2025-01-22-13-29-06 +.. gh-issue: 128772 +.. nonce: 6YrxYM +.. section: Library + +Fix :mod:`pydoc` for methods with the ``__module__`` attribute equal to +``None``. + +.. + +.. date: 2025-01-21-18-52-32 +.. gh-issue: 129061 +.. nonce: 4idD_B +.. section: Library + +Fix FORCE_COLOR and NO_COLOR when empty strings. Patch by Hugo van Kemenade. + +.. + +.. date: 2025-01-20-20-59-26 +.. gh-issue: 92897 +.. nonce: G0xH8o +.. section: Library + +Scheduled the deprecation of the ``check_home`` argument of +:func:`sysconfig.is_python_build` to Python 3.15. + +.. + +.. date: 2025-01-20-16-02-38 +.. gh-issue: 129064 +.. nonce: JXasgJ +.. section: Library + +Deprecate :func:`!sysconfig.expand_makefile_vars`, in favor of using +:func:`sysconfig.get_paths` with the ``vars`` argument. + +.. + +.. date: 2025-01-20-13-12-39 +.. gh-issue: 128550 +.. nonce: AJ5TOL +.. section: Library + +Removed an incorrect optimization relating to eager tasks in +:class:`asyncio.TaskGroup` that resulted in cancellations being missed. + +.. + +.. date: 2025-01-18-16-58-10 +.. gh-issue: 128991 +.. nonce: EzJit9 +.. section: Library + +Release the enter frame reference within :mod:`bdb` callback + +.. + +.. date: 2025-01-18-11-24-02 +.. gh-issue: 118761 +.. nonce: G8MmxY +.. section: Library + +Reduce import time of :mod:`pstats` and :mod:`zipfile` by up to 20%, by +removing unnecessary imports to :mod:`typing`. Patch by Bénédikt Tran. + +.. + +.. date: 2025-01-18-11-04-44 +.. gh-issue: 128978 +.. nonce: hwg7-w +.. section: Library + +Fix a :exc:`NameError` in :func:`!sysconfig.expand_makefile_vars`. Patch by +Bénédikt Tran. + +.. + +.. date: 2025-01-17-21-33-11 +.. gh-issue: 128961 +.. nonce: XwvyIZ +.. section: Library + +Fix a crash when setting state on an exhausted :class:`array.array` +iterator. + +.. + +.. date: 2025-01-17-17-20-51 +.. gh-issue: 128894 +.. nonce: gX1-8J +.. section: Library + +Fix ``traceback.TracebackException._format_syntax_error`` not to fail on +exceptions with custom metadata. + +.. + +.. date: 2025-01-17-11-46-16 +.. gh-issue: 128916 +.. nonce: GEePbO +.. section: Library + +Do not attempt to set ``SO_REUSEPORT`` on sockets of address families other +than ``AF_INET`` and ``AF_INET6``, as it is meaningless with these address +families, and the call with fail with Linux kernel 6.12.9 and newer. + +.. + +.. date: 2025-01-16-10-06-40 +.. gh-issue: 118761 +.. nonce: z100LC +.. section: Library + +Improve import time of :mod:`tomllib` by removing ``typing``, ``string``, +and ``tomllib._types`` imports. Patch by Taneli Hukkinen. + +.. + +.. date: 2025-01-15-21-41-51 +.. gh-issue: 128679 +.. nonce: tq10F2 +.. section: Library + +:mod:`tracemalloc`: Fix race conditions when :func:`tracemalloc.stop` is +called by a thread, while other threads are tracing memory allocations. +Patch by Victor Stinner. + +.. + +.. date: 2025-01-15-19-32-23 +.. gh-issue: 128891 +.. nonce: ojUxKo +.. section: Library + +Add specialized opcodes to ``opcode.opname``. + +.. + +.. date: 2025-01-15-19-16-50 +.. gh-issue: 118761 +.. nonce: cbW2ZL +.. section: Library + +Reduce import time of :mod:`gettext` by up to ten times, by importing +:mod:`re` on demand. In particular, ``re`` is no longer implicitly exposed +as ``gettext.re``. Patch by Eli Schwartz. + +.. + +.. date: 2025-01-15-18-54-48 +.. gh-issue: 118761 +.. nonce: G1dv6E +.. section: Library + +Reduce the import time of :mod:`optparse` when no help text is printed. +Patch by Eli Schwartz. + +.. + +.. date: 2025-01-15-15-45-21 +.. gh-issue: 128657 +.. nonce: P5LNQA +.. section: Library + +Fix possible extra reference when using objects returned by +:func:`hashlib.sha256` under :term:`free threading`. + +.. + +.. date: 2025-01-15-09-45-43 +.. gh-issue: 118761 +.. nonce: TvAC8E +.. section: Library + +Reduce the import time of :mod:`csv` by up to five times, by importing +:mod:`re` on demand. In particular, ``re`` is no more implicitly exposed as +``csv.re``. Patch by Bénédikt Tran. + +.. + +.. date: 2025-01-13-07-54-32 +.. gh-issue: 128308 +.. nonce: kYSDRF +.. section: Library + +Support the *name* keyword argument for eager tasks in +:func:`asyncio.loop.create_task`, :func:`asyncio.create_task` and +:func:`asyncio.TaskGroup.create_task`, by passing on all *kwargs* to the +task factory set by :func:`asyncio.loop.set_task_factory`. + +.. + +.. date: 2025-01-10-13-06-54 +.. gh-issue: 118761 +.. nonce: f8oADD +.. section: Library + +Improve the performance of :func:`base64.b16decode` by up to ten times by +more efficiently checking the byte-string for hexadecimal digits. Reduce the +import time of :mod:`base64` by up to six times, by no longer importing +:mod:`re`. Patch by Bénédikt Tran, Chris Markiewicz, and Adam Turner. + +.. + +.. date: 2025-01-09-16-20-34 +.. gh-issue: 128156 +.. nonce: GfObBq +.. section: Library + +When using macOS system ``libffi``, support for complex types in +:mod:`ctypes` is now checked at runtime (macOS 10.15 or newer). The types +must also be available at build time. + +.. + +.. date: 2025-01-08-22-30-38 +.. gh-issue: 128636 +.. nonce: jQfWXj +.. section: Library + +Fix PyREPL failure when :data:`os.environ` is overwritten with an invalid +value. + +.. + +.. date: 2025-01-07-21-48-32 +.. gh-issue: 128498 +.. nonce: n6jtlW +.. section: Library + +Default to stdout isatty for color detection instead of stderr. Patch by +Hugo van Kemenade. + +.. + +.. date: 2025-01-06-10-37-27 +.. gh-issue: 128384 +.. nonce: V0xzwH +.. section: Library + +Add locking to :mod:`warnings` to avoid some data races when free-threading +is used. Change ``_warnings_runtime_state.mutex`` to be a recursive mutex +and expose it to :mod:`warnings`, via the :func:`!_acquire_lock` and +:func:`!_release_lock` functions. The lock is held when ``filters`` and +``_filters_version`` are updated. + +.. + +.. date: 2025-01-04-20-51-48 +.. gh-issue: 128509 +.. nonce: 3gr_-O +.. section: Library + +Add :func:`sys._is_immortal` for identifying :term:`immortal` objects at +runtime. + +.. + +.. date: 2025-01-04-11-10-04 +.. gh-issue: 128479 +.. nonce: jvOrF- +.. section: Library + +Fix :func:`!asyncio.staggered.staggered_race` leaking tasks and issuing an +unhandled exception. + +.. + +.. date: 2025-01-02-20-34-04 +.. gh-issue: 128427 +.. nonce: onPoQZ +.. section: Library + +:const:`uuid.NIL` and :const:`uuid.MAX` are now available to represent the +Nil and Max UUID formats as defined by :rfc:`9562`. + +.. + +.. date: 2024-12-30-19-53-14 +.. gh-issue: 91279 +.. nonce: EeOJk1 +.. section: Library + +:meth:`zipfile.ZipFile.writestr` now respect ``SOURCE_DATE_EPOCH`` that +distributions can set centrally and have build tools consume this in order +to produce reproducible output. + +.. + +.. date: 2024-12-26-11-00-03 +.. gh-issue: 112064 +.. nonce: mCcw3B +.. section: Library + +Fix incorrect handling of negative read sizes in :meth:`HTTPResponse.read +`. Patch by Yury Manushkin. + +.. + +.. date: 2024-12-23-02-09-44 +.. gh-issue: 58956 +.. nonce: 4OdMdT +.. section: Library + +Fixed a frame reference leak in :mod:`bdb`. + +.. + +.. date: 2024-12-21-03-20-12 +.. gh-issue: 128131 +.. nonce: QpPmNt +.. section: Library + +Completely support random access of uncompressed unencrypted read-only zip +files obtained by :meth:`ZipFile.open `. + +.. + +.. date: 2024-12-20-08-44-12 +.. gh-issue: 127975 +.. nonce: 8HJwu9 +.. section: Library + +Avoid reusing quote types in :func:`ast.unparse` if not needed. + +.. + +.. date: 2024-12-17-16-48-02 +.. gh-issue: 115514 +.. nonce: 1yOJ7T +.. section: Library + +Fix exceptions and incomplete writes after +:class:`!asyncio._SelectorTransport` is closed before writes are completed. + +.. + +.. date: 2024-12-16-22-20-38 +.. gh-issue: 121604 +.. nonce: m3Xn4G +.. section: Library + +Add missing Deprecation warnings for +:const:`importlib.machinery.DEBUG_BYTECODE_SUFFIXES`, +:const:`importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES`, +:class:`importlib.machinery.WindowsRegistryFinder`, +:class:`importlib.abc.ResourceLoader`, +:meth:`importlib.abc.SourceLoader.path_mtime`. + +.. + +.. date: 2024-12-12-18-25-50 +.. gh-issue: 127873 +.. nonce: WJRwfz +.. section: Library + +When ``-E`` is set, only ignore ``PYTHON_COLORS`` and not +``FORCE_COLOR``/``NO_COLOR``/``TERM`` when colourising output. Patch by Hugo +van Kemenade. + +.. + +.. date: 2024-12-10-19-39-35 +.. gh-issue: 125413 +.. nonce: wOb4yr +.. section: Library + +Add :attr:`pathlib.Path.info` attribute, which stores an object implementing +the :class:`pathlib.types.PathInfo` protocol (also new). The object supports +querying the file type and internally caching :func:`~os.stat` results. Path +objects generated by :meth:`~pathlib.Path.iterdir` are initialized with file +type information gleaned from scanning the parent directory. + +.. + +.. date: 2024-12-07-20-33-43 +.. gh-issue: 127712 +.. nonce: Uzsij4 +.. section: Library + +Fix handling of the ``secure`` argument of +:class:`logging.handlers.SMTPHandler`. + +.. + +.. date: 2024-11-24-22-06-42 +.. gh-issue: 127096 +.. nonce: R7LLpQ +.. section: Library + +Do not recreate unnamed section on every read in +:class:`configparser.ConfigParser`. Patch by Andrey Efremov. + +.. + +.. date: 2024-11-23-21-17-28 +.. gh-issue: 124369 +.. nonce: Z0hQFQ +.. section: Library + +Deprecate ``pdb.Pdb.curframe_locals`` + +.. + +.. date: 2024-11-10-19-45-01 +.. gh-issue: 126332 +.. nonce: WCCKoH +.. section: Library + +Fix _pyrepl crash when entering a double CTRL-Z on an overflowing line. + +.. + +.. date: 2024-10-26-16-59-02 +.. gh-issue: 125553 +.. nonce: 4pDLzt +.. section: Library + +Fix round-trip invariance for backslash continuations in +:func:`tokenize.untokenize`. + +.. + +.. date: 2024-10-02-11-17-23 +.. gh-issue: 91048 +.. nonce: QWY-b1 +.. section: Library + +Add :func:`asyncio.capture_call_graph` and :func:`asyncio.print_call_graph` +functions. + +.. + +.. date: 2024-09-27-19-21-53 +.. gh-issue: 124703 +.. nonce: lYTLEv +.. section: Library + +Quitting :mod:`pdb` in ``inline`` mode will emit a confirmation prompt and +exit gracefully now, instead of printing an exception traceback. + +.. + +.. date: 2024-09-12-14-24-25 +.. gh-issue: 123987 +.. nonce: 7_OD1p +.. section: Library + +Fixed issue in NamespaceReader where a non-path item in a namespace path, +such as a sentinel added by an editable installer, would break resource +loading. + +.. + +.. date: 2024-08-12-11-58-15 +.. gh-issue: 119349 +.. nonce: -xTnHl +.. section: Library + +Add the :func:`ctypes.util.dllist` function to list the loaded shared +libraries for the current process. + +.. + +.. date: 2024-08-01-01-00-00 +.. gh-issue: 55454 +.. nonce: wy0vGw +.. section: Library + +Add IMAP4 ``IDLE`` support to the :mod:`imaplib` module. Patch by Forest. + +.. + +.. date: 2024-07-14-23-19-20 +.. gh-issue: 119257 +.. nonce: 9OEzcN +.. section: Library + +Show tab completions menu below the current line, which results in less +janky behaviour, and fixes a cursor movement bug. Patch by Daniel Hollas + +.. + +.. date: 2023-02-01-16-41-31 +.. gh-issue: 101410 +.. nonce: Dt2aQE +.. section: Library + +Support custom messages for domain errors in the :mod:`math` module +(:func:`math.sqrt`, :func:`math.log` and :func:`math.atanh` were modified as +examples). Patch by Charlie Zhao and Sergey B Kirpichev. + +.. + +.. date: 2022-05-23-21-23-29 +.. gh-issue: 81340 +.. nonce: D11RkZ +.. section: Library + +Use :func:`os.copy_file_range` in :func:`shutil.copy`, :func:`shutil.copy2`, +and :func:`shutil.copyfile` functions by default. An underlying Linux system +call gives filesystems an opportunity to implement the use of copy-on-write +(in case of btrfs and XFS) or server-side copy (in the case of NFS.) Patch +by Illia Volochii. + +.. + +.. bpo: 27307 +.. date: 2020-08-07-16-55-57 +.. nonce: Xqzzda +.. section: Library + +Add attribute and item access support to :class:`string.Formatter` in +auto-numbering mode, which allows format strings like '{.name}' and '{[1]}'. + +.. + +.. date: 2025-02-08-23-42-24 +.. gh-issue: 129873 +.. nonce: -gofkd +.. section: IDLE + +Simplify displaying the IDLE doc by only copying the text section of +idle.html to idlelib/help.html. Patch by Stan Ulbrych. + +.. + +.. date: 2025-01-16-18-59-11 +.. gh-issue: 125722 +.. nonce: eHHRga +.. section: Documentation + +Require Sphinx 8.1.3 or later to build the Python documentation. Patch by +Adam Turner. + +.. + +.. date: 2025-01-14-11-06-41 +.. gh-issue: 67206 +.. nonce: LYKmi5 +.. section: Documentation + +Document that :const:`string.printable` is not printable in the POSIX sense. +In particular, :meth:`string.printable.isprintable() ` +returns :const:`False`. Patch by Bénédikt Tran. + +.. + +.. date: 2025-02-07-17-06-39 +.. gh-issue: 100239 +.. nonce: WvBTPL +.. section: Core and Builtins + +Replace the opcode BINARY_SUBSCR and its family by BINARY_OP with oparg +NB_SUBSCR. + +.. + +.. date: 2025-02-06-17-57-33 +.. gh-issue: 129732 +.. nonce: yl97oq +.. section: Core and Builtins + +Fixed a race in ``_Py_qsbr_reserve`` in the free threading build. + +.. + +.. date: 2025-02-06-17-05-09 +.. gh-issue: 129763 +.. nonce: 6ZxQ8W +.. section: Core and Builtins + +Remove the internal ``LLTRACE`` macro (use :c:macro:`Py_DEBUG` instead). + +.. + +.. date: 2025-02-05-22-58-18 +.. gh-issue: 129715 +.. nonce: mLlpIO +.. section: Core and Builtins + +Improve JIT performance for generators. + +.. + +.. date: 2025-02-05-11-29-52 +.. gh-issue: 129643 +.. nonce: 4mGzvg +.. section: Core and Builtins + +Fix thread safety of :c:func:`PyList_Insert` in free-threading builds. + +.. + +.. date: 2025-02-04-21-26-05 +.. gh-issue: 129668 +.. nonce: zDanyM +.. section: Core and Builtins + +Fix race condition when raising :exc:`MemoryError` in the free threaded +build. + +.. + +.. date: 2025-02-04-12-42-40 +.. gh-issue: 129643 +.. nonce: K24Zow +.. section: Core and Builtins + +Fix thread safety of :c:func:`PyList_SetItem` in free-threading builds. +Patch by Kumar Aditya. + +.. + +.. date: 2025-01-28-11-13-41 +.. gh-issue: 128563 +.. nonce: xElppE +.. section: Core and Builtins + +Fix an issue where the "lltrace" debug feature could have been incorrectly +enabled for some frames. + +.. + +.. date: 2025-01-28-10-26-04 +.. gh-issue: 129393 +.. nonce: 0eICq6 +.. section: Core and Builtins + +On FreeBSD, :data:`sys.platform` doesn't contain the major version anymore. +It is always ``'freebsd'``, instead of ``'freebsd13'`` or ``'freebsd14'``. + +.. + +.. date: 2025-01-28-06-23-59 +.. gh-issue: 129345 +.. nonce: uOjkML +.. section: Core and Builtins + +Fix null pointer dereference in :func:`syslog.openlog` when an audit hook +raises an exception. + +.. + +.. date: 2025-01-24-11-37-22 +.. gh-issue: 129231 +.. nonce: ZsAP9v +.. section: Core and Builtins + +Improve memory layout of JIT traces. Patch by Diego Russo + +.. + +.. date: 2025-01-22-14-24-44 +.. gh-issue: 129149 +.. nonce: wAYu43 +.. section: Core and Builtins + +Add fast path for medium-size integers in :c:func:`PyLong_FromUnsignedLong`, +:c:func:`PyLong_FromUnsignedLongLong` and :c:func:`PyLong_FromSize_t`. + +.. + +.. date: 2025-01-22-14-22-34 +.. gh-issue: 129201 +.. nonce: wiZzEb +.. section: Core and Builtins + +The free-threaded version of the cyclic garbage collector has been optimized +to conditionally use CPU prefetch instructions during the collection. This +can reduce collection times by making it more likely that data is in the CPU +cache when it is needed. The prefetch instructions are enabled if the +number of long-lived objects (objects surviving a full collection) exceeds a +threshold. + +.. + +.. date: 2025-01-21-23-35-41 +.. gh-issue: 129093 +.. nonce: 0rvETC +.. section: Core and Builtins + +Fix f-strings such as ``f'{expr=}'`` sometimes not displaying the full +expression when the expression contains ``!=``. + +.. + +.. date: 2025-01-21-19-48-30 +.. gh-issue: 124363 +.. nonce: vOFhHW +.. section: Core and Builtins + +Treat debug expressions in f-string as raw strings. Patch by Pablo Galindo + +.. + +.. date: 2025-01-19-09-07-44 +.. gh-issue: 128714 +.. nonce: m1fyCB +.. section: Core and Builtins + +Fix the potential races in get/set dunder methods ``__annotations__``, +``__annotate__`` and ``__type_params__`` for function object, and add +related tests. + +.. + +.. date: 2025-01-18-01-06-58 +.. gh-issue: 128799 +.. nonce: vSNagk +.. section: Core and Builtins + +Add frame of ``except*`` to traceback when it wraps a naked exception. + +.. + +.. date: 2025-01-17-13-16-14 +.. gh-issue: 128842 +.. nonce: OMs5X6 +.. section: Core and Builtins + +Collect JIT memory stats using pystats. Patch by Diego Russo. + +.. + +.. date: 2025-01-16-22-54-12 +.. gh-issue: 100239 +.. nonce: 7_HpBU +.. section: Core and Builtins + +Specialize ``BINARY_OP`` for bitwise logical operations on compact ints. + +.. + +.. date: 2025-01-16-18-16-18 +.. gh-issue: 128910 +.. nonce: 9pqfab +.. section: Core and Builtins + +Undocumented and unused private C-API functions ``_PyTrash_begin`` and +``_PyTrash_end`` are removed. + +.. + +.. date: 2025-01-13-17-03-49 +.. gh-issue: 128807 +.. nonce: BGGBxD +.. section: Core and Builtins + +Add a marking phase to the free-threaded GC. This is similar to what was +done in GH-126491. Since the free-threaded GC does not have generations and +is not incremental, the marking phase looks for all objects reachable from +known roots. The roots are objects known to not be garbage, like the module +dictionary for :mod:`sys`. For most programs, this marking phase should +make the GC a bit faster since typically less work is done per object. + +.. + +.. date: 2025-01-10-23-54-16 +.. gh-issue: 100239 +.. nonce: ijOOUs +.. section: Core and Builtins + +Add opcode ``BINARY_OP_EXTEND`` which executes a pair of functions (guard +and specialization functions) accessed from the inline cache. + +.. + +.. date: 2025-01-10-18-56-20 +.. gh-issue: 128563 +.. nonce: baDvls +.. section: Core and Builtins + +A new type of interpreter has been added to CPython. This interpreter uses +tail calls for its instruction handlers. Preliminary benchmark results +suggest 7-11% geometric mean faster on pyperformance (depending on +platform), and up to 30% faster on Python-intensive workloads. This +interpreter currently only works on newer compilers, such as ``clang-19``. +Other compilers will continue using the old interpreter. Patch by Ken Jin, +with ideas on how to implement this in CPython by Mark Shannon, Garret Gu, +Haoran Xu, and Josh Haberman. + +.. + +.. date: 2025-01-07-19-26-40 +.. gh-issue: 126703 +.. nonce: 9i-S5t +.. section: Core and Builtins + +Improve performance of iterating over lists and tuples by using a freelist +for the iterator objects. + +.. + +.. date: 2024-12-30-15-49-31 +.. gh-issue: 127953 +.. nonce: B4_6L9 +.. section: Core and Builtins + +The time to handle a ``LINE`` event in sys.monitoring (and sys.settrace) is +now independent of the number of lines in the code object. + +.. + +.. date: 2024-12-29-15-09-21 +.. gh-issue: 128330 +.. nonce: IaYL7G +.. section: Core and Builtins + +Restore terminal control characters on REPL exit. + +.. + +.. date: 2024-12-17-09-28-17 +.. gh-issue: 128016 +.. nonce: DPqhah +.. section: Core and Builtins + +Improved the ``SyntaxWarning`` message for invalid escape sequences to +clarify that such sequences will raise a ``SyntaxError`` in future Python +releases. The new message also suggests a potential fix, i.e., ``Did you +mean "\\e"?``. + +.. + +.. date: 2024-12-06-11-32-58 +.. gh-issue: 126004 +.. nonce: CYAwTB +.. section: Core and Builtins + +Fix handling of :attr:`UnicodeError.start` and :attr:`UnicodeError.end` +values in the :func:`codecs.replace_errors` error handler. Patch by Bénédikt +Tran. + +.. + +.. date: 2024-12-06-11-30-58 +.. gh-issue: 126004 +.. nonce: -p8MAS +.. section: Core and Builtins + +Fix handling of :attr:`UnicodeError.start` and :attr:`UnicodeError.end` +values in the :func:`codecs.backslashreplace_errors` error handler. Patch by +Bénédikt Tran. + +.. + +.. date: 2024-12-06-11-17-46 +.. gh-issue: 126004 +.. nonce: -p8MAS +.. section: Core and Builtins + +Fix handling of :attr:`UnicodeError.start` and :attr:`UnicodeError.end` +values in the :func:`codecs.xmlcharrefreplace_errors` error handler. Patch +by Bénédikt Tran. + +.. + +.. date: 2024-12-04-22-14-40 +.. gh-issue: 127119 +.. nonce: _hpyFE +.. section: Core and Builtins + +Slightly optimize the :class:`int` deallocator. + +.. + +.. date: 2024-11-30-16-13-31 +.. gh-issue: 127349 +.. nonce: ssYd6n +.. section: Core and Builtins + +Fixed the error when resizing terminal in Python REPL. Patch by Semyon +Moroz. + +.. + +.. date: 2024-11-18-12-17-45 +.. gh-issue: 125723 +.. nonce: tW_hFG +.. section: Core and Builtins + +Fix crash with ``gi_frame.f_locals`` when generator frames outlive their +generator. Patch by Mikhail Efimov. + +.. + +.. date: 2024-11-03-06-05-16 +.. gh-issue: 126349 +.. nonce: 7YwWsI +.. section: Core and Builtins + +Add :func:`turtle.fill`, :func:`turtle.poly` and :func:`turtle.no_animation` +context managers. Patch by Marie Roald and Yngve Mardal Moe. + +.. + +.. date: 2024-02-29-16-55-52 +.. gh-issue: 115911 +.. nonce: Vnkue_ +.. section: Core and Builtins + +If the current working directory cannot be determined due to permissions, +then import will no longer raise :exc:`PermissionError`. Patch by Alex +Willmer. + +.. + +.. date: 2023-12-04-15-53-25 +.. gh-issue: 112713 +.. nonce: Zrhv77 +.. section: Core and Builtins + +Added support for the ``Partitioned`` cookie flag in :mod:`http.cookies`. + +.. + +.. date: 2025-02-02-12-58-21 +.. gh-issue: 129533 +.. nonce: dFfqkT +.. section: C API + +Update :c:func:`PyGC_Enable()`, :c:func:`PyGC_Disable()`, +:c:func:`PyGC_IsEnabled()` to use atomic operation for thread-safety at +free-threading build. Patch by Donghee Na. + +.. + +.. date: 2025-01-29-11-58-38 +.. gh-issue: 89188 +.. nonce: BsfLr3 +.. section: C API + +Implement :c:func:`PyUnicode_KIND` and :c:func:`PyUnicode_DATA` as function, +in addition to the macros with the same names. The macros rely on C bit +fields which have compiler-specific layout. Patch by Victor Stinner. + +.. + +.. date: 2025-01-28-13-21-17 +.. gh-issue: 91417 +.. nonce: AfiR0t +.. section: C API + +Remove :c:func:`PySequence_Fast` from the limited C API, since this function +has to be used with :c:macro:`PySequence_Fast_GET_ITEM` which never worked +in the limited C API. Patch by Victor Stinner. + +.. + +.. date: 2025-01-22-09-28-04 +.. gh-issue: 128509 +.. nonce: gqQ36L +.. section: C API + +Add :c:func:`PyUnstable_IsImmortal` for determining whether an object is +:term:`immortal`. + +.. + +.. date: 2025-01-20-10-40-11 +.. gh-issue: 129033 +.. nonce: d1jltB +.. section: C API + +Remove ``_PyInterpreterState_GetConfigCopy()`` and +``_PyInterpreterState_SetConfig()`` private functions. Use instead +:c:func:`PyConfig_Get` and :c:func:`PyConfig_Set`, public C API added by +:pep:`741` "Python Configuration C API". Patch by Victor Stinner. + +.. + +.. date: 2025-01-19-23-17-58 +.. gh-issue: 129033 +.. nonce: cpRivP +.. section: C API + +Remove the private ``_Py_InitializeMain()`` function. It was a +:term:`provisional API` added to Python 3.8 by :pep:`587`. Patch by Victor +Stinner. + +.. + +.. date: 2025-01-16-21-56-49 +.. gh-issue: 128844 +.. nonce: ZPiJuo +.. section: C API + +Add :c:func:`PyUnstable_TryIncRef` and :c:func:`PyUnstable_EnableTryIncRef` +unstable APIs. These are helpers for dealing with unowned references in a +thread-safe way, particularly in the free threading build. + +.. + +.. date: 2025-01-16-12-47-01 +.. gh-issue: 128911 +.. nonce: mHVJ4x +.. section: C API + +Add :c:func:`PyImport_ImportModuleAttr` and +:c:func:`PyImport_ImportModuleAttrString` helper functions to import a +module and get an attribute of the module. Patch by Victor Stinner. + +.. + +.. date: 2025-01-15-11-42-07 +.. gh-issue: 128863 +.. nonce: C9MkB_ +.. section: C API + +The following private functions are deprecated and planned for removal in +Python 3.18: + +* :c:func:`!_PyBytes_Join`: use :c:func:`PyBytes_Join`. +* :c:func:`!_PyDict_GetItemStringWithError`: use :c:func:`PyDict_GetItemStringRef`. +* :c:func:`!_PyDict_Pop()`: use :c:func:`PyDict_Pop`. +* :c:func:`!_PyLong_Sign()`: use :c:func:`PyLong_GetSign`. +* :c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: + use :c:func:`PyLongWriter_Create`. +* :c:func:`!_PyThreadState_UncheckedGet`: use :c:func:`PyThreadState_GetUnchecked`. +* :c:func:`!_PyUnicode_AsString`: use :c:func:`PyUnicode_AsUTF8`. +* :c:func:`!_Py_HashPointer`: use :c:func:`Py_HashPointer`. +* :c:func:`!_Py_fopen_obj`: use :c:func:`Py_fopen`. + +The `pythoncapi-compat project +`__ can be used to get these +new public functions on Python 3.13 and older. + +Patch by Victor Stinner. + +.. + +.. date: 2025-01-01-03-25-38 +.. gh-issue: 126599 +.. nonce: MRCYlH +.. section: C API + +Remove some internal test APIs for the experimental JIT compiler. + +.. + +.. date: 2024-12-14-03-40-15 +.. gh-issue: 127925 +.. nonce: FF7aov +.. section: C API + +Convert the :mod:`decimal` module to use :pep:`757` C API (export-import +integers), offering some speed-up if the integer part of the +:class:`~decimal.Decimal` instance is small. Patch by Sergey B Kirpichev. + +.. + +.. date: 2025-02-04-12-30-43 +.. gh-issue: 129660 +.. nonce: SitXa7 +.. section: Build + +Drop ``test_embed`` from PGO training, whose contribution in recent versions +is considered to be ignorable. + +.. + +.. date: 2025-01-16-03-35-37 +.. gh-issue: 128902 +.. nonce: Dt7xtV +.. section: Build + +Fix compile errors with Clang 9 and older due to lack of +``__attribute__((fallthrough))`` support. diff --git a/Misc/NEWS.d/next/Build/2025-01-16-03-35-37.gh-issue-128902.Dt7xtV.rst b/Misc/NEWS.d/next/Build/2025-01-16-03-35-37.gh-issue-128902.Dt7xtV.rst deleted file mode 100644 index 42ac492498e029..00000000000000 --- a/Misc/NEWS.d/next/Build/2025-01-16-03-35-37.gh-issue-128902.Dt7xtV.rst +++ /dev/null @@ -1 +0,0 @@ -Fix compile errors with Clang 9 and older due to lack of ``__attribute__((fallthrough))`` support. diff --git a/Misc/NEWS.d/next/Build/2025-02-04-12-30-43.gh-issue-129660.SitXa7.rst b/Misc/NEWS.d/next/Build/2025-02-04-12-30-43.gh-issue-129660.SitXa7.rst deleted file mode 100644 index 945f91be63809a..00000000000000 --- a/Misc/NEWS.d/next/Build/2025-02-04-12-30-43.gh-issue-129660.SitXa7.rst +++ /dev/null @@ -1,2 +0,0 @@ -Drop ``test_embed`` from PGO training, whose contribution in recent -versions is considered to be ignorable. diff --git a/Misc/NEWS.d/next/C_API/2024-12-14-03-40-15.gh-issue-127925.FF7aov.rst b/Misc/NEWS.d/next/C_API/2024-12-14-03-40-15.gh-issue-127925.FF7aov.rst deleted file mode 100644 index 6cf5fd2872cd43..00000000000000 --- a/Misc/NEWS.d/next/C_API/2024-12-14-03-40-15.gh-issue-127925.FF7aov.rst +++ /dev/null @@ -1,3 +0,0 @@ -Convert the :mod:`decimal` module to use :pep:`757` C API (export-import -integers), offering some speed-up if the integer part of the -:class:`~decimal.Decimal` instance is small. Patch by Sergey B Kirpichev. diff --git a/Misc/NEWS.d/next/C_API/2025-01-01-03-25-38.gh-issue-126599.MRCYlH.rst b/Misc/NEWS.d/next/C_API/2025-01-01-03-25-38.gh-issue-126599.MRCYlH.rst deleted file mode 100644 index 8362ee3a2b1760..00000000000000 --- a/Misc/NEWS.d/next/C_API/2025-01-01-03-25-38.gh-issue-126599.MRCYlH.rst +++ /dev/null @@ -1 +0,0 @@ -Remove some internal test APIs for the experimental JIT compiler. diff --git a/Misc/NEWS.d/next/C_API/2025-01-15-11-42-07.gh-issue-128863.C9MkB_.rst b/Misc/NEWS.d/next/C_API/2025-01-15-11-42-07.gh-issue-128863.C9MkB_.rst deleted file mode 100644 index b2e5664138fba2..00000000000000 --- a/Misc/NEWS.d/next/C_API/2025-01-15-11-42-07.gh-issue-128863.C9MkB_.rst +++ /dev/null @@ -1,19 +0,0 @@ -The following private functions are deprecated and planned for removal in -Python 3.18: - -* :c:func:`!_PyBytes_Join`: use :c:func:`PyBytes_Join`. -* :c:func:`!_PyDict_GetItemStringWithError`: use :c:func:`PyDict_GetItemStringRef`. -* :c:func:`!_PyDict_Pop()`: use :c:func:`PyDict_Pop`. -* :c:func:`!_PyLong_Sign()`: use :c:func:`PyLong_GetSign`. -* :c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: - use :c:func:`PyLongWriter_Create`. -* :c:func:`!_PyThreadState_UncheckedGet`: use :c:func:`PyThreadState_GetUnchecked`. -* :c:func:`!_PyUnicode_AsString`: use :c:func:`PyUnicode_AsUTF8`. -* :c:func:`!_Py_HashPointer`: use :c:func:`Py_HashPointer`. -* :c:func:`!_Py_fopen_obj`: use :c:func:`Py_fopen`. - -The `pythoncapi-compat project -`__ can be used to get these new -public functions on Python 3.13 and older. - -Patch by Victor Stinner. diff --git a/Misc/NEWS.d/next/C_API/2025-01-16-12-47-01.gh-issue-128911.mHVJ4x.rst b/Misc/NEWS.d/next/C_API/2025-01-16-12-47-01.gh-issue-128911.mHVJ4x.rst deleted file mode 100644 index d32cd00cd5d605..00000000000000 --- a/Misc/NEWS.d/next/C_API/2025-01-16-12-47-01.gh-issue-128911.mHVJ4x.rst +++ /dev/null @@ -1,3 +0,0 @@ -Add :c:func:`PyImport_ImportModuleAttr` and :c:func:`PyImport_ImportModuleAttrString` -helper functions to import a module and get an attribute of the module. Patch -by Victor Stinner. diff --git a/Misc/NEWS.d/next/C_API/2025-01-16-21-56-49.gh-issue-128844.ZPiJuo.rst b/Misc/NEWS.d/next/C_API/2025-01-16-21-56-49.gh-issue-128844.ZPiJuo.rst deleted file mode 100644 index d9e1962631026a..00000000000000 --- a/Misc/NEWS.d/next/C_API/2025-01-16-21-56-49.gh-issue-128844.ZPiJuo.rst +++ /dev/null @@ -1,3 +0,0 @@ -Add :c:func:`PyUnstable_TryIncRef` and :c:func:`PyUnstable_EnableTryIncRef` -unstable APIs. These are helpers for dealing with unowned references in -a thread-safe way, particularly in the free threading build. diff --git a/Misc/NEWS.d/next/C_API/2025-01-19-23-17-58.gh-issue-129033.cpRivP.rst b/Misc/NEWS.d/next/C_API/2025-01-19-23-17-58.gh-issue-129033.cpRivP.rst deleted file mode 100644 index 3cd19cc48e3416..00000000000000 --- a/Misc/NEWS.d/next/C_API/2025-01-19-23-17-58.gh-issue-129033.cpRivP.rst +++ /dev/null @@ -1,3 +0,0 @@ -Remove the private ``_Py_InitializeMain()`` function. It was a -:term:`provisional API` added to Python 3.8 by :pep:`587`. Patch by Victor -Stinner. diff --git a/Misc/NEWS.d/next/C_API/2025-01-20-10-40-11.gh-issue-129033.d1jltB.rst b/Misc/NEWS.d/next/C_API/2025-01-20-10-40-11.gh-issue-129033.d1jltB.rst deleted file mode 100644 index c0c109d5ce1ca2..00000000000000 --- a/Misc/NEWS.d/next/C_API/2025-01-20-10-40-11.gh-issue-129033.d1jltB.rst +++ /dev/null @@ -1,4 +0,0 @@ -Remove ``_PyInterpreterState_GetConfigCopy()`` and -``_PyInterpreterState_SetConfig()`` private functions. Use instead -:c:func:`PyConfig_Get` and :c:func:`PyConfig_Set`, public C API added by -:pep:`741` "Python Configuration C API". Patch by Victor Stinner. diff --git a/Misc/NEWS.d/next/C_API/2025-01-22-09-28-04.gh-issue-128509.gqQ36L.rst b/Misc/NEWS.d/next/C_API/2025-01-22-09-28-04.gh-issue-128509.gqQ36L.rst deleted file mode 100644 index c4a048fe3195d1..00000000000000 --- a/Misc/NEWS.d/next/C_API/2025-01-22-09-28-04.gh-issue-128509.gqQ36L.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add :c:func:`PyUnstable_IsImmortal` for determining whether an object is -:term:`immortal`. diff --git a/Misc/NEWS.d/next/C_API/2025-01-28-13-21-17.gh-issue-91417.AfiR0t.rst b/Misc/NEWS.d/next/C_API/2025-01-28-13-21-17.gh-issue-91417.AfiR0t.rst deleted file mode 100644 index e1017188b8d0ce..00000000000000 --- a/Misc/NEWS.d/next/C_API/2025-01-28-13-21-17.gh-issue-91417.AfiR0t.rst +++ /dev/null @@ -1,3 +0,0 @@ -Remove :c:func:`PySequence_Fast` from the limited C API, since this function -has to be used with :c:macro:`PySequence_Fast_GET_ITEM` which never worked -in the limited C API. Patch by Victor Stinner. diff --git a/Misc/NEWS.d/next/C_API/2025-01-29-11-58-38.gh-issue-89188.BsfLr3.rst b/Misc/NEWS.d/next/C_API/2025-01-29-11-58-38.gh-issue-89188.BsfLr3.rst deleted file mode 100644 index 7ff225a7dc60c7..00000000000000 --- a/Misc/NEWS.d/next/C_API/2025-01-29-11-58-38.gh-issue-89188.BsfLr3.rst +++ /dev/null @@ -1,3 +0,0 @@ -Implement :c:func:`PyUnicode_KIND` and :c:func:`PyUnicode_DATA` as function, -in addition to the macros with the same names. The macros rely on C bit -fields which have compiler-specific layout. Patch by Victor Stinner. diff --git a/Misc/NEWS.d/next/C_API/2025-02-02-12-58-21.gh-issue-129533.dFfqkT.rst b/Misc/NEWS.d/next/C_API/2025-02-02-12-58-21.gh-issue-129533.dFfqkT.rst deleted file mode 100644 index 20e93e2bcc1f47..00000000000000 --- a/Misc/NEWS.d/next/C_API/2025-02-02-12-58-21.gh-issue-129533.dFfqkT.rst +++ /dev/null @@ -1,3 +0,0 @@ -Update :c:func:`PyGC_Enable()`, :c:func:`PyGC_Disable()`, -:c:func:`PyGC_IsEnabled()` to use atomic operation for thread-safety -at free-threading build. Patch by Donghee Na. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2023-12-04-15-53-25.gh-issue-112713.Zrhv77.rst b/Misc/NEWS.d/next/Core_and_Builtins/2023-12-04-15-53-25.gh-issue-112713.Zrhv77.rst deleted file mode 100644 index ee1f33f95647bd..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2023-12-04-15-53-25.gh-issue-112713.Zrhv77.rst +++ /dev/null @@ -1 +0,0 @@ -Added support for the ``Partitioned`` cookie flag in :mod:`http.cookies`. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-02-29-16-55-52.gh-issue-115911.Vnkue_.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-02-29-16-55-52.gh-issue-115911.Vnkue_.rst deleted file mode 100644 index 717804be95b18b..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2024-02-29-16-55-52.gh-issue-115911.Vnkue_.rst +++ /dev/null @@ -1,3 +0,0 @@ -If the current working directory cannot be determined due to permissions, -then import will no longer raise :exc:`PermissionError`. Patch by Alex -Willmer. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-11-03-06-05-16.gh-issue-126349.7YwWsI.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-11-03-06-05-16.gh-issue-126349.7YwWsI.rst deleted file mode 100644 index aecc8c9abf3ce9..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2024-11-03-06-05-16.gh-issue-126349.7YwWsI.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add :func:`turtle.fill`, :func:`turtle.poly` and :func:`turtle.no_animation` context managers. -Patch by Marie Roald and Yngve Mardal Moe. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-11-18-12-17-45.gh-issue-125723.tW_hFG.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-11-18-12-17-45.gh-issue-125723.tW_hFG.rst deleted file mode 100644 index 62ca6f62f521a8..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2024-11-18-12-17-45.gh-issue-125723.tW_hFG.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix crash with ``gi_frame.f_locals`` when generator frames outlive their -generator. Patch by Mikhail Efimov. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-11-30-16-13-31.gh-issue-127349.ssYd6n.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-11-30-16-13-31.gh-issue-127349.ssYd6n.rst deleted file mode 100644 index 3c1586b6cbb8e7..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2024-11-30-16-13-31.gh-issue-127349.ssYd6n.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fixed the error when resizing terminal in Python REPL. Patch by Semyon -Moroz. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-04-22-14-40.gh-issue-127119._hpyFE.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-12-04-22-14-40.gh-issue-127119._hpyFE.rst deleted file mode 100644 index f021bd490f488c..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-04-22-14-40.gh-issue-127119._hpyFE.rst +++ /dev/null @@ -1 +0,0 @@ -Slightly optimize the :class:`int` deallocator. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-06-11-17-46.gh-issue-126004.-p8MAS.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-12-06-11-17-46.gh-issue-126004.-p8MAS.rst deleted file mode 100644 index 60b1c5d8b80793..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-06-11-17-46.gh-issue-126004.-p8MAS.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix handling of :attr:`UnicodeError.start` and :attr:`UnicodeError.end` -values in the :func:`codecs.xmlcharrefreplace_errors` error handler. -Patch by Bénédikt Tran. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-06-11-30-58.gh-issue-126004.-p8MAS.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-12-06-11-30-58.gh-issue-126004.-p8MAS.rst deleted file mode 100644 index 619d73042a9bb8..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-06-11-30-58.gh-issue-126004.-p8MAS.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix handling of :attr:`UnicodeError.start` and :attr:`UnicodeError.end` -values in the :func:`codecs.backslashreplace_errors` error handler. Patch by -Bénédikt Tran. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-06-11-32-58.gh-issue-126004.CYAwTB.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-12-06-11-32-58.gh-issue-126004.CYAwTB.rst deleted file mode 100644 index de70c59ee48eec..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-06-11-32-58.gh-issue-126004.CYAwTB.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix handling of :attr:`UnicodeError.start` and :attr:`UnicodeError.end` -values in the :func:`codecs.replace_errors` error handler. Patch by Bénédikt -Tran. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-17-09-28-17.gh-issue-128016.DPqhah.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-12-17-09-28-17.gh-issue-128016.DPqhah.rst deleted file mode 100644 index 0832d777bc3251..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-17-09-28-17.gh-issue-128016.DPqhah.rst +++ /dev/null @@ -1 +0,0 @@ -Improved the ``SyntaxWarning`` message for invalid escape sequences to clarify that such sequences will raise a ``SyntaxError`` in future Python releases. The new message also suggests a potential fix, i.e., ``Did you mean "\\e"?``. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-29-15-09-21.gh-issue-128330.IaYL7G.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-12-29-15-09-21.gh-issue-128330.IaYL7G.rst deleted file mode 100644 index 8fe628d18f4bd4..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-29-15-09-21.gh-issue-128330.IaYL7G.rst +++ /dev/null @@ -1 +0,0 @@ -Restore terminal control characters on REPL exit. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-30-15-49-31.gh-issue-127953.B4_6L9.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-12-30-15-49-31.gh-issue-127953.B4_6L9.rst deleted file mode 100644 index f19afcd90b16ea..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2024-12-30-15-49-31.gh-issue-127953.B4_6L9.rst +++ /dev/null @@ -1,2 +0,0 @@ -The time to handle a ``LINE`` event in sys.monitoring (and sys.settrace) is -now independent of the number of lines in the code object. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-07-19-26-40.gh-issue-126703.9i-S5t.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-07-19-26-40.gh-issue-126703.9i-S5t.rst deleted file mode 100644 index dcd5f449c98ef3..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-07-19-26-40.gh-issue-126703.9i-S5t.rst +++ /dev/null @@ -1 +0,0 @@ -Improve performance of iterating over lists and tuples by using a freelist for the iterator objects. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-10-18-56-20.gh-issue-128563.baDvls.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-10-18-56-20.gh-issue-128563.baDvls.rst deleted file mode 100644 index 4d29f346cb6251..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-10-18-56-20.gh-issue-128563.baDvls.rst +++ /dev/null @@ -1 +0,0 @@ -A new type of interpreter has been added to CPython. This interpreter uses tail calls for its instruction handlers. Preliminary benchmark results suggest 7-11% geometric mean faster on pyperformance (depending on platform), and up to 30% faster on Python-intensive workloads. This interpreter currently only works on newer compilers, such as ``clang-19``. Other compilers will continue using the old interpreter. Patch by Ken Jin, with ideas on how to implement this in CPython by Mark Shannon, Garret Gu, Haoran Xu, and Josh Haberman. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-10-23-54-16.gh-issue-100239.ijOOUs.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-10-23-54-16.gh-issue-100239.ijOOUs.rst deleted file mode 100644 index f58c1fc767515e..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-10-23-54-16.gh-issue-100239.ijOOUs.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add opcode ``BINARY_OP_EXTEND`` which executes a pair of functions (guard and -specialization functions) accessed from the inline cache. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-13-17-03-49.gh-issue-128807.BGGBxD.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-13-17-03-49.gh-issue-128807.BGGBxD.rst deleted file mode 100644 index 34952e9abb66e5..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-13-17-03-49.gh-issue-128807.BGGBxD.rst +++ /dev/null @@ -1,6 +0,0 @@ -Add a marking phase to the free-threaded GC. This is similar to what was -done in GH-126491. Since the free-threaded GC does not have generations and -is not incremental, the marking phase looks for all objects reachable from -known roots. The roots are objects known to not be garbage, like the module -dictionary for :mod:`sys`. For most programs, this marking phase should -make the GC a bit faster since typically less work is done per object. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-16-18-16-18.gh-issue-128910.9pqfab.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-16-18-16-18.gh-issue-128910.9pqfab.rst deleted file mode 100644 index e095ba9ebf6be4..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-16-18-16-18.gh-issue-128910.9pqfab.rst +++ /dev/null @@ -1,2 +0,0 @@ -Undocumented and unused private C-API functions ``_PyTrash_begin`` and -``_PyTrash_end`` are removed. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-16-22-54-12.gh-issue-100239.7_HpBU.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-16-22-54-12.gh-issue-100239.7_HpBU.rst deleted file mode 100644 index 6f086b7ecc0036..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-16-22-54-12.gh-issue-100239.7_HpBU.rst +++ /dev/null @@ -1 +0,0 @@ -Specialize ``BINARY_OP`` for bitwise logical operations on compact ints. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-17-13-16-14.gh-issue-128842.OMs5X6.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-17-13-16-14.gh-issue-128842.OMs5X6.rst deleted file mode 100644 index 9898060076db79..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-17-13-16-14.gh-issue-128842.OMs5X6.rst +++ /dev/null @@ -1 +0,0 @@ -Collect JIT memory stats using pystats. Patch by Diego Russo. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-18-01-06-58.gh-issue-128799.vSNagk.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-18-01-06-58.gh-issue-128799.vSNagk.rst deleted file mode 100644 index eb2361bb5d4525..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-18-01-06-58.gh-issue-128799.vSNagk.rst +++ /dev/null @@ -1 +0,0 @@ -Add frame of ``except*`` to traceback when it wraps a naked exception. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-19-09-07-44.gh-issue-128714.m1fyCB.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-19-09-07-44.gh-issue-128714.m1fyCB.rst deleted file mode 100644 index 431032241e9157..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-19-09-07-44.gh-issue-128714.m1fyCB.rst +++ /dev/null @@ -1 +0,0 @@ -Fix the potential races in get/set dunder methods ``__annotations__``, ``__annotate__`` and ``__type_params__`` for function object, and add related tests. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-21-19-48-30.gh-issue-124363.vOFhHW.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-21-19-48-30.gh-issue-124363.vOFhHW.rst deleted file mode 100644 index 553aa5a4dd573e..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-21-19-48-30.gh-issue-124363.vOFhHW.rst +++ /dev/null @@ -1 +0,0 @@ -Treat debug expressions in f-string as raw strings. Patch by Pablo Galindo diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-21-23-35-41.gh-issue-129093.0rvETC.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-21-23-35-41.gh-issue-129093.0rvETC.rst deleted file mode 100644 index 067d52eff2da1e..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-21-23-35-41.gh-issue-129093.0rvETC.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix f-strings such as ``f'{expr=}'`` sometimes not displaying the full -expression when the expression contains ``!=``. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-22-14-22-34.gh-issue-129201.wiZzEb.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-22-14-22-34.gh-issue-129201.wiZzEb.rst deleted file mode 100644 index 26737330716181..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-22-14-22-34.gh-issue-129201.wiZzEb.rst +++ /dev/null @@ -1,5 +0,0 @@ -The free-threaded version of the cyclic garbage collector has been optimized to -conditionally use CPU prefetch instructions during the collection. This can -reduce collection times by making it more likely that data is in the CPU cache -when it is needed. The prefetch instructions are enabled if the number of -long-lived objects (objects surviving a full collection) exceeds a threshold. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-22-14-24-44.gh-issue-129149.wAYu43.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-22-14-24-44.gh-issue-129149.wAYu43.rst deleted file mode 100644 index d946f6a2fea185..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-22-14-24-44.gh-issue-129149.wAYu43.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add fast path for medium-size integers in :c:func:`PyLong_FromUnsignedLong`, -:c:func:`PyLong_FromUnsignedLongLong` and :c:func:`PyLong_FromSize_t`. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-24-11-37-22.gh-issue-129231.ZsAP9v.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-24-11-37-22.gh-issue-129231.ZsAP9v.rst deleted file mode 100644 index b30492a1947058..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-24-11-37-22.gh-issue-129231.ZsAP9v.rst +++ /dev/null @@ -1 +0,0 @@ -Improve memory layout of JIT traces. Patch by Diego Russo diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-06-23-59.gh-issue-129345.uOjkML.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-06-23-59.gh-issue-129345.uOjkML.rst deleted file mode 100644 index 68e1103db45652..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-06-23-59.gh-issue-129345.uOjkML.rst +++ /dev/null @@ -1 +0,0 @@ -Fix null pointer dereference in :func:`syslog.openlog` when an audit hook raises an exception. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-10-26-04.gh-issue-129393.0eICq6.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-10-26-04.gh-issue-129393.0eICq6.rst deleted file mode 100644 index e36e6f565efd81..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-10-26-04.gh-issue-129393.0eICq6.rst +++ /dev/null @@ -1,2 +0,0 @@ -On FreeBSD, :data:`sys.platform` doesn't contain the major version anymore. -It is always ``'freebsd'``, instead of ``'freebsd13'`` or ``'freebsd14'``. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-11-13-41.gh-issue-128563.xElppE.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-11-13-41.gh-issue-128563.xElppE.rst deleted file mode 100644 index dfd932e836bda6..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-11-13-41.gh-issue-128563.xElppE.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix an issue where the "lltrace" debug feature could have been incorrectly -enabled for some frames. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-04-12-42-40.gh-issue-129643.K24Zow.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-02-04-12-42-40.gh-issue-129643.K24Zow.rst deleted file mode 100644 index 27dd3b7f652aca..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-04-12-42-40.gh-issue-129643.K24Zow.rst +++ /dev/null @@ -1 +0,0 @@ -Fix thread safety of :c:func:`PyList_SetItem` in free-threading builds. Patch by Kumar Aditya. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-04-21-26-05.gh-issue-129668.zDanyM.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-02-04-21-26-05.gh-issue-129668.zDanyM.rst deleted file mode 100644 index e42ef57c3164a1..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-04-21-26-05.gh-issue-129668.zDanyM.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix race condition when raising :exc:`MemoryError` in the free threaded -build. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-05-11-29-52.gh-issue-129643.4mGzvg.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-02-05-11-29-52.gh-issue-129643.4mGzvg.rst deleted file mode 100644 index 420e1fb9781ff3..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-05-11-29-52.gh-issue-129643.4mGzvg.rst +++ /dev/null @@ -1 +0,0 @@ -Fix thread safety of :c:func:`PyList_Insert` in free-threading builds. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-05-22-58-18.gh-issue-129715.mLlpIO.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-02-05-22-58-18.gh-issue-129715.mLlpIO.rst deleted file mode 100644 index f8eb7481aea350..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-05-22-58-18.gh-issue-129715.mLlpIO.rst +++ /dev/null @@ -1 +0,0 @@ -Improve JIT performance for generators. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-06-17-05-09.gh-issue-129763.6ZxQ8W.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-02-06-17-05-09.gh-issue-129763.6ZxQ8W.rst deleted file mode 100644 index ffb96c20fcad7e..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-06-17-05-09.gh-issue-129763.6ZxQ8W.rst +++ /dev/null @@ -1 +0,0 @@ -Remove the internal ``LLTRACE`` macro (use :c:macro:`Py_DEBUG` instead). diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-06-17-57-33.gh-issue-129732.yl97oq.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-02-06-17-57-33.gh-issue-129732.yl97oq.rst deleted file mode 100644 index a4b104af61692a..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-06-17-57-33.gh-issue-129732.yl97oq.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed a race in ``_Py_qsbr_reserve`` in the free threading build. diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-07-17-06-39.gh-issue-100239.WvBTPL.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-02-07-17-06-39.gh-issue-100239.WvBTPL.rst deleted file mode 100644 index 428111cff1bc79..00000000000000 --- a/Misc/NEWS.d/next/Core_and_Builtins/2025-02-07-17-06-39.gh-issue-100239.WvBTPL.rst +++ /dev/null @@ -1 +0,0 @@ -Replace the opcode BINARY_SUBSCR and its family by BINARY_OP with oparg NB_SUBSCR. diff --git a/Misc/NEWS.d/next/Documentation/2025-01-14-11-06-41.gh-issue-67206.LYKmi5.rst b/Misc/NEWS.d/next/Documentation/2025-01-14-11-06-41.gh-issue-67206.LYKmi5.rst deleted file mode 100644 index 11fb617e98edc3..00000000000000 --- a/Misc/NEWS.d/next/Documentation/2025-01-14-11-06-41.gh-issue-67206.LYKmi5.rst +++ /dev/null @@ -1,3 +0,0 @@ -Document that :const:`string.printable` is not printable in the POSIX sense. -In particular, :meth:`string.printable.isprintable() ` returns -:const:`False`. Patch by Bénédikt Tran. diff --git a/Misc/NEWS.d/next/Documentation/2025-01-16-18-59-11.gh-issue-125722.eHHRga.rst b/Misc/NEWS.d/next/Documentation/2025-01-16-18-59-11.gh-issue-125722.eHHRga.rst deleted file mode 100644 index bf6253eed2eb90..00000000000000 --- a/Misc/NEWS.d/next/Documentation/2025-01-16-18-59-11.gh-issue-125722.eHHRga.rst +++ /dev/null @@ -1,2 +0,0 @@ -Require Sphinx 8.1.3 or later to build the Python documentation. Patch by -Adam Turner. diff --git a/Misc/NEWS.d/next/IDLE/2025-02-08-23-42-24.gh-issue-129873.-gofkd.rst b/Misc/NEWS.d/next/IDLE/2025-02-08-23-42-24.gh-issue-129873.-gofkd.rst deleted file mode 100644 index d13f11550fc02d..00000000000000 --- a/Misc/NEWS.d/next/IDLE/2025-02-08-23-42-24.gh-issue-129873.-gofkd.rst +++ /dev/null @@ -1,2 +0,0 @@ -Simplify displaying the IDLE doc by only copying the text section of -idle.html to idlelib/help.html. Patch by Stan Ulbrych. diff --git a/Misc/NEWS.d/next/Library/2020-08-07-16-55-57.bpo-27307.Xqzzda.rst b/Misc/NEWS.d/next/Library/2020-08-07-16-55-57.bpo-27307.Xqzzda.rst deleted file mode 100644 index 6e7a856d994cb6..00000000000000 --- a/Misc/NEWS.d/next/Library/2020-08-07-16-55-57.bpo-27307.Xqzzda.rst +++ /dev/null @@ -1 +0,0 @@ -Add attribute and item access support to :class:`string.Formatter` in auto-numbering mode, which allows format strings like '{.name}' and '{[1]}'. diff --git a/Misc/NEWS.d/next/Library/2022-05-23-21-23-29.gh-issue-81340.D11RkZ.rst b/Misc/NEWS.d/next/Library/2022-05-23-21-23-29.gh-issue-81340.D11RkZ.rst deleted file mode 100644 index 49e6305bf83138..00000000000000 --- a/Misc/NEWS.d/next/Library/2022-05-23-21-23-29.gh-issue-81340.D11RkZ.rst +++ /dev/null @@ -1,5 +0,0 @@ -Use :func:`os.copy_file_range` in :func:`shutil.copy`, :func:`shutil.copy2`, -and :func:`shutil.copyfile` functions by default. An underlying Linux system -call gives filesystems an opportunity to implement the use of copy-on-write -(in case of btrfs and XFS) or server-side copy (in the case of NFS.) -Patch by Illia Volochii. diff --git a/Misc/NEWS.d/next/Library/2023-02-01-16-41-31.gh-issue-101410.Dt2aQE.rst b/Misc/NEWS.d/next/Library/2023-02-01-16-41-31.gh-issue-101410.Dt2aQE.rst deleted file mode 100644 index 31493686daec97..00000000000000 --- a/Misc/NEWS.d/next/Library/2023-02-01-16-41-31.gh-issue-101410.Dt2aQE.rst +++ /dev/null @@ -1,3 +0,0 @@ -Support custom messages for domain errors in the :mod:`math` module -(:func:`math.sqrt`, :func:`math.log` and :func:`math.atanh` were modified as -examples). Patch by Charlie Zhao and Sergey B Kirpichev. diff --git a/Misc/NEWS.d/next/Library/2024-07-14-23-19-20.gh-issue-119257.9OEzcN.rst b/Misc/NEWS.d/next/Library/2024-07-14-23-19-20.gh-issue-119257.9OEzcN.rst deleted file mode 100644 index 8f3f863d93e021..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-07-14-23-19-20.gh-issue-119257.9OEzcN.rst +++ /dev/null @@ -1,2 +0,0 @@ -Show tab completions menu below the current line, which results in less -janky behaviour, and fixes a cursor movement bug. Patch by Daniel Hollas diff --git a/Misc/NEWS.d/next/Library/2024-08-01-01-00-00.gh-issue-55454.wy0vGw.rst b/Misc/NEWS.d/next/Library/2024-08-01-01-00-00.gh-issue-55454.wy0vGw.rst deleted file mode 100644 index 58fc85963217c9..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-08-01-01-00-00.gh-issue-55454.wy0vGw.rst +++ /dev/null @@ -1 +0,0 @@ -Add IMAP4 ``IDLE`` support to the :mod:`imaplib` module. Patch by Forest. diff --git a/Misc/NEWS.d/next/Library/2024-08-12-11-58-15.gh-issue-119349.-xTnHl.rst b/Misc/NEWS.d/next/Library/2024-08-12-11-58-15.gh-issue-119349.-xTnHl.rst deleted file mode 100644 index 5dd8264a608dfa..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-08-12-11-58-15.gh-issue-119349.-xTnHl.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add the :func:`ctypes.util.dllist` function to list the loaded shared -libraries for the current process. diff --git a/Misc/NEWS.d/next/Library/2024-09-12-14-24-25.gh-issue-123987.7_OD1p.rst b/Misc/NEWS.d/next/Library/2024-09-12-14-24-25.gh-issue-123987.7_OD1p.rst deleted file mode 100644 index b110900e7efd33..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-09-12-14-24-25.gh-issue-123987.7_OD1p.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fixed issue in NamespaceReader where a non-path item in a namespace path, -such as a sentinel added by an editable installer, would break resource -loading. diff --git a/Misc/NEWS.d/next/Library/2024-09-27-19-21-53.gh-issue-124703.lYTLEv.rst b/Misc/NEWS.d/next/Library/2024-09-27-19-21-53.gh-issue-124703.lYTLEv.rst deleted file mode 100644 index e55d3539355d73..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-09-27-19-21-53.gh-issue-124703.lYTLEv.rst +++ /dev/null @@ -1 +0,0 @@ -Quitting :mod:`pdb` in ``inline`` mode will emit a confirmation prompt and exit gracefully now, instead of printing an exception traceback. diff --git a/Misc/NEWS.d/next/Library/2024-10-02-11-17-23.gh-issue-91048.QWY-b1.rst b/Misc/NEWS.d/next/Library/2024-10-02-11-17-23.gh-issue-91048.QWY-b1.rst deleted file mode 100644 index c2faf470ffc9cf..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-10-02-11-17-23.gh-issue-91048.QWY-b1.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add :func:`asyncio.capture_call_graph` and -:func:`asyncio.print_call_graph` functions. diff --git a/Misc/NEWS.d/next/Library/2024-10-26-16-59-02.gh-issue-125553.4pDLzt.rst b/Misc/NEWS.d/next/Library/2024-10-26-16-59-02.gh-issue-125553.4pDLzt.rst deleted file mode 100644 index 291c5e6f6f2181..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-10-26-16-59-02.gh-issue-125553.4pDLzt.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix round-trip invariance for backslash continuations in -:func:`tokenize.untokenize`. diff --git a/Misc/NEWS.d/next/Library/2024-11-10-19-45-01.gh-issue-126332.WCCKoH.rst b/Misc/NEWS.d/next/Library/2024-11-10-19-45-01.gh-issue-126332.WCCKoH.rst deleted file mode 100644 index 9277797ddc745e..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-11-10-19-45-01.gh-issue-126332.WCCKoH.rst +++ /dev/null @@ -1 +0,0 @@ -Fix _pyrepl crash when entering a double CTRL-Z on an overflowing line. diff --git a/Misc/NEWS.d/next/Library/2024-11-23-21-17-28.gh-issue-124369.Z0hQFQ.rst b/Misc/NEWS.d/next/Library/2024-11-23-21-17-28.gh-issue-124369.Z0hQFQ.rst deleted file mode 100644 index 31840da74a2dea..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-11-23-21-17-28.gh-issue-124369.Z0hQFQ.rst +++ /dev/null @@ -1 +0,0 @@ -Deprecate ``pdb.Pdb.curframe_locals`` diff --git a/Misc/NEWS.d/next/Library/2024-11-24-22-06-42.gh-issue-127096.R7LLpQ.rst b/Misc/NEWS.d/next/Library/2024-11-24-22-06-42.gh-issue-127096.R7LLpQ.rst deleted file mode 100644 index 8619296143b7d7..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-11-24-22-06-42.gh-issue-127096.R7LLpQ.rst +++ /dev/null @@ -1,2 +0,0 @@ -Do not recreate unnamed section on every read in -:class:`configparser.ConfigParser`. Patch by Andrey Efremov. diff --git a/Misc/NEWS.d/next/Library/2024-12-07-20-33-43.gh-issue-127712.Uzsij4.rst b/Misc/NEWS.d/next/Library/2024-12-07-20-33-43.gh-issue-127712.Uzsij4.rst deleted file mode 100644 index 40450cddc956c1..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-12-07-20-33-43.gh-issue-127712.Uzsij4.rst +++ /dev/null @@ -1 +0,0 @@ -Fix handling of the ``secure`` argument of :class:`logging.handlers.SMTPHandler`. diff --git a/Misc/NEWS.d/next/Library/2024-12-10-19-39-35.gh-issue-125413.wOb4yr.rst b/Misc/NEWS.d/next/Library/2024-12-10-19-39-35.gh-issue-125413.wOb4yr.rst deleted file mode 100644 index 9ac96179a88367..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-12-10-19-39-35.gh-issue-125413.wOb4yr.rst +++ /dev/null @@ -1,6 +0,0 @@ -Add :attr:`pathlib.Path.info` attribute, which stores an object -implementing the :class:`pathlib.types.PathInfo` protocol (also new). The -object supports querying the file type and internally caching -:func:`~os.stat` results. Path objects generated by -:meth:`~pathlib.Path.iterdir` are initialized with file type information -gleaned from scanning the parent directory. diff --git a/Misc/NEWS.d/next/Library/2024-12-12-18-25-50.gh-issue-127873.WJRwfz.rst b/Misc/NEWS.d/next/Library/2024-12-12-18-25-50.gh-issue-127873.WJRwfz.rst deleted file mode 100644 index d7575c7efb6e88..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-12-12-18-25-50.gh-issue-127873.WJRwfz.rst +++ /dev/null @@ -1,3 +0,0 @@ -When ``-E`` is set, only ignore ``PYTHON_COLORS`` and not -``FORCE_COLOR``/``NO_COLOR``/``TERM`` when colourising output. -Patch by Hugo van Kemenade. diff --git a/Misc/NEWS.d/next/Library/2024-12-16-22-20-38.gh-issue-121604.m3Xn4G.rst b/Misc/NEWS.d/next/Library/2024-12-16-22-20-38.gh-issue-121604.m3Xn4G.rst deleted file mode 100644 index 8edd8dfb604878..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-12-16-22-20-38.gh-issue-121604.m3Xn4G.rst +++ /dev/null @@ -1 +0,0 @@ -Add missing Deprecation warnings for :const:`importlib.machinery.DEBUG_BYTECODE_SUFFIXES`, :const:`importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES`, :class:`importlib.machinery.WindowsRegistryFinder`, :class:`importlib.abc.ResourceLoader`, :meth:`importlib.abc.SourceLoader.path_mtime`. diff --git a/Misc/NEWS.d/next/Library/2024-12-17-16-48-02.gh-issue-115514.1yOJ7T.rst b/Misc/NEWS.d/next/Library/2024-12-17-16-48-02.gh-issue-115514.1yOJ7T.rst deleted file mode 100644 index 24e836a0b0b7f9..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-12-17-16-48-02.gh-issue-115514.1yOJ7T.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix exceptions and incomplete writes after :class:`!asyncio._SelectorTransport` -is closed before writes are completed. diff --git a/Misc/NEWS.d/next/Library/2024-12-20-08-44-12.gh-issue-127975.8HJwu9.rst b/Misc/NEWS.d/next/Library/2024-12-20-08-44-12.gh-issue-127975.8HJwu9.rst deleted file mode 100644 index 597fa41deb811c..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-12-20-08-44-12.gh-issue-127975.8HJwu9.rst +++ /dev/null @@ -1 +0,0 @@ -Avoid reusing quote types in :func:`ast.unparse` if not needed. diff --git a/Misc/NEWS.d/next/Library/2024-12-21-03-20-12.gh-issue-128131.QpPmNt.rst b/Misc/NEWS.d/next/Library/2024-12-21-03-20-12.gh-issue-128131.QpPmNt.rst deleted file mode 100644 index f4c4ebce10729c..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-12-21-03-20-12.gh-issue-128131.QpPmNt.rst +++ /dev/null @@ -1,2 +0,0 @@ -Completely support random access of uncompressed unencrypted read-only -zip files obtained by :meth:`ZipFile.open `. diff --git a/Misc/NEWS.d/next/Library/2024-12-23-02-09-44.gh-issue-58956.4OdMdT.rst b/Misc/NEWS.d/next/Library/2024-12-23-02-09-44.gh-issue-58956.4OdMdT.rst deleted file mode 100644 index b78bc5aaf44217..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-12-23-02-09-44.gh-issue-58956.4OdMdT.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed a frame reference leak in :mod:`bdb`. diff --git a/Misc/NEWS.d/next/Library/2024-12-26-11-00-03.gh-issue-112064.mCcw3B.rst b/Misc/NEWS.d/next/Library/2024-12-26-11-00-03.gh-issue-112064.mCcw3B.rst deleted file mode 100644 index e885add7b68c0f..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-12-26-11-00-03.gh-issue-112064.mCcw3B.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix incorrect handling of negative read sizes in :meth:`HTTPResponse.read -`. Patch by Yury Manushkin. diff --git a/Misc/NEWS.d/next/Library/2024-12-30-19-53-14.gh-issue-91279.EeOJk1.rst b/Misc/NEWS.d/next/Library/2024-12-30-19-53-14.gh-issue-91279.EeOJk1.rst deleted file mode 100644 index 30ee2ea5efd069..00000000000000 --- a/Misc/NEWS.d/next/Library/2024-12-30-19-53-14.gh-issue-91279.EeOJk1.rst +++ /dev/null @@ -1,3 +0,0 @@ -:meth:`zipfile.ZipFile.writestr` now respect ``SOURCE_DATE_EPOCH`` that -distributions can set centrally and have build tools consume this in order -to produce reproducible output. diff --git a/Misc/NEWS.d/next/Library/2025-01-02-20-34-04.gh-issue-128427.onPoQZ.rst b/Misc/NEWS.d/next/Library/2025-01-02-20-34-04.gh-issue-128427.onPoQZ.rst deleted file mode 100644 index 54cae43702ded7..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-02-20-34-04.gh-issue-128427.onPoQZ.rst +++ /dev/null @@ -1,2 +0,0 @@ -:const:`uuid.NIL` and :const:`uuid.MAX` are now available to represent the Nil -and Max UUID formats as defined by :rfc:`9562`. diff --git a/Misc/NEWS.d/next/Library/2025-01-04-11-10-04.gh-issue-128479.jvOrF-.rst b/Misc/NEWS.d/next/Library/2025-01-04-11-10-04.gh-issue-128479.jvOrF-.rst deleted file mode 100644 index fc3b4d5a5273a6..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-04-11-10-04.gh-issue-128479.jvOrF-.rst +++ /dev/null @@ -1 +0,0 @@ -Fix :func:`!asyncio.staggered.staggered_race` leaking tasks and issuing an unhandled exception. diff --git a/Misc/NEWS.d/next/Library/2025-01-04-20-51-48.gh-issue-128509.3gr_-O.rst b/Misc/NEWS.d/next/Library/2025-01-04-20-51-48.gh-issue-128509.3gr_-O.rst deleted file mode 100644 index ba45884304f662..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-04-20-51-48.gh-issue-128509.3gr_-O.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add :func:`sys._is_immortal` for identifying :term:`immortal` objects at -runtime. diff --git a/Misc/NEWS.d/next/Library/2025-01-06-10-37-27.gh-issue-128384.V0xzwH.rst b/Misc/NEWS.d/next/Library/2025-01-06-10-37-27.gh-issue-128384.V0xzwH.rst deleted file mode 100644 index 2ca592be20b681..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-06-10-37-27.gh-issue-128384.V0xzwH.rst +++ /dev/null @@ -1,5 +0,0 @@ -Add locking to :mod:`warnings` to avoid some data races when free-threading -is used. Change ``_warnings_runtime_state.mutex`` to be a recursive mutex -and expose it to :mod:`warnings`, via the :func:`!_acquire_lock` and -:func:`!_release_lock` functions. The lock is held when ``filters`` and -``_filters_version`` are updated. diff --git a/Misc/NEWS.d/next/Library/2025-01-07-21-48-32.gh-issue-128498.n6jtlW.rst b/Misc/NEWS.d/next/Library/2025-01-07-21-48-32.gh-issue-128498.n6jtlW.rst deleted file mode 100644 index 9a241e37c20a44..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-07-21-48-32.gh-issue-128498.n6jtlW.rst +++ /dev/null @@ -1,2 +0,0 @@ -Default to stdout isatty for color detection instead of stderr. Patch by -Hugo van Kemenade. diff --git a/Misc/NEWS.d/next/Library/2025-01-08-22-30-38.gh-issue-128636.jQfWXj.rst b/Misc/NEWS.d/next/Library/2025-01-08-22-30-38.gh-issue-128636.jQfWXj.rst deleted file mode 100644 index 80c9840b585530..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-08-22-30-38.gh-issue-128636.jQfWXj.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix PyREPL failure when :data:`os.environ` is overwritten with an invalid -value. diff --git a/Misc/NEWS.d/next/Library/2025-01-09-16-20-34.gh-issue-128156.GfObBq.rst b/Misc/NEWS.d/next/Library/2025-01-09-16-20-34.gh-issue-128156.GfObBq.rst deleted file mode 100644 index ec6a55040ae6cb..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-09-16-20-34.gh-issue-128156.GfObBq.rst +++ /dev/null @@ -1,3 +0,0 @@ -When using macOS system ``libffi``, support for complex types in -:mod:`ctypes` is now checked at runtime (macOS 10.15 or newer). The types -must also be available at build time. diff --git a/Misc/NEWS.d/next/Library/2025-01-10-13-06-54.gh-issue-118761.f8oADD.rst b/Misc/NEWS.d/next/Library/2025-01-10-13-06-54.gh-issue-118761.f8oADD.rst deleted file mode 100644 index 37c25cb2efd034..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-10-13-06-54.gh-issue-118761.f8oADD.rst +++ /dev/null @@ -1,5 +0,0 @@ -Improve the performance of :func:`base64.b16decode` by up to ten times -by more efficiently checking the byte-string for hexadecimal digits. -Reduce the import time of :mod:`base64` by up to six times, -by no longer importing :mod:`re`. -Patch by Bénédikt Tran, Chris Markiewicz, and Adam Turner. diff --git a/Misc/NEWS.d/next/Library/2025-01-13-07-54-32.gh-issue-128308.kYSDRF.rst b/Misc/NEWS.d/next/Library/2025-01-13-07-54-32.gh-issue-128308.kYSDRF.rst deleted file mode 100644 index efa613876a35fd..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-13-07-54-32.gh-issue-128308.kYSDRF.rst +++ /dev/null @@ -1 +0,0 @@ -Support the *name* keyword argument for eager tasks in :func:`asyncio.loop.create_task`, :func:`asyncio.create_task` and :func:`asyncio.TaskGroup.create_task`, by passing on all *kwargs* to the task factory set by :func:`asyncio.loop.set_task_factory`. diff --git a/Misc/NEWS.d/next/Library/2025-01-15-09-45-43.gh-issue-118761.TvAC8E.rst b/Misc/NEWS.d/next/Library/2025-01-15-09-45-43.gh-issue-118761.TvAC8E.rst deleted file mode 100644 index 38d18b7f4ca05e..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-15-09-45-43.gh-issue-118761.TvAC8E.rst +++ /dev/null @@ -1,3 +0,0 @@ -Reduce the import time of :mod:`csv` by up to five times, by importing -:mod:`re` on demand. In particular, ``re`` is no more implicitly exposed -as ``csv.re``. Patch by Bénédikt Tran. diff --git a/Misc/NEWS.d/next/Library/2025-01-15-15-45-21.gh-issue-128657.P5LNQA.rst b/Misc/NEWS.d/next/Library/2025-01-15-15-45-21.gh-issue-128657.P5LNQA.rst deleted file mode 100644 index 3b08a9fba59620..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-15-15-45-21.gh-issue-128657.P5LNQA.rst +++ /dev/null @@ -1 +0,0 @@ -Fix possible extra reference when using objects returned by :func:`hashlib.sha256` under :term:`free threading`. diff --git a/Misc/NEWS.d/next/Library/2025-01-15-18-54-48.gh-issue-118761.G1dv6E.rst b/Misc/NEWS.d/next/Library/2025-01-15-18-54-48.gh-issue-118761.G1dv6E.rst deleted file mode 100644 index 4144ef8f40e6dd..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-15-18-54-48.gh-issue-118761.G1dv6E.rst +++ /dev/null @@ -1,2 +0,0 @@ -Reduce the import time of :mod:`optparse` when no help text is printed. -Patch by Eli Schwartz. diff --git a/Misc/NEWS.d/next/Library/2025-01-15-19-16-50.gh-issue-118761.cbW2ZL.rst b/Misc/NEWS.d/next/Library/2025-01-15-19-16-50.gh-issue-118761.cbW2ZL.rst deleted file mode 100644 index 0eef8777512dd8..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-15-19-16-50.gh-issue-118761.cbW2ZL.rst +++ /dev/null @@ -1,3 +0,0 @@ -Reduce import time of :mod:`gettext` by up to ten times, by importing -:mod:`re` on demand. In particular, ``re`` is no longer implicitly -exposed as ``gettext.re``. Patch by Eli Schwartz. diff --git a/Misc/NEWS.d/next/Library/2025-01-15-19-32-23.gh-issue-128891.ojUxKo.rst b/Misc/NEWS.d/next/Library/2025-01-15-19-32-23.gh-issue-128891.ojUxKo.rst deleted file mode 100644 index 79d845bbab7cfc..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-15-19-32-23.gh-issue-128891.ojUxKo.rst +++ /dev/null @@ -1 +0,0 @@ -Add specialized opcodes to ``opcode.opname``. diff --git a/Misc/NEWS.d/next/Library/2025-01-15-21-41-51.gh-issue-128679.tq10F2.rst b/Misc/NEWS.d/next/Library/2025-01-15-21-41-51.gh-issue-128679.tq10F2.rst deleted file mode 100644 index 5c108da5703c00..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-15-21-41-51.gh-issue-128679.tq10F2.rst +++ /dev/null @@ -1,3 +0,0 @@ -:mod:`tracemalloc`: Fix race conditions when :func:`tracemalloc.stop` is -called by a thread, while other threads are tracing memory allocations. -Patch by Victor Stinner. diff --git a/Misc/NEWS.d/next/Library/2025-01-16-10-06-40.gh-issue-118761.z100LC.rst b/Misc/NEWS.d/next/Library/2025-01-16-10-06-40.gh-issue-118761.z100LC.rst deleted file mode 100644 index ea71ecaaeb2936..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-16-10-06-40.gh-issue-118761.z100LC.rst +++ /dev/null @@ -1,2 +0,0 @@ -Improve import time of :mod:`tomllib` by removing ``typing``, ``string``, -and ``tomllib._types`` imports. Patch by Taneli Hukkinen. diff --git a/Misc/NEWS.d/next/Library/2025-01-17-11-46-16.gh-issue-128916.GEePbO.rst b/Misc/NEWS.d/next/Library/2025-01-17-11-46-16.gh-issue-128916.GEePbO.rst deleted file mode 100644 index f2db341ef81621..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-17-11-46-16.gh-issue-128916.GEePbO.rst +++ /dev/null @@ -1,3 +0,0 @@ -Do not attempt to set ``SO_REUSEPORT`` on sockets of address families -other than ``AF_INET`` and ``AF_INET6``, as it is meaningless with these -address families, and the call with fail with Linux kernel 6.12.9 and newer. diff --git a/Misc/NEWS.d/next/Library/2025-01-17-17-20-51.gh-issue-128894.gX1-8J.rst b/Misc/NEWS.d/next/Library/2025-01-17-17-20-51.gh-issue-128894.gX1-8J.rst deleted file mode 100644 index 7e015103a95713..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-17-17-20-51.gh-issue-128894.gX1-8J.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix ``traceback.TracebackException._format_syntax_error`` not to fail on -exceptions with custom metadata. diff --git a/Misc/NEWS.d/next/Library/2025-01-17-21-33-11.gh-issue-128961.XwvyIZ.rst b/Misc/NEWS.d/next/Library/2025-01-17-21-33-11.gh-issue-128961.XwvyIZ.rst deleted file mode 100644 index 9c985df77743da..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-17-21-33-11.gh-issue-128961.XwvyIZ.rst +++ /dev/null @@ -1 +0,0 @@ -Fix a crash when setting state on an exhausted :class:`array.array` iterator. diff --git a/Misc/NEWS.d/next/Library/2025-01-18-11-04-44.gh-issue-128978.hwg7-w.rst b/Misc/NEWS.d/next/Library/2025-01-18-11-04-44.gh-issue-128978.hwg7-w.rst deleted file mode 100644 index 521496d6a2f8c2..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-18-11-04-44.gh-issue-128978.hwg7-w.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix a :exc:`NameError` in :func:`!sysconfig.expand_makefile_vars`. Patch by -Bénédikt Tran. diff --git a/Misc/NEWS.d/next/Library/2025-01-18-11-24-02.gh-issue-118761.G8MmxY.rst b/Misc/NEWS.d/next/Library/2025-01-18-11-24-02.gh-issue-118761.G8MmxY.rst deleted file mode 100644 index 3b3f3f7d98c5d6..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-18-11-24-02.gh-issue-118761.G8MmxY.rst +++ /dev/null @@ -1,2 +0,0 @@ -Reduce import time of :mod:`pstats` and :mod:`zipfile` by up to 20%, by -removing unnecessary imports to :mod:`typing`. Patch by Bénédikt Tran. diff --git a/Misc/NEWS.d/next/Library/2025-01-18-16-58-10.gh-issue-128991.EzJit9.rst b/Misc/NEWS.d/next/Library/2025-01-18-16-58-10.gh-issue-128991.EzJit9.rst deleted file mode 100644 index 64fa04fb53e89c..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-18-16-58-10.gh-issue-128991.EzJit9.rst +++ /dev/null @@ -1 +0,0 @@ -Release the enter frame reference within :mod:`bdb` callback diff --git a/Misc/NEWS.d/next/Library/2025-01-20-13-12-39.gh-issue-128550.AJ5TOL.rst b/Misc/NEWS.d/next/Library/2025-01-20-13-12-39.gh-issue-128550.AJ5TOL.rst deleted file mode 100644 index f59feac795ea18..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-20-13-12-39.gh-issue-128550.AJ5TOL.rst +++ /dev/null @@ -1 +0,0 @@ -Removed an incorrect optimization relating to eager tasks in :class:`asyncio.TaskGroup` that resulted in cancellations being missed. diff --git a/Misc/NEWS.d/next/Library/2025-01-20-16-02-38.gh-issue-129064.JXasgJ.rst b/Misc/NEWS.d/next/Library/2025-01-20-16-02-38.gh-issue-129064.JXasgJ.rst deleted file mode 100644 index 93a1eda350d1fc..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-20-16-02-38.gh-issue-129064.JXasgJ.rst +++ /dev/null @@ -1,2 +0,0 @@ -Deprecate :func:`!sysconfig.expand_makefile_vars`, in favor of using -:func:`sysconfig.get_paths` with the ``vars`` argument. diff --git a/Misc/NEWS.d/next/Library/2025-01-20-20-59-26.gh-issue-92897.G0xH8o.rst b/Misc/NEWS.d/next/Library/2025-01-20-20-59-26.gh-issue-92897.G0xH8o.rst deleted file mode 100644 index 632ca03bbf8dd2..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-20-20-59-26.gh-issue-92897.G0xH8o.rst +++ /dev/null @@ -1,2 +0,0 @@ -Scheduled the deprecation of the ``check_home`` argument of -:func:`sysconfig.is_python_build` to Python 3.15. diff --git a/Misc/NEWS.d/next/Library/2025-01-21-18-52-32.gh-issue-129061.4idD_B.rst b/Misc/NEWS.d/next/Library/2025-01-21-18-52-32.gh-issue-129061.4idD_B.rst deleted file mode 100644 index 5c5c05e1161e86..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-21-18-52-32.gh-issue-129061.4idD_B.rst +++ /dev/null @@ -1 +0,0 @@ -Fix FORCE_COLOR and NO_COLOR when empty strings. Patch by Hugo van Kemenade. diff --git a/Misc/NEWS.d/next/Library/2025-01-22-13-29-06.gh-issue-128772.6YrxYM.rst b/Misc/NEWS.d/next/Library/2025-01-22-13-29-06.gh-issue-128772.6YrxYM.rst deleted file mode 100644 index 53d6b3ccaffda8..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-22-13-29-06.gh-issue-128772.6YrxYM.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix :mod:`pydoc` for methods with the ``__module__`` attribute equal to -``None``. diff --git a/Misc/NEWS.d/next/Library/2025-01-22-16-54-25.gh-issue-129205.FMqrUt.rst b/Misc/NEWS.d/next/Library/2025-01-22-16-54-25.gh-issue-129205.FMqrUt.rst deleted file mode 100644 index c4ed76408f32f6..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-22-16-54-25.gh-issue-129205.FMqrUt.rst +++ /dev/null @@ -1 +0,0 @@ -Add :func:`os.readinto` to read into a :ref:`buffer object ` from a file descriptor. diff --git a/Misc/NEWS.d/next/Library/2025-01-24-10-48-32.gh-issue-129195.89d5NU.rst b/Misc/NEWS.d/next/Library/2025-01-24-10-48-32.gh-issue-129195.89d5NU.rst deleted file mode 100644 index daf7297387dabd..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-24-10-48-32.gh-issue-129195.89d5NU.rst +++ /dev/null @@ -1 +0,0 @@ -Support reporting call graph information from :func:`!asyncio.staggered.staggered_race`. diff --git a/Misc/NEWS.d/next/Library/2025-01-26-10-01-21.gh-issue-129005.ncpLvw.rst b/Misc/NEWS.d/next/Library/2025-01-26-10-01-21.gh-issue-129005.ncpLvw.rst deleted file mode 100644 index a825e9d244d525..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-26-10-01-21.gh-issue-129005.ncpLvw.rst +++ /dev/null @@ -1 +0,0 @@ -Optimize ``_pyio.FileIO.readinto`` by avoiding unnecessary objects and copies using :func:`os.readinto`. diff --git a/Misc/NEWS.d/next/Library/2025-01-27-14-05-19.gh-issue-129346.gZRd3g.rst b/Misc/NEWS.d/next/Library/2025-01-27-14-05-19.gh-issue-129346.gZRd3g.rst deleted file mode 100644 index b5377277f6c51c..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-27-14-05-19.gh-issue-129346.gZRd3g.rst +++ /dev/null @@ -1,2 +0,0 @@ -In :mod:`sqlite3`, handle out-of-memory when creating user-defined SQL -functions. diff --git a/Misc/NEWS.d/next/Library/2025-01-29-10-53-32.gh-issue-118761.i8wjpV.rst b/Misc/NEWS.d/next/Library/2025-01-29-10-53-32.gh-issue-118761.i8wjpV.rst deleted file mode 100644 index 0762cbe5d63949..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-29-10-53-32.gh-issue-118761.i8wjpV.rst +++ /dev/null @@ -1,2 +0,0 @@ -Improve import time of :mod:`subprocess` by lazy importing ``locale`` and -``signal``. Patch by Taneli Hukkinen. diff --git a/Misc/NEWS.d/next/Library/2025-01-29-11-14-20.gh-issue-118761.gMZwE1.rst b/Misc/NEWS.d/next/Library/2025-01-29-11-14-20.gh-issue-118761.gMZwE1.rst deleted file mode 100644 index c2474795d8233e..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-29-11-14-20.gh-issue-118761.gMZwE1.rst +++ /dev/null @@ -1,2 +0,0 @@ -Always lazy import ``warnings`` in :mod:`threading`. Patch by Taneli -Hukkinen. diff --git a/Misc/NEWS.d/next/Library/2025-01-29-13-37-18.gh-issue-126400.DaBaR3.rst b/Misc/NEWS.d/next/Library/2025-01-29-13-37-18.gh-issue-126400.DaBaR3.rst deleted file mode 100644 index 1532faf4b7d6f5..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-29-13-37-18.gh-issue-126400.DaBaR3.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add a socket *timeout* keyword argument to -:class:`logging.handlers.SysLogHandler`. diff --git a/Misc/NEWS.d/next/Library/2025-01-29-14-30-54.gh-issue-129409.JZbOE6.rst b/Misc/NEWS.d/next/Library/2025-01-29-14-30-54.gh-issue-129409.JZbOE6.rst deleted file mode 100644 index 7e00b44c0ef471..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-29-14-30-54.gh-issue-129409.JZbOE6.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix an integer overflow in the :mod:`csv` module when writing a data field -larger than 2GB. diff --git a/Misc/NEWS.d/next/Library/2025-01-29-17-10-00.gh-issue-129403.314159.rst b/Misc/NEWS.d/next/Library/2025-01-29-17-10-00.gh-issue-129403.314159.rst deleted file mode 100644 index 0c2bdd3136e3a3..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-29-17-10-00.gh-issue-129403.314159.rst +++ /dev/null @@ -1 +0,0 @@ -Corrected :exc:`ValueError` message for :class:`asyncio.Barrier` and :class:`threading.Barrier`. diff --git a/Misc/NEWS.d/next/Library/2025-01-31-11-14-05.gh-issue-129502.j_ArNo.rst b/Misc/NEWS.d/next/Library/2025-01-31-11-14-05.gh-issue-129502.j_ArNo.rst deleted file mode 100644 index e9e9d12c11d0ac..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-01-31-11-14-05.gh-issue-129502.j_ArNo.rst +++ /dev/null @@ -1,5 +0,0 @@ -Unlikely errors in preparing arguments for :mod:`ctypes` callback are now -handled in the same way as errors raised in the callback of in converting -the result of the callback -- using :func:`sys.unraisablehook` instead of -:func:`sys.excepthook` and not setting :data:`sys.last_exc` and other -variables. diff --git a/Misc/NEWS.d/next/Library/2025-02-01-14-55-33.gh-issue-129559.hQCeAz.rst b/Misc/NEWS.d/next/Library/2025-02-01-14-55-33.gh-issue-129559.hQCeAz.rst deleted file mode 100644 index f08d47b63a84b7..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-02-01-14-55-33.gh-issue-129559.hQCeAz.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add :meth:`bytearray.resize` method so :class:`bytearray` can be efficiently -resized in place. diff --git a/Misc/NEWS.d/next/Library/2025-02-03-01-43-16.gh-issue-129603.xge9Tx.rst b/Misc/NEWS.d/next/Library/2025-02-03-01-43-16.gh-issue-129603.xge9Tx.rst deleted file mode 100644 index 0d0ec21bddd28f..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-02-03-01-43-16.gh-issue-129603.xge9Tx.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix bugs where :class:`sqlite3.Row` objects could segfault if their -inherited :attr:`~sqlite3.Cursor.description` was set to ``None``. Patch by -Erlend Aasland. diff --git a/Misc/NEWS.d/next/Library/2025-02-03-22-31-43.gh-issue-128317.n2Swnh.rst b/Misc/NEWS.d/next/Library/2025-02-03-22-31-43.gh-issue-128317.n2Swnh.rst deleted file mode 100644 index eaff03384a976a..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-02-03-22-31-43.gh-issue-128317.n2Swnh.rst +++ /dev/null @@ -1,2 +0,0 @@ -Put CLI calendar highlighting in private class, removing ``highlight_day`` -from public :class:`calendar.TextCalendar` API. Patch by Hugo van Kemenade. diff --git a/Misc/NEWS.d/next/Library/2025-02-04-15-16-33.gh-issue-129646.sapk1F.rst b/Misc/NEWS.d/next/Library/2025-02-04-15-16-33.gh-issue-129646.sapk1F.rst deleted file mode 100644 index 742d1d60dfd1bc..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-02-04-15-16-33.gh-issue-129646.sapk1F.rst +++ /dev/null @@ -1,2 +0,0 @@ -Update the locale alias mapping in the :mod:`locale` module to match the -latest X Org locale alias mapping and support new locales in Glibc 2.41. diff --git a/Misc/NEWS.d/next/Library/2025-02-05-13-19-15.gh-issue-129005.Sb69L_.rst b/Misc/NEWS.d/next/Library/2025-02-05-13-19-15.gh-issue-129005.Sb69L_.rst deleted file mode 100644 index 236d7766b92cc6..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-02-05-13-19-15.gh-issue-129005.Sb69L_.rst +++ /dev/null @@ -1,2 +0,0 @@ -``_pyio.FileIO.readall()`` now allocates, resizes, and fills a data buffer -using the same algorithm ``_io.FileIO.readall()`` uses. diff --git a/Misc/NEWS.d/next/Library/2025-02-07-10-34-09.gh-issue-129766.6n5fQZ.rst b/Misc/NEWS.d/next/Library/2025-02-07-10-34-09.gh-issue-129766.6n5fQZ.rst deleted file mode 100644 index 76e908300a858d..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-02-07-10-34-09.gh-issue-129766.6n5fQZ.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix crash in :mod:`warnings`, when calling ``_release_lock()`` with no -existing lock. diff --git a/Misc/NEWS.d/next/Library/2025-02-09-17-47-01.gh-issue-129583.-130Ys.rst b/Misc/NEWS.d/next/Library/2025-02-09-17-47-01.gh-issue-129583.-130Ys.rst deleted file mode 100644 index 9f24a83df12dd3..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-02-09-17-47-01.gh-issue-129583.-130Ys.rst +++ /dev/null @@ -1 +0,0 @@ -Update bundled pip to 25.0.1 diff --git a/Misc/NEWS.d/next/Library/2025-02-10-08-44-11.gh-issue-129928.QuiZEz.rst b/Misc/NEWS.d/next/Library/2025-02-10-08-44-11.gh-issue-129928.QuiZEz.rst deleted file mode 100644 index 9c24eb3992c907..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-02-10-08-44-11.gh-issue-129928.QuiZEz.rst +++ /dev/null @@ -1,2 +0,0 @@ -Raise :exc:`sqlite3.ProgrammingError` if a user-defined SQL function with -invalid number of parameters is created. Patch by Erlend Aasland. diff --git a/Misc/NEWS.d/next/Library/2025-02-10-14-34-34.gh-issue-129939.B08L4e.rst b/Misc/NEWS.d/next/Library/2025-02-10-14-34-34.gh-issue-129939.B08L4e.rst deleted file mode 100644 index 5014f5bc3c7f3c..00000000000000 --- a/Misc/NEWS.d/next/Library/2025-02-10-14-34-34.gh-issue-129939.B08L4e.rst +++ /dev/null @@ -1,2 +0,0 @@ -Comparison pages with highlighted changes generated by the -:class:`difflib.HtmlDiff` class now support dark mode. diff --git a/Misc/NEWS.d/next/Security/2024-05-24-21-00-52.gh-issue-119511.jKrXQ8.rst b/Misc/NEWS.d/next/Security/2024-05-24-21-00-52.gh-issue-119511.jKrXQ8.rst deleted file mode 100644 index f7b4031120e643..00000000000000 --- a/Misc/NEWS.d/next/Security/2024-05-24-21-00-52.gh-issue-119511.jKrXQ8.rst +++ /dev/null @@ -1,7 +0,0 @@ -Fix a potential denial of service in the :mod:`imaplib` module. When connecting -to a malicious server, it could cause an arbitrary amount of memory to be -allocated. On many systems this is harmless as unused virtual memory is only a -mapping, but if this hit a virtual address size limit it could lead to a -:exc:`MemoryError` or other process crash. On unusual systems or builds where -all allocated memory is touched and backed by actual ram or storage it could've -consumed resources doing so until similarly crashing. diff --git a/Misc/NEWS.d/next/Security/2024-08-06-11-43-08.gh-issue-80222.wfR4BU.rst b/Misc/NEWS.d/next/Security/2024-08-06-11-43-08.gh-issue-80222.wfR4BU.rst deleted file mode 100644 index 0f0661d0b1cf4a..00000000000000 --- a/Misc/NEWS.d/next/Security/2024-08-06-11-43-08.gh-issue-80222.wfR4BU.rst +++ /dev/null @@ -1,6 +0,0 @@ -Fix bug in the folding of quoted strings when flattening an email message using -a modern email policy. Previously when a quoted string was folded so that -it spanned more than one line, the surrounding quotes and internal escapes -would be omitted. This could theoretically be used to spoof header lines -using a carefully constructed quoted string if the resulting rendered email -was transmitted or re-parsed. diff --git a/Misc/NEWS.d/next/Security/2024-10-29-09-15-10.gh-issue-126108.eTIjHY.rst b/Misc/NEWS.d/next/Security/2024-10-29-09-15-10.gh-issue-126108.eTIjHY.rst deleted file mode 100644 index 9f2c7e84d4dff0..00000000000000 --- a/Misc/NEWS.d/next/Security/2024-10-29-09-15-10.gh-issue-126108.eTIjHY.rst +++ /dev/null @@ -1 +0,0 @@ -Fix a possible ``NULL`` pointer dereference in :c:func:`!PySys_AddWarnOptionUnicode`. diff --git a/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst b/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst deleted file mode 100644 index bff1bc6b0d609c..00000000000000 --- a/Misc/NEWS.d/next/Security/2025-01-28-14-08-03.gh-issue-105704.EnhHxu.rst +++ /dev/null @@ -1,4 +0,0 @@ -When using :func:`urllib.parse.urlsplit` and :func:`urllib.parse.urlparse` host -parsing would not reject domain names containing square brackets (``[`` and -``]``). Square brackets are only valid for IPv6 and IPvFuture hosts according to -`RFC 3986 Section 3.2.2 `__. diff --git a/Misc/NEWS.d/next/Tests/2024-12-16-19-15-10.gh-issue-128003.GVBrfa.rst b/Misc/NEWS.d/next/Tests/2024-12-16-19-15-10.gh-issue-128003.GVBrfa.rst deleted file mode 100644 index 05711c7e589551..00000000000000 --- a/Misc/NEWS.d/next/Tests/2024-12-16-19-15-10.gh-issue-128003.GVBrfa.rst +++ /dev/null @@ -1,4 +0,0 @@ -Add an option ``--parallel-threads=N`` to the regression test runner that -runs individual tests in multiple threads in parallel in order to find -concurrency bugs. Note that most of the test suite is not yet reviewed for -thread-safety or annotated with ``@thread_unsafe`` when necessary. diff --git a/Misc/NEWS.d/next/Tests/2025-01-04-02-41-41.gh-issue-128474.0b-tl4.rst b/Misc/NEWS.d/next/Tests/2025-01-04-02-41-41.gh-issue-128474.0b-tl4.rst deleted file mode 100644 index 7dc807757c5ec0..00000000000000 --- a/Misc/NEWS.d/next/Tests/2025-01-04-02-41-41.gh-issue-128474.0b-tl4.rst +++ /dev/null @@ -1,2 +0,0 @@ -Disable ``test_embed`` test cases that segfault on BOLT instrument binaries. -The tests are only disabled when BOLT is enabled. diff --git a/Misc/NEWS.d/next/Tests/2025-01-30-13-09-27.gh-issue-129386.iNtbEi.rst b/Misc/NEWS.d/next/Tests/2025-01-30-13-09-27.gh-issue-129386.iNtbEi.rst deleted file mode 100644 index a03f596bc46c30..00000000000000 --- a/Misc/NEWS.d/next/Tests/2025-01-30-13-09-27.gh-issue-129386.iNtbEi.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add ``test.support.reset_code``, which can be used to reset various -bytecode-level optimizations and local instrumentation for a function. diff --git a/Misc/NEWS.d/next/Tools-Demos/2023-05-11-23-32-25.gh-issue-104400.23vxm7.rst b/Misc/NEWS.d/next/Tools-Demos/2023-05-11-23-32-25.gh-issue-104400.23vxm7.rst deleted file mode 100644 index 82954e170ec3e2..00000000000000 --- a/Misc/NEWS.d/next/Tools-Demos/2023-05-11-23-32-25.gh-issue-104400.23vxm7.rst +++ /dev/null @@ -1 +0,0 @@ -Fix several bugs in extraction by switching to an AST parser in :program:`pygettext`. diff --git a/Misc/NEWS.d/next/Tools-Demos/2025-01-24-14-49-40.gh-issue-129248.JAapG2.rst b/Misc/NEWS.d/next/Tools-Demos/2025-01-24-14-49-40.gh-issue-129248.JAapG2.rst deleted file mode 100644 index e3c781cf10cf50..00000000000000 --- a/Misc/NEWS.d/next/Tools-Demos/2025-01-24-14-49-40.gh-issue-129248.JAapG2.rst +++ /dev/null @@ -1,2 +0,0 @@ -The iOS test runner now strips the log prefix from each line output by the -test suite. diff --git a/Misc/NEWS.d/next/macOS/2025-02-10-22-08-37.gh-issue-91132.00x1MI.rst b/Misc/NEWS.d/next/macOS/2025-02-10-22-08-37.gh-issue-91132.00x1MI.rst deleted file mode 100644 index 01ea8b1594fc9f..00000000000000 --- a/Misc/NEWS.d/next/macOS/2025-02-10-22-08-37.gh-issue-91132.00x1MI.rst +++ /dev/null @@ -1 +0,0 @@ -Update macOS installer to use ncurses 6.5. diff --git a/README.rst b/README.rst index 6f74bc3f9ed7ef..0496d231ca7dde 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,4 @@ -This is Python version 3.14.0 alpha 4 +This is Python version 3.14.0 alpha 5 ===================================== .. image:: https://github.com/python/cpython/actions/workflows/build.yml/badge.svg?branch=main&event=push