Python 3.10.0a2
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEz9yiRbEEPPKl+Xhl/+h0BBaL2EcFAl+gngEACgkQ/+h0BBaL 2EfDABAAnQ/bHY40QjoQ+us2vufDj3uvm2S7w0LMM+kgrehhqEoG/FmVtfb8XIvD S8FFtSa/VkrVUXvxI/mMpWL78se+Qk9rVQJ8dUZ4SvFJVe1NJdCMNV2Ij263QgJU r6bNu42EODDrFAgG9vq5ImND1qnGkF+hKlMHYV3HZhTP4drBEY+TMaB55Vmsp9TH eBnfY50y+k8w0hJmsZA1LaVLAXU9WHaWVB90/D22Z9MJmmQF5ofsIFXYj+1IcEkE P5CLSCRSzVlpdeNiZWrcBIEK8ap4ZkHvwD8RI6Fu3E/h2TXeiDbp/nCHZDPZMVVk OVx3Z4BFTNXE4nmRDIiO5+GqIbgG10LFQKOrOvHQr6inookUaFGwJKwkaEheNr2T vcgZMy61OEOeiLqCe6AJ/PuNlQ267zslYucUpNqpQpCu8j691OGEHzv+NNcSRrEq T/S4spifDVpFPGLRDkFjJe1OQ33bVZFdJx7guY6WJXVkZILS8vghqQYng55CNzd/ cdMqb5T6BBRb2SDqJ/qvUhyr7D8YML0pP5pywUUGKTdo84+mW5F/N2Q4g28ik9zv pgaehbAwS8jgoPbqH0Tz7qpXiWga9fTbFU47Az07xw5tQFD2+C5fdx+b1h2NBz2q exccvIw3Fn8zWikrKbeLgaSAWa2saw25dw0DMes8gG9uHD4+1JA= =XAGl -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEz9yiRbEEPPKl+Xhl/+h0BBaL2EcFAl+hk9UACgkQ/+h0BBaL 2EdkYxAAs5ujyihMfyoRpU9jV7pNIIbpCHMgV2s74ZBh5jnDPYRfIrGtaE/9HlTp PPAScsJvnPwBGNdg8Bs1cLAk/VgJC696ccJXmNugfpxs9CSzhEKQ0oF8PPm+oyqH LgU6Dv8dP3+ebOko/vnRPTXbL5gdbvVJvNiV5KUjE6FL+IRl2PHlvUdcEplkPXZ4 179kgP+8hMCB1Ai1KbMDpO2XIgdkJO+iXgXg9QNDCv2zcyr6OegGYI4cPyB3m/YK ZiBTnYK48x/l28Gdi+LISOGa4NNQ7R0j+Qao7YDoqe1yy8Ubj3NrLub+nNnSqnqb 8PYaFz0sWpJ4I/vjrMaUOJ+hKSwdRZqHF/LqfQBFyBCndmhi6tJNqAzcByqi03HL YnXlAYJI9T3rFzBOutfjvbFWkiM2DKAL6dWBIsMeuNEO6MQWTwQHKfidXJyx9zCo Vv5QLG5daLFDIgI4qBjJ4POxgl+7eR+5sJBNIVz43KhemiRKLdmFKWmv6moloVB+ 1xoNGmwqz4dzmlAMUj2vJiPuUYl6+P38q1dpAChOXx4hOQZ1ybsmUVUD4S+bLGVQ f/VYg6B2I/Fr7Yz9HVYe309abKUSzSeYnW9FkAuTHTmZPjgZHdIJl7euTE0FtNOd HQ0paNeC44AoqEnghH35FhFXs+wbedszyc++TltTWn32v0nSVk0= =qIu/ -----END PGP SIGNATURE----- Merge tag 'v3.10.0a2' into master Python 3.10.0a2
This commit is contained in:
commit
a9abbda618
|
@ -20,10 +20,10 @@
|
|||
#define PY_MINOR_VERSION 10
|
||||
#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.10.0a1+"
|
||||
#define PY_VERSION "3.10.0a2"
|
||||
/*--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 Mon Oct 5 18:27:28 2020
|
||||
# Autogenerated by Sphinx on Tue Nov 3 00:01:01 2020
|
||||
topics = {'assert': 'The "assert" statement\n'
|
||||
'**********************\n'
|
||||
'\n'
|
||||
|
@ -433,11 +433,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'Execution of Python coroutines can be suspended and resumed at '
|
||||
'many\n'
|
||||
'points (see *coroutine*). Inside the body of a coroutine '
|
||||
'function,\n'
|
||||
'"await" and "async" identifiers become reserved keywords; "await"\n'
|
||||
'expressions, "async for" and "async with" can only be used in\n'
|
||||
'coroutine function bodies.\n'
|
||||
'points (see *coroutine*). "await" expressions, "async for" and '
|
||||
'"async\n'
|
||||
'with" can only be used in the body of a coroutine function.\n'
|
||||
'\n'
|
||||
'Functions defined with "async def" syntax are always coroutine\n'
|
||||
'functions, even if they do not contain "await" or "async" '
|
||||
|
@ -453,6 +451,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' do_stuff()\n'
|
||||
' await some_coroutine()\n'
|
||||
'\n'
|
||||
'Changed in version 3.7: "await" and "async" are now keywords;\n'
|
||||
'previously they were only treated as such inside the body of a\n'
|
||||
'coroutine function.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'The "async for" statement\n'
|
||||
'=========================\n'
|
||||
|
@ -700,6 +702,11 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'syntax or\n'
|
||||
' built-in functions. See Special method lookup.\n'
|
||||
'\n'
|
||||
' For certain sensitive attribute accesses, raises an '
|
||||
'auditing event\n'
|
||||
' "object.__getattr__" with arguments "obj" and '
|
||||
'"name".\n'
|
||||
'\n'
|
||||
'object.__setattr__(self, name, value)\n'
|
||||
'\n'
|
||||
' Called when an attribute assignment is attempted. '
|
||||
|
@ -716,6 +723,11 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'for example,\n'
|
||||
' "object.__setattr__(self, name, value)".\n'
|
||||
'\n'
|
||||
' For certain sensitive attribute assignments, raises '
|
||||
'an auditing\n'
|
||||
' event "object.__setattr__" with arguments "obj", '
|
||||
'"name", "value".\n'
|
||||
'\n'
|
||||
'object.__delattr__(self, name)\n'
|
||||
'\n'
|
||||
' Like "__setattr__()" but for attribute deletion '
|
||||
|
@ -724,6 +736,11 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'obj.name" is\n'
|
||||
' meaningful for the object.\n'
|
||||
'\n'
|
||||
' For certain sensitive attribute deletions, raises an '
|
||||
'auditing event\n'
|
||||
' "object.__delattr__" with arguments "obj" and '
|
||||
'"name".\n'
|
||||
'\n'
|
||||
'object.__dir__(self)\n'
|
||||
'\n'
|
||||
' Called when "dir()" is called on the object. A '
|
||||
|
@ -1464,8 +1481,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
' Called when the instance is “called” as a function; if '
|
||||
'this method\n'
|
||||
' is defined, "x(arg1, arg2, ...)" is a shorthand for\n'
|
||||
' "x.__call__(arg1, arg2, ...)".\n',
|
||||
' is defined, "x(arg1, arg2, ...)" roughly translates to\n'
|
||||
' "type(x).__call__(x, arg1, ...)".\n',
|
||||
'calls': 'Calls\n'
|
||||
'*****\n'
|
||||
'\n'
|
||||
|
@ -2766,20 +2783,11 @@ 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 values of a\n'
|
||||
'function. The annotation values are available as string values '
|
||||
'in 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'
|
||||
'attribute of the function object.\n'
|
||||
'\n'
|
||||
'It is also possible to create anonymous functions (functions not '
|
||||
'bound\n'
|
||||
|
@ -2949,12 +2957,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'Execution of Python coroutines can be suspended and resumed at '
|
||||
'many\n'
|
||||
'points (see *coroutine*). Inside the body of a coroutine '
|
||||
'function,\n'
|
||||
'"await" and "async" identifiers become reserved keywords; '
|
||||
'"await"\n'
|
||||
'expressions, "async for" and "async with" can only be used in\n'
|
||||
'coroutine function bodies.\n'
|
||||
'points (see *coroutine*). "await" expressions, "async for" and '
|
||||
'"async\n'
|
||||
'with" can only be used in the body of a coroutine function.\n'
|
||||
'\n'
|
||||
'Functions defined with "async def" syntax are always coroutine\n'
|
||||
'functions, even if they do not contain "await" or "async" '
|
||||
|
@ -2970,6 +2975,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' do_stuff()\n'
|
||||
' await some_coroutine()\n'
|
||||
'\n'
|
||||
'Changed in version 3.7: "await" and "async" are now keywords;\n'
|
||||
'previously they were only treated as such inside the body of a\n'
|
||||
'coroutine function.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'The "async for" statement\n'
|
||||
'-------------------------\n'
|
||||
|
@ -3461,16 +3470,21 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' on the value to determine if the result is true or '
|
||||
'false.\n'
|
||||
'\n'
|
||||
' By default, "__ne__()" delegates to "__eq__()" and '
|
||||
'inverts the\n'
|
||||
' result unless it is "NotImplemented". There are no '
|
||||
'other implied\n'
|
||||
' relationships among the comparison operators, for '
|
||||
'example, the\n'
|
||||
' truth of "(x<y or x==y)" does not imply "x<=y". To '
|
||||
'automatically\n'
|
||||
' generate ordering operations from a single root '
|
||||
'operation, see\n'
|
||||
' By default, "object" implements "__eq__()" by using '
|
||||
'"is", returning\n'
|
||||
' "NotImplemented" in the case of a false comparison: '
|
||||
'"True if x is y\n'
|
||||
' else NotImplemented". For "__ne__()", by default it '
|
||||
'delegates to\n'
|
||||
' "__eq__()" and inverts the result unless it is '
|
||||
'"NotImplemented".\n'
|
||||
' There are no other implied relationships among the '
|
||||
'comparison\n'
|
||||
' operators or default implementations; for example, the '
|
||||
'truth of\n'
|
||||
' "(x<y or x==y)" does not imply "x<=y". To automatically '
|
||||
'generate\n'
|
||||
' ordering operations from a single root operation, see\n'
|
||||
' "functools.total_ordering()".\n'
|
||||
'\n'
|
||||
' See the paragraph on "__hash__()" for some important '
|
||||
|
@ -5859,20 +5873,11 @@ 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 values of a\n'
|
||||
'function. The annotation values are available as string values '
|
||||
'in 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'
|
||||
'attribute of the function object.\n'
|
||||
'\n'
|
||||
'It is also possible to create anonymous functions (functions not '
|
||||
'bound\n'
|
||||
|
@ -6395,8 +6400,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'* other future statements.\n'
|
||||
'\n'
|
||||
'The only feature in Python 3.7 that requires using the future\n'
|
||||
'statement is "annotations".\n'
|
||||
'The only feature that requires using the future statement is\n'
|
||||
'"annotations" (see **PEP 563**).\n'
|
||||
'\n'
|
||||
'All historical features enabled by the future statement are still\n'
|
||||
'recognized by Python 3. The list includes "absolute_import",\n'
|
||||
|
@ -8242,16 +8247,21 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' on the value to determine if the result is true or '
|
||||
'false.\n'
|
||||
'\n'
|
||||
' By default, "__ne__()" delegates to "__eq__()" and '
|
||||
'inverts the\n'
|
||||
' result unless it is "NotImplemented". There are no other '
|
||||
'implied\n'
|
||||
' relationships among the comparison operators, for '
|
||||
'example, the\n'
|
||||
' truth of "(x<y or x==y)" does not imply "x<=y". To '
|
||||
'automatically\n'
|
||||
' generate ordering operations from a single root '
|
||||
'operation, see\n'
|
||||
' By default, "object" implements "__eq__()" by using "is", '
|
||||
'returning\n'
|
||||
' "NotImplemented" in the case of a false comparison: "True '
|
||||
'if x is y\n'
|
||||
' else NotImplemented". For "__ne__()", by default it '
|
||||
'delegates to\n'
|
||||
' "__eq__()" and inverts the result unless it is '
|
||||
'"NotImplemented".\n'
|
||||
' There are no other implied relationships among the '
|
||||
'comparison\n'
|
||||
' operators or default implementations; for example, the '
|
||||
'truth of\n'
|
||||
' "(x<y or x==y)" does not imply "x<=y". To automatically '
|
||||
'generate\n'
|
||||
' ordering operations from a single root operation, see\n'
|
||||
' "functools.total_ordering()".\n'
|
||||
'\n'
|
||||
' See the paragraph on "__hash__()" for some important '
|
||||
|
@ -8481,6 +8491,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'syntax or\n'
|
||||
' built-in functions. See Special method lookup.\n'
|
||||
'\n'
|
||||
' For certain sensitive attribute accesses, raises an '
|
||||
'auditing event\n'
|
||||
' "object.__getattr__" with arguments "obj" and "name".\n'
|
||||
'\n'
|
||||
'object.__setattr__(self, name, value)\n'
|
||||
'\n'
|
||||
' Called when an attribute assignment is attempted. This '
|
||||
|
@ -8497,6 +8511,11 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'example,\n'
|
||||
' "object.__setattr__(self, name, value)".\n'
|
||||
'\n'
|
||||
' For certain sensitive attribute assignments, raises an '
|
||||
'auditing\n'
|
||||
' event "object.__setattr__" with arguments "obj", "name", '
|
||||
'"value".\n'
|
||||
'\n'
|
||||
'object.__delattr__(self, name)\n'
|
||||
'\n'
|
||||
' Like "__setattr__()" but for attribute deletion instead '
|
||||
|
@ -8505,6 +8524,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'obj.name" is\n'
|
||||
' meaningful for the object.\n'
|
||||
'\n'
|
||||
' For certain sensitive attribute deletions, raises an '
|
||||
'auditing event\n'
|
||||
' "object.__delattr__" with arguments "obj" and "name".\n'
|
||||
'\n'
|
||||
'object.__dir__(self)\n'
|
||||
'\n'
|
||||
' Called when "dir()" is called on the object. A sequence '
|
||||
|
@ -9298,8 +9321,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
' Called when the instance is “called” as a function; if '
|
||||
'this method\n'
|
||||
' is defined, "x(arg1, arg2, ...)" is a shorthand for\n'
|
||||
' "x.__call__(arg1, arg2, ...)".\n'
|
||||
' is defined, "x(arg1, arg2, ...)" roughly translates to\n'
|
||||
' "type(x).__call__(x, arg1, ...)".\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Emulating container types\n'
|
||||
|
@ -11054,9 +11077,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'subscriptions': 'Subscriptions\n'
|
||||
'*************\n'
|
||||
'\n'
|
||||
'A subscription selects an item of a sequence (string, tuple '
|
||||
'or list)\n'
|
||||
'or mapping (dictionary) object:\n'
|
||||
'Subscription of a sequence (string, tuple or list) or '
|
||||
'mapping\n'
|
||||
'(dictionary) object usually selects an item from the '
|
||||
'collection:\n'
|
||||
'\n'
|
||||
' subscription ::= primary "[" expression_list "]"\n'
|
||||
'\n'
|
||||
|
@ -11107,7 +11131,13 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'A string’s items are characters. A character is not a '
|
||||
'separate data\n'
|
||||
'type but a string of exactly one character.\n',
|
||||
'type but a string of exactly one character.\n'
|
||||
'\n'
|
||||
'Subscription of certain *classes* or *types* creates a '
|
||||
'generic alias.\n'
|
||||
'In this case, user-defined classes can support subscription '
|
||||
'by\n'
|
||||
'providing a "__class_getitem__()" classmethod.\n',
|
||||
'truth': 'Truth Value Testing\n'
|
||||
'*******************\n'
|
||||
'\n'
|
||||
|
@ -11353,6 +11383,27 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'representation\n'
|
||||
' in computers.\n'
|
||||
'\n'
|
||||
' The string representations of the numeric classes, computed by\n'
|
||||
' "__repr__()" and "__str__()", have the following properties:\n'
|
||||
'\n'
|
||||
' * They are valid numeric literals which, when passed to their '
|
||||
'class\n'
|
||||
' constructor, produce an object having the value of the '
|
||||
'original\n'
|
||||
' numeric.\n'
|
||||
'\n'
|
||||
' * The representation is in base 10, when possible.\n'
|
||||
'\n'
|
||||
' * Leading zeros, possibly excepting a single zero before a '
|
||||
'decimal\n'
|
||||
' point, are not shown.\n'
|
||||
'\n'
|
||||
' * Trailing zeros, possibly excepting a single zero after a '
|
||||
'decimal\n'
|
||||
' point, are not shown.\n'
|
||||
'\n'
|
||||
' * A sign is shown only when the number is negative.\n'
|
||||
'\n'
|
||||
' Python distinguishes between integers, floating point numbers, '
|
||||
'and\n'
|
||||
' complex numbers:\n'
|
||||
|
@ -12404,6 +12455,21 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'positional\n'
|
||||
' argument and a possibly empty set of keyword arguments.\n'
|
||||
'\n'
|
||||
' Dictionaries can be created by several means:\n'
|
||||
'\n'
|
||||
' * Use a comma-separated list of "key: value" pairs within '
|
||||
'braces:\n'
|
||||
' "{\'jack\': 4098, \'sjoerd\': 4127}" or "{4098: '
|
||||
"'jack', 4127:\n"
|
||||
' \'sjoerd\'}"\n'
|
||||
'\n'
|
||||
' * Use a dict comprehension: "{}", "{x: x ** 2 for x in '
|
||||
'range(10)}"\n'
|
||||
'\n'
|
||||
' * Use the type constructor: "dict()", "dict([(\'foo\', '
|
||||
"100), ('bar',\n"
|
||||
' 200)])", "dict(foo=100, bar=200)"\n'
|
||||
'\n'
|
||||
' If no positional argument is given, an empty dictionary '
|
||||
'is created.\n'
|
||||
' If a positional argument is given and it is a mapping '
|
||||
|
|
|
@ -0,0 +1,912 @@
|
|||
.. bpo: 42103
|
||||
.. date: 2020-10-23-19-19-30
|
||||
.. nonce: cILT66
|
||||
.. release date: 2020-11-03
|
||||
.. section: Security
|
||||
|
||||
Prevented potential DoS attack via CPU and RAM exhaustion when processing
|
||||
malformed Apple Property List files in binary format.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42051
|
||||
.. date: 2020-10-19-10-56-27
|
||||
.. nonce: EU_B7u
|
||||
.. section: Security
|
||||
|
||||
The :mod:`plistlib` module no longer accepts entity declarations in XML
|
||||
plist files to avoid XML vulnerabilities. This should not affect users as
|
||||
entity declarations are not used in regular plist files.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42236
|
||||
.. date: 2020-11-01-21-21-38
|
||||
.. nonce: MPx-NK
|
||||
.. section: Core and Builtins
|
||||
|
||||
If the ``nl_langinfo(CODESET)`` function returns an empty string, Python now
|
||||
uses UTF-8 as the filesystem encoding. Patch by Victor Stinner.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42218
|
||||
.. date: 2020-10-31-17-50-23
|
||||
.. nonce: Dp_Z3v
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fixed a bug in the PEG parser that was causing crashes in debug mode. Now
|
||||
errors are checked in left-recursive rules to avoid cases where such errors
|
||||
do not get handled in time and appear as long-distance crashes in other
|
||||
places.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42214
|
||||
.. date: 2020-10-30-22-16-30
|
||||
.. nonce: lXskM_
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fixed a possible crash in the PEG parser when checking for the '!=' token in
|
||||
the ``barry_as_flufl`` rule. Patch by Pablo Galindo.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42206
|
||||
.. date: 2020-10-30-13-11-01
|
||||
.. nonce: xxssR8
|
||||
.. section: Core and Builtins
|
||||
|
||||
Propagate and raise the errors caused by :c:func:`PyAST_Validate` in the
|
||||
parser.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41796
|
||||
.. date: 2020-10-29-12-49-08
|
||||
.. nonce: tkGdHq
|
||||
.. section: Core and Builtins
|
||||
|
||||
The :mod:`ast` module internal state is now per interpreter. Patch by Victor
|
||||
Stinner.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42143
|
||||
.. date: 2020-10-27-21-34-05
|
||||
.. nonce: N6KXUO
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix handling of errors during creation of ``PyFunctionObject``, which
|
||||
resulted in operations on uninitialized memory. Patch by Yonatan
|
||||
Goldschmidt.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41659
|
||||
.. date: 2020-10-27-18-32-49
|
||||
.. nonce: d4a-8o
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix a bug in the parser, where a curly brace following a `primary` didn't
|
||||
fail immediately. This led to invalid expressions like `a {b}` to throw a
|
||||
:exc:`SyntaxError` with a wrong offset, or invalid expressions ending with a
|
||||
curly brace like `a {` to not fail immediately in the REPL.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42150
|
||||
.. date: 2020-10-25-21-14-18
|
||||
.. nonce: b70u_T
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix possible buffer overflow in the new parser when checking for
|
||||
continuation lines. Patch by Pablo Galindo.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42123
|
||||
.. date: 2020-10-23-02-43-24
|
||||
.. nonce: 64gJWC
|
||||
.. section: Core and Builtins
|
||||
|
||||
Run the parser two times. On the first run, disable all the rules that only
|
||||
generate better error messages to gain performance. If there's a parse
|
||||
failure, run the parser a second time with those enabled.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41910
|
||||
.. date: 2020-10-21-14-40-54
|
||||
.. nonce: CzBMit
|
||||
.. section: Core and Builtins
|
||||
|
||||
Document the default implementation of `object.__eq__`.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42093
|
||||
.. date: 2020-10-20-04-24-07
|
||||
.. nonce: ooZZNh
|
||||
.. section: Core and Builtins
|
||||
|
||||
The ``LOAD_ATTR`` instruction now uses new "per opcode cache" mechanism and
|
||||
it is about 36% faster now. Patch by Pablo Galindo and Yury Selivanov.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42030
|
||||
.. date: 2020-10-15-21-55-32
|
||||
.. nonce: PmU2CA
|
||||
.. section: Core and Builtins
|
||||
|
||||
Support for the legacy AIX-specific shared library loading support has been
|
||||
removed. All versions of AIX since 4.3 have supported and defaulted to using
|
||||
the common Unix mechanism instead.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41984
|
||||
.. date: 2020-10-14-16-19-43
|
||||
.. nonce: SEtKMr
|
||||
.. section: Core and Builtins
|
||||
|
||||
The garbage collector now tracks all user-defined classes. Patch by Brandt
|
||||
Bucher.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41993
|
||||
.. date: 2020-10-10-13-53-52
|
||||
.. nonce: YMzixQ
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fixed potential issues with removing not completely initialized module from
|
||||
``sys.modules`` when import fails.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41979
|
||||
.. date: 2020-10-09-10-55-50
|
||||
.. nonce: ImXIk2
|
||||
.. section: Core and Builtins
|
||||
|
||||
Star-unpacking is now allowed for with item's targets in the PEG parser.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41974
|
||||
.. date: 2020-10-08-09-58-19
|
||||
.. nonce: 8B-q8O
|
||||
.. section: Core and Builtins
|
||||
|
||||
Removed special methods ``__int__``, ``__float__``, ``__floordiv__``,
|
||||
``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and
|
||||
``__rdivmod__`` of the :class:`complex` class. They always raised a
|
||||
:exc:`TypeError`.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41902
|
||||
.. date: 2020-10-02-13-32-05
|
||||
.. nonce: ZKTxzW
|
||||
.. section: Core and Builtins
|
||||
|
||||
Micro optimization when compute :c:member:`~PySequenceMethods.sq_item` and
|
||||
:c:member:`~PyMappingMethods.mp_subscript` of :class:`range`. Patch by
|
||||
Dong-hee Na.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41894
|
||||
.. date: 2020-10-02-11-35-33
|
||||
.. nonce: ffmtOt
|
||||
.. section: Core and Builtins
|
||||
|
||||
When loading a native module and a load failure occurs, prevent a possible
|
||||
UnicodeDecodeError when not running in a UTF-8 locale by decoding the load
|
||||
error message using the current locale's encoding.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41902
|
||||
.. date: 2020-10-01-22-44-23
|
||||
.. nonce: iLoMVF
|
||||
.. section: Core and Builtins
|
||||
|
||||
Micro optimization for range.index if step is 1. Patch by Dong-hee Na.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41435
|
||||
.. date: 2020-08-07-13-42-48
|
||||
.. nonce: qPWjJA
|
||||
.. section: Core and Builtins
|
||||
|
||||
Add `sys._current_exceptions()` function to retrieve a dictionary mapping
|
||||
each thread's identifier to the topmost exception currently active in that
|
||||
thread at the time the function is called.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38605
|
||||
.. date: 2020-05-27-16-08-16
|
||||
.. nonce: rcs2uK
|
||||
.. section: Core and Builtins
|
||||
|
||||
Enable ``from __future__ import annotations`` (:pep:`563`) by default. The
|
||||
values found in :attr:`__annotations__` dicts are now strings, e.g. ``{"x":
|
||||
"int"}`` instead of ``{"x": int}``.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 35455
|
||||
.. date: 2020-11-02-14-10-48
|
||||
.. nonce: Q1xTIo
|
||||
.. section: Library
|
||||
|
||||
On Solaris, :func:`~time.thread_time` is now implemented with
|
||||
``gethrvtime()`` because ``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` is not
|
||||
always available. Patch by Jakub Kulik.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42233
|
||||
.. date: 2020-11-02-01-31-15
|
||||
.. nonce: YxRj-h
|
||||
.. section: Library
|
||||
|
||||
The :func:`repr` of :mod:`typing` types containing :ref:`Generic Alias Types
|
||||
<types-genericalias>` previously did not show the parameterized types in the
|
||||
``GenericAlias``. They have now been changed to do so.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 29566
|
||||
.. date: 2020-10-31-13-28-36
|
||||
.. nonce: 6aDbty
|
||||
.. section: Library
|
||||
|
||||
``binhex.binhex()`` consisently writes macOS 9 line endings.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 26789
|
||||
.. date: 2020-10-31-01-16-49
|
||||
.. nonce: 9BdNAt
|
||||
.. section: Library
|
||||
|
||||
The :class:`logging.FileHandler` class now keeps a reference to the builtin
|
||||
:func:`open` function to be able to open or reopen the file during Python
|
||||
finalization. Fix errors like: ``NameError: name 'open' is not defined``.
|
||||
Patch by Victor Stinner.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42157
|
||||
.. date: 2020-10-26-23-29-16
|
||||
.. nonce: 4wuwTe
|
||||
.. section: Library
|
||||
|
||||
Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal
|
||||
PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was
|
||||
moved to the internal C API. Patch by Victor Stinner.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42157
|
||||
.. date: 2020-10-26-19-08-07
|
||||
.. nonce: Bdpa04
|
||||
.. section: Library
|
||||
|
||||
Convert the :mod:`unicodedata` extension module to the multiphase
|
||||
initialization API (:pep:`489`) and convert the ``unicodedata.UCD`` static
|
||||
type to a heap type. Patch by Mohamed Koubaa and Victor Stinner.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42146
|
||||
.. date: 2020-10-25-19-25-02
|
||||
.. nonce: 6A8uvS
|
||||
.. section: Library
|
||||
|
||||
Fix memory leak in :func:`subprocess.Popen` in case an uid (gid) specified
|
||||
in `user` (`group`, `extra_groups`) overflows `uid_t` (`gid_t`).
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42103
|
||||
.. date: 2020-10-23-19-20-14
|
||||
.. nonce: C5obK2
|
||||
.. section: Library
|
||||
|
||||
:exc:`~plistlib.InvalidFileException` and :exc:`RecursionError` are now the
|
||||
only errors caused by loading malformed binary Plist file (previously
|
||||
ValueError and TypeError could be raised in some specific cases).
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41490
|
||||
.. date: 2020-10-23-08-54-47
|
||||
.. nonce: -Yk6OD
|
||||
.. section: Library
|
||||
|
||||
In ``importlib.resources``, ``.path`` method is more aggressive about
|
||||
releasing handles to zipfile objects early, enabling use-cases like certifi
|
||||
to leave the context open but delete the underlying zip file.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41052
|
||||
.. date: 2020-10-21-23-45-02
|
||||
.. nonce: 3N7J2J
|
||||
.. section: Library
|
||||
|
||||
Pickling heap types implemented in C with protocols 0 and 1 raises now an
|
||||
error instead of producing incorrect data.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42089
|
||||
.. date: 2020-10-19-16-53-19
|
||||
.. nonce: R1dthW
|
||||
.. section: Library
|
||||
|
||||
In ``importlib.metadata.PackageNotFoundError``, make reference to the
|
||||
package metadata being missing to improve the user experience.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41491
|
||||
.. date: 2020-10-19-14-02-09
|
||||
.. nonce: d1BUWH
|
||||
.. section: Library
|
||||
|
||||
plistlib: fix parsing XML plists with hexadecimal integer values
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42065
|
||||
.. date: 2020-10-17-23-17-18
|
||||
.. nonce: 85BsRA
|
||||
.. section: Library
|
||||
|
||||
Fix an incorrectly formatted error from :meth:`_codecs.charmap_decode` when
|
||||
called with a mapped value outside the range of valid Unicode code points.
|
||||
PR by Max Bernstein.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41966
|
||||
.. date: 2020-10-17-07-52-53
|
||||
.. nonce: gwEQRZ
|
||||
.. section: Library
|
||||
|
||||
Fix pickling pure Python :class:`datetime.time` subclasses. Patch by Dean
|
||||
Inwood.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 19270
|
||||
.. date: 2020-10-16-22-48-01
|
||||
.. nonce: jd_gkA
|
||||
.. section: Library
|
||||
|
||||
:meth:`sched.scheduler.cancel()` will now cancel the correct event, if two
|
||||
events with same priority are scheduled for the same time. Patch by Bar
|
||||
Harel.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 28660
|
||||
.. date: 2020-10-16-16-08-04
|
||||
.. nonce: eX9pvD
|
||||
.. section: Library
|
||||
|
||||
:func:`textwrap.wrap` now attempts to break long words after hyphens when
|
||||
``break_long_words=True`` and ``break_on_hyphens=True``.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 35823
|
||||
.. date: 2020-10-16-07-45-35
|
||||
.. nonce: SNQo56
|
||||
.. section: Library
|
||||
|
||||
Use ``vfork()`` instead of ``fork()`` for :func:`subprocess.Popen` on Linux
|
||||
to improve performance in cases where it is deemed safe.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42043
|
||||
.. date: 2020-10-15-17-20-37
|
||||
.. nonce: OS0p_v
|
||||
.. section: Library
|
||||
|
||||
Add support for ``zipfile.Path`` inheritance. ``zipfile.Path.is_file()`` now
|
||||
returns False for non-existent names. ``zipfile.Path`` objects now expose a
|
||||
``.filename`` attribute and rely on that to resolve ``.name`` and
|
||||
``.parent`` when the ``Path`` object is at the root of the zipfile.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42021
|
||||
.. date: 2020-10-12-21-21-24
|
||||
.. nonce: 8yv_8-
|
||||
.. section: Library
|
||||
|
||||
Fix possible ref leaks in :mod:`sqlite3` module init.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 39101
|
||||
.. date: 2020-10-11-21-43-03
|
||||
.. nonce: -I49Pm
|
||||
.. section: Library
|
||||
|
||||
Fixed tests using IsolatedAsyncioTestCase from hanging on BaseExceptions.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41976
|
||||
.. date: 2020-10-08-18-22-28
|
||||
.. nonce: Svm0wb
|
||||
.. section: Library
|
||||
|
||||
Fixed a bug that was causing :func:`ctypes.util.find_library` to return
|
||||
``None`` when triying to locate a library in an environment when gcc>=9 is
|
||||
available and ``ldconfig`` is not. Patch by Pablo Galindo
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41943
|
||||
.. date: 2020-10-07-18-36-03
|
||||
.. nonce: Pt55fT
|
||||
.. section: Library
|
||||
|
||||
Fix bug where TestCase.assertLogs doesn't correctly filter messages by
|
||||
level.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41923
|
||||
.. date: 2020-10-03-23-14-50
|
||||
.. nonce: Buonw9
|
||||
.. section: Library
|
||||
|
||||
Implement :pep:`613`, introducing :data:`typing.TypeAlias` annotation.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41905
|
||||
.. date: 2020-10-01-21-11-03
|
||||
.. nonce: _JpjR4
|
||||
.. section: Library
|
||||
|
||||
A new function in abc: *update_abstractmethods* to re-calculate an abstract
|
||||
class's abstract status. In addition, *dataclass* has been changed to call
|
||||
this function.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 23706
|
||||
.. date: 2020-09-30-11-05-11
|
||||
.. nonce: dHTGjF
|
||||
.. section: Library
|
||||
|
||||
Added *newline* parameter to ``pathlib.Path.write_text()``.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41876
|
||||
.. date: 2020-09-29-16-23-54
|
||||
.. nonce: QicdDU
|
||||
.. section: Library
|
||||
|
||||
Tkinter font class repr uses font name
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41831
|
||||
.. date: 2020-09-22-11-07-50
|
||||
.. nonce: k-Eop_
|
||||
.. section: Library
|
||||
|
||||
``str()`` for the ``type`` attribute of the ``tkinter.Event`` object always
|
||||
returns now the numeric code returned by Tk instead of the name of the event
|
||||
type.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 39337
|
||||
.. date: 2020-09-13-02-02-18
|
||||
.. nonce: L3NXTt
|
||||
.. section: Library
|
||||
|
||||
:func:`encodings.normalize_encoding` now ignores non-ASCII characters.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41747
|
||||
.. date: 2020-09-08-23-41-29
|
||||
.. nonce: M6wLKv
|
||||
.. section: Library
|
||||
|
||||
Ensure all methods that generated from :func:`dataclasses.dataclass` objects
|
||||
now have the proper ``__qualname__`` attribute referring to the class they
|
||||
belong to. Patch by Batuhan Taskaya.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 30681
|
||||
.. date: 2020-09-04-17-33-04
|
||||
.. nonce: LR4fnY
|
||||
.. section: Library
|
||||
|
||||
Handle exceptions caused by unparseable date headers when using email
|
||||
"default" policy. Patch by Tim Bell, Georges Toth
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41586
|
||||
.. date: 2020-08-19-08-32-13
|
||||
.. nonce: IYjmjK
|
||||
.. section: Library
|
||||
|
||||
Add F_SETPIPE_SZ and F_GETPIPE_SZ to fcntl module. Allow setting pipesize on
|
||||
subprocess.Popen.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41229
|
||||
.. date: 2020-07-19-20-10-41
|
||||
.. nonce: p8rJa2
|
||||
.. section: Library
|
||||
|
||||
Add ``contextlib.aclosing`` for deterministic cleanup of async generators
|
||||
which is analogous to ``contextlib.closing`` for non-async generators. Patch
|
||||
by Joongi Kim and John Belmonte.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 16936
|
||||
.. date: 2020-07-08-09-45-00
|
||||
.. nonce: z8o8Pn
|
||||
.. section: Library
|
||||
|
||||
Allow ``ctypes.wintypes`` to be imported on non-Windows systems.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 4356
|
||||
.. date: 2020-05-31-10-48-47
|
||||
.. nonce: P8kXqp
|
||||
.. section: Library
|
||||
|
||||
Add a key function to the bisect module.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 40592
|
||||
.. date: 2020-05-14-16-01-34
|
||||
.. nonce: Cmk855
|
||||
.. section: Library
|
||||
|
||||
:func:`shutil.which` now ignores empty entries in :envvar:`PATHEXT` instead
|
||||
of treating them as a match.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 40492
|
||||
.. date: 2020-05-04-12-16-00
|
||||
.. nonce: ONk9Na
|
||||
.. section: Library
|
||||
|
||||
Fix ``--outfile`` for :mod:`cProfile` / :mod:`profile` not writing the
|
||||
output file in the original directory when the program being profiled
|
||||
changes the working directory. PR by Anthony Sottile.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 34204
|
||||
.. date: 2020-04-21-17-18-33
|
||||
.. nonce: 9wXTtY
|
||||
.. section: Library
|
||||
|
||||
The :mod:`shelve` module now uses :data:`pickle.DEFAULT_PROTOCOL` by default
|
||||
instead of :mod:`pickle` protocol ``3``.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 27321
|
||||
.. date: 2020-01-19-18-40-26
|
||||
.. nonce: 8e6SpM
|
||||
.. section: Library
|
||||
|
||||
Fixed KeyError exception when flattening an email to a string attempts to
|
||||
replace a non-existent Content-Transfer-Encoding header.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38976
|
||||
.. date: 2019-12-05-05-22-49
|
||||
.. nonce: 5MG7Uu
|
||||
.. section: Library
|
||||
|
||||
The :mod:`http.cookiejar` module now supports the parsing of cookies in
|
||||
CURL-style cookiejar files through MozillaCookieJar on all platforms.
|
||||
Previously, such cookie entries would be silently ignored when loading a
|
||||
cookiejar with such entries.
|
||||
|
||||
Additionally, the HTTP Only attribute is persisted in the object, and will
|
||||
be correctly written to file if the MozillaCookieJar object is subsequently
|
||||
dumped.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42061
|
||||
.. date: 2020-10-28-21-39-45
|
||||
.. nonce: _x-0sg
|
||||
.. section: Documentation
|
||||
|
||||
Document __format__ functionality for IP addresses.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42010
|
||||
.. date: 2020-10-21-02-21-14
|
||||
.. nonce: 76vJ0u
|
||||
.. section: Documentation
|
||||
|
||||
Clarify that subscription expressions are also valid for certain
|
||||
:term:`classes <class>` and :term:`types <type>` in the standard library,
|
||||
and for user-defined classes and types if the classmethod
|
||||
:meth:`__class_getitem__` is provided.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41805
|
||||
.. date: 2020-10-10-01-36-37
|
||||
.. nonce: l-CGv5
|
||||
.. section: Documentation
|
||||
|
||||
Documented :ref:`generic alias type <types-genericalias>` and
|
||||
:data:`types.GenericAlias`. Also added an entry in glossary for
|
||||
:term:`generic types <generic type>`.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 39693
|
||||
.. date: 2020-02-24-09-02-05
|
||||
.. nonce: QXw0Fm
|
||||
.. section: Documentation
|
||||
|
||||
Fix tarfile's extractfile documentation
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 39416
|
||||
.. date: 2020-01-22-05-14-53
|
||||
.. nonce: uYjhEm
|
||||
.. section: Documentation
|
||||
|
||||
Document some restrictions on the default string representations of numeric
|
||||
classes.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41739
|
||||
.. date: 2020-10-12-00-11-47
|
||||
.. nonce: wSCc4K
|
||||
.. section: Tests
|
||||
|
||||
Fix test_logging.test_race_between_set_target_and_flush(): the test now
|
||||
waits until all threads complete to avoid leaking running threads.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41970
|
||||
.. date: 2020-10-08-14-00-17
|
||||
.. nonce: aZ8QFf
|
||||
.. section: Tests
|
||||
|
||||
Avoid a test failure in ``test_lib2to3`` if the module has already imported
|
||||
at the time the test executes. Patch by Pablo Galindo.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41944
|
||||
.. date: 2020-10-05-17-43-46
|
||||
.. nonce: rf1dYb
|
||||
.. section: Tests
|
||||
|
||||
Tests for CJK codecs no longer call ``eval()`` on content received via HTTP.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41306
|
||||
.. date: 2020-08-03-13-44-37
|
||||
.. nonce: VDoWXI
|
||||
.. section: Tests
|
||||
|
||||
Fixed a failure in ``test_tk.test_widgets.ScaleTest`` happening when
|
||||
executing the test with Tk 8.6.10.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38980
|
||||
.. date: 2020-10-21-18-31-54
|
||||
.. nonce: xz7BNd
|
||||
.. section: Build
|
||||
|
||||
Add ``-fno-semantic-interposition`` to both the compile and link line when
|
||||
building with ``--enable-optimizations``. Patch by Victor Stinner and Pablo
|
||||
Galindo.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38439
|
||||
.. date: 2020-10-20-13-19-42
|
||||
.. nonce: eMLi-t
|
||||
.. section: Windows
|
||||
|
||||
Updates the icons for IDLE in the Windows Store package.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38252
|
||||
.. date: 2020-10-18-18-43-45
|
||||
.. nonce: 7Nlepg
|
||||
.. section: Windows
|
||||
|
||||
Use 8-byte step to detect ASCII sequence in 64-bit Windows build.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 39107
|
||||
.. date: 2020-09-24-23-09-40
|
||||
.. nonce: GbUZvD
|
||||
.. section: Windows
|
||||
|
||||
Update Tcl and Tk to 8.6.10 in Windows installer.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41557
|
||||
.. date: 2020-08-26-09-35-06
|
||||
.. nonce: vt00cQ
|
||||
.. section: Windows
|
||||
|
||||
Update Windows installer to use SQLite 3.33.0.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38324
|
||||
.. date: 2020-05-30-02-46-43
|
||||
.. nonce: 476M-5
|
||||
.. section: Windows
|
||||
|
||||
Avoid Unicode errors when accessing certain locale data on Windows.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41471
|
||||
.. date: 2020-10-19-12-25-19
|
||||
.. nonce: gwA7un
|
||||
.. section: macOS
|
||||
|
||||
Ignore invalid prefix lengths in system proxy excludes.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 33987
|
||||
.. date: 2020-10-24-21-27-37
|
||||
.. nonce: fIh9JL
|
||||
.. section: IDLE
|
||||
|
||||
Mostly finish using ttk widgets, mainly for editor, settings, and searches.
|
||||
Some patches by Mark Roseman.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 40511
|
||||
.. date: 2020-06-16-12-16-13
|
||||
.. nonce: XkihpM
|
||||
.. section: IDLE
|
||||
|
||||
Typing opening and closing parentheses inside the parentheses of a function
|
||||
call will no longer cause unnecessary "flashing" off and on of an existing
|
||||
open call-tip, e.g. when typed in a string literal.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38439
|
||||
.. date: 2020-04-22-09-37-40
|
||||
.. nonce: ieXL-c
|
||||
.. section: IDLE
|
||||
|
||||
Add a 256×256 pixel IDLE icon to the Windows .ico file. Created by Andrew
|
||||
Clover. Remove the low-color gif variations from the .ico file.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42157
|
||||
.. date: 2020-10-16-10-47-17
|
||||
.. nonce: e3BcPM
|
||||
.. section: C API
|
||||
|
||||
The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API
|
||||
``unicodedata.ucnhash_CAPI`` has been moved to the internal C API. Patch by
|
||||
Victor Stinner.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 42015
|
||||
.. date: 2020-10-12-20-13-58
|
||||
.. nonce: X4H2_V
|
||||
.. section: C API
|
||||
|
||||
Fix potential crash in deallocating method objects when dynamically
|
||||
allocated `PyMethodDef`'s lifetime is managed through the ``self`` argument
|
||||
of a `PyCFunction`.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 40423
|
||||
.. date: 2020-10-11-19-17-44
|
||||
.. nonce: GsmgEj
|
||||
.. section: C API
|
||||
|
||||
The :mod:`subprocess` module and ``os.closerange`` will now use the
|
||||
``close_range(low, high, flags)`` syscall when it is available for more
|
||||
efficient closing of ranges of descriptors.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41845
|
||||
.. date: 2020-10-11-05-05-53
|
||||
.. nonce: ZFvuQM
|
||||
.. section: C API
|
||||
|
||||
:c:func:`PyObject_GenericGetDict` is available again in the limited API when
|
||||
targeting 3.10 or later.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 40422
|
||||
.. date: 2020-10-10-14-05-24
|
||||
.. nonce: sh8IDY
|
||||
.. section: C API
|
||||
|
||||
Add `_Py_closerange` function to provide performant closing of a range of
|
||||
file descriptors.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41986
|
||||
.. date: 2020-10-09-22-50-46
|
||||
.. nonce: JUPE59
|
||||
.. section: C API
|
||||
|
||||
:c:data:`Py_FileSystemDefaultEncodeErrors` and :c:data:`Py_UTF8Mode` are
|
||||
available again in limited API.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41756
|
||||
.. date: 2020-09-28-14-31-07
|
||||
.. nonce: ZZ5wJG
|
||||
.. section: C API
|
||||
|
||||
Add `PyIter_Send` function to allow sending value into
|
||||
generator/coroutine/iterator without raising StopIteration exception to
|
||||
signal return.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 41784
|
||||
.. date: 2020-09-14-10-17-00
|
||||
.. nonce: Yl4gI2
|
||||
.. section: C API
|
||||
|
||||
Added ``PyUnicode_AsUTF8AndSize`` to the limited C API.
|
|
@ -1,3 +0,0 @@
|
|||
Add ``-fno-semantic-interposition`` to both the compile and link line when
|
||||
building with ``--enable-optimizations``. Patch by Victor Stinner and Pablo
|
||||
Galindo.
|
|
@ -1 +0,0 @@
|
|||
Added ``PyUnicode_AsUTF8AndSize`` to the limited C API.
|
|
@ -1,3 +0,0 @@
|
|||
Add `PyIter_Send` function to allow sending value into
|
||||
generator/coroutine/iterator without raising StopIteration exception to
|
||||
signal return.
|
|
@ -1,2 +0,0 @@
|
|||
:c:data:`Py_FileSystemDefaultEncodeErrors` and :c:data:`Py_UTF8Mode` are
|
||||
available again in limited API.
|
|
@ -1 +0,0 @@
|
|||
Add `_Py_closerange` function to provide performant closing of a range of file descriptors.
|
|
@ -1,2 +0,0 @@
|
|||
:c:func:`PyObject_GenericGetDict` is available again in the limited API
|
||||
when targeting 3.10 or later.
|
|
@ -1,3 +0,0 @@
|
|||
The :mod:`subprocess` module and ``os.closerange`` will now use the
|
||||
``close_range(low, high, flags)`` syscall when it is available for more
|
||||
efficient closing of ranges of descriptors.
|
|
@ -1,3 +0,0 @@
|
|||
Fix potential crash in deallocating method objects when dynamically
|
||||
allocated `PyMethodDef`'s lifetime is managed through the ``self``
|
||||
argument of a `PyCFunction`.
|
|
@ -1,3 +0,0 @@
|
|||
The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API
|
||||
``unicodedata.ucnhash_CAPI`` has been moved to the internal C API.
|
||||
Patch by Victor Stinner.
|
|
@ -1,3 +0,0 @@
|
|||
Enable ``from __future__ import annotations`` (:pep:`563`) by default.
|
||||
The values found in :attr:`__annotations__` dicts are now strings, e.g.
|
||||
``{"x": "int"}`` instead of ``{"x": int}``.
|
|
@ -1 +0,0 @@
|
|||
Add `sys._current_exceptions()` function to retrieve a dictionary mapping each thread's identifier to the topmost exception currently active in that thread at the time the function is called.
|
|
@ -1 +0,0 @@
|
|||
Micro optimization for range.index if step is 1. Patch by Dong-hee Na.
|
|
@ -1,3 +0,0 @@
|
|||
When loading a native module and a load failure occurs, prevent a possible
|
||||
UnicodeDecodeError when not running in a UTF-8 locale by decoding the load
|
||||
error message using the current locale's encoding.
|
|
@ -1,3 +0,0 @@
|
|||
Micro optimization when compute :c:member:`~PySequenceMethods.sq_item` and
|
||||
:c:member:`~PyMappingMethods.mp_subscript` of :class:`range`. Patch by
|
||||
Dong-hee Na.
|
|
@ -1,4 +0,0 @@
|
|||
Removed special methods ``__int__``, ``__float__``, ``__floordiv__``,
|
||||
``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and
|
||||
``__rdivmod__`` of the :class:`complex` class. They always raised
|
||||
a :exc:`TypeError`.
|
|
@ -1 +0,0 @@
|
|||
Star-unpacking is now allowed for with item's targets in the PEG parser.
|
|
@ -1,2 +0,0 @@
|
|||
Fixed potential issues with removing not completely initialized module from
|
||||
``sys.modules`` when import fails.
|
|
@ -1,2 +0,0 @@
|
|||
The garbage collector now tracks all user-defined classes. Patch by Brandt
|
||||
Bucher.
|
|
@ -1,3 +0,0 @@
|
|||
Support for the legacy AIX-specific shared library loading support has been
|
||||
removed. All versions of AIX since 4.3 have supported and defaulted to using
|
||||
the common Unix mechanism instead.
|
|
@ -1,2 +0,0 @@
|
|||
The ``LOAD_ATTR`` instruction now uses new "per opcode cache" mechanism and
|
||||
it is about 36% faster now. Patch by Pablo Galindo and Yury Selivanov.
|
|
@ -1 +0,0 @@
|
|||
Document the default implementation of `object.__eq__`.
|
|
@ -1,3 +0,0 @@
|
|||
Run the parser two times. On the first run, disable all the rules that only
|
||||
generate better error messages to gain performance. If there's a parse
|
||||
failure, run the parser a second time with those enabled.
|
|
@ -1,2 +0,0 @@
|
|||
Fix possible buffer overflow in the new parser when checking for
|
||||
continuation lines. Patch by Pablo Galindo.
|
|
@ -1,3 +0,0 @@
|
|||
Fix a bug in the parser, where a curly brace following a `primary` didn't fail immediately.
|
||||
This led to invalid expressions like `a {b}` to throw a :exc:`SyntaxError` with a wrong offset,
|
||||
or invalid expressions ending with a curly brace like `a {` to not fail immediately in the REPL.
|
|
@ -1,2 +0,0 @@
|
|||
Fix handling of errors during creation of ``PyFunctionObject``, which resulted
|
||||
in operations on uninitialized memory. Patch by Yonatan Goldschmidt.
|
|
@ -1,2 +0,0 @@
|
|||
The :mod:`ast` module internal state is now per interpreter. Patch by Victor
|
||||
Stinner.
|
|
@ -1,2 +0,0 @@
|
|||
Propagate and raise the errors caused by :c:func:`PyAST_Validate` in the
|
||||
parser.
|
|
@ -1,2 +0,0 @@
|
|||
Fixed a possible crash in the PEG parser when checking for the '!=' token in
|
||||
the ``barry_as_flufl`` rule. Patch by Pablo Galindo.
|
|
@ -1,3 +0,0 @@
|
|||
Fixed a bug in the PEG parser that was causing crashes in debug mode. Now errors are checked
|
||||
in left-recursive rules to avoid cases where such errors do not get handled in time and appear
|
||||
as long-distance crashes in other places.
|
|
@ -1,2 +0,0 @@
|
|||
If the ``nl_langinfo(CODESET)`` function returns an empty string, Python now
|
||||
uses UTF-8 as the filesystem encoding. Patch by Victor Stinner.
|
|
@ -1 +0,0 @@
|
|||
Document some restrictions on the default string representations of numeric classes.
|
|
@ -1 +0,0 @@
|
|||
Fix tarfile's extractfile documentation
|
|
@ -1,3 +0,0 @@
|
|||
Documented :ref:`generic alias type <types-genericalias>` and
|
||||
:data:`types.GenericAlias`. Also added an entry in glossary for
|
||||
:term:`generic types <generic type>`.
|
|
@ -1,4 +0,0 @@
|
|||
Clarify that subscription expressions are also valid for certain
|
||||
:term:`classes <class>` and :term:`types <type>` in the standard library, and
|
||||
for user-defined classes and types if the classmethod
|
||||
:meth:`__class_getitem__` is provided.
|
|
@ -1 +0,0 @@
|
|||
Document __format__ functionality for IP addresses.
|
|
@ -1,2 +0,0 @@
|
|||
Add a 256×256 pixel IDLE icon to the Windows .ico file. Created by Andrew
|
||||
Clover. Remove the low-color gif variations from the .ico file.
|
|
@ -1,3 +0,0 @@
|
|||
Typing opening and closing parentheses inside the parentheses of a function
|
||||
call will no longer cause unnecessary "flashing" off and on of an existing
|
||||
open call-tip, e.g. when typed in a string literal.
|
|
@ -1,3 +0,0 @@
|
|||
Mostly finish using ttk widgets, mainly for editor, settings,
|
||||
and searches. Some patches by Mark Roseman.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
The :mod:`http.cookiejar` module now supports the parsing of cookies in CURL-style cookiejar files through MozillaCookieJar
|
||||
on all platforms. Previously, such cookie entries would be silently ignored when loading a cookiejar with such entries.
|
||||
|
||||
Additionally, the HTTP Only attribute is persisted in the object, and will be correctly written to file if the MozillaCookieJar object is subsequently dumped.
|
|
@ -1,2 +0,0 @@
|
|||
Fixed KeyError exception when flattening an email to a string attempts to
|
||||
replace a non-existent Content-Transfer-Encoding header.
|
|
@ -1,2 +0,0 @@
|
|||
The :mod:`shelve` module now uses :data:`pickle.DEFAULT_PROTOCOL` by default
|
||||
instead of :mod:`pickle` protocol ``3``.
|
|
@ -1,3 +0,0 @@
|
|||
Fix ``--outfile`` for :mod:`cProfile` / :mod:`profile` not writing the output
|
||||
file in the original directory when the program being profiled changes the
|
||||
working directory. PR by Anthony Sottile.
|
|
@ -1 +0,0 @@
|
|||
:func:`shutil.which` now ignores empty entries in :envvar:`PATHEXT` instead of treating them as a match.
|
|
@ -1 +0,0 @@
|
|||
Add a key function to the bisect module.
|
|
@ -1 +0,0 @@
|
|||
Allow ``ctypes.wintypes`` to be imported on non-Windows systems.
|
|
@ -1,3 +0,0 @@
|
|||
Add ``contextlib.aclosing`` for deterministic cleanup of async generators
|
||||
which is analogous to ``contextlib.closing`` for non-async generators.
|
||||
Patch by Joongi Kim and John Belmonte.
|
|
@ -1,2 +0,0 @@
|
|||
Add F_SETPIPE_SZ and F_GETPIPE_SZ to fcntl module. Allow setting pipesize on
|
||||
subprocess.Popen.
|
|
@ -1,2 +0,0 @@
|
|||
Handle exceptions caused by unparseable date headers when using email
|
||||
"default" policy. Patch by Tim Bell, Georges Toth
|
|
@ -1,3 +0,0 @@
|
|||
Ensure all methods that generated from :func:`dataclasses.dataclass`
|
||||
objects now have the proper ``__qualname__`` attribute referring to
|
||||
the class they belong to. Patch by Batuhan Taskaya.
|
|
@ -1 +0,0 @@
|
|||
:func:`encodings.normalize_encoding` now ignores non-ASCII characters.
|
|
@ -1,3 +0,0 @@
|
|||
``str()`` for the ``type`` attribute of the ``tkinter.Event`` object always
|
||||
returns now the numeric code returned by Tk instead of the name of the event
|
||||
type.
|
|
@ -1 +0,0 @@
|
|||
Tkinter font class repr uses font name
|
|
@ -1 +0,0 @@
|
|||
Added *newline* parameter to ``pathlib.Path.write_text()``.
|
|
@ -1 +0,0 @@
|
|||
A new function in abc: *update_abstractmethods* to re-calculate an abstract class's abstract status. In addition, *dataclass* has been changed to call this function.
|
|
@ -1 +0,0 @@
|
|||
Implement :pep:`613`, introducing :data:`typing.TypeAlias` annotation.
|
|
@ -1 +0,0 @@
|
|||
Fix bug where TestCase.assertLogs doesn't correctly filter messages by level.
|
|
@ -1,3 +0,0 @@
|
|||
Fixed a bug that was causing :func:`ctypes.util.find_library` to return
|
||||
``None`` when triying to locate a library in an environment when gcc>=9 is
|
||||
available and ``ldconfig`` is not. Patch by Pablo Galindo
|
|
@ -1 +0,0 @@
|
|||
Fixed tests using IsolatedAsyncioTestCase from hanging on BaseExceptions.
|
|
@ -1 +0,0 @@
|
|||
Fix possible ref leaks in :mod:`sqlite3` module init.
|
|
@ -1,4 +0,0 @@
|
|||
Add support for ``zipfile.Path`` inheritance. ``zipfile.Path.is_file()`` now
|
||||
returns False for non-existent names. ``zipfile.Path`` objects now expose a
|
||||
``.filename`` attribute and rely on that to resolve ``.name`` and
|
||||
``.parent`` when the ``Path`` object is at the root of the zipfile.
|
|
@ -1,2 +0,0 @@
|
|||
Use ``vfork()`` instead of ``fork()`` for :func:`subprocess.Popen` on Linux
|
||||
to improve performance in cases where it is deemed safe.
|
|
@ -1 +0,0 @@
|
|||
:func:`textwrap.wrap` now attempts to break long words after hyphens when ``break_long_words=True`` and ``break_on_hyphens=True``.
|
|
@ -1,2 +0,0 @@
|
|||
:meth:`sched.scheduler.cancel()` will now cancel the correct event, if two
|
||||
events with same priority are scheduled for the same time. Patch by Bar Harel.
|
|
@ -1,2 +0,0 @@
|
|||
Fix pickling pure Python :class:`datetime.time` subclasses. Patch by Dean
|
||||
Inwood.
|
|
@ -1,3 +0,0 @@
|
|||
Fix an incorrectly formatted error from :meth:`_codecs.charmap_decode` when
|
||||
called with a mapped value outside the range of valid Unicode code points.
|
||||
PR by Max Bernstein.
|
|
@ -1 +0,0 @@
|
|||
plistlib: fix parsing XML plists with hexadecimal integer values
|
|
@ -1,2 +0,0 @@
|
|||
In ``importlib.metadata.PackageNotFoundError``, make reference to the
|
||||
package metadata being missing to improve the user experience.
|
|
@ -1,2 +0,0 @@
|
|||
Pickling heap types implemented in C with protocols 0 and 1 raises now an
|
||||
error instead of producing incorrect data.
|
|
@ -1,3 +0,0 @@
|
|||
In ``importlib.resources``, ``.path`` method is more aggressive about
|
||||
releasing handles to zipfile objects early, enabling use-cases like certifi
|
||||
to leave the context open but delete the underlying zip file.
|
|
@ -1,3 +0,0 @@
|
|||
:exc:`~plistlib.InvalidFileException` and :exc:`RecursionError` are now
|
||||
the only errors caused by loading malformed binary Plist file (previously
|
||||
ValueError and TypeError could be raised in some specific cases).
|
|
@ -1,2 +0,0 @@
|
|||
Fix memory leak in :func:`subprocess.Popen` in case an uid (gid) specified in
|
||||
`user` (`group`, `extra_groups`) overflows `uid_t` (`gid_t`).
|
|
@ -1,4 +0,0 @@
|
|||
Convert the :mod:`unicodedata` extension module to the multiphase
|
||||
initialization API (:pep:`489`) and convert the ``unicodedata.UCD``
|
||||
static type to a heap type.
|
||||
Patch by Mohamed Koubaa and Victor Stinner.
|
|
@ -1,3 +0,0 @@
|
|||
Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal
|
||||
PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was
|
||||
moved to the internal C API. Patch by Victor Stinner.
|
|
@ -1,4 +0,0 @@
|
|||
The :class:`logging.FileHandler` class now keeps a reference to the builtin
|
||||
:func:`open` function to be able to open or reopen the file during Python
|
||||
finalization. Fix errors like: ``NameError: name 'open' is not defined``. Patch
|
||||
by Victor Stinner.
|
|
@ -1 +0,0 @@
|
|||
``binhex.binhex()`` consisently writes macOS 9 line endings.
|
|
@ -1,3 +0,0 @@
|
|||
The :func:`repr` of :mod:`typing` types containing
|
||||
:ref:`Generic Alias Types <types-genericalias>` previously did not show the
|
||||
parameterized types in the ``GenericAlias``. They have now been changed to do so.
|
|
@ -1,3 +0,0 @@
|
|||
On Solaris, :func:`~time.thread_time` is now implemented with
|
||||
``gethrvtime()`` because ``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` is not
|
||||
always available. Patch by Jakub Kulik.
|
|
@ -1,3 +0,0 @@
|
|||
The :mod:`plistlib` module no longer accepts entity declarations in XML
|
||||
plist files to avoid XML vulnerabilities. This should not affect users as
|
||||
entity declarations are not used in regular plist files.
|
|
@ -1,2 +0,0 @@
|
|||
Prevented potential DoS attack via CPU and RAM exhaustion when processing
|
||||
malformed Apple Property List files in binary format.
|
|
@ -1 +0,0 @@
|
|||
Fixed a failure in ``test_tk.test_widgets.ScaleTest`` happening when executing the test with Tk 8.6.10.
|
|
@ -1 +0,0 @@
|
|||
Tests for CJK codecs no longer call ``eval()`` on content received via HTTP.
|
|
@ -1,2 +0,0 @@
|
|||
Avoid a test failure in ``test_lib2to3`` if the module has already imported
|
||||
at the time the test executes. Patch by Pablo Galindo.
|
|
@ -1,2 +0,0 @@
|
|||
Fix test_logging.test_race_between_set_target_and_flush(): the test now
|
||||
waits until all threads complete to avoid leaking running threads.
|
|
@ -1 +0,0 @@
|
|||
Avoid Unicode errors when accessing certain locale data on Windows.
|
|
@ -1 +0,0 @@
|
|||
Update Windows installer to use SQLite 3.33.0.
|
|
@ -1 +0,0 @@
|
|||
Update Tcl and Tk to 8.6.10 in Windows installer.
|
|
@ -1 +0,0 @@
|
|||
Use 8-byte step to detect ASCII sequence in 64-bit Windows build.
|
|
@ -1 +0,0 @@
|
|||
Updates the icons for IDLE in the Windows Store package.
|
|
@ -1 +0,0 @@
|
|||
Ignore invalid prefix lengths in system proxy excludes.
|
|
@ -1,4 +1,4 @@
|
|||
This is Python version 3.10.0 alpha 1
|
||||
This is Python version 3.10.0 alpha 2
|
||||
=====================================
|
||||
|
||||
.. image:: https://travis-ci.com/python/cpython.svg?branch=master
|
||||
|
|
Loading…
Reference in New Issue