mirror of
https://github.com/python/cpython.git
synced 2025-08-10 03:49:18 +00:00
Python 3.12.7
This commit is contained in:
parent
3b5bc8d228
commit
0b05ead877
40 changed files with 627 additions and 248 deletions
|
@ -18,12 +18,12 @@
|
|||
/*--start constants--*/
|
||||
#define PY_MAJOR_VERSION 3
|
||||
#define PY_MINOR_VERSION 12
|
||||
#define PY_MICRO_VERSION 6
|
||||
#define PY_MICRO_VERSION 7
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
|
||||
#define PY_RELEASE_SERIAL 0
|
||||
|
||||
/* Version as a string */
|
||||
#define PY_VERSION "3.12.6+"
|
||||
#define PY_VERSION "3.12.7"
|
||||
/*--end constants--*/
|
||||
|
||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Autogenerated by Sphinx on Fri Sep 6 21:00:45 2024
|
||||
# Autogenerated by Sphinx on Tue Oct 1 04:02:04 2024
|
||||
# as part of the release process.
|
||||
topics = {'assert': 'The "assert" statement\n'
|
||||
'**********************\n'
|
||||
|
@ -1094,11 +1094,13 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'to the class\n'
|
||||
' where it is defined. *__slots__* declared in parents '
|
||||
'are available\n'
|
||||
' in child classes. However, child subclasses will get a '
|
||||
'"__dict__"\n'
|
||||
' and *__weakref__* unless they also define *__slots__* '
|
||||
'(which should\n'
|
||||
' only contain names of any *additional* slots).\n'
|
||||
' in child classes. However, instances of a child '
|
||||
'subclass will get a\n'
|
||||
' "__dict__" and *__weakref__* unless the subclass also '
|
||||
'defines\n'
|
||||
' *__slots__* (which should only contain names of any '
|
||||
'*additional*\n'
|
||||
' slots).\n'
|
||||
'\n'
|
||||
'* If a class defines a slot also defined in a base '
|
||||
'class, the instance\n'
|
||||
|
@ -3571,10 +3573,12 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' parameter_list_no_posonly ::= defparameter ("," '
|
||||
'defparameter)* ["," [parameter_list_starargs]]\n'
|
||||
' | parameter_list_starargs\n'
|
||||
' parameter_list_starargs ::= "*" [parameter] ("," '
|
||||
' parameter_list_starargs ::= "*" [star_parameter] ("," '
|
||||
'defparameter)* ["," ["**" parameter [","]]]\n'
|
||||
' | "**" parameter [","]\n'
|
||||
' parameter ::= identifier [":" expression]\n'
|
||||
' star_parameter ::= identifier [":" ["*"] '
|
||||
'expression]\n'
|
||||
' defparameter ::= parameter ["=" expression]\n'
|
||||
' funcname ::= identifier\n'
|
||||
'\n'
|
||||
|
@ -3702,27 +3706,31 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'expression"”\n'
|
||||
'following the parameter name. Any parameter may have an '
|
||||
'annotation,\n'
|
||||
'even those of the form "*identifier" or "**identifier". '
|
||||
'Functions may\n'
|
||||
'have “return” annotation of the form “"-> expression"” after '
|
||||
'the\n'
|
||||
'parameter list. These annotations can be any valid Python '
|
||||
'expression.\n'
|
||||
'The presence of annotations does not change the semantics of a\n'
|
||||
'function. The annotation values are available as values of a\n'
|
||||
'dictionary keyed by the parameters’ names in the '
|
||||
'"__annotations__"\n'
|
||||
'attribute of the function object. If the "annotations" import '
|
||||
'from\n'
|
||||
'"__future__" is used, annotations are preserved as strings at '
|
||||
'runtime\n'
|
||||
'which enables postponed evaluation. Otherwise, they are '
|
||||
'evaluated\n'
|
||||
'when the function definition is executed. In this case '
|
||||
'annotations\n'
|
||||
'may be evaluated in a different order than they appear in the '
|
||||
'source\n'
|
||||
'code.\n'
|
||||
'even those of the form "*identifier" or "**identifier". (As a '
|
||||
'special\n'
|
||||
'case, parameters of the form "*identifier" may have an '
|
||||
'annotation “":\n'
|
||||
'*expression"”.) Functions may have “return” annotation of the '
|
||||
'form\n'
|
||||
'“"-> expression"” after the parameter list. These annotations '
|
||||
'can be\n'
|
||||
'any valid Python expression. The presence of annotations does '
|
||||
'not\n'
|
||||
'change the semantics of a function. The annotation values are\n'
|
||||
'available as values of a dictionary keyed by the parameters’ '
|
||||
'names in\n'
|
||||
'the "__annotations__" attribute of the function object. If the\n'
|
||||
'"annotations" import from "__future__" is used, annotations are\n'
|
||||
'preserved as strings at runtime which enables postponed '
|
||||
'evaluation.\n'
|
||||
'Otherwise, they are evaluated when the function definition is\n'
|
||||
'executed. In this case annotations may be evaluated in a '
|
||||
'different\n'
|
||||
'order than they appear in the source code.\n'
|
||||
'\n'
|
||||
'Changed in version 3.11: Parameters of the form “"*identifier"” '
|
||||
'may\n'
|
||||
'have an annotation “": *expression"”. See **PEP 646**.\n'
|
||||
'\n'
|
||||
'It is also possible to create anonymous functions (functions not '
|
||||
'bound\n'
|
||||
|
@ -6231,11 +6239,11 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'* While annotation scopes have an internal name, that name is '
|
||||
'not\n'
|
||||
' reflected in the *__qualname__* of objects defined within the '
|
||||
'scope.\n'
|
||||
' Instead, the "__qualname__" of such objects is as if the '
|
||||
'object were\n'
|
||||
' defined in the enclosing scope.\n'
|
||||
' reflected in the *qualified name* of objects defined within '
|
||||
'the\n'
|
||||
' scope. Instead, the "__qualname__" of such objects is as if '
|
||||
'the\n'
|
||||
' object were defined in the enclosing scope.\n'
|
||||
'\n'
|
||||
'Added in version 3.12: Annotation scopes were introduced in '
|
||||
'Python\n'
|
||||
|
@ -6433,12 +6441,17 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'exprlists': 'Expression lists\n'
|
||||
'****************\n'
|
||||
'\n'
|
||||
' expression_list ::= expression ("," expression)* [","]\n'
|
||||
' starred_list ::= starred_item ("," starred_item)* '
|
||||
' starred_expression ::= ["*"] or_expr\n'
|
||||
' flexible_expression ::= assignment_expression | '
|
||||
'starred_expression\n'
|
||||
' flexible_expression_list ::= flexible_expression ("," '
|
||||
'flexible_expression)* [","]\n'
|
||||
' starred_expression_list ::= starred_expression ("," '
|
||||
'starred_expression)* [","]\n'
|
||||
' expression_list ::= expression ("," expression)* '
|
||||
'[","]\n'
|
||||
' starred_expression ::= expression | (starred_item ",")* '
|
||||
'[starred_item]\n'
|
||||
' starred_item ::= assignment_expression | "*" or_expr\n'
|
||||
' yield_list ::= expression_list | '
|
||||
'starred_expression "," [starred_expression_list]\n'
|
||||
'\n'
|
||||
'Except when part of a list or set display, an expression list\n'
|
||||
'containing at least one comma yields a tuple. The length of '
|
||||
|
@ -6457,6 +6470,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'Added in version 3.5: Iterable unpacking in expression lists,\n'
|
||||
'originally proposed by **PEP 448**.\n'
|
||||
'\n'
|
||||
'Added in version 3.11: Any item in an expression list may be '
|
||||
'starred.\n'
|
||||
'See **PEP 646**.\n'
|
||||
'\n'
|
||||
'A trailing comma is required only to create a one-item tuple, '
|
||||
'such as\n'
|
||||
'"1,"; it is optional in all other cases. A single expression '
|
||||
|
@ -7142,18 +7159,22 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'percent sign. |\n'
|
||||
' '
|
||||
'+-----------+------------------------------------------------------------+\n'
|
||||
' | None | For "float" this is the same as "\'g\'", '
|
||||
' | None | For "float" this is like the "\'g\'" type, '
|
||||
'except that when |\n'
|
||||
' | | fixed-point notation is used to format the '
|
||||
'result, it |\n'
|
||||
' | | fixed- point notation is used to format '
|
||||
'the result, it |\n'
|
||||
' | | always includes at least one digit past '
|
||||
'the decimal point. |\n'
|
||||
' | | The precision used is as large as needed '
|
||||
'to represent the |\n'
|
||||
' | | given value faithfully. For "Decimal", '
|
||||
'this is the same |\n'
|
||||
' | | as either "\'g\'" or "\'G\'" depending on '
|
||||
'the value of |\n'
|
||||
'the decimal point, |\n'
|
||||
' | | and switches to the scientific notation '
|
||||
'when "exp >= p - |\n'
|
||||
' | | 1". When the precision is not specified, '
|
||||
'the latter will |\n'
|
||||
' | | be as large as needed to represent the '
|
||||
'given value |\n'
|
||||
' | | faithfully. For "Decimal", this is the '
|
||||
'same as either |\n'
|
||||
' | | "\'g\'" or "\'G\'" depending on the value '
|
||||
'of |\n'
|
||||
' | | "context.capitals" for the current decimal '
|
||||
'context. The |\n'
|
||||
' | | overall effect is to match the output of '
|
||||
|
@ -7343,10 +7364,12 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' parameter_list_no_posonly ::= defparameter ("," '
|
||||
'defparameter)* ["," [parameter_list_starargs]]\n'
|
||||
' | parameter_list_starargs\n'
|
||||
' parameter_list_starargs ::= "*" [parameter] ("," '
|
||||
' parameter_list_starargs ::= "*" [star_parameter] ("," '
|
||||
'defparameter)* ["," ["**" parameter [","]]]\n'
|
||||
' | "**" parameter [","]\n'
|
||||
' parameter ::= identifier [":" expression]\n'
|
||||
' star_parameter ::= identifier [":" ["*"] '
|
||||
'expression]\n'
|
||||
' defparameter ::= parameter ["=" expression]\n'
|
||||
' funcname ::= identifier\n'
|
||||
'\n'
|
||||
|
@ -7474,27 +7497,31 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'expression"”\n'
|
||||
'following the parameter name. Any parameter may have an '
|
||||
'annotation,\n'
|
||||
'even those of the form "*identifier" or "**identifier". '
|
||||
'Functions may\n'
|
||||
'have “return” annotation of the form “"-> expression"” after '
|
||||
'the\n'
|
||||
'parameter list. These annotations can be any valid Python '
|
||||
'expression.\n'
|
||||
'The presence of annotations does not change the semantics of a\n'
|
||||
'function. The annotation values are available as values of a\n'
|
||||
'dictionary keyed by the parameters’ names in the '
|
||||
'"__annotations__"\n'
|
||||
'attribute of the function object. If the "annotations" import '
|
||||
'from\n'
|
||||
'"__future__" is used, annotations are preserved as strings at '
|
||||
'runtime\n'
|
||||
'which enables postponed evaluation. Otherwise, they are '
|
||||
'evaluated\n'
|
||||
'when the function definition is executed. In this case '
|
||||
'annotations\n'
|
||||
'may be evaluated in a different order than they appear in the '
|
||||
'source\n'
|
||||
'code.\n'
|
||||
'even those of the form "*identifier" or "**identifier". (As a '
|
||||
'special\n'
|
||||
'case, parameters of the form "*identifier" may have an '
|
||||
'annotation “":\n'
|
||||
'*expression"”.) Functions may have “return” annotation of the '
|
||||
'form\n'
|
||||
'“"-> expression"” after the parameter list. These annotations '
|
||||
'can be\n'
|
||||
'any valid Python expression. The presence of annotations does '
|
||||
'not\n'
|
||||
'change the semantics of a function. The annotation values are\n'
|
||||
'available as values of a dictionary keyed by the parameters’ '
|
||||
'names in\n'
|
||||
'the "__annotations__" attribute of the function object. If the\n'
|
||||
'"annotations" import from "__future__" is used, annotations are\n'
|
||||
'preserved as strings at runtime which enables postponed '
|
||||
'evaluation.\n'
|
||||
'Otherwise, they are evaluated when the function definition is\n'
|
||||
'executed. In this case annotations may be evaluated in a '
|
||||
'different\n'
|
||||
'order than they appear in the source code.\n'
|
||||
'\n'
|
||||
'Changed in version 3.11: Parameters of the form “"*identifier"” '
|
||||
'may\n'
|
||||
'have an annotation “": *expression"”. See **PEP 646**.\n'
|
||||
'\n'
|
||||
'It is also possible to create anonymous functions (functions not '
|
||||
'bound\n'
|
||||
|
@ -8250,7 +8277,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'in\n'
|
||||
'square brackets:\n'
|
||||
'\n'
|
||||
' list_display ::= "[" [starred_list | comprehension] "]"\n'
|
||||
' list_display ::= "[" [flexible_expression_list | comprehension] '
|
||||
'"]"\n'
|
||||
'\n'
|
||||
'A list display yields a new list object, the contents being '
|
||||
'specified\n'
|
||||
|
@ -8501,11 +8529,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' can introduce new names.\n'
|
||||
'\n'
|
||||
'* While annotation scopes have an internal name, that name is not\n'
|
||||
' reflected in the *__qualname__* of objects defined within the '
|
||||
'scope.\n'
|
||||
' Instead, the "__qualname__" of such objects is as if the object '
|
||||
'were\n'
|
||||
' defined in the enclosing scope.\n'
|
||||
' reflected in the *qualified name* of objects defined within the\n'
|
||||
' scope. Instead, the "__qualname__" of such objects is as if the\n'
|
||||
' object were defined in the enclosing scope.\n'
|
||||
'\n'
|
||||
'Added in version 3.12: Annotation scopes were introduced in '
|
||||
'Python\n'
|
||||
|
@ -9721,20 +9747,6 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'not reported\n'
|
||||
'by the "dir()" built-in function.\n'
|
||||
'\n'
|
||||
'object.__dict__\n'
|
||||
'\n'
|
||||
' A dictionary or other mapping object used to store an '
|
||||
'object’s\n'
|
||||
' (writable) attributes.\n'
|
||||
'\n'
|
||||
'instance.__class__\n'
|
||||
'\n'
|
||||
' The class to which a class instance belongs.\n'
|
||||
'\n'
|
||||
'class.__bases__\n'
|
||||
'\n'
|
||||
' The tuple of base classes of a class object.\n'
|
||||
'\n'
|
||||
'definition.__name__\n'
|
||||
'\n'
|
||||
' The name of the class, function, method, descriptor, or '
|
||||
|
@ -9749,39 +9761,26 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
' Added in version 3.3.\n'
|
||||
'\n'
|
||||
'definition.__module__\n'
|
||||
'\n'
|
||||
' The name of the module in which a class or function was '
|
||||
'defined.\n'
|
||||
'\n'
|
||||
'definition.__doc__\n'
|
||||
'\n'
|
||||
' The documentation string of a class or function, or '
|
||||
'"None" if\n'
|
||||
' undefined.\n'
|
||||
'\n'
|
||||
'definition.__type_params__\n'
|
||||
'\n'
|
||||
' The type parameters of generic classes, functions, and '
|
||||
'type\n'
|
||||
' aliases.\n'
|
||||
' aliases. For classes and functions that are not generic, '
|
||||
'this will\n'
|
||||
' be an empty tuple.\n'
|
||||
'\n'
|
||||
' Added in version 3.12.\n'
|
||||
'\n'
|
||||
'class.__mro__\n'
|
||||
'\n'
|
||||
' This attribute is a tuple of classes that are considered '
|
||||
'when\n'
|
||||
' looking for base classes during method resolution.\n'
|
||||
'\n'
|
||||
'class.mro()\n'
|
||||
'\n'
|
||||
' This method can be overridden by a metaclass to customize '
|
||||
'the\n'
|
||||
' method resolution order for its instances. It is called '
|
||||
'at class\n'
|
||||
' instantiation, and its result is stored in "__mro__".\n'
|
||||
'\n'
|
||||
'class.__subclasses__()\n'
|
||||
'\n'
|
||||
' Each class keeps a list of weak references to its '
|
||||
'immediate\n'
|
||||
' subclasses. This method returns a list of all those '
|
||||
'references\n'
|
||||
' still alive. The list is in definition order. Example:\n'
|
||||
'\n'
|
||||
' >>> int.__subclasses__()\n'
|
||||
" [<class 'bool'>, <enum 'IntEnum'>, <flag 'IntFlag'>, "
|
||||
"<class 're._constants._NamedIntConstant'>]\n",
|
||||
' Added in version 3.12.\n',
|
||||
'specialnames': 'Special method names\n'
|
||||
'********************\n'
|
||||
'\n'
|
||||
|
@ -10727,11 +10726,13 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'the class\n'
|
||||
' where it is defined. *__slots__* declared in parents are '
|
||||
'available\n'
|
||||
' in child classes. However, child subclasses will get a '
|
||||
'"__dict__"\n'
|
||||
' and *__weakref__* unless they also define *__slots__* '
|
||||
'(which should\n'
|
||||
' only contain names of any *additional* slots).\n'
|
||||
' in child classes. However, instances of a child subclass '
|
||||
'will get a\n'
|
||||
' "__dict__" and *__weakref__* unless the subclass also '
|
||||
'defines\n'
|
||||
' *__slots__* (which should only contain names of any '
|
||||
'*additional*\n'
|
||||
' slots).\n'
|
||||
'\n'
|
||||
'* If a class defines a slot also defined in a base class, '
|
||||
'the instance\n'
|
||||
|
@ -11148,7 +11149,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'built-in\n'
|
||||
'types), including other ABCs.\n'
|
||||
'\n'
|
||||
'class.__instancecheck__(self, instance)\n'
|
||||
'type.__instancecheck__(self, instance)\n'
|
||||
'\n'
|
||||
' Return true if *instance* should be considered a (direct '
|
||||
'or\n'
|
||||
|
@ -11156,7 +11157,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'implement\n'
|
||||
' "isinstance(instance, class)".\n'
|
||||
'\n'
|
||||
'class.__subclasscheck__(self, subclass)\n'
|
||||
'type.__subclasscheck__(self, subclass)\n'
|
||||
'\n'
|
||||
' Return true if *subclass* should be considered a (direct '
|
||||
'or\n'
|
||||
|
@ -13278,7 +13279,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'*generic\n'
|
||||
'class* will generally return a GenericAlias object.\n'
|
||||
'\n'
|
||||
' subscription ::= primary "[" expression_list "]"\n'
|
||||
' subscription ::= primary "[" flexible_expression_list '
|
||||
'"]"\n'
|
||||
'\n'
|
||||
'When an object is subscripted, the interpreter will '
|
||||
'evaluate the\n'
|
||||
|
@ -13297,13 +13299,18 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'see\n'
|
||||
'__class_getitem__ versus __getitem__.\n'
|
||||
'\n'
|
||||
'If the expression list contains at least one comma, it will '
|
||||
'evaluate\n'
|
||||
'to a "tuple" containing the items of the expression list. '
|
||||
'Otherwise,\n'
|
||||
'the expression list will evaluate to the value of the '
|
||||
'list’s sole\n'
|
||||
'member.\n'
|
||||
'If the expression list contains at least one comma, or if '
|
||||
'any of the\n'
|
||||
'expressions are starred, the expression list will evaluate '
|
||||
'to a\n'
|
||||
'"tuple" containing the items of the expression list. '
|
||||
'Otherwise, the\n'
|
||||
'expression list will evaluate to the value of the list’s '
|
||||
'sole member.\n'
|
||||
'\n'
|
||||
'Changed in version 3.11: Expressions in an expression list '
|
||||
'may be\n'
|
||||
'starred. See **PEP 646**.\n'
|
||||
'\n'
|
||||
'For built-in objects, there are two types of objects that '
|
||||
'support\n'
|
||||
|
@ -14052,8 +14059,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'|====================================================|====================================================|\n'
|
||||
'| function.__doc__ | The '
|
||||
'function’s documentation string, or "None" if |\n'
|
||||
'| | unavailable. '
|
||||
'Not inherited by subclasses. |\n'
|
||||
'| | '
|
||||
'unavailable. |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| function.__name__ | The '
|
||||
'function’s name. See also: "__name__ |\n'
|
||||
|
@ -14423,32 +14430,104 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'A class object can be called (see above) to yield a class instance\n'
|
||||
'(see below).\n'
|
||||
'\n'
|
||||
'Special attributes:\n'
|
||||
'\n'
|
||||
' "__name__"\n'
|
||||
' The class name.\n'
|
||||
'Special attributes\n'
|
||||
'------------------\n'
|
||||
'\n'
|
||||
' "__module__"\n'
|
||||
' The name of the module in which the class was defined.\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| Attribute | '
|
||||
'Meaning |\n'
|
||||
'|====================================================|====================================================|\n'
|
||||
'| type.__name__ | The class’s '
|
||||
'name. See also: "__name__ attributes". |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| type.__qualname__ | The class’s '
|
||||
'*qualified name*. See also: |\n'
|
||||
'| | '
|
||||
'"__qualname__ attributes". |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| type.__module__ | The name of '
|
||||
'the module in which the class was |\n'
|
||||
'| | '
|
||||
'defined. |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| type.__dict__ | A "mapping '
|
||||
'proxy" providing a read-only view of |\n'
|
||||
'| | the class’s '
|
||||
'namespace. See also: "__dict__ |\n'
|
||||
'| | '
|
||||
'attributes". |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| type.__bases__ | A "tuple" '
|
||||
'containing the class’s bases. In most |\n'
|
||||
'| | cases, for a '
|
||||
'class defined as "class X(A, B, C)", |\n'
|
||||
'| | '
|
||||
'"X.__bases__" will be exactly equal to "(A, B, |\n'
|
||||
'| | '
|
||||
'C)". |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| type.__doc__ | The class’s '
|
||||
'documentation string, or "None" if |\n'
|
||||
'| | undefined. '
|
||||
'Not inherited by subclasses. |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| type.__annotations__ | A dictionary '
|
||||
'containing *variable annotations* |\n'
|
||||
'| | collected '
|
||||
'during class body execution. For best |\n'
|
||||
'| | practices on '
|
||||
'working with "__annotations__", |\n'
|
||||
'| | please see '
|
||||
'Annotations Best Practices. Caution: |\n'
|
||||
'| | Accessing '
|
||||
'the "__annotations__" attribute of a |\n'
|
||||
'| | class object '
|
||||
'directly may yield incorrect results |\n'
|
||||
'| | in the '
|
||||
'presence of metaclasses. In addition, the |\n'
|
||||
'| | attribute '
|
||||
'may not exist for some classes. Use |\n'
|
||||
'| | '
|
||||
'"inspect.get_annotations()" to retrieve class |\n'
|
||||
'| | annotations '
|
||||
'safely. |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| type.__type_params__ | A "tuple" '
|
||||
'containing the type parameters of a |\n'
|
||||
'| | generic '
|
||||
'class. Added in version 3.12. |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| type.__mro__ | The "tuple" '
|
||||
'of classes that are considered when |\n'
|
||||
'| | looking for '
|
||||
'base classes during method resolution. |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'\n'
|
||||
' "__dict__"\n'
|
||||
' The dictionary containing the class’s namespace.\n'
|
||||
'\n'
|
||||
' "__bases__"\n'
|
||||
' A tuple containing the base classes, in the order of their\n'
|
||||
' occurrence in the base class list.\n'
|
||||
'Special methods\n'
|
||||
'---------------\n'
|
||||
'\n'
|
||||
' "__doc__"\n'
|
||||
' The class’s documentation string, or "None" if undefined.\n'
|
||||
'In addition to the special attributes described above, all Python\n'
|
||||
'classes also have the following two methods available:\n'
|
||||
'\n'
|
||||
' "__annotations__"\n'
|
||||
' A dictionary containing *variable annotations* collected '
|
||||
'during\n'
|
||||
' class body execution. For best practices on working with\n'
|
||||
' "__annotations__", please see Annotations Best Practices.\n'
|
||||
'type.mro()\n'
|
||||
'\n'
|
||||
' "__type_params__"\n'
|
||||
' A tuple containing the type parameters of a generic class.\n'
|
||||
' This method can be overridden by a metaclass to customize the\n'
|
||||
' method resolution order for its instances. It is called at '
|
||||
'class\n'
|
||||
' instantiation, and its result is stored in "__mro__".\n'
|
||||
'\n'
|
||||
'type.__subclasses__()\n'
|
||||
'\n'
|
||||
' Each class keeps a list of weak references to its immediate\n'
|
||||
' subclasses. This method returns a list of all those references\n'
|
||||
' still alive. The list is in definition order. Example:\n'
|
||||
'\n'
|
||||
' >>> class A: pass\n'
|
||||
' >>> class B(A): pass\n'
|
||||
' >>> A.__subclasses__()\n'
|
||||
" [<class 'B'>]\n"
|
||||
'\n'
|
||||
'\n'
|
||||
'Class instances\n'
|
||||
|
@ -14488,8 +14567,19 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'they have methods with certain special names. See section Special\n'
|
||||
'method names.\n'
|
||||
'\n'
|
||||
'Special attributes: "__dict__" is the attribute dictionary;\n'
|
||||
'"__class__" is the instance’s class.\n'
|
||||
'\n'
|
||||
'Special attributes\n'
|
||||
'------------------\n'
|
||||
'\n'
|
||||
'object.__class__\n'
|
||||
'\n'
|
||||
' The class to which a class instance belongs.\n'
|
||||
'\n'
|
||||
'object.__dict__\n'
|
||||
'\n'
|
||||
' A dictionary or other mapping object used to store an object’s\n'
|
||||
' (writable) attributes. Not all instances have a "__dict__"\n'
|
||||
' attribute; see the section on __slots__ for more details.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'I/O objects (also known as file objects)\n'
|
||||
|
|
377
Misc/NEWS.d/3.12.7.rst
Normal file
377
Misc/NEWS.d/3.12.7.rst
Normal file
|
@ -0,0 +1,377 @@
|
|||
.. date: 2024-09-10-19-23-00
|
||||
.. gh-issue: 123915
|
||||
.. nonce: yZMEDO
|
||||
.. release date: 2024-10-01
|
||||
.. section: Windows
|
||||
|
||||
Ensure that ``Tools\msi\buildrelease.bat`` uses different directories for
|
||||
AMD64 and ARM64 builds.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-24-22-50-33
|
||||
.. gh-issue: 117505
|
||||
.. nonce: gcTb_p
|
||||
.. section: Windows
|
||||
|
||||
Fixes an issue with the Windows installer not running ensurepip in a fully
|
||||
isolated environment. This could cause unexpected interactions with the user
|
||||
site-packages.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-25-12-39-34
|
||||
.. gh-issue: 124378
|
||||
.. nonce: Ywwgia
|
||||
.. section: Tests
|
||||
|
||||
Updated ``test_ttk`` to pass with Tcl/Tk 8.6.15.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-08-07-10-42-13
|
||||
.. gh-issue: 122792
|
||||
.. nonce: oiTMo9
|
||||
.. section: Security
|
||||
|
||||
Changed IPv4-mapped ``ipaddress.IPv6Address`` to consistently use the mapped
|
||||
IPv4 address value for deciding properties. Properties which have their
|
||||
behavior fixed are ``is_multicast``, ``is_reserved``, ``is_link_local``,
|
||||
``is_global``, and ``is_unspecified``.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-27-15-16-04
|
||||
.. gh-issue: 116850
|
||||
.. nonce: dBkR0-
|
||||
.. section: Library
|
||||
|
||||
Fix :mod:`argparse` for namespaces with not directly writable dict (e.g.
|
||||
classes).
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-26-22-14-12
|
||||
.. gh-issue: 58573
|
||||
.. nonce: hozbm9
|
||||
.. section: Library
|
||||
|
||||
Fix conflicts between abbreviated long options in the parent parser and
|
||||
subparsers in :mod:`argparse`.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-26-09-18-09
|
||||
.. gh-issue: 61181
|
||||
.. nonce: dwjmch
|
||||
.. section: Library
|
||||
|
||||
Fix support of :ref:`choices` with string value in :mod:`argparse`.
|
||||
Substrings of the specified string no longer considered valid values.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-25-18-08-29
|
||||
.. gh-issue: 80259
|
||||
.. nonce: kO5Tw7
|
||||
.. section: Library
|
||||
|
||||
Fix :mod:`argparse` support of positional arguments with ``nargs='?'``,
|
||||
``default=argparse.SUPPRESS`` and specified ``type``.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-25-12-14-58
|
||||
.. gh-issue: 124498
|
||||
.. nonce: Ozxs55
|
||||
.. section: Library
|
||||
|
||||
Fix :class:`typing.TypeAliasType` not to be generic, when ``type_params`` is
|
||||
an empty tuple.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-24-12-34-48
|
||||
.. gh-issue: 124345
|
||||
.. nonce: s3vKql
|
||||
.. section: Library
|
||||
|
||||
:mod:`argparse` vim supports abbreviated single-dash long options separated
|
||||
by ``=`` from its value.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-23-17-33-47
|
||||
.. gh-issue: 104860
|
||||
.. nonce: O86OSc
|
||||
.. section: Library
|
||||
|
||||
Fix disallowing abbreviation of single-dash long options in :mod:`argparse`
|
||||
with ``allow_abbrev=False``.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-21-23-56-41
|
||||
.. gh-issue: 63143
|
||||
.. nonce: YKu-LQ
|
||||
.. section: Library
|
||||
|
||||
Fix parsing mutually exclusive arguments in :mod:`argparse`. Arguments with
|
||||
the value identical to the default value (e.g. booleans, small integers,
|
||||
empty or 1-character strings) are no longer considered "not present".
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-21-22-32-21
|
||||
.. gh-issue: 72795
|
||||
.. nonce: naLmkX
|
||||
.. section: Library
|
||||
|
||||
Positional arguments with :ref:`nargs` equal to ``'*'`` or
|
||||
:data:`!argparse.REMAINDER` are no longer required. This allows to use
|
||||
positional argument with ``nargs='*'`` and without ``default`` in mutually
|
||||
exclusive group and improves error message about required arguments.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-21-19-02-37
|
||||
.. gh-issue: 59317
|
||||
.. nonce: OAhNZZ
|
||||
.. section: Library
|
||||
|
||||
Fix parsing positional argument with :ref:`nargs` equal to ``'?'`` or
|
||||
``'*'`` if it is preceded by an option and another positional argument.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-20-12-23-11
|
||||
.. gh-issue: 53780
|
||||
.. nonce: mrV1zi
|
||||
.. section: Library
|
||||
|
||||
:mod:`argparse` now ignores the first ``"--"`` (double dash) between an
|
||||
option and command.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-19-20-15-00
|
||||
.. gh-issue: 124217
|
||||
.. nonce: j0KlQB
|
||||
.. section: Library
|
||||
|
||||
Add RFC 9637 reserved IPv6 block ``3fff::/20`` in :mod:`ipaddress` module.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-19-11-47-39
|
||||
.. gh-issue: 124248
|
||||
.. nonce: g7rufd
|
||||
.. section: Library
|
||||
|
||||
Fixed potential crash when using :mod:`struct` to process zero-width 'Pascal
|
||||
string' fields (``0p``).
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-19-10-36-18
|
||||
.. gh-issue: 81691
|
||||
.. nonce: Hyhp_U
|
||||
.. section: Library
|
||||
|
||||
Fix handling of multiple ``"--"`` (double dashes) in :mod:`argparse`. Only
|
||||
the first one has now been removed, all subsequent ones are now taken
|
||||
literally.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-19-03-46-59
|
||||
.. gh-issue: 87041
|
||||
.. nonce: 9Ox7Bv
|
||||
.. section: Library
|
||||
|
||||
Fix a bug in :mod:`argparse` where lengthy subparser argument help is
|
||||
incorrectly indented.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-17-18-06-42
|
||||
.. gh-issue: 124171
|
||||
.. nonce: PHCvRJ
|
||||
.. section: Library
|
||||
|
||||
Add workaround for broken :c:func:`!fmod()` implementations on Windows, that
|
||||
loose zero sign (e.g. ``fmod(-10, 1)`` returns ``0.0``). Patch by Sergey B
|
||||
Kirpichev.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-13-10-34-19
|
||||
.. gh-issue: 123934
|
||||
.. nonce: yMe7mL
|
||||
.. section: Library
|
||||
|
||||
Fix :class:`unittest.mock.MagicMock` reseting magic methods return values
|
||||
after ``.reset_mock(return_value=True)`` was called.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-11-13-33-19
|
||||
.. gh-issue: 123935
|
||||
.. nonce: fRZ_56
|
||||
.. section: Library
|
||||
|
||||
Fix parent slots detection for dataclasses that inherit from classes with
|
||||
``__dictoffset__``.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-10-11-26-14
|
||||
.. gh-issue: 123892
|
||||
.. nonce: 2gzIrz
|
||||
.. section: Library
|
||||
|
||||
Add ``"_wmi"`` to :data:`sys.stdlib_module_names`. Patch by Victor Stinner.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-08-23-15-49-10
|
||||
.. gh-issue: 116810
|
||||
.. nonce: QLBUU8
|
||||
.. section: Library
|
||||
|
||||
Resolve a memory leak introduced in CPython 3.10's :mod:`ssl` when the
|
||||
:attr:`ssl.SSLSocket.session` property was accessed. Speeds up read and
|
||||
write access to said property by no longer unnecessarily cloning session
|
||||
objects via serialization.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-08-15-09-45-34
|
||||
.. gh-issue: 121735
|
||||
.. nonce: _1q0qf
|
||||
.. section: Library
|
||||
|
||||
When working with zip archives, importlib.resources now properly honors
|
||||
module-adjacent references (e.g. ``files(pkg.mod)`` and not just
|
||||
``files(pkg)``).
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-07-03-14-23-04
|
||||
.. gh-issue: 119004
|
||||
.. nonce: L5MoUu
|
||||
.. section: Library
|
||||
|
||||
Fix a crash in :ref:`OrderedDict.__eq__ <collections_OrderedDict__eq__>`
|
||||
when operands are mutated during the check. Patch by Bénédikt Tran.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 44864
|
||||
.. date: 2021-08-24-19-37-46
|
||||
.. nonce: KzxaDh
|
||||
.. section: Library
|
||||
|
||||
Do not translate user-provided strings in :class:`argparse.ArgumentParser`.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-21-23-12-18
|
||||
.. gh-issue: 112938
|
||||
.. nonce: OeiDru
|
||||
.. section: IDLE
|
||||
|
||||
Fix uninteruptable hang when Shell gets rapid continuous output.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-25-12-05-45
|
||||
.. gh-issue: 116510
|
||||
.. nonce: dhn8w8
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix a bug that can cause a crash when sub-interpreters use "basic"
|
||||
single-phase extension modules. Shared objects could refer to PyGC_Head
|
||||
nodes that had been freed as part of interpreter cleanup.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-17-22-06-01
|
||||
.. gh-issue: 124188
|
||||
.. nonce: aFqNAB
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix reading and decoding a line from the source file witn non-UTF-8 encoding
|
||||
for syntax errors raised in the compiler.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-10-13-27-16
|
||||
.. gh-issue: 77894
|
||||
.. nonce: ZC-Olu
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix possible crash in the garbage collector when it tries to break a
|
||||
reference loop containing a :class:`memoryview` object. Now a
|
||||
:class:`!memoryview` object can only be cleared if there are no buffers that
|
||||
refer it.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-06-19-21-34-21
|
||||
.. gh-issue: 98442
|
||||
.. nonce: cqhjkN
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix too wide source locations of the cleanup instructions of a with
|
||||
statement.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-06-14-22-02-25
|
||||
.. gh-issue: 113993
|
||||
.. nonce: MiA0vX
|
||||
.. section: Core and Builtins
|
||||
|
||||
Strings interned with :func:`sys.intern` are again garbage-collected when no
|
||||
longer used, as per the documentation. Strings interned with the C function
|
||||
:c:func:`PyUnicode_InternInPlace` are still immortal. Internals of the
|
||||
string interning mechanism have been changed. This may affect performance
|
||||
and identities of :class:`str` objects.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-07-04-15-41-10
|
||||
.. gh-issue: 113993
|
||||
.. nonce: cLSiWV
|
||||
.. section: C API
|
||||
|
||||
:c:func:`PyUnicode_InternInPlace` no longer prevents its argument from being
|
||||
garbage collected.
|
||||
|
||||
Several functions that take ``char *`` are now documented as possibly
|
||||
preventing string objects from being garbage collected; refer to their
|
||||
documentation for details: :c:func:`PyUnicode_InternFromString`,
|
||||
:c:func:`PyDict_SetItemString`, :c:func:`PyObject_SetAttrString`,
|
||||
:c:func:`PyObject_DelAttrString`, :c:func:`PyUnicode_InternFromString`, and
|
||||
``PyModule_Add*`` convenience functions.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-27-15-58-10
|
||||
.. gh-issue: 124487
|
||||
.. nonce: PAZTQf
|
||||
.. section: Build
|
||||
|
||||
Windows builds now use Windows 8.1 as their API baseline (installation
|
||||
already required Windows 8.1).
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-09-11-16-06-42
|
||||
.. gh-issue: 123917
|
||||
.. nonce: JuZl0r
|
||||
.. section: Build
|
||||
|
||||
Fix the check for the ``crypt()`` function in the configure script. Patch by
|
||||
Paul Smith and Victor Stinner.
|
|
@ -1,2 +0,0 @@
|
|||
Fix the check for the ``crypt()`` function in the configure script. Patch by
|
||||
Paul Smith and Victor Stinner.
|
|
@ -1,2 +0,0 @@
|
|||
Windows builds now use Windows 8.1 as their API baseline (installation
|
||||
already required Windows 8.1).
|
|
@ -1,12 +0,0 @@
|
|||
:c:func:`PyUnicode_InternInPlace` no longer prevents its argument from being
|
||||
garbage collected.
|
||||
|
||||
Several functions that take ``char *`` are now
|
||||
documented as possibly preventing string objects from being garbage
|
||||
collected; refer to their documentation for details:
|
||||
:c:func:`PyUnicode_InternFromString`,
|
||||
:c:func:`PyDict_SetItemString`,
|
||||
:c:func:`PyObject_SetAttrString`,
|
||||
:c:func:`PyObject_DelAttrString`,
|
||||
:c:func:`PyUnicode_InternFromString`,
|
||||
and ``PyModule_Add*`` convenience functions.
|
|
@ -1,5 +0,0 @@
|
|||
Strings interned with :func:`sys.intern` are again garbage-collected when no
|
||||
longer used, as per the documentation. Strings interned with the C function
|
||||
:c:func:`PyUnicode_InternInPlace` are still immortal. Internals of the
|
||||
string interning mechanism have been changed. This may affect performance
|
||||
and identities of :class:`str` objects.
|
|
@ -1,2 +0,0 @@
|
|||
Fix too wide source locations of the cleanup instructions of a with
|
||||
statement.
|
|
@ -1,4 +0,0 @@
|
|||
Fix possible crash in the garbage collector when it tries to break a
|
||||
reference loop containing a :class:`memoryview` object. Now a
|
||||
:class:`!memoryview` object can only be cleared if there are no buffers that
|
||||
refer it.
|
|
@ -1,2 +0,0 @@
|
|||
Fix reading and decoding a line from the source file witn non-UTF-8 encoding
|
||||
for syntax errors raised in the compiler.
|
|
@ -1,3 +0,0 @@
|
|||
Fix a bug that can cause a crash when sub-interpreters use "basic"
|
||||
single-phase extension modules. Shared objects could refer to PyGC_Head
|
||||
nodes that had been freed as part of interpreter cleanup.
|
|
@ -1 +0,0 @@
|
|||
Fix uninteruptable hang when Shell gets rapid continuous output.
|
|
@ -1 +0,0 @@
|
|||
Do not translate user-provided strings in :class:`argparse.ArgumentParser`.
|
|
@ -1,2 +0,0 @@
|
|||
Fix a crash in :ref:`OrderedDict.__eq__ <collections_OrderedDict__eq__>`
|
||||
when operands are mutated during the check. Patch by Bénédikt Tran.
|
|
@ -1,3 +0,0 @@
|
|||
When working with zip archives, importlib.resources now properly honors
|
||||
module-adjacent references (e.g. ``files(pkg.mod)`` and not just
|
||||
``files(pkg)``).
|
|
@ -1,4 +0,0 @@
|
|||
Resolve a memory leak introduced in CPython 3.10's :mod:`ssl` when the
|
||||
:attr:`ssl.SSLSocket.session` property was accessed. Speeds up read and
|
||||
write access to said property by no longer unnecessarily cloning session
|
||||
objects via serialization.
|
|
@ -1 +0,0 @@
|
|||
Add ``"_wmi"`` to :data:`sys.stdlib_module_names`. Patch by Victor Stinner.
|
|
@ -1,2 +0,0 @@
|
|||
Fix parent slots detection for dataclasses that inherit from classes with
|
||||
``__dictoffset__``.
|
|
@ -1,2 +0,0 @@
|
|||
Fix :class:`unittest.mock.MagicMock` reseting magic methods return values
|
||||
after ``.reset_mock(return_value=True)`` was called.
|
|
@ -1,3 +0,0 @@
|
|||
Add workaround for broken :c:func:`!fmod()` implementations on Windows, that
|
||||
loose zero sign (e.g. ``fmod(-10, 1)`` returns ``0.0``). Patch by Sergey B
|
||||
Kirpichev.
|
|
@ -1 +0,0 @@
|
|||
Fix a bug in :mod:`argparse` where lengthy subparser argument help is incorrectly indented.
|
|
@ -1,3 +0,0 @@
|
|||
Fix handling of multiple ``"--"`` (double dashes) in :mod:`argparse`. Only
|
||||
the first one has now been removed, all subsequent ones are now taken
|
||||
literally.
|
|
@ -1,2 +0,0 @@
|
|||
Fixed potential crash when using :mod:`struct` to process zero-width
|
||||
'Pascal string' fields (``0p``).
|
|
@ -1 +0,0 @@
|
|||
Add RFC 9637 reserved IPv6 block ``3fff::/20`` in :mod:`ipaddress` module.
|
|
@ -1 +0,0 @@
|
|||
:mod:`argparse` now ignores the first ``"--"`` (double dash) between an option and command.
|
|
@ -1,2 +0,0 @@
|
|||
Fix parsing positional argument with :ref:`nargs` equal to ``'?'`` or ``'*'``
|
||||
if it is preceded by an option and another positional argument.
|
|
@ -1,4 +0,0 @@
|
|||
Positional arguments with :ref:`nargs` equal to ``'*'`` or
|
||||
:data:`!argparse.REMAINDER` are no longer required. This allows to use
|
||||
positional argument with ``nargs='*'`` and without ``default`` in mutually
|
||||
exclusive group and improves error message about required arguments.
|
|
@ -1,3 +0,0 @@
|
|||
Fix parsing mutually exclusive arguments in :mod:`argparse`. Arguments with
|
||||
the value identical to the default value (e.g. booleans, small integers,
|
||||
empty or 1-character strings) are no longer considered "not present".
|
|
@ -1,2 +0,0 @@
|
|||
Fix disallowing abbreviation of single-dash long options in :mod:`argparse`
|
||||
with ``allow_abbrev=False``.
|
|
@ -1,2 +0,0 @@
|
|||
:mod:`argparse` vim supports abbreviated single-dash long options separated
|
||||
by ``=`` from its value.
|
|
@ -1,2 +0,0 @@
|
|||
Fix :class:`typing.TypeAliasType` not to be generic, when ``type_params`` is
|
||||
an empty tuple.
|
|
@ -1,2 +0,0 @@
|
|||
Fix :mod:`argparse` support of positional arguments with ``nargs='?'``,
|
||||
``default=argparse.SUPPRESS`` and specified ``type``.
|
|
@ -1,2 +0,0 @@
|
|||
Fix support of :ref:`choices` with string value in :mod:`argparse`. Substrings
|
||||
of the specified string no longer considered valid values.
|
|
@ -1,2 +0,0 @@
|
|||
Fix conflicts between abbreviated long options in the parent parser and
|
||||
subparsers in :mod:`argparse`.
|
|
@ -1,2 +0,0 @@
|
|||
Fix :mod:`argparse` for namespaces with not directly writable dict (e.g.
|
||||
classes).
|
|
@ -1,3 +0,0 @@
|
|||
Changed IPv4-mapped ``ipaddress.IPv6Address`` to consistently use the mapped IPv4
|
||||
address value for deciding properties. Properties which have their behavior fixed
|
||||
are ``is_multicast``, ``is_reserved``, ``is_link_local``, ``is_global``, and ``is_unspecified``.
|
|
@ -1 +0,0 @@
|
|||
Updated ``test_ttk`` to pass with Tcl/Tk 8.6.15.
|
|
@ -1 +0,0 @@
|
|||
Fixes an issue with the Windows installer not running ensurepip in a fully isolated environment. This could cause unexpected interactions with the user site-packages.
|
|
@ -1 +0,0 @@
|
|||
Ensure that ``Tools\msi\buildrelease.bat`` uses different directories for AMD64 and ARM64 builds.
|
|
@ -1,4 +1,4 @@
|
|||
This is Python version 3.12.6
|
||||
This is Python version 3.12.7
|
||||
=============================
|
||||
|
||||
.. image:: https://github.com/python/cpython/workflows/Tests/badge.svg
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue