Python 3.10.0b1

This commit is contained in:
Pablo Galindo 2021-05-03 20:33:17 +01:00
parent d3b9134ebb
commit ba4217537c
No known key found for this signature in database
GPG key ID: FFE87404168BD847
173 changed files with 9376 additions and 5649 deletions

View file

@ -19,11 +19,11 @@
#define PY_MAJOR_VERSION 3
#define PY_MINOR_VERSION 10
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
#define PY_RELEASE_SERIAL 7
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
#define PY_RELEASE_SERIAL 1
/* Version as a string */
#define PY_VERSION "3.10.0a7+"
#define PY_VERSION "3.10.0b1"
/*--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 Mon Apr 5 17:39:41 2021
# Autogenerated by Sphinx on Mon May 3 20:34:17 2021
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
@ -988,9 +988,9 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'For instance bindings, the precedence of descriptor '
'invocation depends\n'
'on the which descriptor methods are defined. A '
'descriptor can define\n'
'any combination of "__get__()", "__set__()" and '
'on which descriptor methods are defined. A descriptor '
'can define any\n'
'combination of "__get__()", "__set__()" and '
'"__delete__()". If it\n'
'does not define "__get__()", then accessing the '
'attribute will return\n'
@ -1360,6 +1360,10 @@ topics = {'assert': 'The "assert" statement\n'
'through their "__code__" attribute. See also the '
'"code" module.\n'
'\n'
'Accessing "__code__" raises an auditing event '
'"object.__getattr__"\n'
'with arguments "obj" and ""__code__"".\n'
'\n'
'A code object can be executed or evaluated by passing '
'it (instead of a\n'
'source string) to the "exec()" or "eval()" built-in '
@ -2694,7 +2698,7 @@ topics = {'assert': 'The "assert" statement\n'
' subject_expr ::= star_named_expression "," '
'star_named_expressions?\n'
' | named_expression\n'
" case_block ::= 'case' patterns [guard] ':' block\n"
' case_block ::= \'case\' patterns [guard] ":" block\n'
'\n'
'Note:\n'
'\n'
@ -3073,7 +3077,7 @@ topics = {'assert': 'The "assert" statement\n'
'additional\n'
'syntax. Syntax:\n'
'\n'
" group_pattern ::= '(' pattern ')'\n"
' group_pattern ::= "(" pattern ")"\n'
'\n'
'In simple terms "(P)" has the same effect as "P".\n'
'\n'
@ -3293,7 +3297,9 @@ topics = {'assert': 'The "assert" statement\n'
' For a number of built-in types (specified below), a single\n'
' positional subpattern is accepted which will match the '
'entire\n'
' subject; for these types no keyword patterns are accepted.\n'
' subject; for these types keyword patterns also work as for '
'other\n'
' types.\n'
'\n'
' If only keyword patterns are present, they are processed as\n'
' follows, one by one:\n'
@ -3330,9 +3336,9 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' * If this raises an exception, the exception bubbles up.\n'
'\n'
' * If the returned value is not a list or tuple, the '
'conversion\n'
' fails and "TypeError" is raised.\n'
' * If the returned value is not a tuple, the conversion '
'fails and\n'
' "TypeError" is raised.\n'
'\n'
' * If there are more positional patterns than\n'
' "len(cls.__match_args__)", "TypeError" is raised.\n'
@ -3426,7 +3432,6 @@ topics = {'assert': 'The "assert" statement\n'
' decorators ::= decorator+\n'
' decorator ::= "@" assignment_expression '
'NEWLINE\n'
' dotted_name ::= identifier ("." identifier)*\n'
' parameter_list ::= defparameter ("," '
'defparameter)* "," "/" ["," [parameter_list_no_posonly]]\n'
' | parameter_list_no_posonly\n'
@ -3526,7 +3531,7 @@ topics = {'assert': 'The "assert" statement\n'
'Calls.\n'
'A function call always assigns values to all parameters '
'mentioned in\n'
'the parameter list, either from position arguments, from '
'the parameter list, either from positional arguments, from '
'keyword\n'
'arguments, or from default values. If the form “"*identifier"'
'is\n'
@ -3538,8 +3543,14 @@ topics = {'assert': 'The "assert" statement\n'
'new\n'
'empty mapping of the same type. Parameters after “"*"” or\n'
'"*identifier"” are keyword-only parameters and may only be '
'passed\n'
'used keyword arguments.\n'
'passed by\n'
'keyword arguments. Parameters before “"/"” are positional-only\n'
'parameters and may only be passed by positional arguments.\n'
'\n'
'Changed in version 3.8: The "/" function parameter syntax may be '
'used\n'
'to indicate positional-only parameters. See **PEP 570** for '
'details.\n'
'\n'
'Parameters may have an *annotation* of the form “": '
'expression"\n'
@ -3552,11 +3563,20 @@ topics = {'assert': 'The "assert" statement\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 string values '
'in 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.\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'
'\n'
'It is also possible to create anonymous functions (functions not '
'bound\n'
@ -6562,7 +6582,6 @@ topics = {'assert': 'The "assert" statement\n'
' decorators ::= decorator+\n'
' decorator ::= "@" assignment_expression '
'NEWLINE\n'
' dotted_name ::= identifier ("." identifier)*\n'
' parameter_list ::= defparameter ("," '
'defparameter)* "," "/" ["," [parameter_list_no_posonly]]\n'
' | parameter_list_no_posonly\n'
@ -6662,7 +6681,7 @@ topics = {'assert': 'The "assert" statement\n'
'Calls.\n'
'A function call always assigns values to all parameters '
'mentioned in\n'
'the parameter list, either from position arguments, from '
'the parameter list, either from positional arguments, from '
'keyword\n'
'arguments, or from default values. If the form “"*identifier"'
'is\n'
@ -6674,8 +6693,14 @@ topics = {'assert': 'The "assert" statement\n'
'new\n'
'empty mapping of the same type. Parameters after “"*"” or\n'
'"*identifier"” are keyword-only parameters and may only be '
'passed\n'
'used keyword arguments.\n'
'passed by\n'
'keyword arguments. Parameters before “"/"” are positional-only\n'
'parameters and may only be passed by positional arguments.\n'
'\n'
'Changed in version 3.8: The "/" function parameter syntax may be '
'used\n'
'to indicate positional-only parameters. See **PEP 570** for '
'details.\n'
'\n'
'Parameters may have an *annotation* of the form “": '
'expression"\n'
@ -6688,11 +6713,20 @@ topics = {'assert': 'The "assert" statement\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 string values '
'in 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.\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'
'\n'
'It is also possible to create anonymous functions (functions not '
'bound\n'
@ -7395,10 +7429,7 @@ topics = {'assert': 'The "assert" statement\n'
'lambda': 'Lambdas\n'
'*******\n'
'\n'
' lambda_expr ::= "lambda" [parameter_list] ":" '
'expression\n'
' lambda_expr_nocond ::= "lambda" [parameter_list] ":" '
'expression_nocond\n'
' lambda_expr ::= "lambda" [parameter_list] ":" expression\n'
'\n'
'Lambda expressions (sometimes called lambda forms) are used to '
'create\n'
@ -8009,8 +8040,8 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'The following table summarizes the operator precedence '
'in Python, from\n'
'lowest precedence (least binding) to highest precedence '
'(most\n'
'highest precedence (most binding) to lowest precedence '
'(least\n'
'binding). Operators in the same box have the same '
'precedence. Unless\n'
'the syntax is explicitly given, operators are binary. '
@ -8029,65 +8060,6 @@ topics = {'assert': 'The "assert" statement\n'
'| Operator | '
'Description |\n'
'|=================================================|=======================================|\n'
'| ":=" | '
'Assignment expression |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "lambda" | '
'Lambda expression |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "if" "else" | '
'Conditional expression |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "or" | '
'Boolean OR |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "and" | '
'Boolean AND |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "not" "x" | '
'Boolean NOT |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "in", "not in", "is", "is not", "<", "<=", ">", | '
'Comparisons, including membership |\n'
'| ">=", "!=", "==" | '
'tests and identity tests |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "|" | '
'Bitwise OR |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "^" | '
'Bitwise XOR |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "&" | '
'Bitwise AND |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "<<", ">>" | '
'Shifts |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "+", "-" | '
'Addition and subtraction |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "*", "@", "/", "//", "%" | '
'Multiplication, matrix |\n'
'| | '
'multiplication, division, floor |\n'
'| | '
'division, remainder [5] |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "+x", "-x", "~x" | '
'Positive, negative, bitwise NOT |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "**" | '
'Exponentiation [6] |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "await" "x" | '
'Await expression |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "x[index]", "x[index:index]", | '
'Subscription, slicing, call, |\n'
'| "x(arguments...)", "x.attribute" | '
'attribute reference |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "(expressions...)", "[expressions...]", "{key: | '
'Binding or parenthesized expression, |\n'
'| value...}", "{expressions...}" | list '
@ -8095,6 +8067,65 @@ topics = {'assert': 'The "assert" statement\n'
'| | '
'display |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "x[index]", "x[index:index]", | '
'Subscription, slicing, call, |\n'
'| "x(arguments...)", "x.attribute" | '
'attribute reference |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "await" "x" | '
'Await expression |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "**" | '
'Exponentiation [5] |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "+x", "-x", "~x" | '
'Positive, negative, bitwise NOT |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "*", "@", "/", "//", "%" | '
'Multiplication, matrix |\n'
'| | '
'multiplication, division, floor |\n'
'| | '
'division, remainder [6] |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "+", "-" | '
'Addition and subtraction |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "<<", ">>" | '
'Shifts |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "&" | '
'Bitwise AND |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "^" | '
'Bitwise XOR |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "|" | '
'Bitwise OR |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "in", "not in", "is", "is not", "<", "<=", ">", | '
'Comparisons, including membership |\n'
'| ">=", "!=", "==" | '
'tests and identity tests |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "not" "x" | '
'Boolean NOT |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "and" | '
'Boolean AND |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "or" | '
'Boolean OR |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "if" "else" | '
'Conditional expression |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| "lambda" | '
'Lambda expression |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'| ":=" | '
'Assignment expression |\n'
'+-------------------------------------------------+---------------------------------------+\n'
'\n'
'-[ Footnotes ]-\n'
'\n'
@ -8174,14 +8205,14 @@ topics = {'assert': 'The "assert" statement\n'
'Check their\n'
' documentation for more info.\n'
'\n'
'[5] The "%" operator is also used for string formatting; '
'the same\n'
' precedence applies.\n'
'\n'
'[6] The power operator "**" binds less tightly than an '
'[5] The power operator "**" binds less tightly than an '
'arithmetic or\n'
' bitwise unary operator on its right, that is, '
'"2**-1" is "0.5".\n',
'"2**-1" is "0.5".\n'
'\n'
'[6] The "%" operator is also used for string formatting; '
'the same\n'
' precedence applies.\n',
'pass': 'The "pass" statement\n'
'********************\n'
'\n'
@ -8266,12 +8297,18 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'The "from" clause is used for exception chaining: if given, the '
'second\n'
'*expression* must be another exception class or instance, which '
'will\n'
'then be attached to the raised exception as the "__cause__" '
'attribute\n'
'(which is writable). If the raised exception is not handled, both\n'
'exceptions will be printed:\n'
'*expression* must be another exception class or instance. If the\n'
'second expression is an exception instance, it will be attached to '
'the\n'
'raised exception as the "__cause__" attribute (which is writable). '
'If\n'
'the expression is an exception class, the class will be '
'instantiated\n'
'and the resulting exception instance will be attached to the '
'raised\n'
'exception as the "__cause__" attribute. If the raised exception is '
'not\n'
'handled, both exceptions will be printed:\n'
'\n'
' >>> try:\n'
' ... print(1 / 0)\n'
@ -9613,10 +9650,10 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'For instance bindings, the precedence of descriptor '
'invocation depends\n'
'on the which descriptor methods are defined. A descriptor '
'can define\n'
'any combination of "__get__()", "__set__()" and '
'"__delete__()". If it\n'
'on which descriptor methods are defined. A descriptor can '
'define any\n'
'combination of "__get__()", "__set__()" and "__delete__()". '
'If it\n'
'does not define "__get__()", then accessing the attribute '
'will return\n'
'the descriptor object itself unless there is a value in the '
@ -10677,17 +10714,16 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'object.__match_args__\n'
'\n'
' This class variable can be assigned a tuple or list of '
'strings.\n'
' When this class is used in a class pattern with '
'positional\n'
' arguments, each positional argument will be converted '
'into a\n'
' keyword argument, using the corresponding value in '
'*__match_args__*\n'
' as the keyword. The absence of this attribute is '
'equivalent to\n'
' setting it to "()".\n'
' This class variable can be assigned a tuple of strings. '
'When this\n'
' class is used in a class pattern with positional '
'arguments, each\n'
' positional argument will be converted into a keyword '
'argument,\n'
' using the corresponding value in *__match_args__* as the '
'keyword.\n'
' The absence of this attribute is equivalent to setting it '
'to "()".\n'
'\n'
'For example, if "MyClass.__match_args__" is "("left", '
'"center",\n'
@ -12680,7 +12716,13 @@ topics = {'assert': 'The "assert" statement\n'
'| |\n'
' | | and "\'return\'" for the '
'return | |\n'
' | | annotation, if provided. '
' | | annotation, if provided. For '
'| |\n'
' | | more information on working '
'| |\n'
' | | with this attribute, see '
'| |\n'
' | | Annotations Best Practices. '
'| |\n'
' '
'+---------------------------+---------------------------------+-------------+\n'
@ -12905,20 +12947,34 @@ topics = {'assert': 'The "assert" statement\n'
' Attribute assignment updates the modules namespace dictionary,\n'
' e.g., "m.x = 1" is equivalent to "m.__dict__["x"] = 1".\n'
'\n'
' Predefined (writable) attributes: "__name__" is the modules '
'name;\n'
' "__doc__" is the modules documentation string, or "None" if\n'
' unavailable; "__annotations__" (optional) is a dictionary\n'
' containing *variable annotations* collected during module body\n'
' execution; "__file__" is the pathname of the file from which '
' Predefined (writable) attributes:\n'
'\n'
' "__name__"\n'
' The modules name.\n'
'\n'
' "__doc__"\n'
' The modules documentation string, or "None" if '
'unavailable.\n'
'\n'
' "__file__"\n'
' The pathname of the file from which the module was loaded, '
'if\n'
' it was loaded from a file. The "__file__" attribute may '
'be\n'
' missing for certain types of modules, such as C modules '
'that\n'
' are statically linked into the interpreter. For '
'extension\n'
' modules loaded dynamically from a shared library, its '
'the\n'
' module was loaded, if it was loaded from a file. The "__file__"\n'
' attribute may be missing for certain types of modules, such as '
'C\n'
' modules that are statically linked into the interpreter; for\n'
' extension modules loaded dynamically from a shared library, it '
'is\n'
' the pathname of the shared library file.\n'
' pathname of the shared library file.\n'
'\n'
' "__annotations__"\n'
' A dictionary containing *variable annotations* collected\n'
' during module body execution. For best practices on '
'working\n'
' with "__annotations__", please see Annotations Best\n'
' Practices.\n'
'\n'
' Special read-only attribute: "__dict__" is the modules '
'namespace\n'
@ -12976,20 +13032,31 @@ topics = {'assert': 'The "assert" statement\n'
'instance\n'
' (see below).\n'
'\n'
' Special attributes: "__name__" is the class name; "__module__" '
'is\n'
' the module name in which the class was defined; "__dict__" is '
'the\n'
' dictionary containing the classs namespace; "__bases__" is a '
'tuple\n'
' containing the base classes, in the order of their occurrence '
'in\n'
' the base class list; "__doc__" is the classs documentation '
'string,\n'
' or "None" if undefined; "__annotations__" (optional) is a\n'
' dictionary containing *variable annotations* collected during '
'class\n'
' body execution.\n'
' Special attributes:\n'
'\n'
' "__name__"\n'
' The class name.\n'
'\n'
' "__module__"\n'
' The name of the module in which the class was defined.\n'
'\n'
' "__dict__"\n'
' The dictionary containing the classs namespace.\n'
'\n'
' "__bases__"\n'
' A tuple containing the base classes, in the order of '
'their\n'
' occurrence in the base class list.\n'
'\n'
' "__doc__"\n'
' The classs documentation string, or "None" if undefined.\n'
'\n'
' "__annotations__"\n'
' A dictionary containing *variable annotations* collected\n'
' during class body execution. For best practices on '
'working\n'
' with "__annotations__", please see Annotations Best\n'
' Practices.\n'
'\n'
'Class instances\n'
' A class instance is created by calling a class object (see '
@ -13150,6 +13217,10 @@ topics = {'assert': 'The "assert" statement\n'
' gives the precise instruction (this is an index into the\n'
' bytecode string of the code object).\n'
'\n'
' Accessing "f_code" raises an auditing event '
'"object.__getattr__"\n'
' with arguments "obj" and ""f_code"".\n'
'\n'
' Special writable attributes: "f_trace", if not "None", is a\n'
' function called for various events during code execution '
'(this\n'
@ -13233,6 +13304,9 @@ topics = {'assert': 'The "assert" statement\n'
' the exception occurred in a "try" statement with no matching\n'
' except clause or with a finally clause.\n'
'\n'
' Accessing "tb_frame" raises an auditing event\n'
' "object.__getattr__" with arguments "obj" and ""tb_frame"".\n'
'\n'
' Special writable attribute: "tb_next" is the next level in '
'the\n'
' stack trace (towards the frame where the exception occurred), '
@ -13283,9 +13357,8 @@ topics = {'assert': 'The "assert" statement\n'
' object actually returned is the wrapped object, which is not\n'
' subject to any further transformation. Static method objects '
'are\n'
' not themselves callable, although the objects they wrap '
'usually\n'
' are. Static method objects are created by the built-in\n'
' also callable. Static method objects are created by the '
'built-in\n'
' "staticmethod()" constructor.\n'
'\n'
' Class method objects\n'

1807
Misc/NEWS.d/3.10.0b1.rst Normal file

File diff suppressed because it is too large Load diff

View file

@ -1 +0,0 @@
Implement :pep:`644`. Python now requires OpenSSL 1.1.1 or newer.

View file

@ -1 +0,0 @@
Improved generated code refresh (AST/tokens/opcodes/keywords) on Windows.

View file

@ -1,6 +0,0 @@
Add the :c:func:`Py_Is(x, y) <Py_Is>` function to test if the *x* object is the
*y* object, the same as ``x is y`` in Python. Add also the :c:func:`Py_IsNone`,
:c:func:`Py_IsTrue`, :c:func:`Py_IsFalse` functions to test if an object is,
respectively, the ``None`` singleton, the ``True`` singleton or the ``False``
singleton.
Patch by Victor Stinner.

View file

@ -1,2 +0,0 @@
Stable ABI and limited API definitions are generated from a central manifest
(:pep:`652`).

View file

@ -1,3 +0,0 @@
:c:func:`PyOS_ReadlineFunctionPointer` is no longer exported by limited C API
headers and by ``python3.dll`` on Windows. Like any function that takes
``FILE*``, it is not part of the stable ABI.

View file

@ -1,2 +0,0 @@
:c:func:`PyMem_Calloc` is now available in the limited C API
(``Py_LIMITED_API``).

View file

@ -1,3 +0,0 @@
Introduce :const:`Py_TPFLAGS_IMMUTABLETYPE` flag for immutable type objects, and
modify :c:func:`PyType_Ready` to set it for static types. Patch by
Erlend E. Aasland.

View file

@ -1,3 +0,0 @@
Add new C-API functions to control the state of the garbage collector:
:c:func:`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`,
corresponding to the functions in the :mod:`gc` module.

View file

@ -1,5 +0,0 @@
_PyInterpreterState_IDIncref() now calls _PyInterpreterState_IDInitref() and
always increments id_refcount. Previously, calling
_xxsubinterpreters.get_current() could create an id_refcount inconsistency
when a _xxsubinterpreters.InterpreterID object was deallocated. Patch by
Victor Stinner.

View file

@ -1,5 +0,0 @@
Remove the now unused ``PYMALLOC_DEBUG`` macro. Debug hooks on memory
allocators are now installed by default if Python is built in debug mode (if
``Py_DEBUG`` macro is defined). Moreover, they can now be used on Python
build in release mode (ex: using ``PYTHONMALLOC=debug`` environment
variable).

View file

@ -1,2 +0,0 @@
Add a new :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow
creating type instances. Patch by Victor Stinner.

View file

@ -1,3 +0,0 @@
When printing :exc:`AttributeError`, :c:func:`PyErr_Display` will offer
suggestions of similar attribute names in the object that the exception was
raised from. Patch by Pablo Galindo

View file

@ -1,3 +0,0 @@
Prevented crashes in the AST validator and optimizer when compiling some
absurdly long expressions like ``"+0"*1000000``. :exc:`RecursionError` is
now raised instead.

View file

@ -1,2 +0,0 @@
Static methods (:func:`@staticmethod <staticmethod>`) are now callable as
regular functions. Patch by Victor Stinner.

View file

@ -1,2 +0,0 @@
Importlib now resolves relative paths when creating module spec objects from
file locations.

View file

@ -1,2 +0,0 @@
Add GEN_START opcode. Marks start of generator, including async, or coroutine and handles
sending values to a newly created generator or coroutine.

View file

@ -1 +0,0 @@
:data:`~object.__match_args__` is no longer allowed to be a list.

View file

@ -1 +0,0 @@
Fixed a bug where ``anext(ait, default)`` would erroneously return None.

View file

@ -1,5 +0,0 @@
Static methods (:func:`@staticmethod <staticmethod>`) and class methods
(:func:`@classmethod <classmethod>`) now inherit the method attributes
(``__module__``, ``__name__``, ``__qualname__``, ``__doc__``,
``__annotations__``) and have a new ``__wrapped__`` attribute.
Patch by Victor Stinner.

View file

@ -1,2 +0,0 @@
Move the flag for checking whether tracing is enabled to the C stack, from the heap.
Should speed up dispatch in the interpreter.

View file

@ -1,2 +0,0 @@
Improve ``SyntaxError`` error messages for invalid comparisons. Patch by
Pablo Galindo.

View file

@ -1 +0,0 @@
:class:`ast.alias` nodes now include source location metadata attributes e.g. lineno, col_offset.

View file

@ -1,2 +0,0 @@
Improve syntax errors in the parser for missing commas between expressions.
Patch by Pablo Galindo.

View file

@ -1,2 +0,0 @@
Improve syntax errors for invalid dictionary literals. Patch by Pablo
Galindo.

View file

@ -1,3 +0,0 @@
When printing :exc:`NameError` raised by the interpreter,
:c:func:`PyErr_Display` will offer suggestions of similar variable names in
the function that the exception was raised from. Patch by Pablo Galindo

View file

@ -1 +0,0 @@
Data stack usage is much reduced for large literal and call expressions.

View file

@ -1,2 +0,0 @@
Constant tuple folding in bytecode optimizer now reuses tuple in constant
table.

View file

@ -1,2 +0,0 @@
Improve the error message for :exc:`IndentationError` exceptions. Patch by
Pablo Galindo

View file

@ -1,3 +0,0 @@
Hashes of NaN values now depend on object identity. Formerly, they always
hashed to 0 even though NaN values are not equal to one another. Having the
same hash for unequal values caused pile-ups in hash tables.

View file

@ -1,5 +0,0 @@
Revert making ``from __future__ import annotations`` the default. This follows
the Steering Council decision to postpone PEP 563 changes to at least Python
3.11. See the original email for more information regarding the decision:
https://mail.python.org/archives/list/python-dev@python.org/thread/CLVXXPQ2T2LQ5MP2Y53VVQFCXYWQJHKZ/.
Patch by Pablo Galindo.

View file

@ -1,3 +0,0 @@
:exc:`SyntaxError` exceptions raised by the intepreter will highlight the
full error range of the expression that consistutes the syntax error itself,
instead of just where the problem is detected. Patch by Pablo Galindo.

View file

@ -1,2 +0,0 @@
Annotations for complex targets (everything beside simple names) no longer
cause any runtime effects with ``from __future__ import annotations``.

View file

@ -1,2 +0,0 @@
When performing structural pattern matching (:pep:`634`), captured names are
now left unbound until the *entire* pattern has matched successfully.

View file

@ -1,2 +0,0 @@
Usage of ``await``/``yield``/``yield from`` and named expressions within an
annotation is now forbidden when PEP 563 is activated.

View file

@ -1,5 +0,0 @@
Match patterns now use new dedicated AST nodes (``MatchValue``,
``MatchSingleton``, ``MatchSequence``, ``MatchStar``, ``MatchMapping``,
``MatchClass``) rather than reusing expression AST nodes. ``MatchAs`` and
``MatchOr`` are now defined as pattern nodes rather than as expression nodes.
Patch by Nick Coghlan.

View file

@ -1,3 +0,0 @@
Change class and module objects to lazy-create empty annotations dicts on
demand. The annotations dicts are stored in the object's __dict__ for
backwards compatibility.

View file

@ -1,2 +0,0 @@
Make the :class:`array.array` type immutable. Patch by
Erlend E. Aasland.

View file

@ -1,2 +0,0 @@
Make :mod:`re` types immutable. Patch by
Erlend E. Aasland.

View file

@ -1,4 +0,0 @@
The internal representation of line number tables is changed to not use
sentinels, and an explicit length parameter is added to the out of process
API function ``PyLineTable_InitAddressRange``. This makes the handling of
line number tables more robust in some circumstances.

View file

@ -1,2 +0,0 @@
Importing the :mod:`_signal` module in a subinterpreter has no longer side
effects.

View file

@ -1,3 +0,0 @@
If the current position in a frame has no line number then set the f_lineno
attribute to None, instead of -1, to conform to PEP 626. This should not
normally be possible, but might occur in some unusual circumstances.

View file

@ -1,2 +0,0 @@
Set frame.f_lineno to the line number of the 'with' kweyword when executing
the call to ``__exit__``.

View file

@ -1,2 +0,0 @@
Restore proper validation of complex literal value patterns when parsing
:keyword:`!match` blocks.

View file

@ -1,2 +0,0 @@
Use :c:member:`~PyTypeObject.tp_flags` on the class object to determine if the subject is a sequence
or mapping when pattern matching. Avoids the need to import :mod:`collections.abc` when pattern matching.

View file

@ -1 +0,0 @@
Prevent classes being both a sequence and a mapping when pattern matching.

View file

@ -1 +0,0 @@
Fixing the example code in Doc/extending/extending.rst to declare and initialize the pmodule variable to be of the right type.

View file

@ -1,3 +0,0 @@
Update documentation to reflect that unparenthesized lambda expressions can
no longer be the expression part in an ``if`` clause in comprehensions and
generator expressions since Python 3.9.

View file

@ -1,2 +0,0 @@
Fix the Sphinx glossary_search extension: create the _static/ sub-directory
if it doesn't exist.

View file

@ -1,2 +0,0 @@
Update dataclasses documentation to express that FrozenInstanceError is
derived from AttributeError.

View file

@ -1 +0,0 @@
The documentation on the PyContextVar C-API was clarified.

View file

@ -1,2 +0,0 @@
Document the new :const:`Py_TPFLAGS_MAPPING` and
:const:`Py_TPFLAGS_SEQUENCE` type flags.

View file

@ -1 +0,0 @@
Add "Annotations Best Practices" document as a new HOWTO.

View file

@ -1 +0,0 @@
IDLE's shell now shows prompts in a separate side-bar.

View file

@ -1,2 +0,0 @@
IDLE dialog windows are now recognized as dialogs by window managers on
macOS and X Window.

View file

@ -1 +0,0 @@
Indent IDLE Shell input with spaces instead of tabs

View file

@ -1 +0,0 @@
Fix reference leak in test_squeezer. Patch by Pablo Galindo

View file

@ -1,4 +0,0 @@
Add mouse actions to the shell sidebar. Left click and optional drag
selects one or more lines, as with the editor line number sidebar. Right
click after selecting raises a context menu with 'copy with prompts'. This
zips together prompts from the sidebar with lines from the selected text.

View file

@ -1,3 +0,0 @@
Fix a regression in the handling of ctypes' :data:`ctypes.c_wchar_p` type:
embedded null characters would cause a :exc:`ValueError` to be raised. Patch
by Zackery Spytz.

View file

@ -1,2 +0,0 @@
Provide a locale.localize() function, which converts a normalized number string
into a locale format.

View file

@ -1 +0,0 @@
Covariance, Pearson's correlation, and simple linear regression functionality was added to statistics module. Patch by Tymoteusz Wołodźko.

View file

@ -1 +0,0 @@
Added SNI support to :func:`ssl.get_server_certificate`.

View file

@ -1,3 +0,0 @@
:func:`os.path.expanduser()` now refuses to guess Windows home directories if the basename of current user's home directory does not match their username.
:meth:`pathlib.Path.expanduser()` and :meth:`~pathlib.Path.home()` now consistently raise :exc:`RuntimeError` exception when a home directory cannot be resolved. Previously a :exc:`KeyError` exception could be raised on Windows when the ``"USERNAME"`` environment variable was unset.

View file

@ -1 +0,0 @@
:meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a *follow_symlinks* keyword-only argument for consistency with corresponding functions in the :mod:`os` module.

View file

@ -1,2 +0,0 @@
:func:`ssl.RAND_status` now returns a boolean value (as documented) instead
of ``1`` or ``0``.

View file

@ -1 +0,0 @@
Expose X509_V_FLAG_PARTIAL_CHAIN ssl flag

View file

@ -1,2 +0,0 @@
Fix dataclasses with ``InitVar``\s and :func:`~dataclasses.replace()`. Patch
by Claudiu Popa.

View file

@ -1 +0,0 @@
Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin.

View file

@ -1,2 +0,0 @@
The :func:`ssl.get_server_certificate` function now has a *timeout*
parameter.

View file

@ -1,4 +0,0 @@
Use a new output buffer management code for :mod:`bz2` / :mod:`lzma` /
:mod:`zlib` modules, and add ``.readall()`` function to
``_compression.DecompressReader`` class. These bring some performance
improvements. Patch by Ma Lin.

View file

@ -1,2 +0,0 @@
Certificate and PrivateKey classes were added to the ssl module.
Certificates and keys can now be loaded from memory buffer, too.

View file

@ -1,9 +0,0 @@
Deprecated use of :func:`asyncio.get_event_loop` without running event loop.
Emit deprecation warning for :mod:`asyncio` functions which implicitly
create a :class:`~asyncio.Future` or :class:`~asyncio.Task` objects if there
is no running event loop and no explicit *loop* argument is passed:
:func:`~asyncio.ensure_future`, :func:`~asyncio.wrap_future`,
:func:`~asyncio.gather`, :func:`~asyncio.shield`,
:func:`~asyncio.as_completed` and constructors of :class:`~asyncio.Future`,
:class:`~asyncio.Task`, :class:`~asyncio.StreamReader`,
:class:`~asyncio.StreamReaderProtocol`.

View file

@ -1,3 +0,0 @@
Add ``slots`` parameter to ``dataclasses.dataclass`` decorator to
automatically generate ``__slots__`` for class. Patch provided by Yurii
Karabas.

View file

@ -1,2 +0,0 @@
:func:`typing.get_type_hints` now checks the local namespace of a class when
evaluating :pep:`563` annotations inside said class.

View file

@ -1,2 +0,0 @@
Add `pathlib.Path.hardlink_to()` method that supersedes `link_to()`. The new
method has the same argument order as `symlink_to()`.

View file

@ -1 +0,0 @@
:mod:`pprint` now has support for :class:`dataclasses.dataclass`. Patch by Lewis Gaul.

View file

@ -1 +0,0 @@
Fixed processing of a dataclass that inherits from a frozen dataclass with no fields. It is now correctly detected as an error.

View file

@ -1 +0,0 @@
:mod:`distutils.sysconfig` has been merged to :mod:`sysconfig`.

View file

@ -1,2 +0,0 @@
Install schemes in :mod:`distutils.command.install` are now loaded from
:mod:`sysconfig`.

View file

@ -1,3 +0,0 @@
Improve :meth:`sqlite3.Connection.backup` error handling. The error message
for non-existant target database names is now ``unknown database <database
name>`` instead of ``SQL logic error``. Patch by Erlend E. Aasland.

View file

@ -1,3 +0,0 @@
New functions :func:`sysconfig.get_preferred_scheme` and
:func:`sysconfig.get_default_scheme` are added to query a platform for its
preferred "user", "home", and "prefix" (default) scheme names.

View file

@ -1,3 +0,0 @@
Improve :mod:`sqlite3` error handling: ``sqlite3_value_blob()`` errors that
set ``SQLITE_NOMEM`` now raise :exc:`MemoryError`. Patch by Erlend E.
Aasland.

View file

@ -1,3 +0,0 @@
Allow :class:`bytes` ``separator`` argument in ``urllib.parse.parse_qs`` and
``urllib.parse.parse_qsl`` when parsing :class:`str` query strings. Previously,
this raised a ``TypeError``.

View file

@ -1,2 +0,0 @@
Improve error message for :func:`tarfile.open` when :mod:`lzma` / :mod:`bz2`
are unavailable. Patch by Anthony Sottile.

View file

@ -1 +0,0 @@
Fix problem with :attr:`~ssl.SSLContext.hostname_checks_common_name`. OpenSSL does not copy hostflags from *struct SSL_CTX* to *struct SSL*.

View file

@ -1,2 +0,0 @@
Add the ability to specify keyword-only fields to dataclasses. These fields
will become keyword-only arguments to the generated __init__.

View file

@ -1,2 +0,0 @@
:func:`turtle.textinput` and :func:`turtle.numinput` create now a transient
window working on behalf of the canvas window.

View file

@ -1,2 +0,0 @@
Deprecate find_module() and find_loader() implementations in importlib and
zipimport.

View file

@ -1,19 +0,0 @@
The following ``threading`` methods are now deprecated and should be replaced:
- ``currentThread`` => :func:`threading.current_thread`
- ``activeCount`` => :func:`threading.active_count`
- ``Condition.notifyAll`` => :meth:`threading.Condition.notify_all`
- ``Event.isSet`` => :meth:`threading.Event.is_set`
- ``Thread.setName`` => :attr:`threading.Thread.name`
- ``thread.getName`` => :attr:`threading.Thread.name`
- ``Thread.isDaemon`` => :attr:`threading.Thread.daemon`
- ``Thread.setDaemon`` => :attr:`threading.Thread.daemon`
Patch by Jelle Zijlstra.

View file

@ -1,2 +0,0 @@
:mod:`tkinter` dialog windows are now recognized as dialogs by window
managers on macOS and X Window.

View file

@ -1,3 +0,0 @@
Fix :mod:`sqlite3` regression for zero-sized blobs with converters, where
``b""`` was returned instead of ``None``. The regression was introduced by
GH-24723. Patch by Erlend E. Aasland.

View file

@ -1,2 +0,0 @@
Fix an issue where :data:`~object.__match_args__` generation could fail for
some :mod:`dataclasses`.

View file

@ -1,4 +0,0 @@
A ``simple_enum`` decorator is added to the ``enum`` module to convert a
normal class into an Enum. ``test_simple_enum`` added to test simple enums
against a corresponding normal Enum. Standard library modules updated to
use ``simple_enum``.

View file

@ -1,2 +0,0 @@
Add ``encoding`` and ``errors`` parameters to :func:`fileinput.input` and
:class:`fileinput.FileInput`.

View file

@ -1 +0,0 @@
Add an ``encoding`` parameter :func:`logging.fileConfig()`.

View file

@ -1,3 +0,0 @@
The ``P.args`` and ``P.kwargs`` attributes of :class:`typing.ParamSpec` are
now instances of the new classes :class:`typing.ParamSpecArgs` and
:class:`typing.ParamSpecKwargs`, which enables a more useful ``repr()``. Patch by Jelle Zijlstra.

View file

@ -1,3 +0,0 @@
In ``importlib.metadata``, incorporate changes from importlib_metadata 3.10:
Add mtime-based caching during distribution discovery. Flagged use of dict
result from ``entry_points()`` as deprecated.

View file

@ -1,3 +0,0 @@
:func:`os.path.realpath` now accepts a *strict* keyword-only argument.
When set to ``True``, :exc:`OSError` is raised if a path doesn't exist
or a symlink loop is encountered.

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