0
0
mirror of https://github.com/python/cpython.git synced 2024-11-21 12:59:38 +01:00

Python 3.14.0a2

This commit is contained in:
Hugo van Kemenade 2024-11-19 16:51:57 +02:00
parent 4d771977b1
commit add43c3420
184 changed files with 2085 additions and 618 deletions

View File

@ -590,7 +590,7 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate.
return ``1`` when it's positive and ``0`` otherwise. Else set an
exception and return ``-1``.
.. versionadded:: next
.. versionadded:: 3.14
.. c:function:: int PyLong_IsNegative(PyObject *obj)
@ -601,7 +601,7 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate.
return ``1`` when it's negative and ``0`` otherwise. Else set an
exception and return ``-1``.
.. versionadded:: next
.. versionadded:: 3.14
.. c:function:: int PyLong_IsZero(PyObject *obj)
@ -612,7 +612,7 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate.
return ``1`` when it's zero and ``0`` otherwise. Else set an
exception and return ``-1``.
.. versionadded:: next
.. versionadded:: 3.14
.. c:function:: PyObject* PyLong_GetInfo(void)

View File

@ -597,5 +597,5 @@ Object Protocol
This function is intended to be used soon after *obj* is created,
by the code that creates it.
.. versionadded:: next
.. versionadded:: 3.14

View File

@ -690,7 +690,7 @@ Exception classes
of a :class:`~concurrent.futures.InterpreterPoolExecutor`
has failed initializing.
.. versionadded:: next
.. versionadded:: 3.14
.. exception:: ExecutionFailed
@ -699,7 +699,7 @@ Exception classes
:meth:`~concurrent.futures.Executor.submit` when there's an uncaught
exception from the submitted task.
.. versionadded:: next
.. versionadded:: 3.14
.. currentmodule:: concurrent.futures.process

View File

@ -481,7 +481,7 @@ The :mod:`functools` module defines the following functions:
See :func:`itertools.accumulate` for an iterator that yields all intermediate
values.
.. versionchanged:: next
.. versionchanged:: 3.14
*initial* is now supported as a keyword argument.
.. decorator:: singledispatch

View File

@ -67,7 +67,7 @@ this module. The following types are supported:
* Added format version 4, which supports efficient representations
of short strings.
.. versionchanged:: next
.. versionchanged:: 3.14
Added format version 5, which allows marshalling slices.

View File

@ -261,7 +261,7 @@ process and user.
:data:`os.environ` or :data:`os.environb`, or calling :func:`os.getenv`
while reloading, may return an empty result.
.. versionadded:: next
.. versionadded:: 3.14
.. function:: chdir(path)

View File

@ -3889,7 +3889,7 @@ copying.
.. versionchanged:: 3.5
memoryviews can now be indexed with tuple of integers.
.. versionchanged:: next
.. versionchanged:: 3.14
memoryview is now a :term:`generic type`.
:class:`memoryview` has several methods:

View File

@ -944,7 +944,7 @@ always available.
This function should be used for specialized purposes only.
It is not guaranteed to exist in all implementations of Python.
.. versionchanged:: next
.. versionchanged:: 3.14
The result may include objects from other interpreters.

View File

@ -84,11 +84,11 @@ The following exceptions are available:
The column corresponding to *pos*.
.. versionchanged:: next
.. versionchanged:: 3.14
Added the *msg*, *doc* and *pos* parameters.
Added the :attr:`msg`, :attr:`doc`, :attr:`pos`, :attr:`lineno` and :attr:`colno` attributes.
.. deprecated:: next
.. deprecated:: 3.14
Passing free-form positional arguments is deprecated.

View File

@ -153,7 +153,7 @@ which relays any information about the UUID's safety, using this enumeration:
The UUID version number (1 through 8, meaningful only when the variant is
:const:`RFC_4122`).
.. versionchanged:: next
.. versionchanged:: 3.14
Added UUID version 8.
@ -233,7 +233,7 @@ The :mod:`uuid` module defines the following functions:
non-specified arguments are substituted for a pseudo-random integer of
appropriate size.
.. versionadded:: next
.. versionadded:: 3.14
.. index:: single: uuid8
@ -323,7 +323,7 @@ The following options are accepted:
Specify the function name to use to generate the uuid. By default :func:`uuid4`
is used.
.. versionadded:: next
.. versionadded:: 3.14
Allow generating UUID version 8.
.. option:: -n <namespace>

View File

@ -20,10 +20,10 @@
#define PY_MINOR_VERSION 14
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
#define PY_RELEASE_SERIAL 1
#define PY_RELEASE_SERIAL 2
/* Version as a string */
#define PY_VERSION "3.14.0a1+"
#define PY_VERSION "3.14.0a2"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Autogenerated by Sphinx on Tue Oct 15 22:34:02 2024
# Autogenerated by Sphinx on Tue Nov 19 16:52:22 2024
# as part of the release process.
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
@ -29,13 +29,12 @@ topics = {'assert': 'The "assert" statement\n'
'(command\n'
'line option "-O"). The current code generator emits no code for '
'an\n'
'assert statement when optimization is requested at compile time. '
'Note\n'
'that it is unnecessary to include the source code for the '
'expression\n'
'that failed in the error message; it will be displayed as part of '
'the\n'
'stack trace.\n'
'"assert" statement when optimization is requested at compile '
'time.\n'
'Note that it is unnecessary to include the source code for the\n'
'expression that failed in the error message; it will be displayed '
'as\n'
'part of the stack trace.\n'
'\n'
'Assignments to "__debug__" are illegal. The value for the '
'built-in\n'
@ -713,7 +712,8 @@ topics = {'assert': 'The "assert" statement\n'
'should either\n'
' return the (computed) attribute value or raise an '
'"AttributeError"\n'
' exception.\n'
' exception. The "object" class itself does not provide '
'this method.\n'
'\n'
' Note that if the attribute is found through the '
'normal mechanism,\n'
@ -896,7 +896,9 @@ topics = {'assert': 'The "assert" statement\n'
'parents). In the\n'
'examples below, “the attribute” refers to the attribute '
'whose name is\n'
'the key of the property in the owner class "__dict__".\n'
'the key of the property in the owner class "__dict__". '
'The "object"\n'
'class itself does not implement any of these protocols.\n'
'\n'
'object.__get__(self, instance, owner=None)\n'
'\n'
@ -1569,7 +1571,9 @@ topics = {'assert': 'The "assert" statement\n'
' Called when the instance is “called” as a function; if '
'this method\n'
' is defined, "x(arg1, arg2, ...)" roughly translates to\n'
' "type(x).__call__(x, arg1, ...)".\n',
' "type(x).__call__(x, arg1, ...)". The "object" class '
'itself does\n'
' not provide this method.\n',
'calls': 'Calls\n'
'*****\n'
'\n'
@ -1754,6 +1758,9 @@ topics = {'assert': 'The "assert" statement\n'
' Function definitions. When the code block executes a "return"\n'
' statement, this specifies the return value of the function '
'call.\n'
' If execution reaches the end of the code block without executing '
'a\n'
' "return" statement, the return value is "None".\n'
'\n'
'a built-in function or method:\n'
' The result is up to the interpreter; see Built-in Functions for '
@ -2802,18 +2809,15 @@ topics = {'assert': 'The "assert" statement\n'
' enter = type(manager).__enter__\n'
' exit = type(manager).__exit__\n'
' value = enter(manager)\n'
' hit_except = False\n'
'\n'
' try:\n'
' TARGET = value\n'
' SUITE\n'
' except:\n'
' hit_except = True\n'
' if not exit(manager, *sys.exc_info()):\n'
' raise\n'
' finally:\n'
' if not hit_except:\n'
' exit(manager, None, None, None)\n'
' else:\n'
' exit(manager, None, None, None)\n'
'\n'
'With more than one item, the context managers are processed as '
'if\n'
@ -4495,6 +4499,9 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'For more information on context managers, see Context '
'Manager Types.\n'
'The "object" class itself does not provide the context '
'manager\n'
'methods.\n'
'\n'
'object.__enter__(self)\n'
'\n'
@ -4764,17 +4771,20 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' This is typically used for debugging, so it is important '
'that the\n'
' representation is information-rich and unambiguous.\n'
' representation is information-rich and unambiguous. A '
'default\n'
' implementation is provided by the "object" class '
'itself.\n'
'\n'
'object.__str__(self)\n'
'\n'
' Called by "str(object)" and the built-in functions '
'"format()" and\n'
' "print()" to compute the “informal” or nicely printable '
'string\n'
' representation of an object. The return value must be a '
'string\n'
' object.\n'
' Called by "str(object)", the default "__format__()" '
'implementation,\n'
' and the built-in function "print()", to compute the '
'“informal” or\n'
' nicely printable string representation of an object. '
'The return\n'
' value must be a str object.\n'
'\n'
' This method differs from "object.__repr__()" in that '
'there is no\n'
@ -4790,7 +4800,9 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' Called by bytes to compute a byte-string representation '
'of an\n'
' object. This should return a "bytes" object.\n'
' object. This should return a "bytes" object. The '
'"object" class\n'
' itself does not provide this method.\n'
'\n'
'object.__format__(self, format_spec)\n'
'\n'
@ -4818,6 +4830,11 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' The return value must be a string object.\n'
'\n'
' The default implementation by the "object" class should '
'be given an\n'
' empty *format_spec* string. It delegates to '
'"__str__()".\n'
'\n'
' Changed in version 3.4: The __format__ method of '
'"object" itself\n'
' raises a "TypeError" if passed any non-empty string.\n'
@ -4875,6 +4892,16 @@ topics = {'assert': 'The "assert" statement\n'
' ordering operations from a single root operation, see\n'
' "functools.total_ordering()".\n'
'\n'
' By default, the "object" class provides implementations '
'consistent\n'
' with Value comparisons: equality compares according to '
'object\n'
' identity, and order comparisons raise "TypeError". Each '
'default\n'
' method may generate these results directly, but may also '
'return\n'
' "NotImplemented".\n'
'\n'
' See the paragraph on "__hash__()" for some important '
'notes on\n'
' creating *hashable* objects which support custom '
@ -4961,12 +4988,13 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' User-defined classes have "__eq__()" and "__hash__()" '
'methods by\n'
' default; with them, all objects compare unequal (except '
'with\n'
' themselves) and "x.__hash__()" returns an appropriate '
'value such\n'
' that "x == y" implies both that "x is y" and "hash(x) == '
'hash(y)".\n'
' default (inherited from the "object" class); with them, '
'all objects\n'
' compare unequal (except with themselves) and '
'"x.__hash__()" returns\n'
' an appropriate value such that "x == y" implies both '
'that "x is y"\n'
' and "hash(x) == hash(y)".\n'
'\n'
' A class that overrides "__eq__()" and does not define '
'"__hash__()"\n'
@ -5037,9 +5065,9 @@ topics = {'assert': 'The "assert" statement\n'
'the object is\n'
' considered true if its result is nonzero. If a class '
'defines\n'
' neither "__len__()" nor "__bool__()", all its instances '
'are\n'
' considered true.\n',
' neither "__len__()" nor "__bool__()" (which is true of '
'the "object"\n'
' class itself), all its instances are considered true.\n',
'debugger': '"pdb" — The Python Debugger\n'
'***************************\n'
'\n'
@ -7038,10 +7066,12 @@ topics = {'assert': 'The "assert" statement\n'
'printing fields |\n'
'| | in the form +000000120. This alignment '
'option is only |\n'
'| | valid for numeric types. It becomes the '
'default for |\n'
'| | numbers when 0 immediately precedes the '
'field width. |\n'
'| | valid for numeric types, excluding "complex". '
'It becomes |\n'
'| | the default for numbers when 0 immediately '
'precedes the |\n'
'| | field '
'width. |\n'
'+-----------+------------------------------------------------------------+\n'
'| "\'^\'" | Forces the field to be centered within the '
'available |\n'
@ -7148,9 +7178,9 @@ topics = {'assert': 'The "assert" statement\n'
'field by a\n'
'zero ("\'0\'") character enables sign-aware zero-padding '
'for numeric\n'
'types. This is equivalent to a *fill* character of "\'0\'" '
'with an\n'
'*alignment* type of "\'=\'".\n'
'types, excluding "complex". This is equivalent to a *fill* '
'character\n'
'of "\'0\'" with an *alignment* type of "\'=\'".\n'
'\n'
'Changed in version 3.10: Preceding the *width* field by '
'"\'0\'" no\n'
@ -7416,6 +7446,32 @@ topics = {'assert': 'The "assert" statement\n'
' '
'+-----------+------------------------------------------------------------+\n'
'\n'
'The result should be correctly rounded to a given precision '
'"p" of\n'
'digits after the decimal point. The rounding mode for '
'"float" matches\n'
'that of the "round()" builtin. For "Decimal", the rounding '
'mode of\n'
'the current context will be used.\n'
'\n'
'The available presentation types for "complex" are the same '
'as those\n'
'for "float" ("\'%\'" is not allowed). Both the real and '
'imaginary\n'
'components of a complex number are formatted as '
'floating-point\n'
'numbers, according to the specified presentation type. '
'They are\n'
'separated by the mandatory sign of the imaginary part, the '
'latter\n'
'being terminated by a "j" suffix. If the presentation type '
'is\n'
'missing, the result will match the output of "str()" '
'(complex numbers\n'
'with a non-zero real part are also surrounded by '
'parentheses),\n'
'possibly altered by other format modifiers.\n'
'\n'
'\n'
'Format examples\n'
'===============\n'
@ -7800,33 +7856,17 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' global_stmt ::= "global" identifier ("," identifier)*\n'
'\n'
'The "global" statement is a declaration which holds for the '
'entire\n'
'current code block. It means that the listed identifiers are to '
'be\n'
'interpreted as globals. It would be impossible to assign to a '
'global\n'
'variable without "global", although free variables may refer to\n'
'globals without being declared global.\n'
'The "global" statement causes the listed identifiers to be '
'interpreted\n'
'as globals. It would be impossible to assign to a global variable\n'
'without "global", although free variables may refer to globals '
'without\n'
'being declared global.\n'
'\n'
'Names listed in a "global" statement must not be used in the same '
'code\n'
'block textually preceding that "global" statement.\n'
'\n'
'Names listed in a "global" statement must not be defined as '
'formal\n'
'parameters, or as targets in "with" statements or "except" '
'clauses, or\n'
'in a "for" target list, "class" definition, function definition,\n'
'"import" statement, or *variable annotations*.\n'
'\n'
'**CPython implementation detail:** The current implementation does '
'not\n'
'enforce some of these restrictions, but programs should not abuse '
'this\n'
'freedom, as future implementations may enforce them or silently '
'change\n'
'the meaning of the program.\n'
'The "global" statement applies to the entire scope of a function '
'or\n'
'class body. A "SyntaxError" is raised if a variable is used or\n'
'assigned to prior to its global declaration in the scope.\n'
'\n'
'**Programmers note:** "global" is a directive to the parser. It\n'
'applies only to code parsed at the same time as the "global"\n'
@ -8896,8 +8936,8 @@ topics = {'assert': 'The "assert" statement\n'
'scope,\n'
'or if there is no nonlocal scope, a "SyntaxError" is raised.\n'
'\n'
'The nonlocal statement applies to the entire scope of a function '
'or\n'
'The "nonlocal" statement applies to the entire scope of a '
'function or\n'
'class body. A "SyntaxError" is raised if a variable is used or\n'
'assigned to prior to its nonlocal declaration in the scope.\n'
'\n'
@ -8996,17 +9036,21 @@ topics = {'assert': 'The "assert" statement\n'
'"divmod()",\n'
' "pow()", "**", "<<", ">>", "&", "^", "|") with reflected '
'(swapped)\n'
' operands. These functions are only called if the left '
'operand does\n'
' not support the corresponding operation [3] and the '
' operands. These functions are only called if the '
'operands are of\n'
' different types. [4] For instance, to evaluate the '
'expression "x -\n'
' y", where *y* is an instance of a class that has an '
'"__rsub__()"\n'
' method, "type(y).__rsub__(y, x)" is called if '
'"type(x).__sub__(x,\n'
' y)" returns "NotImplemented".\n'
' different types, when the left operand does not support '
'the\n'
' corresponding operation [3], or the right operands '
'class is\n'
' derived from the left operands class. [4] For instance, '
'to\n'
' evaluate the expression "x - y", where *y* is an '
'instance of a\n'
' class that has an "__rsub__()" method, '
'"type(y).__rsub__(y, x)" is\n'
' called if "type(x).__sub__(x, y)" returns '
'"NotImplemented" or\n'
' "type(y)" is a subclass of "type(x)". [5]\n'
'\n'
' Note that ternary "pow()" will not try calling '
'"__rpow__()" (the\n'
@ -9651,56 +9695,58 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'The following methods can be defined to implement '
'container objects.\n'
'Containers usually are *sequences* (such as "lists" or '
'"tuples") or\n'
'*mappings* (like "dictionaries"), but can represent other '
'containers\n'
'as well. The first set of methods is used either to '
'emulate a\n'
'sequence or to emulate a mapping; the difference is that '
'for a\n'
'sequence, the allowable keys should be the integers *k* '
'for which "0\n'
'<= k < N" where *N* is the length of the sequence, or '
'"slice" objects,\n'
'which define a range of items. It is also recommended '
'that mappings\n'
'provide the methods "keys()", "values()", "items()", '
'"get()",\n'
'"clear()", "setdefault()", "pop()", "popitem()", "copy()", '
'None of them are provided by the "object" class itself. '
'Containers\n'
'usually are *sequences* (such as "lists" or "tuples") or '
'*mappings*\n'
'(like *dictionaries*), but can represent other containers '
'as well.\n'
'The first set of methods is used either to emulate a '
'sequence or to\n'
'emulate a mapping; the difference is that for a sequence, '
'the\n'
'allowable keys should be the integers *k* for which "0 <= '
'k < N" where\n'
'*N* is the length of the sequence, or "slice" objects, '
'which define a\n'
'range of items. It is also recommended that mappings '
'provide the\n'
'methods "keys()", "values()", "items()", "get()", '
'"clear()",\n'
'"setdefault()", "pop()", "popitem()", "copy()", and '
'"update()"\n'
'behaving similar to those for Pythons standard '
'"dictionary" objects.\n'
'The "collections.abc" module provides a "MutableMapping" '
'*abstract\n'
'base class* to help create those methods from a base set '
'of\n'
'"__getitem__()", "__setitem__()", "__delitem__()", and '
'"keys()".\n'
'Mutable sequences should provide methods "append()", '
'"count()",\n'
'"index()", "extend()", "insert()", "pop()", "remove()", '
'"reverse()"\n'
'and "sort()", like Python standard "list" objects. '
'Finally, sequence\n'
'types should implement addition (meaning concatenation) '
'and\n'
'"update()" behaving similar to those for Pythons '
'standard\n'
'"dictionary" objects. The "collections.abc" module '
'provides a\n'
'"MutableMapping" *abstract base class* to help create '
'those methods\n'
'from a base set of "__getitem__()", "__setitem__()", '
'"__delitem__()",\n'
'and "keys()". Mutable sequences should provide methods '
'"append()",\n'
'"count()", "index()", "extend()", "insert()", "pop()", '
'"remove()",\n'
'"reverse()" and "sort()", like Python standard "list" '
'objects.\n'
'Finally, sequence types should implement addition '
'(meaning\n'
'concatenation) and multiplication (meaning repetition) by '
'defining the\n'
'methods "__add__()", "__radd__()", "__iadd__()", '
'"__mul__()",\n'
'"__rmul__()" and "__imul__()" described below; they should '
'not define\n'
'other numerical operators. It is recommended that both '
'mappings and\n'
'sequences implement the "__contains__()" method to allow '
'efficient use\n'
'of the "in" operator; for mappings, "in" should search the '
'mappings\n'
'keys; for sequences, it should search through the values. '
'It is\n'
'further recommended that both mappings and sequences '
'implement the\n'
'multiplication (meaning repetition) by defining the '
'methods\n'
'"__add__()", "__radd__()", "__iadd__()", "__mul__()", '
'"__rmul__()" and\n'
'"__imul__()" described below; they should not define other '
'numerical\n'
'operators. It is recommended that both mappings and '
'sequences\n'
'implement the "__contains__()" method to allow efficient '
'use of the\n'
'"in" operator; for mappings, "in" should search the '
'mappings keys;\n'
'for sequences, it should search through the values. It is '
'further\n'
'recommended that both mappings and sequences implement '
'the\n'
'"__iter__()" method to allow efficient iteration through '
'the\n'
'container; for mappings, "__iter__()" should iterate '
@ -10240,17 +10286,19 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' This is typically used for debugging, so it is important '
'that the\n'
' representation is information-rich and unambiguous.\n'
' representation is information-rich and unambiguous. A '
'default\n'
' implementation is provided by the "object" class itself.\n'
'\n'
'object.__str__(self)\n'
'\n'
' Called by "str(object)" and the built-in functions '
'"format()" and\n'
' "print()" to compute the “informal” or nicely printable '
'string\n'
' representation of an object. The return value must be a '
'string\n'
' object.\n'
' Called by "str(object)", the default "__format__()" '
'implementation,\n'
' and the built-in function "print()", to compute the '
'“informal” or\n'
' nicely printable string representation of an object. The '
'return\n'
' value must be a str object.\n'
'\n'
' This method differs from "object.__repr__()" in that '
'there is no\n'
@ -10266,7 +10314,9 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' Called by bytes to compute a byte-string representation '
'of an\n'
' object. This should return a "bytes" object.\n'
' object. This should return a "bytes" object. The "object" '
'class\n'
' itself does not provide this method.\n'
'\n'
'object.__format__(self, format_spec)\n'
'\n'
@ -10294,6 +10344,10 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' The return value must be a string object.\n'
'\n'
' The default implementation by the "object" class should '
'be given an\n'
' empty *format_spec* string. It delegates to "__str__()".\n'
'\n'
' Changed in version 3.4: The __format__ method of "object" '
'itself\n'
' raises a "TypeError" if passed any non-empty string.\n'
@ -10351,6 +10405,16 @@ topics = {'assert': 'The "assert" statement\n'
' ordering operations from a single root operation, see\n'
' "functools.total_ordering()".\n'
'\n'
' By default, the "object" class provides implementations '
'consistent\n'
' with Value comparisons: equality compares according to '
'object\n'
' identity, and order comparisons raise "TypeError". Each '
'default\n'
' method may generate these results directly, but may also '
'return\n'
' "NotImplemented".\n'
'\n'
' See the paragraph on "__hash__()" for some important '
'notes on\n'
' creating *hashable* objects which support custom '
@ -10436,12 +10500,13 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' User-defined classes have "__eq__()" and "__hash__()" '
'methods by\n'
' default; with them, all objects compare unequal (except '
'with\n'
' themselves) and "x.__hash__()" returns an appropriate '
'value such\n'
' that "x == y" implies both that "x is y" and "hash(x) == '
'hash(y)".\n'
' default (inherited from the "object" class); with them, '
'all objects\n'
' compare unequal (except with themselves) and '
'"x.__hash__()" returns\n'
' an appropriate value such that "x == y" implies both that '
'"x is y"\n'
' and "hash(x) == hash(y)".\n'
'\n'
' A class that overrides "__eq__()" and does not define '
'"__hash__()"\n'
@ -10510,9 +10575,9 @@ topics = {'assert': 'The "assert" statement\n'
'object is\n'
' considered true if its result is nonzero. If a class '
'defines\n'
' neither "__len__()" nor "__bool__()", all its instances '
'are\n'
' considered true.\n'
' neither "__len__()" nor "__bool__()" (which is true of '
'the "object"\n'
' class itself), all its instances are considered true.\n'
'\n'
'\n'
'Customizing attribute access\n'
@ -10536,7 +10601,8 @@ topics = {'assert': 'The "assert" statement\n'
'either\n'
' return the (computed) attribute value or raise an '
'"AttributeError"\n'
' exception.\n'
' exception. The "object" class itself does not provide '
'this method.\n'
'\n'
' Note that if the attribute is found through the normal '
'mechanism,\n'
@ -10716,7 +10782,9 @@ topics = {'assert': 'The "assert" statement\n'
'parents). In the\n'
'examples below, “the attribute” refers to the attribute '
'whose name is\n'
'the key of the property in the owner class "__dict__".\n'
'the key of the property in the owner class "__dict__". The '
'"object"\n'
'class itself does not implement any of these protocols.\n'
'\n'
'object.__get__(self, instance, owner=None)\n'
'\n'
@ -11599,7 +11667,9 @@ topics = {'assert': 'The "assert" statement\n'
' Called when the instance is “called” as a function; if '
'this method\n'
' is defined, "x(arg1, arg2, ...)" roughly translates to\n'
' "type(x).__call__(x, arg1, ...)".\n'
' "type(x).__call__(x, arg1, ...)". The "object" class '
'itself does\n'
' not provide this method.\n'
'\n'
'\n'
'Emulating container types\n'
@ -11607,54 +11677,54 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'The following methods can be defined to implement container '
'objects.\n'
'Containers usually are *sequences* (such as "lists" or '
'"tuples") or\n'
'*mappings* (like "dictionaries"), but can represent other '
'containers\n'
'as well. The first set of methods is used either to emulate '
'a\n'
'sequence or to emulate a mapping; the difference is that for '
'a\n'
'sequence, the allowable keys should be the integers *k* for '
'which "0\n'
'<= k < N" where *N* is the length of the sequence, or '
'"slice" objects,\n'
'which define a range of items. It is also recommended that '
'mappings\n'
'provide the methods "keys()", "values()", "items()", '
'"get()",\n'
'"clear()", "setdefault()", "pop()", "popitem()", "copy()", '
'and\n'
'"update()" behaving similar to those for Pythons standard\n'
'"dictionary" objects. The "collections.abc" module provides '
'a\n'
'"MutableMapping" *abstract base class* to help create those '
'methods\n'
'from a base set of "__getitem__()", "__setitem__()", '
'"__delitem__()",\n'
'and "keys()". Mutable sequences should provide methods '
'"append()",\n'
'"count()", "index()", "extend()", "insert()", "pop()", '
'"remove()",\n'
'"reverse()" and "sort()", like Python standard "list" '
'None of them are provided by the "object" class itself. '
'Containers\n'
'usually are *sequences* (such as "lists" or "tuples") or '
'*mappings*\n'
'(like *dictionaries*), but can represent other containers as '
'well.\n'
'The first set of methods is used either to emulate a '
'sequence or to\n'
'emulate a mapping; the difference is that for a sequence, '
'the\n'
'allowable keys should be the integers *k* for which "0 <= k '
'< N" where\n'
'*N* is the length of the sequence, or "slice" objects, which '
'define a\n'
'range of items. It is also recommended that mappings '
'provide the\n'
'methods "keys()", "values()", "items()", "get()", '
'"clear()",\n'
'"setdefault()", "pop()", "popitem()", "copy()", and '
'"update()"\n'
'behaving similar to those for Pythons standard "dictionary" '
'objects.\n'
'Finally, sequence types should implement addition (meaning\n'
'concatenation) and multiplication (meaning repetition) by '
'defining the\n'
'methods "__add__()", "__radd__()", "__iadd__()", '
'"__mul__()",\n'
'"__rmul__()" and "__imul__()" described below; they should '
'not define\n'
'other numerical operators. It is recommended that both '
'mappings and\n'
'sequences implement the "__contains__()" method to allow '
'efficient use\n'
'of the "in" operator; for mappings, "in" should search the '
'mappings\n'
'keys; for sequences, it should search through the values. '
'It is\n'
'further recommended that both mappings and sequences '
'implement the\n'
'The "collections.abc" module provides a "MutableMapping" '
'*abstract\n'
'base class* to help create those methods from a base set of\n'
'"__getitem__()", "__setitem__()", "__delitem__()", and '
'"keys()".\n'
'Mutable sequences should provide methods "append()", '
'"count()",\n'
'"index()", "extend()", "insert()", "pop()", "remove()", '
'"reverse()"\n'
'and "sort()", like Python standard "list" objects. Finally, '
'sequence\n'
'types should implement addition (meaning concatenation) and\n'
'multiplication (meaning repetition) by defining the methods\n'
'"__add__()", "__radd__()", "__iadd__()", "__mul__()", '
'"__rmul__()" and\n'
'"__imul__()" described below; they should not define other '
'numerical\n'
'operators. It is recommended that both mappings and '
'sequences\n'
'implement the "__contains__()" method to allow efficient use '
'of the\n'
'"in" operator; for mappings, "in" should search the '
'mappings keys;\n'
'for sequences, it should search through the values. It is '
'further\n'
'recommended that both mappings and sequences implement the\n'
'"__iter__()" method to allow efficient iteration through '
'the\n'
'container; for mappings, "__iter__()" should iterate through '
@ -11913,17 +11983,21 @@ topics = {'assert': 'The "assert" statement\n'
'"divmod()",\n'
' "pow()", "**", "<<", ">>", "&", "^", "|") with reflected '
'(swapped)\n'
' operands. These functions are only called if the left '
'operand does\n'
' not support the corresponding operation [3] and the '
' operands. These functions are only called if the '
'operands are of\n'
' different types. [4] For instance, to evaluate the '
'expression "x -\n'
' y", where *y* is an instance of a class that has an '
'"__rsub__()"\n'
' method, "type(y).__rsub__(y, x)" is called if '
'"type(x).__sub__(x,\n'
' y)" returns "NotImplemented".\n'
' different types, when the left operand does not support '
'the\n'
' corresponding operation [3], or the right operands class '
'is\n'
' derived from the left operands class. [4] For instance, '
'to\n'
' evaluate the expression "x - y", where *y* is an instance '
'of a\n'
' class that has an "__rsub__()" method, '
'"type(y).__rsub__(y, x)" is\n'
' called if "type(x).__sub__(x, y)" returns '
'"NotImplemented" or\n'
' "type(y)" is a subclass of "type(x)". [5]\n'
'\n'
' Note that ternary "pow()" will not try calling '
'"__rpow__()" (the\n'
@ -12066,6 +12140,9 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'For more information on context managers, see Context '
'Manager Types.\n'
'The "object" class itself does not provide the context '
'manager\n'
'methods.\n'
'\n'
'object.__enter__(self)\n'
'\n'
@ -14794,13 +14871,13 @@ topics = {'assert': 'The "assert" statement\n'
' modules created dynamically using the "types.ModuleType"\n'
' constructor. Previously the attribute was optional.\n'
'\n'
' Deprecated since version 3.12, removed in version 3.14: Setting\n'
' "__loader__" on a module while failing to set "__spec__.loader" '
'is\n'
' deprecated. In Python 3.14, "__loader__" will cease to be set '
' Deprecated since version 3.12, will be removed in version 3.16:\n'
' Setting "__loader__" on a module while failing to set\n'
' "__spec__.loader" is deprecated. In Python 3.16, "__loader__" '
'will\n'
' cease to be set or taken into consideration by the import system '
'or\n'
' taken into consideration by the import system or the standard\n'
' library.\n'
' the standard library.\n'
'\n'
'module.__path__\n'
'\n'
@ -15311,7 +15388,7 @@ topics = {'assert': 'The "assert" statement\n'
'| | version '
'3.12: This attribute of code objects is |\n'
'| | deprecated, '
'and may be removed in Python 3.14. |\n'
'and may be removed in Python 3.15. |\n'
'+----------------------------------------------------+----------------------------------------------------+\n'
'| codeobject.co_stacksize | The required '
'stack size of the code object |\n'
@ -15345,10 +15422,9 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'Other bits in "co_flags" are reserved for internal use.\n'
'\n'
'If a code object represents a function, the first item in '
'"co_consts"\n'
'is the documentation string of the function, or "None" if '
'undefined.\n'
'If a code object represents a function and has a docstring, the '
'first\n'
'item in "co_consts" is the docstring of the function.\n'
'\n'
'\n'
'Methods on code objects\n'
@ -15996,10 +16072,10 @@ topics = {'assert': 'The "assert" statement\n'
'"keys()" method\n'
' (in which case "__getitem__()" is called with every '
'key returned\n'
' from the method). or an iterable of key/value pairs '
'(as tuples\n'
' or other iterables of length two). If keyword '
'arguments are\n'
' from the method) or an iterable of key/value pairs (as '
'tuples or\n'
' other iterables of length two). If keyword arguments '
'are\n'
' specified, the dictionary is then updated with those '
'key/value\n'
' pairs: "d.update(red=1, blue=2)".\n'
@ -17310,18 +17386,15 @@ topics = {'assert': 'The "assert" statement\n'
' enter = type(manager).__enter__\n'
' exit = type(manager).__exit__\n'
' value = enter(manager)\n'
' hit_except = False\n'
'\n'
' try:\n'
' TARGET = value\n'
' SUITE\n'
' except:\n'
' hit_except = True\n'
' if not exit(manager, *sys.exc_info()):\n'
' raise\n'
' finally:\n'
' if not hit_except:\n'
' exit(manager, None, None, None)\n'
' else:\n'
' exit(manager, None, None, None)\n'
'\n'
'With more than one item, the context managers are processed as if\n'
'multiple "with" statements were nested:\n'
@ -17362,7 +17435,8 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'A "yield" statement is semantically equivalent to a yield '
'expression.\n'
'The yield statement can be used to omit the parentheses that would\n'
'The "yield" statement can be used to omit the parentheses that '
'would\n'
'otherwise be required in the equivalent yield expression '
'statement.\n'
'For example, the yield statements\n'
@ -17378,10 +17452,9 @@ topics = {'assert': 'The "assert" statement\n'
'Yield expressions and statements are only used when defining a\n'
'*generator* function, and are only used in the body of the '
'generator\n'
'function. Using yield in a function definition is sufficient to '
'cause\n'
'that definition to create a generator function instead of a normal\n'
'function.\n'
'function. Using "yield" in a function definition is sufficient to\n'
'cause that definition to create a generator function instead of a\n'
'normal function.\n'
'\n'
'For full details of "yield" semantics, refer to the Yield '
'expressions\n'

1762
Misc/NEWS.d/3.14.0a2.rst Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
Fix cross compile failures when the host and target SOABIs match.

View File

@ -1 +0,0 @@
Emscripten builds now require node >= 18.

View File

@ -1,2 +0,0 @@
Improve detection of float word ordering on Linux when link-time optimizations
are enabled.

View File

@ -1,2 +0,0 @@
The Android build now supports `16 KB page sizes
<https://developer.android.com/guide/practices/page-sizes>`__.

View File

@ -1 +0,0 @@
The minimum supported Android version is now 7.0 (API level 24).

View File

@ -1,4 +0,0 @@
For cross builds, there is now support for having a different install
``prefix`` than the ``host_prefix`` used by ``getpath.py``. This is set to ``/`` by
default for Emscripten, on other platforms the default behavior is the same
as before.

View File

@ -1 +0,0 @@
Introduced ``Tools/wasm/emscripten.py`` to simplify doing Emscripten builds.

View File

@ -1,2 +0,0 @@
``make clinic`` now runs Argument Clinic using the ``--force`` option,
thus forcefully regenerating generated code.

View File

@ -1 +0,0 @@
Hard-code float word ordering as little endian on WASM.

View File

@ -1 +0,0 @@
Disable SIMD support for HACL under WASI.

View File

@ -1,3 +0,0 @@
Use ``wasm32-wasip1`` as the target triple for WASI instead of
``wasm32-wasi``. The latter will eventually be reclaimed for WASI 1.0 while
CPython currently only supports WASI preview1.

View File

@ -1,3 +0,0 @@
Removed the ``--with-emscripten-target`` configure flag. We unified the
``node`` and ``browser`` options and the same build can now be used, independent
of target runtime.

View File

@ -1 +0,0 @@
The :c:macro:`!Py_HUGE_VAL` macro is :term:`soft deprecated`.

View File

@ -1,2 +0,0 @@
Add :c:func:`PyType_Freeze` function to make a type immutable. Patch by
Victor Stinner.

View File

@ -1,2 +0,0 @@
Added the :c:func:`PyUnstable_Object_EnableDeferredRefcount` function for
enabling :pep:`703` deferred reference counting.

View File

@ -1,3 +0,0 @@
Fix a bug where dictionary watchers (e.g., :c:func:`PyDict_Watch`) on an
object's attribute dictionary (:attr:`~object.__dict__`) were not triggered
when the object's attributes were modified.

View File

@ -1,3 +0,0 @@
Add :c:func:`PyLong_IsPositive`, :c:func:`PyLong_IsNegative`
and :c:func:`PyLong_IsZero` for checking if a :c:type:`PyLongObject`
is positive, negative, or zero, respectively.

View File

@ -1,2 +0,0 @@
Fix error handling in :class:`ctypes.CDLL` objects
which could result in a crash in rare situations.

View File

@ -1 +0,0 @@
Fixed a bug in ``reprlib.repr`` where it incorrectly called the repr method on shadowed Python built-in types.

View File

@ -1 +0,0 @@
Fix bug where SSLProtocol.connection_lost wasn't getting called when OSError was thrown on writing to socket.

View File

@ -1,3 +0,0 @@
The :func:`map` built-in now has an optional keyword-only *strict* flag
like :func:`zip` to check that all the iterables are of equal length.
Patch by Wannes Boeykens.

View File

@ -1,4 +0,0 @@
Improve the error message when a script shadowing a module from the standard
library causes :exc:`ImportError` to be raised during a "from" import.
Similarly, improve the error message when a script shadowing a third party module
attempts to "from" import an attribute from that third party module while still initialising.

View File

@ -1 +0,0 @@
Update JIT compilation to use LLVM 19

View File

@ -1,2 +0,0 @@
Don't allow the JIT and perf support to be active at the same time. Patch by
Pablo Galindo

View File

@ -1,2 +0,0 @@
Fix crash when iterating over a generator expression after direct changes on ``gi_frame.f_locals``.
Patch by Mikhail Efimov.

View File

@ -1,2 +0,0 @@
Add a new ``INSTRUCTION_SIZE`` macro to the cases generator which returns
the current instruction size.

View File

@ -1 +0,0 @@
Fix illegal instruction for older Arm architectures. Patch by Diego Russo, testing by Ross Burton.

View File

@ -1,2 +0,0 @@
The Python PEG generator can now use f-strings in the grammar actions. Patch
by Pablo Galindo

View File

@ -1,2 +0,0 @@
Fix crash on certain accesses to the ``__annotations__`` of
:class:`staticmethod` and :class:`classmethod` objects.

View File

@ -1 +0,0 @@
Use color to highlight error locations in traceback from exception group

View File

@ -1,2 +0,0 @@
Correctly honour :mod:`tracemalloc` hooks in specialized ``Py_DECREF``
paths. Patch by Pablo Galindo

View File

@ -1,4 +0,0 @@
The JIT has been updated to leverage Clang 19s new ``preserve_none`` attribute,
which supports more platforms and is more useful than LLVM's existing ``ghccc``
calling convention. This also removes the need to manually patch the calling
convention in LLVM IR, simplifying the JIT compilation process.

View File

@ -1,3 +0,0 @@
It was possible in 3.14.0a1 only for attribute lookup to give the wrong
value. This was due to an incorrect specialization in very specific
circumstances. This is fixed in 3.14.0a2.

View File

@ -1,2 +0,0 @@
Fix a crash in the free threading build when :func:`gc.get_objects` or
:func:`gc.get_referrers` is called during an in-progress garbage collection.

View File

@ -1,2 +0,0 @@
On Android, the ``errors`` setting of :any:`sys.stdout` was changed from
``surrogateescape`` to ``backslashreplace``.

View File

@ -1,5 +0,0 @@
Adds :opcode:`LOAD_SMALL_INT` and :opcode:`LOAD_CONST_IMMORTAL` instructions.
``LOAD_SMALL_INT`` pushes a small integer equal to the ``oparg`` to the stack.
``LOAD_CONST_IMMORTAL`` does the same as ``LOAD_CONST`` but is more
efficient for immortal objects.
Removes ``RETURN_CONST`` instruction.

View File

@ -1,2 +0,0 @@
The :class:`memoryview` type now supports subscription, making it a
:term:`generic type`.

View File

@ -1,2 +0,0 @@
Fix a crash in :func:`sys.audit` when passing a non-string as first argument
and Python was compiled in debug mode.

View File

@ -1,2 +0,0 @@
Avoid temporary tuple creation for vararg in argument passing with Argument
Clinic generated code (if arguments either vararg or positional-only).

View File

@ -1,3 +0,0 @@
Relocated objects such as ``tuple``, ``bytes`` and ``str`` objects are
properly tracked by :mod:`tracemalloc` and its associated hooks. Patch by
Pablo Galindo.

View File

@ -1,3 +0,0 @@
Add a new attribute in :attr:`~codeobject.co_flags` to indicate whether the
first item in :attr:`~codeobject.co_consts` is the docstring. If a code
object has no docstring, ``None`` will **NOT** be inserted.

View File

@ -1,2 +0,0 @@
Provide better error location when attempting to use a :term:`future
statement <__future__>` with an unknown future feature.

View File

@ -1 +0,0 @@
Improve JIT performance by 1.4% on macOS Apple Silicon by using platform-specific memory protection APIs. Patch by Diego Russo.

View File

@ -1,2 +0,0 @@
Following :gh:`126101`, for :ref:`codeobjects` like lambda, annotation and type alias,
we no longer add ``None`` to its :attr:`~codeobject.co_consts`.

View File

@ -1,2 +0,0 @@
Relax optimization requirements to allow fast attribute access to module
subclasses.

View File

@ -1,2 +0,0 @@
Fix crash during garbage collection on an object frozen by :func:`gc.freeze` on the
free-threaded build.

View File

@ -1,3 +0,0 @@
Fix an issue with ``skip_file_prefixes`` parameter which resulted in an inconsistent
behaviour between the C and Python implementations of :func:`warnings.warn`.
Patch by Daehee Kim.

View File

@ -1,2 +0,0 @@
Fix crash when using ``yield from`` on an object that raises an exception in
its ``__iter__``.

View File

@ -1,3 +0,0 @@
Do not include count of "peek" items in ``_PyUop_num_popped``. This ensures
that the correct number of items are popped from the stack when a micro-op
exits with an error.

View File

@ -1,3 +0,0 @@
Fix :mod:`importlib` to not write an incomplete .pyc files when a ulimit or some
other operating system mechanism is preventing the write to go through
fully.

View File

@ -1,2 +0,0 @@
Fix a crash when calling :func:`os.fork` on some operating systems,
including SerenityOS.

View File

@ -1 +0,0 @@
Now :exc:`ValueError` is raised instead of :exc:`SystemError` when trying to iterate over a released :class:`memoryview` object.

View File

@ -1,2 +0,0 @@
Increase the threshold for JIT code warmup. Depending on platform and workload,
this can result in performance gains of 1-9% and memory savings of 3-5%.

View File

@ -1,2 +0,0 @@
Include the :class:`object` type in the lists of documented types.
Change by Furkan Onder and Martin Panter.

View File

@ -1,2 +0,0 @@
Require Sphinx 7.2.6 or later to build the Python documentation.
Patch by Adam Turner.

View File

@ -1,3 +0,0 @@
Added stub pages for removed modules explaining their removal, where to find
replacements, and linking to the last Python version that supported them.
Contributed by Ned Batchelder.

View File

@ -1,2 +0,0 @@
Add MIME types for MS Embedded OpenType, OpenType Layout, TrueType,
WOFF 1.0 and 2.0 fonts. Patch by Sahil Prajapati and Hugo van Kemenade.

View File

@ -1,2 +0,0 @@
Strip :class:`unittest.IsolatedAsyncioTestCase` stack frames from reported
stacktraces.

View File

@ -1 +0,0 @@
Fix a race condition in :class:`multiprocessing.pool.Pool`.

View File

@ -1,2 +0,0 @@
Fix SystemError when match regular expression pattern containing some
combination of possessive quantifier, alternative and capture group.

View File

@ -1,4 +0,0 @@
Accepting objects with false values (like ``0`` and ``[]``) except empty
strings, byte-like objects and ``None`` in :mod:`urllib.parse` functions
:func:`~urllib.parse.parse_qsl` and :func:`~urllib.parse.parse_qs` is now
deprecated.

View File

@ -1 +0,0 @@
Add :data:`!socket.IPV6_RECVERR` constant (available since Linux 2.2).

View File

@ -1 +0,0 @@
Remove deprecated :func:`!pkgutil.get_loader` and :func:`!pkgutil.find_loader`.

View File

@ -1 +0,0 @@
Always return an absolute path for :func:`os.path.abspath` on Windows.

View File

@ -1,2 +0,0 @@
:func:`!posixpath.realpath` now raises :exc:`NotADirectoryError` when *strict*
mode is enabled and a non-directory path with a trailing slash is supplied.

View File

@ -1 +0,0 @@
Fixed an issue where :func:`inspect.getclosurevars` would incorrectly classify an attribute name as a global variable when the name exists both as an attribute name and a global variable.

View File

@ -1,2 +0,0 @@
Improve the performance of :mod:`tarfile` when writing files, by caching user names
and group names.

View File

@ -1 +0,0 @@
Update unbounded ``read`` calls in :mod:`zipfile` to specify an explicit ``size`` putting a limit on how much data they may read. This also updates handling around ZIP max comment size to match the standard instead of reading comments that are one byte too long.

View File

@ -1 +0,0 @@
Add :func:`platform.invalidate_caches` to invalidate cached results.

View File

@ -1,2 +0,0 @@
Add :func:`uuid.uuid8` for generating UUIDv8 objects as specified in
:rfc:`9562`. Patch by Bénédikt Tran

View File

@ -1 +0,0 @@
Fix the canvas not clearing after running turtledemo clock.

View File

@ -1 +0,0 @@
unittest discovery supports PEP 420 namespace packages as start directory again.

View File

@ -1,4 +0,0 @@
The tkinter module can now be built to use either the new version 9.0.0 of
Tcl/Tk or the latest release 8.6.15 of Tcl/Tk 8. Tcl/Tk 9 includes many
improvements, both to the Tcl language and to the appearance and utility of
the graphical user interface provided by Tk.

View File

@ -1 +0,0 @@
Fixed a bug in :mod:`pdb` where sometimes the breakpoint won't trigger if it was set on a function which is already in the call stack.

View File

@ -1 +0,0 @@
Adds a feature to optionally enable suggestions for argument choices and subparser names if mistyped by the user.

View File

@ -1 +0,0 @@
Deprecate the :class:`argparse.FileType` type converter.

View File

@ -1,6 +0,0 @@
We've added :class:`concurrent.futures.InterpreterPoolExecutor`, which
allows you to run code in multiple isolated interpreters. This allows you
to circumvent the limitations of CPU-bound threads (due to the GIL). Patch
by Eric Snow.
This addition is unrelated to :pep:`734`.

View File

@ -1 +0,0 @@
Properly quote template strings in :mod:`venv` activation scripts.

View File

@ -1 +0,0 @@
Fixed thread safety in :mod:`ssl` in the free-threaded build. OpenSSL operations are now protected by a per-object lock.

View File

@ -1,8 +0,0 @@
Fix encoding issues in :func:`time.strftime`, the
:meth:`~datetime.datetime.strftime` method of the :mod:`datetime` classes
:class:`~datetime.datetime`, :class:`~datetime.date` and
:class:`~datetime.time` and formatting of these classes. Characters not
encodable in the current locale are now acceptable in the format string.
Surrogate pairs and sequence of surrogatescape-encoded bytes are no longer
recombinated. Embedded null character no longer terminates the format
string.

View File

@ -1,2 +0,0 @@
Fix race condition when importing :mod:`collections.abc`, which could
incorrectly return an empty module.

View File

@ -1 +0,0 @@
Fix the conversion of the :envvar:`!VIRTUAL_ENV` path in the activate script in :mod:`venv` when running in Git Bash for Windows.

View File

@ -1 +0,0 @@
Fixed a bug in :mod:`pdb` where arguments starting with ``-`` can't be passed to the debugged script.

View File

@ -1,2 +0,0 @@
Fix deadlock when :class:`concurrent.futures.ProcessPoolExecutor` shuts down
concurrently with an error when feeding a job to a worker process.

View File

@ -1,2 +0,0 @@
Improve traceback if :func:`importlib.reload` is called with an object that
is not a module. Patch by Alex Waygood.

View File

@ -1,4 +0,0 @@
Pressing :kbd:`Ctrl-C` while blocked in :meth:`threading.Lock.acquire`,
:meth:`threading.RLock.acquire`, and :meth:`threading.Thread.join` now
interrupts the function call and raises a :exc:`KeyboardInterrupt` exception
on Windows, similar to how those functions behave on macOS and Linux.

View File

@ -1,2 +0,0 @@
Deprecate passing keyword-only *prefix_chars* argument to
:meth:`argparse.ArgumentParser.add_argument_group`.

Some files were not shown because too many files have changed in this diff Show More