Python 3.8.1rc1
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAl3uiPsACgkQsmmV4xAl BWh1PQ//fJRLYxpcIwreGvP1XXPACjyByXdYgwf5xuXeoPIjdNccMC30nDzbmitR zaqKXcQUOmjsFGEq95hctl7tUKzk2lgGQBf1gUOBIXcoGaK3UY30K6JgsvGKSQqd hyOCxSlrEjLU8pJpsTWtOH8o+sOtjlChopj88mLq9xNxaEBY+U6SIv9YN0FQhWDm RvvhBuQax4f+Bry3edH6eNqk9a4EsRQ9ud2ABwXPI71s1BUvNfdTwcU1NSI2JQaQ vJNT8yQXgP0hWJJfB4wFn9ior6q288WUhWATVTtF7dBGkuTI7e0PiaYezMUF+hTm bCsSbaFoNoCn5acYZtilGG+LRzMSp2svYJXMvTeaB5h8lpIexn0rIzMHqFAwhyGJ LMgXw32LXI9XaYbdqyON/pXUH24tL8fu5rgvupgnmtXnWSSxml2nVUv8zEqHTqmV TvOOf0jyVpSMvMab3sdc4OwV+VSyKVKtsAoEKt0K1Tq05hzUBvG41uxE+2rvxBYF dANyJK+0Jeo6ouTlQCIqefXBPUI7JXM+94BwOmLIEvhA/ycKFv2lOMibX1FZQO// TjOEK8NwGULY2Z1AdeC8TcDfT/iTefteljC6cq1FcAkHNwnMjWVrhvK0rqnrXUn2 CpzoQm7GShP/ViUqgdAfM1czGM5mrlY8OWX7sFLSUN2mPOBLrgs= =f79H -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQJEBAABCAAuFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAl3vU3UQHGx1a2FzekBs YW5nYS5wbAAKCRCyaZXjECUFaEiAEACcl0GKXfYz0C6texEO6FFMNJPQtXWNwdt5 U2d1UsXhp4xJKLz7NhgAvVldjEB0WT20F0ZzC9Z9YIbOCgJLwbLm0nIINlQ7jxzM edz81gYYnnWNet4G57ljRdveMZ14K5CY9wijyPw89y7UHXZ93B9scMyccdRmFRuv A817Qr4Sdqy7JsbZ7PP9OKkroMeAVVf0Xj3v07ZIqq83+g3pDsnMZTEsRKhJXVnG rzllNQNYHFCz7ViBiBfK1AdYVRhkhjWaqvGadlaG//9qo7UymTrmVrNrllXy705o Z2fQS4c6IDkEC2+uFOYJdgdptsueKfZzzj5QITZz6NaIxE5PMFW2x4vLgEYPIj7w bPII8IkwRp+95iG60xxet0IQyIEh/HYwYa3Z4AeWH8ZYWSxkysgLx6qJ5KaYGBYC AAi5YCKo4gzvRABbd5uq5ebYutuXQWVJcDqtOl8f/SH8zvA2bVsv8H95SD7kwAGS EOuDN37unmTKjWNycFa0NLqTJqv7XUpMnKlwU2z2PPJHsqCRS9AkKqw7UU/ljbn6 bc6lvOLTWI1CdqbGedbqGoi9oF4HAqSmmIgVjh16+fOYgYa1qRe/hcBn3Up+KVas 5fVt/f4sR6C3sDKnh5ynVnLkzWZgJD4QBx4DS0ZYHnNCCVQfJQbdWpG+N4muiJAi oHIFP43J8w== =uwbV -----END PGP SIGNATURE----- Merge tag 'v3.8.1rc1' into 3.8 Python 3.8.1rc1
This commit is contained in:
commit
8129e5e356
|
@ -18,12 +18,12 @@
|
|||
/*--start constants--*/
|
||||
#define PY_MAJOR_VERSION 3
|
||||
#define PY_MINOR_VERSION 8
|
||||
#define PY_MICRO_VERSION 0
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
|
||||
#define PY_RELEASE_SERIAL 0
|
||||
#define PY_MICRO_VERSION 1
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_GAMMA
|
||||
#define PY_RELEASE_SERIAL 1
|
||||
|
||||
/* Version as a string */
|
||||
#define PY_VERSION "3.8.0+"
|
||||
#define PY_VERSION "3.8.1rc1"
|
||||
/*--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 14 14:33:10 2019
|
||||
# Autogenerated by Sphinx on Mon Dec 9 18:44:17 2019
|
||||
topics = {'assert': 'The "assert" statement\n'
|
||||
'**********************\n'
|
||||
'\n'
|
||||
|
@ -744,10 +744,11 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'returned.\n'
|
||||
'\n'
|
||||
'The "__dir__" function should accept no arguments, and '
|
||||
'return a list\n'
|
||||
'of strings that represents the names accessible on '
|
||||
'module. If present,\n'
|
||||
'this function overrides the standard "dir()" search on a '
|
||||
'return a\n'
|
||||
'sequence of strings that represents the names accessible '
|
||||
'on module. If\n'
|
||||
'present, this function overrides the standard "dir()" '
|
||||
'search on a\n'
|
||||
'module.\n'
|
||||
'\n'
|
||||
'For a more fine grained customization of the module '
|
||||
|
@ -861,6 +862,22 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'created. The\n'
|
||||
' descriptor has been assigned to *name*.\n'
|
||||
'\n'
|
||||
' Note: "__set_name__()" is only called implicitly as '
|
||||
'part of the\n'
|
||||
' "type" constructor, so it will need to be called '
|
||||
'explicitly with\n'
|
||||
' the appropriate parameters when a descriptor is '
|
||||
'added to a class\n'
|
||||
' after initial creation:\n'
|
||||
'\n'
|
||||
' class A:\n'
|
||||
' pass\n'
|
||||
' descr = custom_descriptor()\n'
|
||||
' A.attr = descr\n'
|
||||
" descr.__set_name__(A, 'attr')\n"
|
||||
'\n'
|
||||
' See Creating the class object for more details.\n'
|
||||
'\n'
|
||||
' New in version 3.6.\n'
|
||||
'\n'
|
||||
'The attribute "__objclass__" is interpreted by the '
|
||||
|
@ -1089,7 +1106,13 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'attributes created by\n'
|
||||
' slots (the other bases must have empty slot layouts) - '
|
||||
'violations\n'
|
||||
' raise "TypeError".\n',
|
||||
' raise "TypeError".\n'
|
||||
'\n'
|
||||
'* If an iterator is used for *__slots__* then a '
|
||||
'descriptor is\n'
|
||||
' created for each of the iterator’s values. However, '
|
||||
'the *__slots__*\n'
|
||||
' attribute will be an empty iterator.\n',
|
||||
'attribute-references': 'Attribute references\n'
|
||||
'********************\n'
|
||||
'\n'
|
||||
|
@ -4216,6 +4239,17 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' Quit from the debugger. The program being executed is '
|
||||
'aborted.\n'
|
||||
'\n'
|
||||
'debug code\n'
|
||||
'\n'
|
||||
' Enter a recursive debugger that steps through the code '
|
||||
'argument\n'
|
||||
' (which is an arbitrary expression or statement to be executed '
|
||||
'in\n'
|
||||
' the current environment).\n'
|
||||
'\n'
|
||||
'retval\n'
|
||||
'Print the return value for the last return of a function.\n'
|
||||
'\n'
|
||||
'-[ Footnotes ]-\n'
|
||||
'\n'
|
||||
'[1] Whether a frame is considered to originate in a certain '
|
||||
|
@ -6227,6 +6261,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'that\n'
|
||||
'determine dynamically the modules to be loaded.\n'
|
||||
'\n'
|
||||
'Raises an auditing event "import" with arguments "module", '
|
||||
'"filename",\n'
|
||||
'"sys.path", "sys.meta_path", "sys.path_hooks".\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Future statements\n'
|
||||
'=================\n'
|
||||
|
@ -7450,9 +7488,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'to allow\n'
|
||||
'efficient iteration through the container; for mappings, '
|
||||
'"__iter__()"\n'
|
||||
'should be the same as "keys()"; for sequences, it should '
|
||||
'iterate\n'
|
||||
'through the values.\n'
|
||||
'should iterate through the object’s keys; for sequences, '
|
||||
'it should\n'
|
||||
'iterate through the values.\n'
|
||||
'\n'
|
||||
'object.__len__(self)\n'
|
||||
'\n'
|
||||
|
@ -7604,12 +7642,12 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'The membership test operators ("in" and "not in") are '
|
||||
'normally\n'
|
||||
'implemented as an iteration through a sequence. However, '
|
||||
'implemented as an iteration through a container. However, '
|
||||
'container\n'
|
||||
'objects can supply the following special method with a '
|
||||
'more efficient\n'
|
||||
'implementation, which also does not require the object be '
|
||||
'a sequence.\n'
|
||||
'iterable.\n'
|
||||
'\n'
|
||||
'object.__contains__(self, item)\n'
|
||||
'\n'
|
||||
|
@ -8391,10 +8429,11 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'returned.\n'
|
||||
'\n'
|
||||
'The "__dir__" function should accept no arguments, and '
|
||||
'return a list\n'
|
||||
'of strings that represents the names accessible on module. '
|
||||
'If present,\n'
|
||||
'this function overrides the standard "dir()" search on a '
|
||||
'return a\n'
|
||||
'sequence of strings that represents the names accessible on '
|
||||
'module. If\n'
|
||||
'present, this function overrides the standard "dir()" search '
|
||||
'on a\n'
|
||||
'module.\n'
|
||||
'\n'
|
||||
'For a more fine grained customization of the module behavior '
|
||||
|
@ -8508,6 +8547,22 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'The\n'
|
||||
' descriptor has been assigned to *name*.\n'
|
||||
'\n'
|
||||
' Note: "__set_name__()" is only called implicitly as part '
|
||||
'of the\n'
|
||||
' "type" constructor, so it will need to be called '
|
||||
'explicitly with\n'
|
||||
' the appropriate parameters when a descriptor is added '
|
||||
'to a class\n'
|
||||
' after initial creation:\n'
|
||||
'\n'
|
||||
' class A:\n'
|
||||
' pass\n'
|
||||
' descr = custom_descriptor()\n'
|
||||
' A.attr = descr\n'
|
||||
" descr.__set_name__(A, 'attr')\n"
|
||||
'\n'
|
||||
' See Creating the class object for more details.\n'
|
||||
'\n'
|
||||
' New in version 3.6.\n'
|
||||
'\n'
|
||||
'The attribute "__objclass__" is interpreted by the "inspect" '
|
||||
|
@ -8734,6 +8789,12 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'violations\n'
|
||||
' raise "TypeError".\n'
|
||||
'\n'
|
||||
'* If an iterator is used for *__slots__* then a descriptor '
|
||||
'is\n'
|
||||
' created for each of the iterator’s values. However, the '
|
||||
'*__slots__*\n'
|
||||
' attribute will be an empty iterator.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Customizing class creation\n'
|
||||
'==========================\n'
|
||||
|
@ -9179,9 +9240,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'allow\n'
|
||||
'efficient iteration through the container; for mappings, '
|
||||
'"__iter__()"\n'
|
||||
'should be the same as "keys()"; for sequences, it should '
|
||||
'iterate\n'
|
||||
'through the values.\n'
|
||||
'should iterate through the object’s keys; for sequences, it '
|
||||
'should\n'
|
||||
'iterate through the values.\n'
|
||||
'\n'
|
||||
'object.__len__(self)\n'
|
||||
'\n'
|
||||
|
@ -9332,12 +9393,12 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'The membership test operators ("in" and "not in") are '
|
||||
'normally\n'
|
||||
'implemented as an iteration through a sequence. However, '
|
||||
'implemented as an iteration through a container. However, '
|
||||
'container\n'
|
||||
'objects can supply the following special method with a more '
|
||||
'efficient\n'
|
||||
'implementation, which also does not require the object be a '
|
||||
'sequence.\n'
|
||||
'implementation, which also does not require the object be '
|
||||
'iterable.\n'
|
||||
'\n'
|
||||
'object.__contains__(self, item)\n'
|
||||
'\n'
|
||||
|
@ -9941,20 +10002,20 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'str.isalnum()\n'
|
||||
'\n'
|
||||
' Return true if all characters in the string are '
|
||||
' Return "True" if all characters in the string are '
|
||||
'alphanumeric and\n'
|
||||
' there is at least one character, false otherwise. A '
|
||||
'character "c"\n'
|
||||
' is alphanumeric if one of the following returns '
|
||||
' there is at least one character, "False" otherwise. A '
|
||||
'character\n'
|
||||
' "c" is alphanumeric if one of the following returns '
|
||||
'"True":\n'
|
||||
' "c.isalpha()", "c.isdecimal()", "c.isdigit()", or '
|
||||
'"c.isnumeric()".\n'
|
||||
'\n'
|
||||
'str.isalpha()\n'
|
||||
'\n'
|
||||
' Return true if all characters in the string are '
|
||||
' Return "True" if all characters in the string are '
|
||||
'alphabetic and\n'
|
||||
' there is at least one character, false otherwise. '
|
||||
' there is at least one character, "False" otherwise. '
|
||||
'Alphabetic\n'
|
||||
' characters are those characters defined in the Unicode '
|
||||
'character\n'
|
||||
|
@ -9968,45 +10029,46 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'str.isascii()\n'
|
||||
'\n'
|
||||
' Return true if the string is empty or all characters in '
|
||||
'the string\n'
|
||||
' are ASCII, false otherwise. ASCII characters have code '
|
||||
'points in\n'
|
||||
' the range U+0000-U+007F.\n'
|
||||
' Return "True" if the string is empty or all characters '
|
||||
'in the\n'
|
||||
' string are ASCII, "False" otherwise. ASCII characters '
|
||||
'have code\n'
|
||||
' points in the range U+0000-U+007F.\n'
|
||||
'\n'
|
||||
' New in version 3.7.\n'
|
||||
'\n'
|
||||
'str.isdecimal()\n'
|
||||
'\n'
|
||||
' Return true if all characters in the string are decimal '
|
||||
'characters\n'
|
||||
' and there is at least one character, false otherwise. '
|
||||
'Decimal\n'
|
||||
' characters are those that can be used to form numbers '
|
||||
'in base 10,\n'
|
||||
' e.g. U+0660, ARABIC-INDIC DIGIT ZERO. Formally a '
|
||||
'decimal character\n'
|
||||
' is a character in the Unicode General Category “Nd”.\n'
|
||||
' Return "True" if all characters in the string are '
|
||||
'decimal\n'
|
||||
' characters and there is at least one character, "False" '
|
||||
'otherwise.\n'
|
||||
' Decimal characters are those that can be used to form '
|
||||
'numbers in\n'
|
||||
' base 10, e.g. U+0660, ARABIC-INDIC DIGIT ZERO. '
|
||||
'Formally a decimal\n'
|
||||
' character is a character in the Unicode General '
|
||||
'Category “Nd”.\n'
|
||||
'\n'
|
||||
'str.isdigit()\n'
|
||||
'\n'
|
||||
' Return true if all characters in the string are digits '
|
||||
'and there is\n'
|
||||
' at least one character, false otherwise. Digits '
|
||||
'include decimal\n'
|
||||
' characters and digits that need special handling, such '
|
||||
'as the\n'
|
||||
' compatibility superscript digits. This covers digits '
|
||||
'which cannot\n'
|
||||
' be used to form numbers in base 10, like the Kharosthi '
|
||||
'numbers.\n'
|
||||
' Formally, a digit is a character that has the property '
|
||||
'value\n'
|
||||
' Numeric_Type=Digit or Numeric_Type=Decimal.\n'
|
||||
' Return "True" if all characters in the string are '
|
||||
'digits and there\n'
|
||||
' is at least one character, "False" otherwise. Digits '
|
||||
'include\n'
|
||||
' decimal characters and digits that need special '
|
||||
'handling, such as\n'
|
||||
' the compatibility superscript digits. This covers '
|
||||
'digits which\n'
|
||||
' cannot be used to form numbers in base 10, like the '
|
||||
'Kharosthi\n'
|
||||
' numbers. Formally, a digit is a character that has the '
|
||||
'property\n'
|
||||
' value Numeric_Type=Digit or Numeric_Type=Decimal.\n'
|
||||
'\n'
|
||||
'str.isidentifier()\n'
|
||||
'\n'
|
||||
' Return true if the string is a valid identifier '
|
||||
' Return "True" if the string is a valid identifier '
|
||||
'according to the\n'
|
||||
' language definition, section Identifiers and keywords.\n'
|
||||
'\n'
|
||||
|
@ -10025,32 +10087,33 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'str.islower()\n'
|
||||
'\n'
|
||||
' Return true if all cased characters [4] in the string '
|
||||
'are lowercase\n'
|
||||
' and there is at least one cased character, false '
|
||||
' Return "True" if all cased characters [4] in the string '
|
||||
'are\n'
|
||||
' lowercase and there is at least one cased character, '
|
||||
'"False"\n'
|
||||
' otherwise.\n'
|
||||
'\n'
|
||||
'str.isnumeric()\n'
|
||||
'\n'
|
||||
' Return true if all characters in the string are numeric '
|
||||
'characters,\n'
|
||||
' and there is at least one character, false otherwise. '
|
||||
'Numeric\n'
|
||||
' characters include digit characters, and all characters '
|
||||
'that have\n'
|
||||
' the Unicode numeric value property, e.g. U+2155, VULGAR '
|
||||
'FRACTION\n'
|
||||
' ONE FIFTH. Formally, numeric characters are those with '
|
||||
'the\n'
|
||||
' property value Numeric_Type=Digit, Numeric_Type=Decimal '
|
||||
'or\n'
|
||||
' Return "True" if all characters in the string are '
|
||||
'numeric\n'
|
||||
' characters, and there is at least one character, '
|
||||
'"False" otherwise.\n'
|
||||
' Numeric characters include digit characters, and all '
|
||||
'characters\n'
|
||||
' that have the Unicode numeric value property, e.g. '
|
||||
'U+2155, VULGAR\n'
|
||||
' FRACTION ONE FIFTH. Formally, numeric characters are '
|
||||
'those with\n'
|
||||
' the property value Numeric_Type=Digit, '
|
||||
'Numeric_Type=Decimal or\n'
|
||||
' Numeric_Type=Numeric.\n'
|
||||
'\n'
|
||||
'str.isprintable()\n'
|
||||
'\n'
|
||||
' Return true if all characters in the string are '
|
||||
' Return "True" if all characters in the string are '
|
||||
'printable or the\n'
|
||||
' string is empty, false otherwise. Nonprintable '
|
||||
' string is empty, "False" otherwise. Nonprintable '
|
||||
'characters are\n'
|
||||
' those characters defined in the Unicode character '
|
||||
'database as\n'
|
||||
|
@ -10066,9 +10129,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'str.isspace()\n'
|
||||
'\n'
|
||||
' Return true if there are only whitespace characters in '
|
||||
'the string\n'
|
||||
' and there is at least one character, false otherwise.\n'
|
||||
' Return "True" if there are only whitespace characters '
|
||||
'in the string\n'
|
||||
' and there is at least one character, "False" '
|
||||
'otherwise.\n'
|
||||
'\n'
|
||||
' A character is *whitespace* if in the Unicode character '
|
||||
'database\n'
|
||||
|
@ -10080,19 +10144,20 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
'str.istitle()\n'
|
||||
'\n'
|
||||
' Return true if the string is a titlecased string and '
|
||||
' Return "True" if the string is a titlecased string and '
|
||||
'there is at\n'
|
||||
' least one character, for example uppercase characters '
|
||||
'may only\n'
|
||||
' follow uncased characters and lowercase characters only '
|
||||
'cased ones.\n'
|
||||
' Return false otherwise.\n'
|
||||
' Return "False" otherwise.\n'
|
||||
'\n'
|
||||
'str.isupper()\n'
|
||||
'\n'
|
||||
' Return true if all cased characters [4] in the string '
|
||||
'are uppercase\n'
|
||||
' and there is at least one cased character, false '
|
||||
' Return "True" if all cased characters [4] in the string '
|
||||
'are\n'
|
||||
' uppercase and there is at least one cased character, '
|
||||
'"False"\n'
|
||||
' otherwise.\n'
|
||||
'\n'
|
||||
'str.join(iterable)\n'
|
||||
|
|
|
@ -0,0 +1,778 @@
|
|||
.. bpo: 38945
|
||||
.. date: 2019-12-01-22-44-40
|
||||
.. nonce: ztmNXc
|
||||
.. release date: 2019-12-09
|
||||
.. section: Security
|
||||
|
||||
Newline characters have been escaped when performing uu encoding to prevent
|
||||
them from overflowing into to content section of the encoded file. This
|
||||
prevents malicious or accidental modification of data during the decoding
|
||||
process.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 37228
|
||||
.. date: 2019-11-21-21-36-54
|
||||
.. nonce: yBZnFG
|
||||
.. section: Security
|
||||
|
||||
Due to significant security concerns, the *reuse_address* parameter of
|
||||
:meth:`asyncio.loop.create_datagram_endpoint` is no longer supported. This
|
||||
is because of the behavior of ``SO_REUSEADDR`` in UDP. For more details, see
|
||||
the documentation for ``loop.create_datagram_endpoint()``. (Contributed by
|
||||
Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:`37228`.)
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38722
|
||||
.. date: 2019-11-18-16-17-56
|
||||
.. nonce: x3mECW
|
||||
.. section: Security
|
||||
|
||||
:mod:`runpy` now uses :meth:`io.open_code` to open code files. Patch by
|
||||
Jason Killen.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38804
|
||||
.. date: 2019-11-15-00-54-42
|
||||
.. nonce: vjbM8V
|
||||
.. section: Security
|
||||
|
||||
Fixes a ReDoS vulnerability in :mod:`http.cookiejar`. Patch by Ben Caller.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38622
|
||||
.. date: 2019-11-14-16-13-23
|
||||
.. nonce: 3DYkfb
|
||||
.. section: Security
|
||||
|
||||
Add additional audit events for the :mod:`ctypes` module.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38418
|
||||
.. date: 2019-10-08-19-29-55
|
||||
.. nonce: QL7s0-
|
||||
.. section: Security
|
||||
|
||||
Fixes audit event for :func:`os.system` to be named ``os.system``.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38673
|
||||
.. date: 2019-12-01-00-17-44
|
||||
.. nonce: K_Tze-
|
||||
.. section: Core and Builtins
|
||||
|
||||
In REPL mode, don't switch to PS2 if the line starts with comment or
|
||||
whitespace. Based on work by Batuhan Taşkaya.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38922
|
||||
.. date: 2019-11-26-12-20-34
|
||||
.. nonce: i6ja-i
|
||||
.. section: Core and Builtins
|
||||
|
||||
Calling ``replace`` on a code object now raises the ``code.__new__`` audit
|
||||
event.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38920
|
||||
.. date: 2019-11-26-09-16-47
|
||||
.. nonce: Vx__sT
|
||||
.. section: Core and Builtins
|
||||
|
||||
Add audit hooks for when :func:`sys.excepthook` and
|
||||
:func:`sys.unraisablehook` are invoked
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38892
|
||||
.. date: 2019-11-22-22-18-50
|
||||
.. nonce: LS586s
|
||||
.. section: Core and Builtins
|
||||
|
||||
Improve documentation for audit events table and functions.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38707
|
||||
.. date: 2019-11-08-00-36-10
|
||||
.. nonce: SZL036
|
||||
.. section: Core and Builtins
|
||||
|
||||
``MainThread.native_id`` is now correctly reset in child processes spawned
|
||||
using :class:`multiprocessing.Process`, instead of retaining the parent's
|
||||
value.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38640
|
||||
.. date: 2019-10-30-11-25-25
|
||||
.. nonce: 4sAFh5
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fixed a bug in the compiler that was causing to raise in the presence of
|
||||
break statements and continue statements inside always false while loops.
|
||||
Patch by Pablo Galindo.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38535
|
||||
.. date: 2019-10-20-12-43-48
|
||||
.. nonce: ESMkVN
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fixed line numbers and column offsets for AST nodes for calls without
|
||||
arguments in decorators.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38525
|
||||
.. date: 2019-10-20-00-36-18
|
||||
.. nonce: Vty1cA
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix a segmentation fault when using reverse iterators of empty ``dict``
|
||||
objects. Patch by Dong-hee Na and Inada Naoki.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 35409
|
||||
.. date: 2019-07-13-18-01-13
|
||||
.. nonce: ozbcsR
|
||||
.. section: Core and Builtins
|
||||
|
||||
Ignore GeneratorExit exceptions when throwing an exception into the aclose
|
||||
coroutine of an asynchronous generator.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 39006
|
||||
.. date: 2019-12-09-14-40-09
|
||||
.. nonce: v4VsPg
|
||||
.. section: Library
|
||||
|
||||
Fix asyncio when the ssl module is missing: only check for ssl.SSLSocket
|
||||
instance if the ssl module is available.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38708
|
||||
.. date: 2019-12-07-22-25-39
|
||||
.. nonce: rZTUfk
|
||||
.. section: Library
|
||||
|
||||
Fix a potential IndexError in email parser when parsing an empty msg-id.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38698
|
||||
.. date: 2019-12-07-21-49-50
|
||||
.. nonce: HxoSym
|
||||
.. section: Library
|
||||
|
||||
Add a new ``InvalidMessageID`` token to email parser to represent invalid
|
||||
Message-ID headers. Also, add defects when there is remaining value after
|
||||
parsing the header.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38979
|
||||
.. date: 2019-12-07-16-32-42
|
||||
.. nonce: q0sIHy
|
||||
.. section: Library
|
||||
|
||||
Return class from ``ContextVar.__class_getitem__`` to simplify subclassing.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38986
|
||||
.. date: 2019-12-06-15-11-42
|
||||
.. nonce: bg6iZt
|
||||
.. section: Library
|
||||
|
||||
Make repr of C accelerated TaskWakeupMethWrapper the same as of pure Python
|
||||
version.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38529
|
||||
.. date: 2019-12-05-16-13-25
|
||||
.. nonce: yvQgx3
|
||||
.. section: Library
|
||||
|
||||
Drop too noisy asyncio warning about deletion of a stream without explicit
|
||||
``.close()`` call.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38634
|
||||
.. date: 2019-12-04-15-56-28
|
||||
.. nonce: pq0ZWa
|
||||
.. section: Library
|
||||
|
||||
The :mod:`readline` module now detects if Python is linked to libedit at
|
||||
runtime on all platforms. Previously, the check was only done on macOS.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 33684
|
||||
.. date: 2019-12-04-15-28-40
|
||||
.. nonce: QeSmQP
|
||||
.. section: Library
|
||||
|
||||
Fix ``json.tool`` failed to read a JSON file with non-ASCII characters when
|
||||
locale encoding is not UTF-8.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38698
|
||||
.. date: 2019-12-02-10-35-19
|
||||
.. nonce: WZnAPQ
|
||||
.. section: Library
|
||||
|
||||
Prevent UnboundLocalError to pop up in parse_message_id
|
||||
|
||||
parse_message_id() was improperly using a token defined inside an exception
|
||||
handler, which was raising `UnboundLocalError` on parsing an invalid value.
|
||||
Patch by Claudiu Popa.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 26730
|
||||
.. date: 2019-11-27-16-30-02
|
||||
.. nonce: 56cdBn
|
||||
.. section: Library
|
||||
|
||||
Fix ``SpooledTemporaryFile.rollover()`` might corrupt the file when it is in
|
||||
text mode. Patch by Serhiy Storchaka.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38668
|
||||
.. date: 2019-11-22-10-45-03
|
||||
.. nonce: iKx23z
|
||||
.. section: Library
|
||||
|
||||
Calling func:`shutil.copytree` to copy a directory tree from one directory
|
||||
to another subdirectory resulted in an endless loop and a RecursionError. A
|
||||
fix was added to consume an iterator and create the list of the entries to
|
||||
be copied, avoiding the recursion for newly created directories. Patch by
|
||||
Bruno P. Kinoshita.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 37838
|
||||
.. date: 2019-11-21-11-39-17
|
||||
.. nonce: lRFcEC
|
||||
.. section: Library
|
||||
|
||||
:meth:`typing.get_type_hints` properly handles functions decorated with
|
||||
:meth:`functools.wraps`.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38859
|
||||
.. date: 2019-11-19-16-30-46
|
||||
.. nonce: AZUzL8
|
||||
.. section: Library
|
||||
|
||||
AsyncMock now returns StopAsyncIteration on the exaustion of a side_effects
|
||||
iterable. Since PEP-479 its Impossible to raise a StopIteration exception
|
||||
from a coroutine.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38857
|
||||
.. date: 2019-11-19-16-28-25
|
||||
.. nonce: YPUkU9
|
||||
.. section: Library
|
||||
|
||||
AsyncMock fix for return values that are awaitable types. This also covers
|
||||
side_effect iterable values that happend to be awaitable, and wraps
|
||||
callables that return an awaitable type. Before these awaitables were being
|
||||
awaited instead of being returned as is.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38821
|
||||
.. date: 2019-11-16-23-26-25
|
||||
.. nonce: -albNN
|
||||
.. section: Library
|
||||
|
||||
Fix unhandled exceptions in :mod:`argparse` when internationalizing error
|
||||
messages for arguments with ``nargs`` set to special (non-integer) values.
|
||||
Patch by Federico Bond.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38820
|
||||
.. date: 2019-11-16-16-09-07
|
||||
.. nonce: ivhUSV
|
||||
.. section: Library
|
||||
|
||||
Make Python compatible with OpenSSL 3.0.0. :func:`ssl.SSLSocket.getpeercert`
|
||||
no longer returns IPv6 addresses with a trailing new line.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38807
|
||||
.. date: 2019-11-15-09-30-29
|
||||
.. nonce: PsmRog
|
||||
.. section: Library
|
||||
|
||||
Update :exc:`TypeError` messages for :meth:`os.path.join` to include
|
||||
:class:`os.PathLike` objects as acceptable input types.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38785
|
||||
.. date: 2019-11-13-16-17-43
|
||||
.. nonce: NEOEfk
|
||||
.. section: Library
|
||||
|
||||
Prevent asyncio from crashing if parent ``__init__`` is not called from a
|
||||
constructor of object derived from ``asyncio.Future``.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38723
|
||||
.. date: 2019-11-12-15-46-28
|
||||
.. nonce: gcdMFn
|
||||
.. section: Library
|
||||
|
||||
:mod:`pdb` now uses :meth:`io.open_code` to trigger auditing events.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 27805
|
||||
.. date: 2019-11-11-21-43-06
|
||||
.. nonce: D3zl1_
|
||||
.. section: Library
|
||||
|
||||
Allow opening pipes and other non-seekable files in append mode with
|
||||
:func:`open`.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38686
|
||||
.. date: 2019-11-06-15-26-15
|
||||
.. nonce: HNFBce
|
||||
.. section: Library
|
||||
|
||||
Added support for multiple ``qop`` values in
|
||||
:class:`urllib.request.AbstractDigestAuthHandler`.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38334
|
||||
.. date: 2019-10-27-00-08-49
|
||||
.. nonce: pfLLmc
|
||||
.. section: Library
|
||||
|
||||
Fixed seeking backward on an encrypted :class:`zipfile.ZipExtFile`.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 34679
|
||||
.. date: 2019-10-23-16-25-12
|
||||
.. nonce: Bnw8o3
|
||||
.. section: Library
|
||||
|
||||
asynci.ProactorEventLoop.close() now only calls signal.set_wakeup_fd() in
|
||||
the main thread.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 31202
|
||||
.. date: 2019-10-20-12-04-48
|
||||
.. nonce: NfdIus
|
||||
.. section: Library
|
||||
|
||||
The case the result of :func:`pathlib.WindowsPath.glob` matches now the case
|
||||
of the pattern for literal parts.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38521
|
||||
.. date: 2019-10-18-13-57-31
|
||||
.. nonce: U-7aaM
|
||||
.. section: Library
|
||||
|
||||
Fixed erroneous equality comparison in statistics.NormalDist().
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38478
|
||||
.. date: 2019-10-15-11-37-57
|
||||
.. nonce: A87OPO
|
||||
.. section: Library
|
||||
|
||||
Fixed a bug in :meth:`inspect.signature.bind` that was causing it to fail
|
||||
when handling a keyword argument with same name as positional-only
|
||||
parameter. Patch by Pablo Galindo.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 33604
|
||||
.. date: 2019-10-15-09-47-40
|
||||
.. nonce: J12cWT
|
||||
.. section: Library
|
||||
|
||||
Fixed `hmac.new` and `hmac.HMAC` to raise TypeError instead of ValueError
|
||||
when the digestmod parameter, now required in 3.8, is omitted. Also
|
||||
clarified the hmac module documentation and docstrings.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38422
|
||||
.. date: 2019-10-09-18-16-51
|
||||
.. nonce: aiM5bq
|
||||
.. section: Library
|
||||
|
||||
Clarify docstrings of pathlib suffix(es)
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 36993
|
||||
.. date: 2019-07-09-05-44-39
|
||||
.. nonce: 4javqu
|
||||
.. section: Library
|
||||
|
||||
Improve error reporting for corrupt zip files with bad zip64 extra data.
|
||||
Patch by Daniel Hillier.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 36820
|
||||
.. date: 2019-05-06-15-34-17
|
||||
.. nonce: Eh5mIB
|
||||
.. section: Library
|
||||
|
||||
Break cycle generated when saving an exception in socket.py, codeop.py and
|
||||
dyld.py as they keep alive not only the exception but user objects through
|
||||
the ``__traceback__`` attribute. Patch by Mario Corchero.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 34776
|
||||
.. date: 2018-09-23-14-24-37
|
||||
.. nonce: 1SrQe3
|
||||
.. section: Library
|
||||
|
||||
Fix dataclasses to support forward references in type annotations
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 33348
|
||||
.. date: 2018-04-24-13-18-48
|
||||
.. nonce: XaJDei
|
||||
.. section: Library
|
||||
|
||||
lib2to3 now recognizes expressions after ``*`` and `**` like in ``f(*[] or
|
||||
[])``.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 27657
|
||||
.. date: 2017-12-26-14-32-23
|
||||
.. nonce: 6BhyVK
|
||||
.. section: Library
|
||||
|
||||
Fix urllib.parse.urlparse() with numeric paths. A string like "path:80" is
|
||||
no longer parsed as a path but as a scheme ("path") and a path ("80").
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38816
|
||||
.. date: 2019-11-15-11-39-13
|
||||
.. nonce: vUaSVL
|
||||
.. section: Documentation
|
||||
|
||||
Provides more details about the interaction between :c:func:`fork` and
|
||||
CPython's runtime, focusing just on the C-API. This includes cautions about
|
||||
where :c:func:`fork` should and shouldn't be called.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38351
|
||||
.. date: 2019-11-15-09-22-28
|
||||
.. nonce: xwhlse
|
||||
.. section: Documentation
|
||||
|
||||
Modernize :mod:`email` examples from %-formatting to f-strings.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38778
|
||||
.. date: 2019-11-12-15-31-09
|
||||
.. nonce: PHhTlv
|
||||
.. section: Documentation
|
||||
|
||||
Document the fact that :exc:`RuntimeError` is raised if :meth:`os.fork` is
|
||||
called in a subinterpreter.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38592
|
||||
.. date: 2019-10-26-13-19-07
|
||||
.. nonce: Y96BYO
|
||||
.. section: Documentation
|
||||
|
||||
Add Brazilian Portuguese to the language switcher at Python Documentation
|
||||
website.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38547
|
||||
.. date: 2019-12-09-11-32-34
|
||||
.. nonce: Juw54e
|
||||
.. section: Tests
|
||||
|
||||
Fix test_pty: if the process is the session leader, closing the master file
|
||||
descriptor raises a SIGHUP signal: simply ignore SIGHUP when running the
|
||||
tests.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38992
|
||||
.. date: 2019-12-08-15-11-06
|
||||
.. nonce: cVoHOZ
|
||||
.. section: Tests
|
||||
|
||||
Fix a test for :func:`math.fsum` that was failing due to constant folding.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38965
|
||||
.. date: 2019-12-04-17-08-55
|
||||
.. nonce: yqax3m
|
||||
.. section: Tests
|
||||
|
||||
Fix test_faulthandler on GCC 10. Use the "volatile" keyword in
|
||||
``faulthandler._stack_overflow()`` to prevent tail call optimization on any
|
||||
compiler, rather than relying on compiler specific pragma.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38875
|
||||
.. date: 2019-11-21-09-11-06
|
||||
.. nonce: wSZJal
|
||||
.. section: Tests
|
||||
|
||||
test_capi: trashcan tests now require the test "cpu" resource.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38841
|
||||
.. date: 2019-11-20-16-08-19
|
||||
.. nonce: 5F5Lbw
|
||||
.. section: Tests
|
||||
|
||||
Skip asyncio test_create_datagram_endpoint_existing_sock_unix on platforms
|
||||
lacking a functional bind() for named unix domain sockets.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38669
|
||||
.. date: 2019-11-04-02-54-16
|
||||
.. nonce: pazXZ8
|
||||
.. section: Tests
|
||||
|
||||
Raise :exc:`TypeError` when passing target as a string with
|
||||
:meth:`unittest.mock.patch.object`.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 35998
|
||||
.. date: 2019-10-16-01-36-15
|
||||
.. nonce: G305Bf
|
||||
.. section: Tests
|
||||
|
||||
Fix a race condition in test_asyncio.test_start_tls_server_1(). Previously,
|
||||
there was a race condition between the test main() function which replaces
|
||||
the protocol and the test ServerProto protocol which sends ANSWER once it
|
||||
gets HELLO. Now, only the test main() function is responsible to send data,
|
||||
ServerProto no longer sends data.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 37404
|
||||
.. date: 2019-12-01-21-45-24
|
||||
.. nonce: cNsA7S
|
||||
.. section: Build
|
||||
|
||||
:mod:`asyncio` now raises :exc:`TyperError` when calling incompatible
|
||||
methods with an :class:`ssl.SSLSocket` socket. Patch by Ido Michael.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38809
|
||||
.. date: 2019-11-15-09-25-44
|
||||
.. nonce: 9jwta6
|
||||
.. section: Build
|
||||
|
||||
On Windows, build scripts will now recognize and use python.exe from an
|
||||
active virtual env.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38684
|
||||
.. date: 2019-11-04-14-30-37
|
||||
.. nonce: aed593
|
||||
.. section: Build
|
||||
|
||||
Fix _hashlib build when Blake2 is disabled, but OpenSSL supports it.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 37415
|
||||
.. date: 2019-10-11-15-32-58
|
||||
.. nonce: D9RXrq
|
||||
.. section: Build
|
||||
|
||||
Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks
|
||||
atomic_uintptr_t type which is needed by Python.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 33125
|
||||
.. date: 2019-11-14-08-57-50
|
||||
.. nonce: EN5MWS
|
||||
.. section: Windows
|
||||
|
||||
Add support for building and releasing Windows ARM64 packages.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38589
|
||||
.. date: 2019-10-28-10-48-16
|
||||
.. nonce: V69Q1a
|
||||
.. section: Windows
|
||||
|
||||
Fixes HTML Help shortcut when Windows is not installed to C drive
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38453
|
||||
.. date: 2019-10-28-10-32-43
|
||||
.. nonce: NwwatW
|
||||
.. section: Windows
|
||||
|
||||
Ensure ntpath.realpath() correctly resolves relative paths.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38519
|
||||
.. date: 2019-10-28-05-01-29
|
||||
.. nonce: dCkY66
|
||||
.. section: Windows
|
||||
|
||||
Restores the internal C headers that were missing from the nuget.org and
|
||||
Microsoft Store packages.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38492
|
||||
.. date: 2019-10-16-09-49-09
|
||||
.. nonce: Te1LxC
|
||||
.. section: Windows
|
||||
|
||||
Remove ``pythonw.exe`` dependency on the Microsoft C++ runtime.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 37931
|
||||
.. date: 2019-08-23-12-14-34
|
||||
.. nonce: goYgQj
|
||||
.. section: macOS
|
||||
|
||||
Fixed a crash on OSX dynamic builds that occurred when re-initializing the
|
||||
posix module after a Py_Finalize if the environment had changed since the
|
||||
previous `import posix`. Patch by Benoît Hudson.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38862
|
||||
.. date: 2019-11-23-21-50-57
|
||||
.. nonce: KQ9A0m
|
||||
.. section: IDLE
|
||||
|
||||
'Strip Trailing Whitespace' on the Format menu removes extra newlines at the
|
||||
end of non-shell files.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 26353
|
||||
.. date: 2019-11-09-23-55-59
|
||||
.. nonce: duYZiF
|
||||
.. section: IDLE
|
||||
|
||||
Stop adding newline when saving an IDLE shell window.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38636
|
||||
.. date: 2019-10-30-22-11-16
|
||||
.. nonce: hUhDeB
|
||||
.. section: IDLE
|
||||
|
||||
Fix IDLE Format menu tab toggle and file indent width. These functions
|
||||
(default shortcuts Alt-T and Alt-U) were mistakenly disabled in 3.7.5 and
|
||||
3.8.0.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 4630
|
||||
.. date: 2019-10-28-04-48-03
|
||||
.. nonce: upgjiV
|
||||
.. section: IDLE
|
||||
|
||||
Add an option to toggle IDLE's cursor blink for shell, editor, and output
|
||||
windows. See Settings, General, Window Preferences, Cursor Blink. Patch by
|
||||
Zachary Spytz.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38598
|
||||
.. date: 2019-10-26-18-16-24
|
||||
.. nonce: 6kH9FY
|
||||
.. section: IDLE
|
||||
|
||||
Do not try to compile IDLE shell or output windows
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 37633
|
||||
.. date: 2019-11-04-21-10-47
|
||||
.. nonce: oOGVdo
|
||||
.. section: C API
|
||||
|
||||
Reëxport some function compatibility wrappers for macros in ``pythonrun.h``.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 38540
|
||||
.. date: 2019-10-21-09-24-03
|
||||
.. nonce: 314N_T
|
||||
.. section: C API
|
||||
|
||||
Fixed possible leak in :c:func:`PyArg_Parse` and similar functions for
|
||||
format units ``"es#"`` and ``"et#"`` when the macro
|
||||
:c:macro:`PY_SSIZE_T_CLEAN` is not defined.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 36389
|
||||
.. date: 2019-10-07-17-15-09
|
||||
.. nonce: hFX_jD
|
||||
.. section: C API
|
||||
|
||||
The ``_PyObject_CheckConsistency()`` function is now also available in
|
||||
release mode. For example, it can be used to debug a crash in the
|
||||
``visit_decref()`` function of the GC.
|
|
@ -1,2 +0,0 @@
|
|||
Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks
|
||||
atomic_uintptr_t type which is needed by Python.
|
|
@ -1 +0,0 @@
|
|||
Fix _hashlib build when Blake2 is disabled, but OpenSSL supports it.
|
|
@ -1,2 +0,0 @@
|
|||
On Windows, build scripts will now recognize and use python.exe from an
|
||||
active virtual env.
|
|
@ -1,2 +0,0 @@
|
|||
:mod:`asyncio` now raises :exc:`TyperError` when calling incompatible methods
|
||||
with an :class:`ssl.SSLSocket` socket. Patch by Ido Michael.
|
|
@ -1,3 +0,0 @@
|
|||
The ``_PyObject_CheckConsistency()`` function is now also available in release
|
||||
mode. For example, it can be used to debug a crash in the ``visit_decref()``
|
||||
function of the GC.
|
|
@ -1,3 +0,0 @@
|
|||
Fixed possible leak in :c:func:`PyArg_Parse` and similar functions for
|
||||
format units ``"es#"`` and ``"et#"`` when the macro
|
||||
:c:macro:`PY_SSIZE_T_CLEAN` is not defined.
|
|
@ -1 +0,0 @@
|
|||
Reëxport some function compatibility wrappers for macros in ``pythonrun.h``.
|
|
@ -1,2 +0,0 @@
|
|||
Ignore GeneratorExit exceptions when throwing an exception into the aclose
|
||||
coroutine of an asynchronous generator.
|
|
@ -1,2 +0,0 @@
|
|||
Fix a segmentation fault when using reverse iterators of empty ``dict`` objects.
|
||||
Patch by Dong-hee Na and Inada Naoki.
|
|
@ -1,2 +0,0 @@
|
|||
Fixed line numbers and column offsets for AST nodes for calls without
|
||||
arguments in decorators.
|
|
@ -1,3 +0,0 @@
|
|||
Fixed a bug in the compiler that was causing to raise in the presence of
|
||||
break statements and continue statements inside always false while loops.
|
||||
Patch by Pablo Galindo.
|
|
@ -1 +0,0 @@
|
|||
``MainThread.native_id`` is now correctly reset in child processes spawned using :class:`multiprocessing.Process`, instead of retaining the parent's value.
|
|
@ -1 +0,0 @@
|
|||
Improve documentation for audit events table and functions.
|
|
@ -1,2 +0,0 @@
|
|||
Add audit hooks for when :func:`sys.excepthook` and
|
||||
:func:`sys.unraisablehook` are invoked
|
|
@ -1,2 +0,0 @@
|
|||
Calling ``replace`` on a code object now raises the ``code.__new__`` audit
|
||||
event.
|
|
@ -1 +0,0 @@
|
|||
In REPL mode, don't switch to PS2 if the line starts with comment or whitespace. Based on work by Batuhan Taşkaya.
|
|
@ -1 +0,0 @@
|
|||
Add Brazilian Portuguese to the language switcher at Python Documentation website.
|
|
@ -1 +0,0 @@
|
|||
Document the fact that :exc:`RuntimeError` is raised if :meth:`os.fork` is called in a subinterpreter.
|
|
@ -1 +0,0 @@
|
|||
Modernize :mod:`email` examples from %-formatting to f-strings.
|
|
@ -1,3 +0,0 @@
|
|||
Provides more details about the interaction between :c:func:`fork` and
|
||||
CPython's runtime, focusing just on the C-API. This includes cautions
|
||||
about where :c:func:`fork` should and shouldn't be called.
|
|
@ -1 +0,0 @@
|
|||
Do not try to compile IDLE shell or output windows
|
|
@ -1,3 +0,0 @@
|
|||
Add an option to toggle IDLE's cursor blink for shell, editor, and output
|
||||
windows. See Settings, General, Window Preferences, Cursor Blink.
|
||||
Patch by Zachary Spytz.
|
|
@ -1,3 +0,0 @@
|
|||
Fix IDLE Format menu tab toggle and file indent width. These functions
|
||||
(default shortcuts Alt-T and Alt-U) were mistakenly disabled in 3.7.5
|
||||
and 3.8.0.
|
|
@ -1,2 +0,0 @@
|
|||
Stop adding newline when saving an IDLE shell window.
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
'Strip Trailing Whitespace' on the Format menu removes extra newlines
|
||||
at the end of non-shell files.
|
|
@ -1,2 +0,0 @@
|
|||
Fix urllib.parse.urlparse() with numeric paths. A string like "path:80" is
|
||||
no longer parsed as a path but as a scheme ("path") and a path ("80").
|
|
@ -1,2 +0,0 @@
|
|||
lib2to3 now recognizes expressions after ``*`` and `**` like in ``f(*[] or
|
||||
[])``.
|
|
@ -1 +0,0 @@
|
|||
Fix dataclasses to support forward references in type annotations
|
|
@ -1,3 +0,0 @@
|
|||
Break cycle generated when saving an exception in socket.py, codeop.py and
|
||||
dyld.py as they keep alive not only the exception but user objects through
|
||||
the ``__traceback__`` attribute. Patch by Mario Corchero.
|
|
@ -1,2 +0,0 @@
|
|||
Improve error reporting for corrupt zip files with bad zip64 extra data. Patch
|
||||
by Daniel Hillier.
|
|
@ -1 +0,0 @@
|
|||
Clarify docstrings of pathlib suffix(es)
|
|
@ -1,3 +0,0 @@
|
|||
Fixed `hmac.new` and `hmac.HMAC` to raise TypeError instead of ValueError
|
||||
when the digestmod parameter, now required in 3.8, is omitted. Also
|
||||
clarified the hmac module documentation and docstrings.
|
|
@ -1,3 +0,0 @@
|
|||
Fixed a bug in :meth:`inspect.signature.bind` that was causing it to fail
|
||||
when handling a keyword argument with same name as positional-only parameter.
|
||||
Patch by Pablo Galindo.
|
|
@ -1 +0,0 @@
|
|||
Fixed erroneous equality comparison in statistics.NormalDist().
|
|
@ -1,2 +0,0 @@
|
|||
The case the result of :func:`pathlib.WindowsPath.glob` matches now the case
|
||||
of the pattern for literal parts.
|
|
@ -1,2 +0,0 @@
|
|||
asynci.ProactorEventLoop.close() now only calls signal.set_wakeup_fd() in the
|
||||
main thread.
|
|
@ -1 +0,0 @@
|
|||
Fixed seeking backward on an encrypted :class:`zipfile.ZipExtFile`.
|
|
@ -1 +0,0 @@
|
|||
Added support for multiple ``qop`` values in :class:`urllib.request.AbstractDigestAuthHandler`.
|
|
@ -1,2 +0,0 @@
|
|||
Allow opening pipes and other non-seekable files in append mode with
|
||||
:func:`open`.
|
|
@ -1 +0,0 @@
|
|||
:mod:`pdb` now uses :meth:`io.open_code` to trigger auditing events.
|
|
@ -1,2 +0,0 @@
|
|||
Prevent asyncio from crashing if parent ``__init__`` is not called from a
|
||||
constructor of object derived from ``asyncio.Future``.
|
|
@ -1 +0,0 @@
|
|||
Update :exc:`TypeError` messages for :meth:`os.path.join` to include :class:`os.PathLike` objects as acceptable input types.
|
|
@ -1,2 +0,0 @@
|
|||
Make Python compatible with OpenSSL 3.0.0. :func:`ssl.SSLSocket.getpeercert`
|
||||
no longer returns IPv6 addresses with a trailing new line.
|
|
@ -1 +0,0 @@
|
|||
Fix unhandled exceptions in :mod:`argparse` when internationalizing error messages for arguments with ``nargs`` set to special (non-integer) values. Patch by Federico Bond.
|
|
@ -1,4 +0,0 @@
|
|||
AsyncMock fix for return values that are awaitable types. This also covers
|
||||
side_effect iterable values that happend to be awaitable, and wraps
|
||||
callables that return an awaitable type. Before these awaitables were being
|
||||
awaited instead of being returned as is.
|
|
@ -1,3 +0,0 @@
|
|||
AsyncMock now returns StopAsyncIteration on the exaustion of a side_effects
|
||||
iterable. Since PEP-479 its Impossible to raise a StopIteration exception
|
||||
from a coroutine.
|
|
@ -1 +0,0 @@
|
|||
:meth:`typing.get_type_hints` properly handles functions decorated with :meth:`functools.wraps`.
|
|
@ -1,5 +0,0 @@
|
|||
Calling func:`shutil.copytree` to copy a directory tree from one directory
|
||||
to another subdirectory resulted in an endless loop and a RecursionError. A
|
||||
fix was added to consume an iterator and create the list of the entries to
|
||||
be copied, avoiding the recursion for newly created directories. Patch by
|
||||
Bruno P. Kinoshita.
|
|
@ -1,2 +0,0 @@
|
|||
Fix ``SpooledTemporaryFile.rollover()`` might corrupt the file when it is in
|
||||
text mode. Patch by Serhiy Storchaka.
|
|
@ -1,5 +0,0 @@
|
|||
Prevent UnboundLocalError to pop up in parse_message_id
|
||||
|
||||
parse_message_id() was improperly using a token defined inside an exception
|
||||
handler, which was raising `UnboundLocalError` on parsing an invalid value.
|
||||
Patch by Claudiu Popa.
|
|
@ -1,2 +0,0 @@
|
|||
Fix ``json.tool`` failed to read a JSON file with non-ASCII characters when
|
||||
locale encoding is not UTF-8.
|
|
@ -1,2 +0,0 @@
|
|||
The :mod:`readline` module now detects if Python is linked to libedit at runtime
|
||||
on all platforms. Previously, the check was only done on macOS.
|
|
@ -1,2 +0,0 @@
|
|||
Drop too noisy asyncio warning about deletion of a stream without explicit
|
||||
``.close()`` call.
|
|
@ -1,2 +0,0 @@
|
|||
Make repr of C accelerated TaskWakeupMethWrapper the same as of pure Python
|
||||
version.
|
|
@ -1 +0,0 @@
|
|||
Return class from ``ContextVar.__class_getitem__`` to simplify subclassing.
|
|
@ -1,3 +0,0 @@
|
|||
Add a new ``InvalidMessageID`` token to email parser to represent invalid
|
||||
Message-ID headers. Also, add defects when there is remaining value after
|
||||
parsing the header.
|
|
@ -1 +0,0 @@
|
|||
Fix a potential IndexError in email parser when parsing an empty msg-id.
|
|
@ -1,2 +0,0 @@
|
|||
Fix asyncio when the ssl module is missing: only check for ssl.SSLSocket
|
||||
instance if the ssl module is available.
|
|
@ -1 +0,0 @@
|
|||
Fixes audit event for :func:`os.system` to be named ``os.system``.
|
|
@ -1 +0,0 @@
|
|||
Add additional audit events for the :mod:`ctypes` module.
|
|
@ -1 +0,0 @@
|
|||
Fixes a ReDoS vulnerability in :mod:`http.cookiejar`. Patch by Ben Caller.
|
|
@ -1,2 +0,0 @@
|
|||
:mod:`runpy` now uses :meth:`io.open_code` to open code files.
|
||||
Patch by Jason Killen.
|
|
@ -1,6 +0,0 @@
|
|||
Due to significant security concerns, the *reuse_address* parameter of
|
||||
:meth:`asyncio.loop.create_datagram_endpoint` is no longer supported. This is
|
||||
because of the behavior of ``SO_REUSEADDR`` in UDP. For more details, see the
|
||||
documentation for ``loop.create_datagram_endpoint()``.
|
||||
(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in
|
||||
:issue:`37228`.)
|
|
@ -1 +0,0 @@
|
|||
Newline characters have been escaped when performing uu encoding to prevent them from overflowing into to content section of the encoded file. This prevents malicious or accidental modification of data during the decoding process.
|
|
@ -1,5 +0,0 @@
|
|||
Fix a race condition in test_asyncio.test_start_tls_server_1(). Previously,
|
||||
there was a race condition between the test main() function which replaces the
|
||||
protocol and the test ServerProto protocol which sends ANSWER once it gets
|
||||
HELLO. Now, only the test main() function is responsible to send data,
|
||||
ServerProto no longer sends data.
|
|
@ -1 +0,0 @@
|
|||
Raise :exc:`TypeError` when passing target as a string with :meth:`unittest.mock.patch.object`.
|
|
@ -1,2 +0,0 @@
|
|||
Skip asyncio test_create_datagram_endpoint_existing_sock_unix on platforms
|
||||
lacking a functional bind() for named unix domain sockets.
|
|
@ -1 +0,0 @@
|
|||
test_capi: trashcan tests now require the test "cpu" resource.
|
|
@ -1,3 +0,0 @@
|
|||
Fix test_faulthandler on GCC 10. Use the "volatile" keyword in
|
||||
``faulthandler._stack_overflow()`` to prevent tail call optimization on any
|
||||
compiler, rather than relying on compiler specific pragma.
|
|
@ -1 +0,0 @@
|
|||
Fix a test for :func:`math.fsum` that was failing due to constant folding.
|
|
@ -1,3 +0,0 @@
|
|||
Fix test_pty: if the process is the session leader, closing the master file
|
||||
descriptor raises a SIGHUP signal: simply ignore SIGHUP when running the
|
||||
tests.
|
|
@ -1 +0,0 @@
|
|||
Remove ``pythonw.exe`` dependency on the Microsoft C++ runtime.
|
|
@ -1,2 +0,0 @@
|
|||
Restores the internal C headers that were missing from the nuget.org and
|
||||
Microsoft Store packages.
|
|
@ -1 +0,0 @@
|
|||
Ensure ntpath.realpath() correctly resolves relative paths.
|
|
@ -1 +0,0 @@
|
|||
Fixes HTML Help shortcut when Windows is not installed to C drive
|
|
@ -1 +0,0 @@
|
|||
Add support for building and releasing Windows ARM64 packages.
|
|
@ -1,3 +0,0 @@
|
|||
Fixed a crash on OSX dynamic builds that occurred when re-initializing the
|
||||
posix module after a Py_Finalize if the environment had changed since the
|
||||
previous `import posix`. Patch by Benoît Hudson.
|
|
@ -1,5 +1,5 @@
|
|||
This is Python version 3.8.0
|
||||
============================
|
||||
This is Python version 3.8.1rc1
|
||||
===============================
|
||||
|
||||
.. image:: https://travis-ci.org/python/cpython.svg?branch=3.8
|
||||
:alt: CPython build status on Travis CI
|
||||
|
|
Loading…
Reference in New Issue