mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Python 3.12.4
This commit is contained in:
parent
b03d71d0d8
commit
8e8a4baf65
75 changed files with 834 additions and 241 deletions
|
@ -18,12 +18,12 @@
|
|||
/*--start constants--*/
|
||||
#define PY_MAJOR_VERSION 3
|
||||
#define PY_MINOR_VERSION 12
|
||||
#define PY_MICRO_VERSION 3
|
||||
#define PY_MICRO_VERSION 4
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
|
||||
#define PY_RELEASE_SERIAL 0
|
||||
|
||||
/* Version as a string */
|
||||
#define PY_VERSION "3.12.3+"
|
||||
#define PY_VERSION "3.12.4"
|
||||
/*--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 Tue Apr 9 09:17:41 2024
|
||||
# Autogenerated by Sphinx on Thu Jun 6 20:20:21 2024
|
||||
# as part of the release process.
|
||||
topics = {'assert': 'The "assert" statement\n'
|
||||
'**********************\n'
|
||||
|
@ -419,7 +419,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'async': 'Coroutines\n'
|
||||
'**********\n'
|
||||
'\n'
|
||||
'New in version 3.5.\n'
|
||||
'Added in version 3.5.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Coroutine function definition\n'
|
||||
|
@ -792,7 +792,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'Changed in version 3.5: "__class__" module attribute is '
|
||||
'now writable.\n'
|
||||
'\n'
|
||||
'New in version 3.7: "__getattr__" and "__dir__" module '
|
||||
'Added in version 3.7: "__getattr__" and "__dir__" module '
|
||||
'attributes.\n'
|
||||
'\n'
|
||||
'See also:\n'
|
||||
|
@ -1206,7 +1206,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
' await_expr ::= "await" primary\n'
|
||||
'\n'
|
||||
'New in version 3.5.\n',
|
||||
'Added in version 3.5.\n',
|
||||
'binary': 'Binary arithmetic operations\n'
|
||||
'****************************\n'
|
||||
'\n'
|
||||
|
@ -1239,7 +1239,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'The "@" (at) operator is intended to be used for matrix\n'
|
||||
'multiplication. No builtin Python types implement this operator.\n'
|
||||
'\n'
|
||||
'New in version 3.5.\n'
|
||||
'Added in version 3.5.\n'
|
||||
'\n'
|
||||
'The "/" (division) and "//" (floor division) operators yield the\n'
|
||||
'quotient of their arguments. The numeric arguments are first\n'
|
||||
|
@ -2765,7 +2765,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'The "match" statement\n'
|
||||
'=====================\n'
|
||||
'\n'
|
||||
'New in version 3.10.\n'
|
||||
'Added in version 3.10.\n'
|
||||
'\n'
|
||||
'The match statement is used for pattern matching. Syntax:\n'
|
||||
'\n'
|
||||
|
@ -3849,7 +3849,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'Coroutines\n'
|
||||
'==========\n'
|
||||
'\n'
|
||||
'New in version 3.5.\n'
|
||||
'Added in version 3.5.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Coroutine function definition\n'
|
||||
|
@ -3976,7 +3976,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'Type parameter lists\n'
|
||||
'====================\n'
|
||||
'\n'
|
||||
'New in version 3.12.\n'
|
||||
'Added in version 3.12.\n'
|
||||
'\n'
|
||||
' type_params ::= "[" type_param ("," type_param)* "]"\n'
|
||||
' type_param ::= typevar | typevartuple | paramspec\n'
|
||||
|
@ -5211,7 +5211,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'* "$_exception": the exception if the frame is raising an '
|
||||
'exception\n'
|
||||
'\n'
|
||||
'New in version 3.12.\n'
|
||||
'Added in version 3.12: Added the *convenience variable* '
|
||||
'feature.\n'
|
||||
'\n'
|
||||
'If a file ".pdbrc" exists in the user’s home directory or in '
|
||||
'the\n'
|
||||
|
@ -5475,7 +5476,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' List all source code for the current function or frame.\n'
|
||||
' Interesting lines are marked as for "list".\n'
|
||||
'\n'
|
||||
' New in version 3.2.\n'
|
||||
' Added in version 3.2.\n'
|
||||
'\n'
|
||||
'a(rgs)\n'
|
||||
'\n'
|
||||
|
@ -5508,7 +5509,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
' Try to get source code of *expression* and display it.\n'
|
||||
'\n'
|
||||
' New in version 3.2.\n'
|
||||
' Added in version 3.2.\n'
|
||||
'\n'
|
||||
'display [expression]\n'
|
||||
'\n'
|
||||
|
@ -5567,7 +5568,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' display lst[:]: [1] [old: []]\n'
|
||||
' (Pdb)\n'
|
||||
'\n'
|
||||
' New in version 3.2.\n'
|
||||
' Added in version 3.2.\n'
|
||||
'\n'
|
||||
'undisplay [expression]\n'
|
||||
'\n'
|
||||
|
@ -5576,7 +5577,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' *expression*, clear all display expressions for the current '
|
||||
'frame.\n'
|
||||
'\n'
|
||||
' New in version 3.2.\n'
|
||||
' Added in version 3.2.\n'
|
||||
'\n'
|
||||
'interact\n'
|
||||
'\n'
|
||||
|
@ -5586,7 +5587,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'found in\n'
|
||||
' the current scope.\n'
|
||||
'\n'
|
||||
' New in version 3.2.\n'
|
||||
' Added in version 3.2.\n'
|
||||
'\n'
|
||||
'alias [name [command]]\n'
|
||||
'\n'
|
||||
|
@ -5737,7 +5738,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'dict\n'
|
||||
'items and earlier dictionary unpackings.\n'
|
||||
'\n'
|
||||
'New in version 3.5: Unpacking into dictionary displays, originally\n'
|
||||
'Added in version 3.5: Unpacking into dictionary displays, '
|
||||
'originally\n'
|
||||
'proposed by **PEP 448**.\n'
|
||||
'\n'
|
||||
'A dict comprehension, in contrast to list and set comprehensions,\n'
|
||||
|
@ -6045,9 +6047,12 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'of the module "builtins". The global namespace is searched '
|
||||
'first. If\n'
|
||||
'the names are not found there, the builtins namespace is '
|
||||
'searched.\n'
|
||||
'The "global" statement must precede all uses of the listed '
|
||||
'names.\n'
|
||||
'searched\n'
|
||||
'next. If the names are also not found in the builtins '
|
||||
'namespace, new\n'
|
||||
'variables are created in the global namespace. The global '
|
||||
'statement\n'
|
||||
'must precede all uses of the listed names.\n'
|
||||
'\n'
|
||||
'The "global" statement has the same scope as a name binding '
|
||||
'operation\n'
|
||||
|
@ -6179,9 +6184,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'object were\n'
|
||||
' defined in the enclosing scope.\n'
|
||||
'\n'
|
||||
'New in version 3.12: Annotation scopes were introduced in '
|
||||
'Python 3.12\n'
|
||||
'as part of **PEP 695**.\n'
|
||||
'Added in version 3.12: Annotation scopes were introduced in '
|
||||
'Python\n'
|
||||
'3.12 as part of **PEP 695**.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Lazy evaluation\n'
|
||||
|
@ -6241,7 +6246,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'looked up\n'
|
||||
'as if they were used in the immediately enclosing scope.\n'
|
||||
'\n'
|
||||
'New in version 3.12.\n'
|
||||
'Added in version 3.12.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Builtins and restricted execution\n'
|
||||
|
@ -6396,9 +6401,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'the\n'
|
||||
'unpacking.\n'
|
||||
'\n'
|
||||
'New in version 3.5: Iterable unpacking in expression lists, '
|
||||
'originally\n'
|
||||
'proposed by **PEP 448**.\n'
|
||||
'Added in version 3.5: Iterable unpacking in expression lists,\n'
|
||||
'originally proposed by **PEP 448**.\n'
|
||||
'\n'
|
||||
'A trailing comma is required only to create a one-item tuple, '
|
||||
'such as\n'
|
||||
|
@ -7693,7 +7697,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'Soft Keywords\n'
|
||||
'=============\n'
|
||||
'\n'
|
||||
'New in version 3.10.\n'
|
||||
'Added in version 3.10.\n'
|
||||
'\n'
|
||||
'Some identifiers are only reserved under specific contexts. '
|
||||
'These are\n'
|
||||
|
@ -8321,9 +8325,12 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'namespace\n'
|
||||
'of the module "builtins". The global namespace is searched '
|
||||
'first. If\n'
|
||||
'the names are not found there, the builtins namespace is '
|
||||
'searched.\n'
|
||||
'The "global" statement must precede all uses of the listed names.\n'
|
||||
'the names are not found there, the builtins namespace is searched\n'
|
||||
'next. If the names are also not found in the builtins namespace, '
|
||||
'new\n'
|
||||
'variables are created in the global namespace. The global '
|
||||
'statement\n'
|
||||
'must precede all uses of the listed names.\n'
|
||||
'\n'
|
||||
'The "global" statement has the same scope as a name binding '
|
||||
'operation\n'
|
||||
|
@ -8447,9 +8454,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'were\n'
|
||||
' defined in the enclosing scope.\n'
|
||||
'\n'
|
||||
'New in version 3.12: Annotation scopes were introduced in Python '
|
||||
'3.12\n'
|
||||
'as part of **PEP 695**.\n'
|
||||
'Added in version 3.12: Annotation scopes were introduced in '
|
||||
'Python\n'
|
||||
'3.12 as part of **PEP 695**.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Lazy evaluation\n'
|
||||
|
@ -8508,7 +8515,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'looked up\n'
|
||||
'as if they were used in the immediately enclosing scope.\n'
|
||||
'\n'
|
||||
'New in version 3.12.\n'
|
||||
'Added in version 3.12.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Builtins and restricted execution\n'
|
||||
|
@ -9427,7 +9434,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'for\n'
|
||||
' correctness.\n'
|
||||
'\n'
|
||||
' New in version 3.4.\n'
|
||||
' Added in version 3.4.\n'
|
||||
'\n'
|
||||
'Note:\n'
|
||||
'\n'
|
||||
|
@ -9678,7 +9685,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'descriptor, or\n'
|
||||
' generator instance.\n'
|
||||
'\n'
|
||||
' New in version 3.3.\n'
|
||||
' Added in version 3.3.\n'
|
||||
'\n'
|
||||
'definition.__type_params__\n'
|
||||
'\n'
|
||||
|
@ -9686,7 +9693,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'type\n'
|
||||
' aliases.\n'
|
||||
'\n'
|
||||
' New in version 3.12.\n'
|
||||
' Added in version 3.12.\n'
|
||||
'\n'
|
||||
'class.__mro__\n'
|
||||
'\n'
|
||||
|
@ -10395,7 +10402,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'Changed in version 3.5: "__class__" module attribute is now '
|
||||
'writable.\n'
|
||||
'\n'
|
||||
'New in version 3.7: "__getattr__" and "__dir__" module '
|
||||
'Added in version 3.7: "__getattr__" and "__dir__" module '
|
||||
'attributes.\n'
|
||||
'\n'
|
||||
'See also:\n'
|
||||
|
@ -10764,7 +10771,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'explicit\n'
|
||||
' hint) can be accessed as "type(cls)".\n'
|
||||
'\n'
|
||||
' New in version 3.6.\n'
|
||||
' Added in version 3.6.\n'
|
||||
'\n'
|
||||
'When a class is created, "type.__new__()" scans the class '
|
||||
'variables\n'
|
||||
|
@ -10796,7 +10803,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
' See Creating the class object for more details.\n'
|
||||
'\n'
|
||||
' New in version 3.6.\n'
|
||||
' Added in version 3.6.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Metaclasses\n'
|
||||
|
@ -11398,7 +11405,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'for\n'
|
||||
' correctness.\n'
|
||||
'\n'
|
||||
' New in version 3.4.\n'
|
||||
' Added in version 3.4.\n'
|
||||
'\n'
|
||||
'Note:\n'
|
||||
'\n'
|
||||
|
@ -11847,7 +11854,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'will\n'
|
||||
'raise a "TypeError".\n'
|
||||
'\n'
|
||||
'New in version 3.10.\n'
|
||||
'Added in version 3.10.\n'
|
||||
'\n'
|
||||
'See also:\n'
|
||||
'\n'
|
||||
|
@ -11896,7 +11903,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'to\n'
|
||||
' implement this method.\n'
|
||||
'\n'
|
||||
'New in version 3.12.\n'
|
||||
'Added in version 3.12.\n'
|
||||
'\n'
|
||||
'See also:\n'
|
||||
'\n'
|
||||
|
@ -12060,7 +12067,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'‘Default\n'
|
||||
' Case Folding’ of the Unicode Standard.\n'
|
||||
'\n'
|
||||
' New in version 3.3.\n'
|
||||
' Added in version 3.3.\n'
|
||||
'\n'
|
||||
'str.center(width[, fillchar])\n'
|
||||
'\n'
|
||||
|
@ -12244,7 +12251,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
"{country}'.format_map(Default(name='Guido'))\n"
|
||||
" 'Guido was born in country'\n"
|
||||
'\n'
|
||||
' New in version 3.2.\n'
|
||||
' Added in version 3.2.\n'
|
||||
'\n'
|
||||
'str.index(sub[, start[, end]])\n'
|
||||
'\n'
|
||||
|
@ -12288,7 +12295,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'have code\n'
|
||||
' points in the range U+0000-U+007F.\n'
|
||||
'\n'
|
||||
' New in version 3.7.\n'
|
||||
' Added in version 3.7.\n'
|
||||
'\n'
|
||||
'str.isdecimal()\n'
|
||||
'\n'
|
||||
|
@ -12528,7 +12535,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
" >>> 'BaseTestCase'.removeprefix('Test')\n"
|
||||
" 'BaseTestCase'\n"
|
||||
'\n'
|
||||
' New in version 3.9.\n'
|
||||
' Added in version 3.9.\n'
|
||||
'\n'
|
||||
'str.removesuffix(suffix, /)\n'
|
||||
'\n'
|
||||
|
@ -12543,7 +12550,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
" >>> 'TmpDirMixin'.removesuffix('Tests')\n"
|
||||
" 'TmpDirMixin'\n"
|
||||
'\n'
|
||||
' New in version 3.9.\n'
|
||||
' Added in version 3.9.\n'
|
||||
'\n'
|
||||
'str.replace(old, new[, count])\n'
|
||||
'\n'
|
||||
|
@ -13016,8 +13023,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'than\n'
|
||||
'Python 3.x’s the "\'ur\'" syntax is not supported.\n'
|
||||
'\n'
|
||||
'New in version 3.3: The "\'rb\'" prefix of raw bytes literals has '
|
||||
'been\n'
|
||||
'Added in version 3.3: The "\'rb\'" prefix of raw bytes literals '
|
||||
'has been\n'
|
||||
'added as a synonym of "\'br\'".Support for the unicode legacy '
|
||||
'literal\n'
|
||||
'("u\'value\'") was reintroduced to simplify the maintenance of '
|
||||
|
@ -13989,7 +13996,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'| function.__qualname__ | The '
|
||||
'function’s *qualified name*. See also: |\n'
|
||||
'| | '
|
||||
'"__qualname__ attributes". New in version 3.3. |\n'
|
||||
'"__qualname__ attributes". Added in version 3.3. |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| function.__module__ | The name of '
|
||||
'the module the function was defined |\n'
|
||||
|
@ -14032,7 +14039,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'| function.__type_params__ | A "tuple" '
|
||||
'containing the type parameters of a |\n'
|
||||
'| | generic '
|
||||
'function. New in version 3.12. |\n'
|
||||
'function. Added in version 3.12. |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'\n'
|
||||
'Function objects also support getting and setting arbitrary\n'
|
||||
|
@ -14339,8 +14346,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'to\n'
|
||||
'a common ancestor. Additional details on the C3 MRO used by Python '
|
||||
'can\n'
|
||||
'be found in the documentation accompanying the 2.3 release at\n'
|
||||
'https://docs.python.org/3/howto/mro.html.\n'
|
||||
'be found at The Python 2.3 Method Resolution Order.\n'
|
||||
'\n'
|
||||
'When a class attribute reference (for class "C", say) would yield '
|
||||
'a\n'
|
||||
|
@ -14484,8 +14490,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'name |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| codeobject.co_qualname | The fully '
|
||||
'qualified function name New in version |\n'
|
||||
'| | '
|
||||
'qualified function name Added in |\n'
|
||||
'| | version '
|
||||
'3.11. |\n'
|
||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||
'| codeobject.co_argcount | The total '
|
||||
|
@ -14618,10 +14624,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' The iterator returns "tuple"s containing the "(start_line,\n'
|
||||
' end_line, start_column, end_column)". The *i-th* tuple '
|
||||
'corresponds\n'
|
||||
' to the position of the source code that compiled to the *i-th*\n'
|
||||
' instruction. Column information is 0-indexed utf-8 byte offsets '
|
||||
'on\n'
|
||||
' the given source line.\n'
|
||||
' to the position of the source code that compiled to the *i-th* '
|
||||
'code\n'
|
||||
' unit. Column information is 0-indexed utf-8 byte offsets on the\n'
|
||||
' given source line.\n'
|
||||
'\n'
|
||||
' This positional information can be missing. A non-exhaustive '
|
||||
'lists\n'
|
||||
|
@ -14640,7 +14646,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' When this occurs, some or all of the tuple elements can be '
|
||||
'"None".\n'
|
||||
'\n'
|
||||
' New in version 3.11.\n'
|
||||
' Added in version 3.11.\n'
|
||||
'\n'
|
||||
' Note:\n'
|
||||
'\n'
|
||||
|
@ -14698,7 +14704,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'but\n'
|
||||
' have been eliminated by the *bytecode* compiler.\n'
|
||||
'\n'
|
||||
' New in version 3.10.\n'
|
||||
' Added in version 3.10.\n'
|
||||
'\n'
|
||||
' See also:\n'
|
||||
'\n'
|
||||
|
@ -14712,7 +14718,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'specified\n'
|
||||
' fields.\n'
|
||||
'\n'
|
||||
' New in version 3.8.\n'
|
||||
' Added in version 3.8.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Frame objects\n'
|
||||
|
@ -14827,7 +14833,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
' "RuntimeError" is raised if the frame is currently executing.\n'
|
||||
'\n'
|
||||
' New in version 3.4.\n'
|
||||
' Added in version 3.4.\n'
|
||||
'\n'
|
||||
'\n'
|
||||
'Traceback objects\n'
|
||||
|
@ -15149,7 +15155,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'\n'
|
||||
' Return a shallow copy of the dictionary.\n'
|
||||
'\n'
|
||||
' classmethod fromkeys(iterable[, value])\n'
|
||||
' classmethod fromkeys(iterable, value=None)\n'
|
||||
'\n'
|
||||
' Create a new dictionary with keys from *iterable* and '
|
||||
'values set\n'
|
||||
|
@ -15165,7 +15171,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'distinct\n'
|
||||
' values, use a dict comprehension instead.\n'
|
||||
'\n'
|
||||
' get(key[, default])\n'
|
||||
' get(key, default=None)\n'
|
||||
'\n'
|
||||
' Return the value for *key* if *key* is in the '
|
||||
'dictionary, else\n'
|
||||
|
@ -15215,9 +15221,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'dictionary. This\n'
|
||||
' is a shortcut for "reversed(d.keys())".\n'
|
||||
'\n'
|
||||
' New in version 3.8.\n'
|
||||
' Added in version 3.8.\n'
|
||||
'\n'
|
||||
' setdefault(key[, default])\n'
|
||||
' setdefault(key, default=None)\n'
|
||||
'\n'
|
||||
' If *key* is in the dictionary, return its value. If '
|
||||
'not, insert\n'
|
||||
|
@ -15266,7 +15272,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
' *other* take priority when *d* and *other* share '
|
||||
'keys.\n'
|
||||
'\n'
|
||||
' New in version 3.9.\n'
|
||||
' Added in version 3.9.\n'
|
||||
'\n'
|
||||
' d |= other\n'
|
||||
'\n'
|
||||
|
@ -15278,7 +15284,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'and *other*\n'
|
||||
' share keys.\n'
|
||||
'\n'
|
||||
' New in version 3.9.\n'
|
||||
' Added in version 3.9.\n'
|
||||
'\n'
|
||||
' Dictionaries compare equal if and only if they have the '
|
||||
'same "(key,\n'
|
||||
|
@ -15400,7 +15406,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'original\n'
|
||||
' dictionary to which the view refers.\n'
|
||||
'\n'
|
||||
' New in version 3.10.\n'
|
||||
' Added in version 3.10.\n'
|
||||
'\n'
|
||||
'Keys views are set-like since their entries are unique and '
|
||||
'*hashable*.\n'
|
||||
|
@ -15940,7 +15946,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'mutable\n'
|
||||
' sequence classes provide it.\n'
|
||||
'\n'
|
||||
' New in version 3.3: "clear()" and "copy()" methods.\n'
|
||||
' Added in version 3.3: "clear()" and "copy()" methods.\n'
|
||||
'\n'
|
||||
'6. The value *n* is an integer, or an object implementing\n'
|
||||
' "__index__()". Zero and negative values of *n* clear the '
|
||||
|
@ -16408,7 +16414,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'concrete mutable\n'
|
||||
' sequence classes provide it.\n'
|
||||
'\n'
|
||||
' New in version 3.3: "clear()" and "copy()" methods.\n'
|
||||
' Added in version 3.3: "clear()" and "copy()" '
|
||||
'methods.\n'
|
||||
'\n'
|
||||
'6. The value *n* is an integer, or an object '
|
||||
'implementing\n'
|
||||
|
|
751
Misc/NEWS.d/3.12.4.rst
Normal file
751
Misc/NEWS.d/3.12.4.rst
Normal file
|
@ -0,0 +1,751 @@
|
|||
.. date: 2024-05-01-20-57-09
|
||||
.. gh-issue: 118486
|
||||
.. nonce: K44KJG
|
||||
.. release date: 2024-06-06
|
||||
.. section: Security
|
||||
|
||||
:func:`os.mkdir` on Windows now accepts *mode* of ``0o700`` to restrict the
|
||||
new directory to the current user. This fixes :cve:`2024-4030` affecting
|
||||
:func:`tempfile.mkdtemp` in scenarios where the base temporary directory is
|
||||
more permissive than the default.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-03-27-13-50-02
|
||||
.. gh-issue: 116741
|
||||
.. nonce: ZoGryG
|
||||
.. section: Security
|
||||
|
||||
Update bundled libexpat to 2.6.2
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-03-25-21-25-28
|
||||
.. gh-issue: 117233
|
||||
.. nonce: E4CyI_
|
||||
.. section: Security
|
||||
|
||||
Detect BLAKE2, SHA3, Shake, & truncated SHA512 support in the OpenSSL-ish
|
||||
libcrypto library at build time. This allows :mod:`hashlib` to be used with
|
||||
libraries that do not to support every algorithm that upstream OpenSSL does.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-30-23-01-00
|
||||
.. gh-issue: 119821
|
||||
.. nonce: jPGfvt
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix execution of :ref:`annotation scopes <annotation-scopes>` within classes
|
||||
when ``globals`` is set to a non-dict. Patch by Jelle Zijlstra.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-27-15-22-41
|
||||
.. gh-issue: 118263
|
||||
.. nonce: QfcDja
|
||||
.. section: Core and Builtins
|
||||
|
||||
Speed up :func:`os.path.normpath` with a direct C call.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-23-06-34-45
|
||||
.. gh-issue: 119311
|
||||
.. nonce: 2DBwKR
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix bug where names are unexpectedly mangled in the bases of generic
|
||||
classes.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-23-06-34-14
|
||||
.. gh-issue: 119395
|
||||
.. nonce: z-Hsqb
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix bug where names appearing after a generic class are mangled as if they
|
||||
are in the generic class.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-22-13-51-40
|
||||
.. gh-issue: 118507
|
||||
.. nonce: xkIQ3v
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix :func:`os.path.isfile` on Windows for pipes.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-21-11-27-14
|
||||
.. gh-issue: 119213
|
||||
.. nonce: nxjxrt
|
||||
.. section: Core and Builtins
|
||||
|
||||
Non-builtin modules built with argument clinic were crashing if used in a
|
||||
subinterpreter before the main interpreter. The objects that were causing
|
||||
the problem by leaking between interpreters carelessly have been fixed.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-21-09-46-51
|
||||
.. gh-issue: 119011
|
||||
.. nonce: WOe3bu
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fixes ``type.__type_params__`` to return an empty tuple instead of a
|
||||
descriptor.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-13-16-00-05
|
||||
.. gh-issue: 118997
|
||||
.. nonce: GWqWdt
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix _Py_ClearImmortal() assertion: use _Py_IsImmortal() to tolerate
|
||||
reference count lower than _Py_IMMORTAL_REFCNT. Fix the assertion for the
|
||||
stable ABI, when a C extension is built with Python 3.11 or lower. Patch by
|
||||
Victor Stinner.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-02-21-19-35
|
||||
.. gh-issue: 118513
|
||||
.. nonce: qHODjb
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix incorrect :exc:`UnboundLocalError` when two comprehensions in the same
|
||||
function both reference the same name, and in one comprehension the name is
|
||||
bound while in the other it's an implicit global.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-02-15-57-07
|
||||
.. gh-issue: 118164
|
||||
.. nonce: AF6kwI
|
||||
.. section: Core and Builtins
|
||||
|
||||
Break a loop between the Python implementation of the :mod:`decimal` module
|
||||
and the Python code for integer to string conversion. Also optimize integer
|
||||
to string conversion for values in the range from 9_000 to 135_000 decimal
|
||||
digits.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-30-23-06-10
|
||||
.. gh-issue: 118272
|
||||
.. nonce: 5ptjk_
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix bug where ``generator.close`` does not free the generator frame's
|
||||
locals.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-27-16-23-29
|
||||
.. gh-issue: 116767
|
||||
.. nonce: z9UFpr
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix crash in compiler on 'async with' that has many context managers.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-15-13-53-59
|
||||
.. gh-issue: 117894
|
||||
.. nonce: 8LpZ6m
|
||||
.. section: Core and Builtins
|
||||
|
||||
Prevent ``agen.aclose()`` objects being re-used after ``.throw()``.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-15-07-37-09
|
||||
.. gh-issue: 117881
|
||||
.. nonce: 07H0wI
|
||||
.. section: Core and Builtins
|
||||
|
||||
prevent concurrent access to an async generator via athrow().throw() or
|
||||
asend().throw()
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-13-18-59-25
|
||||
.. gh-issue: 115874
|
||||
.. nonce: c3xG-E
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fixed a possible segfault during garbage collection of
|
||||
``_asyncio.FutureIter`` objects
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-06-04-12-23-01
|
||||
.. gh-issue: 119819
|
||||
.. nonce: WKKrYh
|
||||
.. section: Library
|
||||
|
||||
Fix regression to allow logging configuration with multiprocessing queue
|
||||
types.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-30-21-37-05
|
||||
.. gh-issue: 89727
|
||||
.. nonce: D6S9ig
|
||||
.. section: Library
|
||||
|
||||
Fix issue with :func:`shutil.rmtree` where a :exc:`RecursionError` is raised
|
||||
on deep directory trees.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-29-20-42-17
|
||||
.. gh-issue: 89727
|
||||
.. nonce: 5lPTTW
|
||||
.. section: Library
|
||||
|
||||
Partially fix issue with :func:`shutil.rmtree` where a :exc:`RecursionError`
|
||||
is raised on deep directory trees. A recursion error is no longer raised
|
||||
when :data:`!rmtree.avoids_symlink_attacks` is false.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-28-12-15-03
|
||||
.. gh-issue: 119118
|
||||
.. nonce: FMKz1F
|
||||
.. section: Library
|
||||
|
||||
Fix performance regression in the :mod:`tokenize` module by caching the
|
||||
``line`` token attribute and calculating the column offset more efficiently.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-28-00-56-59
|
||||
.. gh-issue: 89727
|
||||
.. nonce: _bxoL3
|
||||
.. section: Library
|
||||
|
||||
Fix issue with :func:`os.fwalk` where a :exc:`RecursionError` was raised on
|
||||
deep directory trees by adjusting the implementation to be iterative instead
|
||||
of recursive.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-24-21-54-55
|
||||
.. gh-issue: 113892
|
||||
.. nonce: JKDFqq
|
||||
.. section: Library
|
||||
|
||||
Now, the method ``sock_connect`` of :class:`asyncio.ProactorEventLoop`
|
||||
raises a :exc:`ValueError` if given socket is not in non-blocking mode, as
|
||||
well as in other loop implementations.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-19-18-49-04
|
||||
.. gh-issue: 119174
|
||||
.. nonce: 5GTv7d
|
||||
.. section: Library
|
||||
|
||||
Fix high DPI causes turtledemo(turtle-graphics examples) windows blurry
|
||||
Patch by Wulian233 and Terry Jan Reedy
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-16-17-31-46
|
||||
.. gh-issue: 118643
|
||||
.. nonce: hAWH4C
|
||||
.. section: Library
|
||||
|
||||
Fix an AttributeError in the :mod:`email` module when re-fold a long address
|
||||
list. Also fix more cases of incorrect encoding of the address separator in
|
||||
the address list.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-12-21-38-42
|
||||
.. gh-issue: 58933
|
||||
.. nonce: 0kgU2l
|
||||
.. section: Library
|
||||
|
||||
Make :mod:`pdb` return to caller frame correctly when ``f_trace`` of the
|
||||
caller frame is not set
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-09-21-36-11
|
||||
.. gh-issue: 118868
|
||||
.. nonce: uckxxP
|
||||
.. section: Library
|
||||
|
||||
Fixed issue where kwargs were no longer passed to the logging handler
|
||||
QueueHandler
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-04-20-22-59
|
||||
.. gh-issue: 118164
|
||||
.. nonce: 9D02MQ
|
||||
.. section: Library
|
||||
|
||||
The Python implementation of the ``decimal`` module could appear to hang in
|
||||
relatively small power cases (like ``2**117``) if context precision was set
|
||||
to a very high value. A different method to check for exactly representable
|
||||
results is used now that doesn't rely on computing ``10**precision`` (which
|
||||
could be effectively too large to compute).
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-29-22-11-54
|
||||
.. gh-issue: 118404
|
||||
.. nonce: GYfMaD
|
||||
.. section: Library
|
||||
|
||||
Fix :func:`inspect.signature` for non-comparable callables.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-26-12-42-29
|
||||
.. gh-issue: 118314
|
||||
.. nonce: Z7reGc
|
||||
.. section: Library
|
||||
|
||||
Fix an edge case in :func:`binascii.a2b_base64` strict mode, where excessive
|
||||
padding is not detected when no padding is necessary.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-25-12-02-06
|
||||
.. gh-issue: 118042
|
||||
.. nonce: 2EcdHf
|
||||
.. section: Library
|
||||
|
||||
Fix an unraisable exception in :meth:`!telnetlib.Telnet.__del__` when the
|
||||
``__init__()`` method was not called.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-24-12-29-33
|
||||
.. gh-issue: 118221
|
||||
.. nonce: 2k_bac
|
||||
.. section: Library
|
||||
|
||||
Fix a bug where :func:`!sqlite3.iterdump` could fail if a custom :attr:`row
|
||||
factory <sqlite3.Connection.row_factory>` was used. Patch by Erlend Aasland.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-24-12-20-48
|
||||
.. gh-issue: 118013
|
||||
.. nonce: TKn_kZ
|
||||
.. section: Library
|
||||
|
||||
Fix regression introduced in gh-103193 that meant that calling
|
||||
:func:`inspect.getattr_static` on an instance would cause a strong reference
|
||||
to that instance's class to persist in an internal cache in the
|
||||
:mod:`inspect` module. This caused unexpected memory consumption if the
|
||||
class was dynamically created, the class held strong references to other
|
||||
objects which took up a significant amount of memory, and the cache
|
||||
contained the sole strong reference to the class. The fix for the regression
|
||||
leads to a slowdown in :func:`!getattr_static`, but the function should
|
||||
still be significantly faster than it was in Python 3.11. Patch by Alex
|
||||
Waygood.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-22-21-54-12
|
||||
.. gh-issue: 90848
|
||||
.. nonce: 5jHEEc
|
||||
.. section: Library
|
||||
|
||||
Fixed :func:`unittest.mock.create_autospec` to configure parent mock with
|
||||
keyword arguments.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-22-20-42-29
|
||||
.. gh-issue: 118168
|
||||
.. nonce: Igni7h
|
||||
.. section: Library
|
||||
|
||||
Fix incorrect argument substitution when :data:`typing.Unpack` is used with
|
||||
the builtin :class:`tuple`. :data:`!typing.Unpack` now raises
|
||||
:exc:`TypeError` when used with certain invalid types. Patch by Jelle
|
||||
Zijlstra.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-19-14-59-53
|
||||
.. gh-issue: 118033
|
||||
.. nonce: amS4Gw
|
||||
.. section: Library
|
||||
|
||||
Fix :func:`dataclasses.dataclass` not creating a ``__weakref__`` slot when
|
||||
subclassing :class:`typing.Generic`.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-17-23-38-06
|
||||
.. gh-issue: 117535
|
||||
.. nonce: 4Fgjlq
|
||||
.. section: Library
|
||||
|
||||
Do not try to get the source line for made up file name "sys" in
|
||||
:mod:`warnings`.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-17-22-00-15
|
||||
.. gh-issue: 114053
|
||||
.. nonce: _JBV4D
|
||||
.. section: Library
|
||||
|
||||
Fix erroneous :exc:`NameError` when calling :func:`typing.get_type_hints` on
|
||||
a class that made use of :pep:`695` type parameters in a module that had
|
||||
``from __future__ import annotations`` at the top of the file. Patch by Alex
|
||||
Waygood.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-17-19-41-59
|
||||
.. gh-issue: 117995
|
||||
.. nonce: Vt76Rv
|
||||
.. section: Library
|
||||
|
||||
Don't raise :exc:`DeprecationWarning` when a :term:`sequence` of parameters
|
||||
is used to bind indexed, nameless placeholders. See also :gh:`100668`.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-17-18-00-30
|
||||
.. gh-issue: 80361
|
||||
.. nonce: RstWg-
|
||||
.. section: Library
|
||||
|
||||
Fix TypeError in :func:`email.message.Message.get_payload` when the charset
|
||||
is :rfc:`2231` encoded.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-16-18-34-11
|
||||
.. gh-issue: 86650
|
||||
.. nonce: Zeydyg
|
||||
.. section: Library
|
||||
|
||||
Fix IndexError when parse some emails with invalid Message-ID (including
|
||||
one-off addresses generated by Microsoft Outlook).
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-14-15-59-28
|
||||
.. gh-issue: 117691
|
||||
.. nonce: 1mtREE
|
||||
.. section: Library
|
||||
|
||||
Improve the error messages emitted by :mod:`tarfile` deprecation warnings
|
||||
relating to PEP 706. If a ``filter`` argument is not provided to
|
||||
``extract()`` or ``extractall``, the deprecation warning now points to the
|
||||
line in the user's code where the relevant function was called. Patch by
|
||||
Alex Waygood.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-12-17-37-11
|
||||
.. gh-issue: 77102
|
||||
.. nonce: Mk6X_E
|
||||
.. section: Library
|
||||
|
||||
:mod:`site` module now parses ``.pth`` file with UTF-8 first, and
|
||||
:term:`locale encoding` if ``UnicodeDecodeError`` happened. It supported
|
||||
only locale encoding before.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-09-23-22-21
|
||||
.. gh-issue: 117692
|
||||
.. nonce: EciInD
|
||||
.. section: Library
|
||||
|
||||
Fixes a bug when :class:`doctest.DocTestFinder` was failing on wrapped
|
||||
``builtin_function_or_method``.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-05-15-51-01
|
||||
.. gh-issue: 117566
|
||||
.. nonce: 54nABf
|
||||
.. section: Library
|
||||
|
||||
:meth:`ipaddress.IPv6Address.is_loopback` will now return ``True`` for
|
||||
IPv4-mapped loopback addresses, i.e. addresses in the
|
||||
``::ffff:127.0.0.0/104`` address space.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-03-15-04-23
|
||||
.. gh-issue: 117503
|
||||
.. nonce: NMfwup
|
||||
.. section: Library
|
||||
|
||||
Fix support of non-ASCII user names in bytes paths in
|
||||
:func:`os.path.expanduser` on Posix.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-03-29-15-14-51
|
||||
.. gh-issue: 117313
|
||||
.. nonce: ks_ONu
|
||||
.. section: Library
|
||||
|
||||
Only treat ``'\n'``, ``'\r'`` and ``'\r\n'`` as line separators in
|
||||
re-folding the :mod:`email` messages. Preserve control characters ``'\v'``,
|
||||
``'\f'``, ``'\x1c'``, ``'\x1d'`` and ``'\x1e'`` and Unicode line separators
|
||||
``'\x85'``, ``'\u2028'`` and ``'\u2029'`` as is.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-03-14-01-38-44
|
||||
.. gh-issue: 113171
|
||||
.. nonce: VFnObz
|
||||
.. section: Library
|
||||
|
||||
Fixed various false positives and false negatives in
|
||||
|
||||
* :attr:`ipaddress.IPv4Address.is_private` (see these docs for details)
|
||||
* :attr:`ipaddress.IPv4Address.is_global`
|
||||
* :attr:`ipaddress.IPv6Address.is_private`
|
||||
* :attr:`ipaddress.IPv6Address.is_global`
|
||||
|
||||
Also in the corresponding :class:`ipaddress.IPv4Network` and
|
||||
:class:`ipaddress.IPv6Network` attributes.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-04-28-09-54-15
|
||||
.. gh-issue: 103956
|
||||
.. nonce: EyLDPS
|
||||
.. section: Library
|
||||
|
||||
Fix lack of newline characters in :mod:`trace` module output when line
|
||||
tracing is enabled but source code line for current frame is not available.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-04-26-22-24-17
|
||||
.. gh-issue: 92081
|
||||
.. nonce: V8xMot
|
||||
.. section: Library
|
||||
|
||||
Fix missing spaces in email headers when the spaces are mixed with encoded
|
||||
8-bit characters.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-04-24-05-34-23
|
||||
.. gh-issue: 103194
|
||||
.. nonce: GwBwWL
|
||||
.. section: Library
|
||||
|
||||
Prepare Tkinter for C API changes in Tcl 8.7/9.0 to avoid
|
||||
:class:`_tkinter.Tcl_Obj` being unexpectedly returned instead of
|
||||
:class:`bool`, :class:`str`, :class:`bytearray`, or :class:`int`.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-04-10-00-04-37
|
||||
.. gh-issue: 87106
|
||||
.. nonce: UyBnPQ
|
||||
.. section: Library
|
||||
|
||||
Fixed handling in :meth:`inspect.Signature.bind` of keyword arguments having
|
||||
the same name as positional-only arguments when a variadic keyword argument
|
||||
(e.g. ``**kwargs``) is present.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 45767
|
||||
.. date: 2022-03-10-16-47-57
|
||||
.. nonce: ywmyo1
|
||||
.. section: Library
|
||||
|
||||
Fix integer conversion in :func:`os.major`, :func:`os.minor`, and
|
||||
:func:`os.makedev`. Support device numbers larger than ``2**63-1``. Support
|
||||
non-existent device number (``NODEV``).
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 40943
|
||||
.. date: 2020-06-10-19-24-17
|
||||
.. nonce: vjiiN_
|
||||
.. section: Library
|
||||
|
||||
Fix several IndexError when parse emails with truncated Message-ID, address,
|
||||
routes, etc, e.g. ``example@``.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 30988
|
||||
.. date: 2019-08-29-20-26-08
|
||||
.. nonce: b-_h5O
|
||||
.. section: Library
|
||||
|
||||
Fix parsing of emails with invalid address headers having a leading or
|
||||
trailing dot. Patch by tsufeki.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2019-08-27-01-16-50
|
||||
.. gh-issue: 67693
|
||||
.. nonce: 4NIAiy
|
||||
.. section: Library
|
||||
|
||||
Fix :func:`urllib.parse.urlunparse` and :func:`urllib.parse.urlunsplit` for
|
||||
URIs with path starting with multiple slashes and no authority. Based on
|
||||
patch by Ashwin Ramaswami.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 15010
|
||||
.. date: 2019-08-12-19-08-06
|
||||
.. nonce: 3bY2CF
|
||||
.. section: Library
|
||||
|
||||
:meth:`unittest.TestLoader.discover` now saves the original value of
|
||||
``unittest.TestLoader._top_level_dir`` and restores it at the end of the
|
||||
call.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-25-22-12-20
|
||||
.. gh-issue: 117928
|
||||
.. nonce: LKdTno
|
||||
.. section: Documentation
|
||||
|
||||
The minimum Sphinx version required for the documentation is now 6.2.1.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2022-04-15-13-15-23
|
||||
.. gh-issue: 91565
|
||||
.. nonce: OznXwC
|
||||
.. section: Documentation
|
||||
|
||||
Changes to documentation files and config outputs to reflect the new
|
||||
location for reporting bugs - i.e. GitHub rather than bugs.python.org.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-18-10-59-27
|
||||
.. gh-issue: 119050
|
||||
.. nonce: g4qiH7
|
||||
.. section: Tests
|
||||
|
||||
regrtest test runner: Add XML support to the refleak checker (-R option).
|
||||
Patch by Victor Stinner.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-29-11-06-12
|
||||
.. gh-issue: 119690
|
||||
.. nonce: 8q6e1p
|
||||
.. section: Windows
|
||||
|
||||
Adds Unicode support and fixes audit events for ``_winapi.CreateNamedPipe``.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-22-19-43-29
|
||||
.. gh-issue: 119070
|
||||
.. nonce: _enton
|
||||
.. section: Windows
|
||||
|
||||
Fixes ``py.exe`` handling of shebangs like ``/usr/bin/env python3.12``,
|
||||
which were previously interpreted as ``python3.exe`` instead of
|
||||
``python3.12.exe``.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-29-13-53-25
|
||||
.. gh-issue: 118347
|
||||
.. nonce: U5ZRm_
|
||||
.. section: Windows
|
||||
|
||||
Fixes launcher updates not being installed.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-15-21-23-34
|
||||
.. gh-issue: 115009
|
||||
.. nonce: uhisHP
|
||||
.. section: Windows
|
||||
|
||||
Update Windows installer to use SQLite 3.45.3.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-12-14-02-58
|
||||
.. gh-issue: 90329
|
||||
.. nonce: YpEeaO
|
||||
.. section: Windows
|
||||
|
||||
Suppress the warning displayed on virtual environment creation when the
|
||||
requested and created paths differ only by a short (8.3 style) name.
|
||||
Warnings will continue to be shown if a junction or symlink in the path
|
||||
caused the venv to be created in a different location than originally
|
||||
requested.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-15-21-19-39
|
||||
.. gh-issue: 115009
|
||||
.. nonce: IdxH9N
|
||||
.. section: macOS
|
||||
|
||||
Update macOS installer to use SQLite 3.45.3.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-02-29-20-52-23
|
||||
.. gh-issue: 116145
|
||||
.. nonce: ygafim
|
||||
.. section: macOS
|
||||
|
||||
Update macOS installer to Tcl/Tk 8.6.14.
|
||||
|
||||
..
|
||||
|
||||
.. bpo: 34774
|
||||
.. date: 2018-09-23-01-36-39
|
||||
.. nonce: VeM-X-
|
||||
.. section: IDLE
|
||||
|
||||
Use user-selected color theme for Help => IDLE Doc.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-05-29-21-05-59
|
||||
.. gh-issue: 119585
|
||||
.. nonce: Sn7JL3
|
||||
.. section: C API
|
||||
|
||||
Fix crash when a thread state that was created by
|
||||
:c:func:`PyGILState_Ensure` calls a destructor that during
|
||||
:c:func:`PyThreadState_Clear` that calls back into
|
||||
:c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release`. This might
|
||||
occur when in the free-threaded build or when using thread-local variables
|
||||
whose destructors call :c:func:`PyGILState_Ensure`.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2024-04-08-09-44-29
|
||||
.. gh-issue: 117534
|
||||
.. nonce: 54ZE_n
|
||||
.. section: C API
|
||||
|
||||
Improve validation logic in the C implementation of
|
||||
:meth:`datetime.fromisoformat` to better handle invalid years. Patch by Vlad
|
||||
Efanov.
|
|
@ -1,2 +0,0 @@
|
|||
Improve validation logic in the C implementation of :meth:`datetime.fromisoformat`
|
||||
to better handle invalid years. Patch by Vlad Efanov.
|
|
@ -1,5 +0,0 @@
|
|||
Fix crash when a thread state that was created by :c:func:`PyGILState_Ensure`
|
||||
calls a destructor that during :c:func:`PyThreadState_Clear` that
|
||||
calls back into :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release`.
|
||||
This might occur when in the free-threaded build or when using thread-local
|
||||
variables whose destructors call :c:func:`PyGILState_Ensure`.
|
|
@ -1 +0,0 @@
|
|||
Fixed a possible segfault during garbage collection of ``_asyncio.FutureIter`` objects
|
|
@ -1 +0,0 @@
|
|||
prevent concurrent access to an async generator via athrow().throw() or asend().throw()
|
|
@ -1 +0,0 @@
|
|||
Prevent ``agen.aclose()`` objects being re-used after ``.throw()``.
|
|
@ -1 +0,0 @@
|
|||
Fix crash in compiler on 'async with' that has many context managers.
|
|
@ -1,2 +0,0 @@
|
|||
Fix bug where ``generator.close`` does not free the generator frame's
|
||||
locals.
|
|
@ -1,4 +0,0 @@
|
|||
Break a loop between the Python implementation of the :mod:`decimal` module
|
||||
and the Python code for integer to string conversion. Also optimize integer
|
||||
to string conversion for values in the range from 9_000 to 135_000 decimal
|
||||
digits.
|
|
@ -1 +0,0 @@
|
|||
Fix incorrect :exc:`UnboundLocalError` when two comprehensions in the same function both reference the same name, and in one comprehension the name is bound while in the other it's an implicit global.
|
|
@ -1,4 +0,0 @@
|
|||
Fix _Py_ClearImmortal() assertion: use _Py_IsImmortal() to tolerate
|
||||
reference count lower than _Py_IMMORTAL_REFCNT. Fix the assertion for the
|
||||
stable ABI, when a C extension is built with Python 3.11 or lower. Patch by
|
||||
Victor Stinner.
|
|
@ -1,2 +0,0 @@
|
|||
Fixes ``type.__type_params__`` to return an empty tuple instead of a
|
||||
descriptor.
|
|
@ -1,3 +0,0 @@
|
|||
Non-builtin modules built with argument clinic were crashing if used in a
|
||||
subinterpreter before the main interpreter. The objects that were causing
|
||||
the problem by leaking between interpreters carelessly have been fixed.
|
|
@ -1 +0,0 @@
|
|||
Fix :func:`os.path.isfile` on Windows for pipes.
|
|
@ -1,2 +0,0 @@
|
|||
Fix bug where names appearing after a generic class are mangled as if they
|
||||
are in the generic class.
|
|
@ -1,2 +0,0 @@
|
|||
Fix bug where names are unexpectedly mangled in the bases of generic
|
||||
classes.
|
|
@ -1 +0,0 @@
|
|||
Speed up :func:`os.path.normpath` with a direct C call.
|
|
@ -1,2 +0,0 @@
|
|||
Fix execution of :ref:`annotation scopes <annotation-scopes>` within classes
|
||||
when ``globals`` is set to a non-dict. Patch by Jelle Zijlstra.
|
|
@ -1 +0,0 @@
|
|||
Changes to documentation files and config outputs to reflect the new location for reporting bugs - i.e. GitHub rather than bugs.python.org.
|
|
@ -1 +0,0 @@
|
|||
The minimum Sphinx version required for the documentation is now 6.2.1.
|
|
@ -1 +0,0 @@
|
|||
Use user-selected color theme for Help => IDLE Doc.
|
|
@ -1,3 +0,0 @@
|
|||
:meth:`unittest.TestLoader.discover` now saves the original value of
|
||||
``unittest.TestLoader._top_level_dir`` and restores it at the end of the
|
||||
call.
|
|
@ -1,2 +0,0 @@
|
|||
Fix :func:`urllib.parse.urlunparse` and :func:`urllib.parse.urlunsplit` for URIs with path starting with multiple slashes and no authority.
|
||||
Based on patch by Ashwin Ramaswami.
|
|
@ -1 +0,0 @@
|
|||
Fix parsing of emails with invalid address headers having a leading or trailing dot. Patch by tsufeki.
|
|
@ -1 +0,0 @@
|
|||
Fix several IndexError when parse emails with truncated Message-ID, address, routes, etc, e.g. ``example@``.
|
|
@ -1,3 +0,0 @@
|
|||
Fix integer conversion in :func:`os.major`, :func:`os.minor`, and
|
||||
:func:`os.makedev`. Support device numbers larger than ``2**63-1``. Support
|
||||
non-existent device number (``NODEV``).
|
|
@ -1,3 +0,0 @@
|
|||
Fixed handling in :meth:`inspect.Signature.bind` of keyword arguments having
|
||||
the same name as positional-only arguments when a variadic keyword argument
|
||||
(e.g. ``**kwargs``) is present.
|
|
@ -1,4 +0,0 @@
|
|||
Prepare Tkinter for C API changes in Tcl 8.7/9.0 to avoid
|
||||
:class:`_tkinter.Tcl_Obj` being unexpectedly returned
|
||||
instead of :class:`bool`, :class:`str`,
|
||||
:class:`bytearray`, or :class:`int`.
|
|
@ -1 +0,0 @@
|
|||
Fix missing spaces in email headers when the spaces are mixed with encoded 8-bit characters.
|
|
@ -1 +0,0 @@
|
|||
Fix lack of newline characters in :mod:`trace` module output when line tracing is enabled but source code line for current frame is not available.
|
|
@ -1,9 +0,0 @@
|
|||
Fixed various false positives and false negatives in
|
||||
|
||||
* :attr:`ipaddress.IPv4Address.is_private` (see these docs for details)
|
||||
* :attr:`ipaddress.IPv4Address.is_global`
|
||||
* :attr:`ipaddress.IPv6Address.is_private`
|
||||
* :attr:`ipaddress.IPv6Address.is_global`
|
||||
|
||||
Also in the corresponding :class:`ipaddress.IPv4Network` and :class:`ipaddress.IPv6Network`
|
||||
attributes.
|
|
@ -1,4 +0,0 @@
|
|||
Only treat ``'\n'``, ``'\r'`` and ``'\r\n'`` as line separators in
|
||||
re-folding the :mod:`email` messages. Preserve control characters ``'\v'``,
|
||||
``'\f'``, ``'\x1c'``, ``'\x1d'`` and ``'\x1e'`` and Unicode line separators
|
||||
``'\x85'``, ``'\u2028'`` and ``'\u2029'`` as is.
|
|
@ -1,2 +0,0 @@
|
|||
Fix support of non-ASCII user names in bytes paths in
|
||||
:func:`os.path.expanduser` on Posix.
|
|
@ -1,3 +0,0 @@
|
|||
:meth:`ipaddress.IPv6Address.is_loopback` will now return ``True`` for
|
||||
IPv4-mapped loopback addresses, i.e. addresses in the
|
||||
``::ffff:127.0.0.0/104`` address space.
|
|
@ -1,2 +0,0 @@
|
|||
Fixes a bug when :class:`doctest.DocTestFinder` was failing on wrapped
|
||||
``builtin_function_or_method``.
|
|
@ -1,3 +0,0 @@
|
|||
:mod:`site` module now parses ``.pth`` file with UTF-8 first, and
|
||||
:term:`locale encoding` if ``UnicodeDecodeError`` happened. It supported
|
||||
only locale encoding before.
|
|
@ -1,5 +0,0 @@
|
|||
Improve the error messages emitted by :mod:`tarfile` deprecation warnings
|
||||
relating to PEP 706. If a ``filter`` argument is not provided to
|
||||
``extract()`` or ``extractall``, the deprecation warning now points to the
|
||||
line in the user's code where the relevant function was called. Patch by
|
||||
Alex Waygood.
|
|
@ -1,2 +0,0 @@
|
|||
Fix IndexError when parse some emails with invalid Message-ID (including
|
||||
one-off addresses generated by Microsoft Outlook).
|
|
@ -1,2 +0,0 @@
|
|||
Fix TypeError in :func:`email.message.Message.get_payload` when the charset is
|
||||
:rfc:`2231` encoded.
|
|
@ -1,2 +0,0 @@
|
|||
Don't raise :exc:`DeprecationWarning` when a :term:`sequence` of parameters
|
||||
is used to bind indexed, nameless placeholders. See also :gh:`100668`.
|
|
@ -1,4 +0,0 @@
|
|||
Fix erroneous :exc:`NameError` when calling :func:`typing.get_type_hints` on
|
||||
a class that made use of :pep:`695` type parameters in a module that had
|
||||
``from __future__ import annotations`` at the top of the file. Patch by Alex
|
||||
Waygood.
|
|
@ -1 +0,0 @@
|
|||
Do not try to get the source line for made up file name "sys" in :mod:`warnings`.
|
|
@ -1,2 +0,0 @@
|
|||
Fix :func:`dataclasses.dataclass` not creating a ``__weakref__`` slot when
|
||||
subclassing :class:`typing.Generic`.
|
|
@ -1,4 +0,0 @@
|
|||
Fix incorrect argument substitution when :data:`typing.Unpack` is used with
|
||||
the builtin :class:`tuple`. :data:`!typing.Unpack` now raises
|
||||
:exc:`TypeError` when used with certain invalid types. Patch by Jelle
|
||||
Zijlstra.
|
|
@ -1 +0,0 @@
|
|||
Fixed :func:`unittest.mock.create_autospec` to configure parent mock with keyword arguments.
|
|
@ -1,9 +0,0 @@
|
|||
Fix regression introduced in gh-103193 that meant that calling
|
||||
:func:`inspect.getattr_static` on an instance would cause a strong reference
|
||||
to that instance's class to persist in an internal cache in the
|
||||
:mod:`inspect` module. This caused unexpected memory consumption if the
|
||||
class was dynamically created, the class held strong references to other
|
||||
objects which took up a significant amount of memory, and the cache
|
||||
contained the sole strong reference to the class. The fix for the regression
|
||||
leads to a slowdown in :func:`!getattr_static`, but the function should still
|
||||
be significantly faster than it was in Python 3.11. Patch by Alex Waygood.
|
|
@ -1,2 +0,0 @@
|
|||
Fix a bug where :func:`!sqlite3.iterdump` could fail if a custom :attr:`row
|
||||
factory <sqlite3.Connection.row_factory>` was used. Patch by Erlend Aasland.
|
|
@ -1,2 +0,0 @@
|
|||
Fix an unraisable exception in :meth:`!telnetlib.Telnet.__del__` when the
|
||||
``__init__()`` method was not called.
|
|
@ -1 +0,0 @@
|
|||
Fix an edge case in :func:`binascii.a2b_base64` strict mode, where excessive padding is not detected when no padding is necessary.
|
|
@ -1 +0,0 @@
|
|||
Fix :func:`inspect.signature` for non-comparable callables.
|
|
@ -1 +0,0 @@
|
|||
The Python implementation of the ``decimal`` module could appear to hang in relatively small power cases (like ``2**117``) if context precision was set to a very high value. A different method to check for exactly representable results is used now that doesn't rely on computing ``10**precision`` (which could be effectively too large to compute).
|
|
@ -1,2 +0,0 @@
|
|||
Fixed issue where kwargs were no longer passed to the logging handler
|
||||
QueueHandler
|
|
@ -1 +0,0 @@
|
|||
Make :mod:`pdb` return to caller frame correctly when ``f_trace`` of the caller frame is not set
|
|
@ -1,2 +0,0 @@
|
|||
Fix an AttributeError in the :mod:`email` module when re-fold a long address
|
||||
list. Also fix more cases of incorrect encoding of the address separator in the address list.
|
|
@ -1,3 +0,0 @@
|
|||
Fix high DPI causes turtledemo(turtle-graphics examples) windows blurry
|
||||
Patch by Wulian233 and Terry Jan Reedy
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Now, the method ``sock_connect`` of :class:`asyncio.ProactorEventLoop`
|
||||
raises a :exc:`ValueError` if given socket is not in
|
||||
non-blocking mode, as well as in other loop implementations.
|
|
@ -1,3 +0,0 @@
|
|||
Fix issue with :func:`os.fwalk` where a :exc:`RecursionError` was raised on
|
||||
deep directory trees by adjusting the implementation to be iterative instead
|
||||
of recursive.
|
|
@ -1,2 +0,0 @@
|
|||
Fix performance regression in the :mod:`tokenize` module by caching the ``line``
|
||||
token attribute and calculating the column offset more efficiently.
|
|
@ -1,3 +0,0 @@
|
|||
Partially fix issue with :func:`shutil.rmtree` where a :exc:`RecursionError`
|
||||
is raised on deep directory trees. A recursion error is no longer raised
|
||||
when :data:`!rmtree.avoids_symlink_attacks` is false.
|
|
@ -1,2 +0,0 @@
|
|||
Fix issue with :func:`shutil.rmtree` where a :exc:`RecursionError` is raised
|
||||
on deep directory trees.
|
|
@ -1,2 +0,0 @@
|
|||
Fix regression to allow logging configuration with multiprocessing queue
|
||||
types.
|
|
@ -1,3 +0,0 @@
|
|||
Detect BLAKE2, SHA3, Shake, & truncated SHA512 support in the OpenSSL-ish
|
||||
libcrypto library at build time. This allows :mod:`hashlib` to be used with
|
||||
libraries that do not to support every algorithm that upstream OpenSSL does.
|
|
@ -1 +0,0 @@
|
|||
Update bundled libexpat to 2.6.2
|
|
@ -1,4 +0,0 @@
|
|||
:func:`os.mkdir` on Windows now accepts *mode* of ``0o700`` to restrict
|
||||
the new directory to the current user. This fixes :cve:`2024-4030`
|
||||
affecting :func:`tempfile.mkdtemp` in scenarios where the base temporary
|
||||
directory is more permissive than the default.
|
|
@ -1,2 +0,0 @@
|
|||
regrtest test runner: Add XML support to the refleak checker (-R option).
|
||||
Patch by Victor Stinner.
|
|
@ -1,5 +0,0 @@
|
|||
Suppress the warning displayed on virtual environment creation when the
|
||||
requested and created paths differ only by a short (8.3 style) name.
|
||||
Warnings will continue to be shown if a junction or symlink in the path
|
||||
caused the venv to be created in a different location than originally
|
||||
requested.
|
|
@ -1 +0,0 @@
|
|||
Update Windows installer to use SQLite 3.45.3.
|
|
@ -1 +0,0 @@
|
|||
Fixes launcher updates not being installed.
|
|
@ -1,3 +0,0 @@
|
|||
Fixes ``py.exe`` handling of shebangs like ``/usr/bin/env python3.12``,
|
||||
which were previously interpreted as ``python3.exe`` instead of
|
||||
``python3.12.exe``.
|
|
@ -1 +0,0 @@
|
|||
Adds Unicode support and fixes audit events for ``_winapi.CreateNamedPipe``.
|
|
@ -1 +0,0 @@
|
|||
Update macOS installer to Tcl/Tk 8.6.14.
|
|
@ -1 +0,0 @@
|
|||
Update macOS installer to use SQLite 3.45.3.
|
|
@ -1,4 +1,4 @@
|
|||
This is Python version 3.12.3
|
||||
This is Python version 3.12.4
|
||||
=============================
|
||||
|
||||
.. image:: https://github.com/python/cpython/workflows/Tests/badge.svg
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue