mirror of https://github.com/python/cpython
Python 3.12.0a7
This commit is contained in:
parent
89e6a34461
commit
b861ba4a82
|
@ -20,10 +20,10 @@
|
||||||
#define PY_MINOR_VERSION 12
|
#define PY_MINOR_VERSION 12
|
||||||
#define PY_MICRO_VERSION 0
|
#define PY_MICRO_VERSION 0
|
||||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
||||||
#define PY_RELEASE_SERIAL 6
|
#define PY_RELEASE_SERIAL 7
|
||||||
|
|
||||||
/* Version as a string */
|
/* Version as a string */
|
||||||
#define PY_VERSION "3.12.0a6+"
|
#define PY_VERSION "3.12.0a7"
|
||||||
/*--end constants--*/
|
/*--end constants--*/
|
||||||
|
|
||||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Autogenerated by Sphinx on Tue Mar 7 22:42:28 2023
|
# Autogenerated by Sphinx on Tue Apr 4 17:52:21 2023
|
||||||
topics = {'assert': 'The "assert" statement\n'
|
topics = {'assert': 'The "assert" statement\n'
|
||||||
'**********************\n'
|
'**********************\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -1134,10 +1134,11 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'future, a\n'
|
'future, a\n'
|
||||||
' check may be added to prevent this.\n'
|
' check may be added to prevent this.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* Nonempty *__slots__* does not work for classes derived '
|
'* "TypeError" will be raised if nonempty *__slots__* are '
|
||||||
'from\n'
|
'defined for a\n'
|
||||||
' “variable-length” built-in types such as "int", '
|
' class derived from a ""variable-length" built-in type" '
|
||||||
'"bytes" and "tuple".\n'
|
'such as\n'
|
||||||
|
' "int", "bytes", and "tuple".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* Any non-string *iterable* may be assigned to '
|
'* Any non-string *iterable* may be assigned to '
|
||||||
'*__slots__*.\n'
|
'*__slots__*.\n'
|
||||||
|
@ -3072,7 +3073,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'AS\n'
|
'AS\n'
|
||||||
'pattern binds the subject to the name on the right of the as '
|
'pattern binds the subject to the name on the right of the as '
|
||||||
'keyword\n'
|
'keyword\n'
|
||||||
'and succeeds. "capture_pattern" cannot be a a "_".\n'
|
'and succeeds. "capture_pattern" cannot be a "_".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'In simple terms "P as NAME" will match with "P", and on success '
|
'In simple terms "P as NAME" will match with "P", and on success '
|
||||||
'it\n'
|
'it\n'
|
||||||
|
@ -4675,7 +4676,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'scripts. For\n'
|
'scripts. For\n'
|
||||||
'example:\n'
|
'example:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' python3 -m pdb myscript.py\n'
|
' python -m pdb myscript.py\n'
|
||||||
'\n'
|
'\n'
|
||||||
'When invoked as a script, pdb will automatically enter '
|
'When invoked as a script, pdb will automatically enter '
|
||||||
'post-mortem\n'
|
'post-mortem\n'
|
||||||
|
@ -4695,7 +4696,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
'New in version 3.7: "pdb.py" now accepts a "-m" option that '
|
'New in version 3.7: "pdb.py" now accepts a "-m" option that '
|
||||||
'execute\n'
|
'execute\n'
|
||||||
'modules similar to the way "python3 -m" does. As with a script, '
|
'modules similar to the way "python -m" does. As with a script, '
|
||||||
'the\n'
|
'the\n'
|
||||||
'debugger will pause execution just before the first line of the\n'
|
'debugger will pause execution just before the first line of the\n'
|
||||||
'module.\n'
|
'module.\n'
|
||||||
|
@ -4759,8 +4760,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'object)\n'
|
'object)\n'
|
||||||
' under debugger control. When "runeval()" returns, it returns '
|
' under debugger control. When "runeval()" returns, it returns '
|
||||||
'the\n'
|
'the\n'
|
||||||
' value of the expression. Otherwise this function is similar '
|
' value of the *expression*. Otherwise this function is '
|
||||||
'to\n'
|
'similar to\n'
|
||||||
' "run()".\n'
|
' "run()".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'pdb.runcall(function, *args, **kwds)\n'
|
'pdb.runcall(function, *args, **kwds)\n'
|
||||||
|
@ -4799,7 +4800,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'pdb.pm()\n'
|
'pdb.pm()\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Enter post-mortem debugging of the traceback found in\n'
|
' Enter post-mortem debugging of the traceback found in\n'
|
||||||
' "sys.last_exc".\n'
|
' "sys.last_traceback".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The "run*" functions and "set_trace()" are aliases for '
|
'The "run*" functions and "set_trace()" are aliases for '
|
||||||
'instantiating\n'
|
'instantiating\n'
|
||||||
|
@ -5022,14 +5023,15 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'ignore bpnumber [count]\n'
|
'ignore bpnumber [count]\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Set the ignore count for the given breakpoint number. If '
|
' Set the ignore count for the given breakpoint number. If '
|
||||||
'count is\n'
|
'*count*\n'
|
||||||
' omitted, the ignore count is set to 0. A breakpoint becomes '
|
' is omitted, the ignore count is set to 0. A breakpoint '
|
||||||
'active\n'
|
'becomes\n'
|
||||||
' when the ignore count is zero. When non-zero, the count is\n'
|
' active when the ignore count is zero. When non-zero, the '
|
||||||
' decremented each time the breakpoint is reached and the '
|
'*count*\n'
|
||||||
'breakpoint\n'
|
' is decremented each time the breakpoint is reached and the\n'
|
||||||
' is not disabled and any associated condition evaluates to '
|
' breakpoint is not disabled and any associated condition '
|
||||||
'true.\n'
|
'evaluates\n'
|
||||||
|
' to true.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'condition bpnumber [condition]\n'
|
'condition bpnumber [condition]\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -5079,7 +5081,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' breakpoint—which could have its own command list, leading to\n'
|
' breakpoint—which could have its own command list, leading to\n'
|
||||||
' ambiguities about which list to execute.\n'
|
' ambiguities about which list to execute.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' If you use the ‘silent’ command in the command list, the '
|
' If you use the "silent" command in the command list, the '
|
||||||
'usual\n'
|
'usual\n'
|
||||||
' message about stopping at a breakpoint is not printed. This '
|
' message about stopping at a breakpoint is not printed. This '
|
||||||
'may be\n'
|
'may be\n'
|
||||||
|
@ -5114,11 +5116,10 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'number\n'
|
'number\n'
|
||||||
' greater than the current one is reached.\n'
|
' greater than the current one is reached.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' With a line number, continue execution until a line with a '
|
' With *lineno*, continue execution until a line with a number\n'
|
||||||
'number\n'
|
' greater or equal to *lineno* is reached. In both cases, also '
|
||||||
' greater or equal to that is reached. In both cases, also '
|
'stop\n'
|
||||||
'stop when\n'
|
' when the current frame returns.\n'
|
||||||
' the current frame returns.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
' Changed in version 3.2: Allow giving an explicit line '
|
' Changed in version 3.2: Allow giving an explicit line '
|
||||||
'number.\n'
|
'number.\n'
|
||||||
|
@ -5182,9 +5183,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
'p expression\n'
|
'p expression\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Evaluate the *expression* in the current context and print '
|
' Evaluate *expression* in the current context and print its '
|
||||||
'its\n'
|
'value.\n'
|
||||||
' value.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
' Note:\n'
|
' Note:\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -5194,26 +5194,26 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
'pp expression\n'
|
'pp expression\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Like the "p" command, except the value of the expression is '
|
' Like the "p" command, except the value of *expression* is '
|
||||||
'pretty-\n'
|
'pretty-\n'
|
||||||
' printed using the "pprint" module.\n'
|
' printed using the "pprint" module.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'whatis expression\n'
|
'whatis expression\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Print the type of the *expression*.\n'
|
' Print the type of *expression*.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'source expression\n'
|
'source expression\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Try to get source code for the given object and display it.\n'
|
' Try to get source code of *expression* and display it.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.2.\n'
|
' New in version 3.2.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'display [expression]\n'
|
'display [expression]\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Display the value of the expression if it changed, each time\n'
|
' Display the value of *expression* if it changed, each time\n'
|
||||||
' execution stops in the current frame.\n'
|
' execution stops in the current frame.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Without expression, list all display expressions for the '
|
' Without *expression*, list all display expressions for the '
|
||||||
'current\n'
|
'current\n'
|
||||||
' frame.\n'
|
' frame.\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -5221,10 +5221,10 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
'undisplay [expression]\n'
|
'undisplay [expression]\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Do not display the expression any more in the current frame.\n'
|
' Do not display *expression* anymore in the current frame. '
|
||||||
' Without expression, clear all display expressions for the '
|
'Without\n'
|
||||||
'current\n'
|
' *expression*, clear all display expressions for the current '
|
||||||
' frame.\n'
|
'frame.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' New in version 3.2.\n'
|
' New in version 3.2.\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -5240,16 +5240,16 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
'alias [name [command]]\n'
|
'alias [name [command]]\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Create an alias called *name* that executes *command*. The '
|
' Create an alias called *name* that executes *command*. The\n'
|
||||||
'command\n'
|
' *command* must *not* be enclosed in quotes. Replaceable '
|
||||||
' must *not* be enclosed in quotes. Replaceable parameters can '
|
'parameters\n'
|
||||||
'be\n'
|
' can be indicated by "%1", "%2", and so on, while "%*" is '
|
||||||
' indicated by "%1", "%2", and so on, while "%*" is replaced by '
|
'replaced\n'
|
||||||
'all\n'
|
' by all the parameters. If *command* is omitted, the current '
|
||||||
' the parameters. If no command is given, the current alias '
|
'alias\n'
|
||||||
'for\n'
|
' for *name* is shown. If no arguments are given, all aliases '
|
||||||
' *name* is shown. If no arguments are given, all aliases are '
|
'are\n'
|
||||||
'listed.\n'
|
' listed.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Aliases may be nested and can contain anything that can be '
|
' Aliases may be nested and can contain anything that can be '
|
||||||
'legally\n'
|
'legally\n'
|
||||||
|
@ -5268,14 +5268,14 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' in the ".pdbrc" file):\n'
|
' in the ".pdbrc" file):\n'
|
||||||
'\n'
|
'\n'
|
||||||
' # Print instance variables (usage "pi classInst")\n'
|
' # Print instance variables (usage "pi classInst")\n'
|
||||||
' alias pi for k in %1.__dict__.keys(): '
|
' alias pi for k in %1.__dict__.keys(): print(f"%1.{k} = '
|
||||||
'print("%1.",k,"=",%1.__dict__[k])\n'
|
'{%1.__dict__[k]}")\n'
|
||||||
' # Print instance variables in self\n'
|
' # Print instance variables in self\n'
|
||||||
' alias ps pi self\n'
|
' alias ps pi self\n'
|
||||||
'\n'
|
'\n'
|
||||||
'unalias name\n'
|
'unalias name\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Delete the specified alias.\n'
|
' Delete the specified alias *name*.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'! statement\n'
|
'! statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -5295,12 +5295,13 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'run [args ...]\n'
|
'run [args ...]\n'
|
||||||
'restart [args ...]\n'
|
'restart [args ...]\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Restart the debugged Python program. If an argument is '
|
' Restart the debugged Python program. If *args* is supplied, '
|
||||||
'supplied,\n'
|
'it is\n'
|
||||||
' it is split with "shlex" and the result is used as the new\n'
|
' split with "shlex" and the result is used as the new '
|
||||||
' "sys.argv". History, breakpoints, actions and debugger '
|
'"sys.argv".\n'
|
||||||
'options are\n'
|
' History, breakpoints, actions and debugger options are '
|
||||||
' preserved. "restart" is an alias for "run".\n'
|
'preserved.\n'
|
||||||
|
' "restart" is an alias for "run".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'q(uit)\n'
|
'q(uit)\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -5309,11 +5310,11 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
'debug code\n'
|
'debug code\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Enter a recursive debugger that steps through the code '
|
' Enter a recursive debugger that steps through *code* (which '
|
||||||
'argument\n'
|
'is an\n'
|
||||||
' (which is an arbitrary expression or statement to be executed '
|
' arbitrary expression or statement to be executed in the '
|
||||||
'in\n'
|
'current\n'
|
||||||
' the current environment).\n'
|
' environment).\n'
|
||||||
'\n'
|
'\n'
|
||||||
'retval\n'
|
'retval\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -6170,7 +6171,8 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'The general form of a *standard format specifier* is:\n'
|
'The general form of a *standard format specifier* is:\n'
|
||||||
'\n'
|
'\n'
|
||||||
' format_spec ::= '
|
' format_spec ::= '
|
||||||
'[[fill]align][sign][z][#][0][width][grouping_option][.precision][type]\n'
|
'[[fill]align][sign]["z"]["#"]["0"][width][grouping_option]["." '
|
||||||
|
'precision][type]\n'
|
||||||
' fill ::= <any character>\n'
|
' fill ::= <any character>\n'
|
||||||
' align ::= "<" | ">" | "=" | "^"\n'
|
' align ::= "<" | ">" | "=" | "^"\n'
|
||||||
' sign ::= "+" | "-" | " "\n'
|
' sign ::= "+" | "-" | " "\n'
|
||||||
|
@ -9981,10 +9983,11 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'future, a\n'
|
'future, a\n'
|
||||||
' check may be added to prevent this.\n'
|
' check may be added to prevent this.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* Nonempty *__slots__* does not work for classes derived '
|
'* "TypeError" will be raised if nonempty *__slots__* are '
|
||||||
'from\n'
|
'defined for a\n'
|
||||||
' “variable-length” built-in types such as "int", "bytes" '
|
' class derived from a ""variable-length" built-in type" '
|
||||||
'and "tuple".\n'
|
'such as\n'
|
||||||
|
' "int", "bytes", and "tuple".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'* Any non-string *iterable* may be assigned to *__slots__*.\n'
|
'* Any non-string *iterable* may be assigned to *__slots__*.\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -13691,11 +13694,10 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
' compiled; "co_firstlineno" is the first line number of the\n'
|
' compiled; "co_firstlineno" is the first line number of the\n'
|
||||||
' function; "co_lnotab" is a string encoding the mapping from\n'
|
' function; "co_lnotab" is a string encoding the mapping from\n'
|
||||||
' bytecode offsets to line numbers (for details see the source\n'
|
' bytecode offsets to line numbers (for details see the source\n'
|
||||||
' code of the interpreter); "co_stacksize" is the required '
|
' code of the interpreter, is deprecated since 3.12 and may be\n'
|
||||||
'stack\n'
|
' removed in 3.14); "co_stacksize" is the required stack size;\n'
|
||||||
' size; "co_flags" is an integer encoding a number of flags '
|
' "co_flags" is an integer encoding a number of flags for the\n'
|
||||||
'for\n'
|
' interpreter.\n'
|
||||||
' the interpreter.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
' The following flag bits are defined for "co_flags": bit '
|
' The following flag bits are defined for "co_flags": bit '
|
||||||
'"0x04"\n'
|
'"0x04"\n'
|
||||||
|
@ -13858,7 +13860,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'if\n'
|
'if\n'
|
||||||
' the interpreter is interactive, it is also made available to '
|
' the interpreter is interactive, it is also made available to '
|
||||||
'the\n'
|
'the\n'
|
||||||
' user as "sys.last_exc".\n'
|
' user as "sys.last_traceback".\n'
|
||||||
'\n'
|
'\n'
|
||||||
' For explicitly created tracebacks, it is up to the creator '
|
' For explicitly created tracebacks, it is up to the creator '
|
||||||
'of\n'
|
'of\n'
|
||||||
|
|
|
@ -0,0 +1,745 @@
|
||||||
|
.. date: 2023-03-31-12-22-25
|
||||||
|
.. gh-issue: 102192
|
||||||
|
.. nonce: gYxJP_
|
||||||
|
.. release date: 2023-04-04
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Deprecated ``_PyErr_ChainExceptions`` in favour of
|
||||||
|
``_PyErr_ChainExceptions1``.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-24-02-50-33
|
||||||
|
.. gh-issue: 89987
|
||||||
|
.. nonce: oraTzh
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Reduce the number of inline :opcode:`CACHE` entries for
|
||||||
|
:opcode:`BINARY_SUBSCR`.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-21-00-46-36
|
||||||
|
.. gh-issue: 102859
|
||||||
|
.. nonce: PRkGca
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Removed :opcode:`JUMP_IF_FALSE_OR_POP` and :opcode:`JUMP_IF_TRUE_OR_POP`
|
||||||
|
instructions.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-18-02-36-39
|
||||||
|
.. gh-issue: 101975
|
||||||
|
.. nonce: HwMR1d
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Fixed ``stacktop`` value on tracing entries to avoid corruption on garbage
|
||||||
|
collection.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-17-13-43-34
|
||||||
|
.. gh-issue: 102778
|
||||||
|
.. nonce: ANDv8I
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Add :data:`sys.last_exc` and deprecate :data:`sys.last_type`,
|
||||||
|
:data:`sys.last_value` and :data:`sys.last_traceback`, which hold the same
|
||||||
|
information in its legacy form.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-17-12-09-45
|
||||||
|
.. gh-issue: 100982
|
||||||
|
.. nonce: Pf_BI6
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Replace all occurrences of ``COMPARE_AND_BRANCH`` with :opcode:`COMPARE_OP`.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-16-17-24-44
|
||||||
|
.. gh-issue: 102701
|
||||||
|
.. nonce: iNGVaS
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Fix overflow when creating very large dict.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-16-14-44-29
|
||||||
|
.. gh-issue: 102755
|
||||||
|
.. nonce: j1GxlV
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Add :c:func:`PyErr_DisplayException` which takes just an exception instance,
|
||||||
|
to replace the legacy :c:func:`PyErr_Display` which takes the ``(typ, exc,
|
||||||
|
tb)`` triplet.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-14-00-11-46
|
||||||
|
.. gh-issue: 102594
|
||||||
|
.. nonce: BjU-m2
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Add note to exception raised in ``PyErr_SetObject`` when normalization
|
||||||
|
fails.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-09-13-57-35
|
||||||
|
.. gh-issue: 90997
|
||||||
|
.. nonce: J-Yhn2
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Shrink the number of inline :opcode:`CACHE` entries used by
|
||||||
|
:opcode:`LOAD_GLOBAL`.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-08-08-37-36
|
||||||
|
.. gh-issue: 102491
|
||||||
|
.. nonce: SFvvsC
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Improve import time of ``platform`` by removing IronPython version parsing.
|
||||||
|
The IronPython version parsing was not functional (see
|
||||||
|
https://github.com/IronLanguages/ironpython3/issues/1667).
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-06-10-02-22
|
||||||
|
.. gh-issue: 101291
|
||||||
|
.. nonce: 0FT2QS
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Rearrage bits in first field (after header) of PyLongObject. * Bits 0 and 1:
|
||||||
|
1 - sign. I.e. 0 for positive numbers, 1 for zero and 2 for negative
|
||||||
|
numbers. * Bit 2 reserved (probably for the immortal bit) * Bits 3+ the
|
||||||
|
unsigned size.
|
||||||
|
|
||||||
|
This makes a few operations slightly more efficient, and will enable a more
|
||||||
|
compact and faster 2s-complement representation of most ints in future.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-04-06-48-34
|
||||||
|
.. gh-issue: 102397
|
||||||
|
.. nonce: ACJaOf
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Fix segfault from race condition in signal handling during garbage
|
||||||
|
collection. Patch by Kumar Aditya.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-03-23-21-16
|
||||||
|
.. gh-issue: 102406
|
||||||
|
.. nonce: XLqYO3
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
:mod:`codecs` encoding/decoding errors now get the context information
|
||||||
|
(which operation and which codecs) attached as :pep:`678` notes instead of
|
||||||
|
through chaining a new instance of the exception.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-02-13-49-21
|
||||||
|
.. gh-issue: 102281
|
||||||
|
.. nonce: QCuu2N
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Fix potential nullptr dereference and use of uninitialized memory in
|
||||||
|
fileutils. Patch by Max Bachmann.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-27-15-48-31
|
||||||
|
.. gh-issue: 102300
|
||||||
|
.. nonce: 8o-_Mt
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Reuse operands with refcount of 1 in float specializations of BINARY_OP.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-26-13-12-55
|
||||||
|
.. gh-issue: 102213
|
||||||
|
.. nonce: fTH8X7
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Fix performance loss when accessing an object's attributes with
|
||||||
|
``__getattr__`` defined.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-26-11-43-56
|
||||||
|
.. gh-issue: 102255
|
||||||
|
.. nonce: cRnI5x
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Improve build support for the Xbox. Patch by Max Bachmann.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-21-23-42-39
|
||||||
|
.. gh-issue: 102027
|
||||||
|
.. nonce: fQARG0
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Fix SSE2 and SSE3 detection in ``_blake2`` internal module. Patch by Max
|
||||||
|
Bachmann.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-21-17-22-06
|
||||||
|
.. gh-issue: 101865
|
||||||
|
.. nonce: fwrTOA
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Deprecate ``co_lnotab`` in code objects, schedule it for removal in Python
|
||||||
|
3.14
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. bpo: 1635741
|
||||||
|
.. date: 2020-07-04-09-04-41
|
||||||
|
.. nonce: ZsP31Y
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Adapt :mod:`!_pickle` to :pep:`687`. Patch by Mohamed Koubaa and Erlend
|
||||||
|
Aasland.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-28-15-12-53
|
||||||
|
.. gh-issue: 103085
|
||||||
|
.. nonce: DqNehf
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Pure python :func:`locale.getencoding()` will not warn deprecation.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-28-05-14-59
|
||||||
|
.. gh-issue: 103068
|
||||||
|
.. nonce: YQTmrA
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
It's no longer possible to register conditional breakpoints in
|
||||||
|
:class:`~pdb.Pdb` that raise :exc:`SyntaxError`. Patch by Tian Gao.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-27-19-21-51
|
||||||
|
.. gh-issue: 102549
|
||||||
|
.. nonce: NQ6Nlv
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Don't ignore exceptions in member type creation.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-27-15-01-16
|
||||||
|
.. gh-issue: 103056
|
||||||
|
.. nonce: -Efh5Q
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Ensure final ``_generate_next_value_`` is a ``staticmethod``.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-26-20-54-57
|
||||||
|
.. gh-issue: 103046
|
||||||
|
.. nonce: xBlA2l
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Display current line label correctly in :mod:`dis` when ``show_caches`` is
|
||||||
|
False and ``lasti`` points to a CACHE entry.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-25-16-57-18
|
||||||
|
.. gh-issue: 102433
|
||||||
|
.. nonce: L-7x2Q
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
:func:`isinstance` checks against :func:`runtime-checkable protocols
|
||||||
|
<typing.runtime_checkable>` now use :func:`inspect.getattr_static` rather
|
||||||
|
than :func:`hasattr` to lookup whether attributes exist. This means that
|
||||||
|
descriptors and :meth:`~object.__getattr__` methods are no longer
|
||||||
|
unexpectedly evaluated during ``isinstance()`` checks against
|
||||||
|
runtime-checkable protocols. However, it may also mean that some objects
|
||||||
|
which used to be considered instances of a runtime-checkable protocol may no
|
||||||
|
longer be considered instances of that protocol on Python 3.12+, and vice
|
||||||
|
versa. Most users are unlikely to be affected by this change. Patch by Alex
|
||||||
|
Waygood.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-25-02-08-05
|
||||||
|
.. gh-issue: 103023
|
||||||
|
.. nonce: Qfn7Hl
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
It's no longer possible to register expressions to display in
|
||||||
|
:class:`~pdb.Pdb` that raise :exc:`SyntaxError`. Patch by Tian Gao.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-23-13-34-33
|
||||||
|
.. gh-issue: 102947
|
||||||
|
.. nonce: cTwcpU
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Improve traceback when :func:`dataclasses.fields` is called on a
|
||||||
|
non-dataclass. Patch by Alex Waygood
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-22-16-15-18
|
||||||
|
.. gh-issue: 102780
|
||||||
|
.. nonce: NEcljy
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
The :class:`asyncio.Timeout` context manager now works reliably even when
|
||||||
|
performing cleanup due to task cancellation. Previously it could raise a
|
||||||
|
:exc:`~asyncio.CancelledError` instead of an :exc:`~asyncio.TimeoutError` in
|
||||||
|
such cases.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-21-15-17-07
|
||||||
|
.. gh-issue: 102871
|
||||||
|
.. nonce: U9mchn
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Remove support for obsolete browsers from :mod:`webbrowser`. Removed
|
||||||
|
browsers include Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape,
|
||||||
|
Firebird, and Firefox versions 35 and below.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-20-12-21-19
|
||||||
|
.. gh-issue: 102839
|
||||||
|
.. nonce: RjRi12
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Improve performance of :func:`math.log` arguments handling by removing the
|
||||||
|
argument clinic.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-19-15-30-59
|
||||||
|
.. gh-issue: 102828
|
||||||
|
.. nonce: NKClXg
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Add the ``onexc`` arg to :func:`shutil.rmtree`, which is like ``onerror``
|
||||||
|
but expects an exception instance rather than an exc_info tuple. Deprecate
|
||||||
|
``onerror``.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-18-14-59-21
|
||||||
|
.. gh-issue: 88965
|
||||||
|
.. nonce: kA70Km
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
typing: Fix a bug relating to substitution in custom classes generic over a
|
||||||
|
:class:`~typing.ParamSpec`. Previously, if the ``ParamSpec`` was substituted
|
||||||
|
with a parameters list that itself contained a :class:`~typing.TypeVar`, the
|
||||||
|
``TypeVar`` in the parameters list could not be subsequently substituted.
|
||||||
|
This is now fixed.
|
||||||
|
|
||||||
|
Patch by Nikita Sobolev.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-17-19-14-26
|
||||||
|
.. gh-issue: 76846
|
||||||
|
.. nonce: KEamjK
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix issue where ``__new__()`` and ``__init__()`` methods of
|
||||||
|
:class:`pathlib.PurePath` and :class:`~pathlib.Path` subclasses were not
|
||||||
|
called in some circumstances.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-16-16-43-04
|
||||||
|
.. gh-issue: 78530
|
||||||
|
.. nonce: Lr8eq_
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
:func:`asyncio.wait` now accepts generators yielding tasks. Patch by Kumar
|
||||||
|
Aditya.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-16-08-17-29
|
||||||
|
.. gh-issue: 102748
|
||||||
|
.. nonce: WNACpI
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
:func:`asyncio.iscoroutine` now returns ``False`` for generators as
|
||||||
|
:mod:`asyncio` does not support legacy generator-based coroutines. Patch by
|
||||||
|
Kumar Aditya.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-13-18-27-00
|
||||||
|
.. gh-issue: 102670
|
||||||
|
.. nonce: GyoThv
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Optimized fmean(), correlation(), covariance(), and linear_regression()
|
||||||
|
using the new math.sumprod() function.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-13-12-05-55
|
||||||
|
.. gh-issue: 102615
|
||||||
|
.. nonce: NcA_ZL
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Typing: Improve the ``repr`` of generic aliases for classes generic over a
|
||||||
|
:class:`~typing.ParamSpec`. (Use square brackets to represent a parameter
|
||||||
|
list.)
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-10-13-51-21
|
||||||
|
.. gh-issue: 100112
|
||||||
|
.. nonce: VHh4mw
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
:meth:`asyncio.Task.get_coro` now always returns a coroutine when wrapping
|
||||||
|
an awaitable object. Patch by Kumar Aditya.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-10-13-21-16
|
||||||
|
.. gh-issue: 102578
|
||||||
|
.. nonce: -gujoI
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Speed up setting or deleting mutable attributes on non-dataclass subclasses
|
||||||
|
of frozen dataclasses. Due to the implementation of ``__setattr__`` and
|
||||||
|
``__delattr__`` for frozen dataclasses, this previously had a time
|
||||||
|
complexity of ``O(n)``. It now has a time complexity of ``O(1)``.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-08-23-08-38
|
||||||
|
.. gh-issue: 102519
|
||||||
|
.. nonce: wlcsFI
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Add :func:`os.listdrives`, :func:`os.listvolumes` and :func:`os.listmounts`
|
||||||
|
functions on Windows for enumerating drives, volumes and mount points
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-04-20-58-29
|
||||||
|
.. gh-issue: 74468
|
||||||
|
.. nonce: Ac5Ew_
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Attribute name of the extracted :mod:`tarfile` file object now holds
|
||||||
|
filename of itself rather than of the archive it is contained in. Patch by
|
||||||
|
Oleg Iarygin.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-03-19-53-08
|
||||||
|
.. gh-issue: 102378
|
||||||
|
.. nonce: kRdOZc
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Private helper method ``inspect._signature_strip_non_python_syntax`` will no
|
||||||
|
longer strip ``/`` from the input string.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-26-17-29-57
|
||||||
|
.. gh-issue: 79940
|
||||||
|
.. nonce: SAfmAy
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Add :func:`inspect.getasyncgenstate` and :func:`inspect.getasyncgenlocals`.
|
||||||
|
Patch by Thomas Krennwallner.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-21-11-56-16
|
||||||
|
.. gh-issue: 102103
|
||||||
|
.. nonce: Dj0WEj
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Add ``module`` argument to :func:`dataclasses.make_dataclass` and make
|
||||||
|
classes produced by it pickleable.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-20-16-47-56
|
||||||
|
.. gh-issue: 102069
|
||||||
|
.. nonce: FS7f1j
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix ``__weakref__`` descriptor generation for custom dataclasses.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-19-01-49-46
|
||||||
|
.. gh-issue: 102038
|
||||||
|
.. nonce: n3if3D
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Skip a ``stat`` in :mod:`site` if we have already found a ``pyvenv.cfg``
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-18-23-03-50
|
||||||
|
.. gh-issue: 98886
|
||||||
|
.. nonce: LkKGWv
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix issues when defining dataclasses that have fields with specific
|
||||||
|
underscore names that aren't clearly reserved by :mod:`dataclasses`.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-09-19-40-41
|
||||||
|
.. gh-issue: 101673
|
||||||
|
.. nonce: mX-Ppq
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix a :mod:`pdb` bug where ``ll`` clears the changes to local variables.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-01-27-14-51-07
|
||||||
|
.. gh-issue: 101313
|
||||||
|
.. nonce: 10AEXh
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Added -h and --help arguments to the webbrowser CLI
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2022-12-20-10-55-14
|
||||||
|
.. gh-issue: 100372
|
||||||
|
.. nonce: utfP65
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
:meth:`ssl.SSLContext.load_verify_locations` no longer incorrectly accepts
|
||||||
|
some cases of trailing data when parsing DER.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2022-12-16-10-27-58
|
||||||
|
.. gh-issue: 89727
|
||||||
|
.. nonce: y64ZLM
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix pathlib.Path.walk RecursionError on deep directory trees by rewriting it
|
||||||
|
using iteration instead of recursion.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2022-12-09-11-21-38
|
||||||
|
.. gh-issue: 100131
|
||||||
|
.. nonce: v863yR
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Added an optional ``delete`` keyword argument to
|
||||||
|
:class:`tempfile.TemporaryDirectory`.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2022-11-24-13-23-07
|
||||||
|
.. gh-issue: 48330
|
||||||
|
.. nonce: 6uAX9F
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Added ``--durations`` command line option, showing the N slowest test cases.
|
||||||
|
:class:`unittest.TextTestRunner` and :class:`unittest.TextTestResult`
|
||||||
|
constructors accept a new *durations* keyword argument. Subclasses should
|
||||||
|
take this into account or accept ``**kwargs``. Added
|
||||||
|
:meth:`unittest.TestResult.addDuration` method and
|
||||||
|
:attr:`unittest.TestResult.collectedDurations` attribute.
|
||||||
|
|
||||||
|
(Contributed by Giampaolo Rodola)
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2022-10-10-19-14-51
|
||||||
|
.. gh-issue: 98169
|
||||||
|
.. nonce: DBWIxL
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix :func:`dataclasses.astuple` crash when :class:`collections.defaultdict`
|
||||||
|
is present in the attributes.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2022-09-19-08-12-58
|
||||||
|
.. gh-issue: 96931
|
||||||
|
.. nonce: x0WQhh
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix incorrect results from :meth:`ssl.SSLSocket.shared_ciphers`
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2022-07-30-23-01-43
|
||||||
|
.. gh-issue: 95495
|
||||||
|
.. nonce: RA-q1d
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
When built against OpenSSL 3.0, the :mod:`ssl` module had a bug where it
|
||||||
|
reported unauthenticated EOFs (i.e. without close_notify) as a clean
|
||||||
|
TLS-level EOF. It now raises :exc:`~ssl.SSLEOFError`, matching the behavior
|
||||||
|
in previous versions of OpenSSL. The :attr:`~ssl.SSLContext.options`
|
||||||
|
attribute on :class:`~ssl.SSLContext` also no longer includes
|
||||||
|
:data:`~ssl.OP_IGNORE_UNEXPECTED_EOF` by default. This option may be set to
|
||||||
|
specify the previous OpenSSL 3.0 behavior.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2022-07-09-13-07-30
|
||||||
|
.. gh-issue: 94684
|
||||||
|
.. nonce: nV5yno
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Now :func:`uuid.uuid3` and :func:`uuid.uuid5` functions support
|
||||||
|
:class:`bytes` objects as their *name* argument.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2022-06-30-21-28-41
|
||||||
|
.. gh-issue: 94440
|
||||||
|
.. nonce: LtgX0d
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix a :mod:`concurrent.futures.process` bug where ``ProcessPoolExecutor``
|
||||||
|
shutdown could hang after a future has been quickly submitted and canceled.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2022-04-11-18-34-33
|
||||||
|
.. gh-issue: 72346
|
||||||
|
.. nonce: pC7gnM
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Added deprecation warning to *isdst* parameter of
|
||||||
|
:func:`email.utils.localtime`.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. bpo: 36305
|
||||||
|
.. date: 2019-03-15-22-50-27
|
||||||
|
.. nonce: Pbkv6u
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix handling of Windows filenames that resemble drives, such as ``./a:b``,
|
||||||
|
in :mod:`pathlib`.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-29-14-51-39
|
||||||
|
.. gh-issue: 103112
|
||||||
|
.. nonce: XgGSEO
|
||||||
|
.. section: Documentation
|
||||||
|
|
||||||
|
Add docstring to :meth:`http.client.HTTPResponse.read` to fix ``pydoc``
|
||||||
|
output.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-23-23-25-18
|
||||||
|
.. gh-issue: 102980
|
||||||
|
.. nonce: Zps4QF
|
||||||
|
.. section: Tests
|
||||||
|
|
||||||
|
Improve test coverage on :mod:`pdb`.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-08-13-54-20
|
||||||
|
.. gh-issue: 102537
|
||||||
|
.. nonce: Vfplpb
|
||||||
|
.. section: Tests
|
||||||
|
|
||||||
|
Adjust the error handling strategy in
|
||||||
|
``test_zoneinfo.TzPathTest.python_tzpath_context``. Patch by Paul Ganssle.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-01-27-18-10-40
|
||||||
|
.. gh-issue: 101377
|
||||||
|
.. nonce: IJGpqh
|
||||||
|
.. section: Tests
|
||||||
|
|
||||||
|
Improved test_locale_calendar_formatweekday of calendar.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-23-20-58-56
|
||||||
|
.. gh-issue: 102973
|
||||||
|
.. nonce: EaJUrw
|
||||||
|
.. section: Build
|
||||||
|
|
||||||
|
Add a dev container (along with accompanying Dockerfile) for development
|
||||||
|
purposes.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-15-02-03-39
|
||||||
|
.. gh-issue: 102711
|
||||||
|
.. nonce: zTkjts
|
||||||
|
.. section: Build
|
||||||
|
|
||||||
|
Fix ``-Wstrict-prototypes`` compiler warnings.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-14-10-52-43
|
||||||
|
.. gh-issue: 102690
|
||||||
|
.. nonce: sbXtqk
|
||||||
|
.. section: Windows
|
||||||
|
|
||||||
|
Update :mod:`webbrowser` to fall back to Microsoft Edge instead of Internet
|
||||||
|
Explorer.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-22-17-26-10
|
||||||
|
.. gh-issue: 99726
|
||||||
|
.. nonce: 76t957
|
||||||
|
.. section: Windows
|
||||||
|
|
||||||
|
Improves correctness of stat results for Windows, and uses faster API when
|
||||||
|
available
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-03-21-01-27-07
|
||||||
|
.. gh-issue: 102809
|
||||||
|
.. nonce: 2F1Byz
|
||||||
|
.. section: Tools/Demos
|
||||||
|
|
||||||
|
``Misc/gdbinit`` was removed.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2023-02-18-00-55-14
|
||||||
|
.. gh-issue: 102013
|
||||||
|
.. nonce: 83mrtI
|
||||||
|
.. section: C API
|
||||||
|
|
||||||
|
Add a new (unstable) C-API function for iterating over GC'able objects using
|
||||||
|
a callback: ``PyUnstable_VisitObjects``.
|
|
@ -1 +0,0 @@
|
||||||
Fix ``-Wstrict-prototypes`` compiler warnings.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add a dev container (along with accompanying Dockerfile) for development
|
|
||||||
purposes.
|
|
|
@ -1 +0,0 @@
|
||||||
Add a new (unstable) C-API function for iterating over GC'able objects using a callback: ``PyUnstable_VisitObjects``.
|
|
|
@ -1 +0,0 @@
|
||||||
Adapt :mod:`!_pickle` to :pep:`687`. Patch by Mohamed Koubaa and Erlend Aasland.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Deprecate ``co_lnotab`` in code objects, schedule it for removal in Python
|
|
||||||
3.14
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix SSE2 and SSE3 detection in ``_blake2`` internal module. Patch by Max
|
|
||||||
Bachmann.
|
|
|
@ -1 +0,0 @@
|
||||||
Improve build support for the Xbox. Patch by Max Bachmann.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix performance loss when accessing an object's attributes with ``__getattr__`` defined.
|
|
|
@ -1 +0,0 @@
|
||||||
Reuse operands with refcount of 1 in float specializations of BINARY_OP.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix potential nullptr dereference and use of uninitialized memory in fileutils. Patch by Max Bachmann.
|
|
|
@ -1 +0,0 @@
|
||||||
:mod:`codecs` encoding/decoding errors now get the context information (which operation and which codecs) attached as :pep:`678` notes instead of through chaining a new instance of the exception.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix segfault from race condition in signal handling during garbage collection.
|
|
||||||
Patch by Kumar Aditya.
|
|
|
@ -1,7 +0,0 @@
|
||||||
Rearrage bits in first field (after header) of PyLongObject.
|
|
||||||
* Bits 0 and 1: 1 - sign. I.e. 0 for positive numbers, 1 for zero and 2 for negative numbers.
|
|
||||||
* Bit 2 reserved (probably for the immortal bit)
|
|
||||||
* Bits 3+ the unsigned size.
|
|
||||||
|
|
||||||
This makes a few operations slightly more efficient, and will enable a more
|
|
||||||
compact and faster 2s-complement representation of most ints in future.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Improve import time of ``platform`` by removing IronPython version parsing. The IronPython version parsing
|
|
||||||
was not functional (see https://github.com/IronLanguages/ironpython3/issues/1667).
|
|
|
@ -1,2 +0,0 @@
|
||||||
Shrink the number of inline :opcode:`CACHE` entries used by
|
|
||||||
:opcode:`LOAD_GLOBAL`.
|
|
|
@ -1 +0,0 @@
|
||||||
Add note to exception raised in ``PyErr_SetObject`` when normalization fails.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Add :c:func:`PyErr_DisplayException` which takes just an exception instance,
|
|
||||||
to replace the legacy :c:func:`PyErr_Display` which takes the ``(typ, exc,
|
|
||||||
tb)`` triplet.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix overflow when creating very large dict.
|
|
|
@ -1 +0,0 @@
|
||||||
Replace all occurrences of ``COMPARE_AND_BRANCH`` with :opcode:`COMPARE_OP`.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Add :data:`sys.last_exc` and deprecate :data:`sys.last_type`, :data:`sys.last_value`
|
|
||||||
and :data:`sys.last_traceback`,
|
|
||||||
which hold the same information in its legacy form.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed ``stacktop`` value on tracing entries to avoid corruption on garbage collection.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Removed :opcode:`JUMP_IF_FALSE_OR_POP` and :opcode:`JUMP_IF_TRUE_OR_POP`
|
|
||||||
instructions.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Reduce the number of inline :opcode:`CACHE` entries for
|
|
||||||
:opcode:`BINARY_SUBSCR`.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Deprecated ``_PyErr_ChainExceptions`` in favour of
|
|
||||||
``_PyErr_ChainExceptions1``.
|
|
|
@ -1 +0,0 @@
|
||||||
Add docstring to :meth:`http.client.HTTPResponse.read` to fix ``pydoc`` output.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix handling of Windows filenames that resemble drives, such as ``./a:b``,
|
|
||||||
in :mod:`pathlib`.
|
|
|
@ -1 +0,0 @@
|
||||||
Added deprecation warning to *isdst* parameter of :func:`email.utils.localtime`.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix a :mod:`concurrent.futures.process` bug where ``ProcessPoolExecutor`` shutdown
|
|
||||||
could hang after a future has been quickly submitted and canceled.
|
|
|
@ -1 +0,0 @@
|
||||||
Now :func:`uuid.uuid3` and :func:`uuid.uuid5` functions support :class:`bytes` objects as their *name* argument.
|
|
|
@ -1,7 +0,0 @@
|
||||||
When built against OpenSSL 3.0, the :mod:`ssl` module had a bug where it
|
|
||||||
reported unauthenticated EOFs (i.e. without close_notify) as a clean TLS-level
|
|
||||||
EOF. It now raises :exc:`~ssl.SSLEOFError`, matching the behavior in previous
|
|
||||||
versions of OpenSSL. The :attr:`~ssl.SSLContext.options` attribute on
|
|
||||||
:class:`~ssl.SSLContext` also no longer includes
|
|
||||||
:data:`~ssl.OP_IGNORE_UNEXPECTED_EOF` by default. This option may be set to
|
|
||||||
specify the previous OpenSSL 3.0 behavior.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix incorrect results from :meth:`ssl.SSLSocket.shared_ciphers`
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix :func:`dataclasses.astuple` crash when :class:`collections.defaultdict`
|
|
||||||
is present in the attributes.
|
|
|
@ -1,8 +0,0 @@
|
||||||
Added ``--durations`` command line option, showing the N slowest test cases.
|
|
||||||
:class:`unittest.TextTestRunner` and :class:`unittest.TextTestResult`
|
|
||||||
constructors accept a new *durations* keyword argument. Subclasses should take
|
|
||||||
this into account or accept ``**kwargs``. Added
|
|
||||||
:meth:`unittest.TestResult.addDuration` method and
|
|
||||||
:attr:`unittest.TestResult.collectedDurations` attribute.
|
|
||||||
|
|
||||||
(Contributed by Giampaolo Rodola)
|
|
|
@ -1 +0,0 @@
|
||||||
Added an optional ``delete`` keyword argument to :class:`tempfile.TemporaryDirectory`.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix pathlib.Path.walk RecursionError on deep directory trees by rewriting it using iteration instead of recursion.
|
|
|
@ -1,2 +0,0 @@
|
||||||
:meth:`ssl.SSLContext.load_verify_locations` no longer incorrectly accepts
|
|
||||||
some cases of trailing data when parsing DER.
|
|
|
@ -1 +0,0 @@
|
||||||
Added -h and --help arguments to the webbrowser CLI
|
|
|
@ -1 +0,0 @@
|
||||||
Fix a :mod:`pdb` bug where ``ll`` clears the changes to local variables.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix issues when defining dataclasses that have fields with specific underscore names that aren't clearly reserved by :mod:`dataclasses`.
|
|
|
@ -1 +0,0 @@
|
||||||
Skip a ``stat`` in :mod:`site` if we have already found a ``pyvenv.cfg``
|
|
|
@ -1 +0,0 @@
|
||||||
Fix ``__weakref__`` descriptor generation for custom dataclasses.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add ``module`` argument to :func:`dataclasses.make_dataclass` and make
|
|
||||||
classes produced by it pickleable.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add :func:`inspect.getasyncgenstate` and :func:`inspect.getasyncgenlocals`.
|
|
||||||
Patch by Thomas Krennwallner.
|
|
|
@ -1 +0,0 @@
|
||||||
Private helper method ``inspect._signature_strip_non_python_syntax`` will no longer strip ``/`` from the input string.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Attribute name of the extracted :mod:`tarfile` file object now holds
|
|
||||||
filename of itself rather than of the archive it is contained in.
|
|
||||||
Patch by Oleg Iarygin.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add :func:`os.listdrives`, :func:`os.listvolumes` and :func:`os.listmounts`
|
|
||||||
functions on Windows for enumerating drives, volumes and mount points
|
|
|
@ -1,4 +0,0 @@
|
||||||
Speed up setting or deleting mutable attributes on non-dataclass subclasses of
|
|
||||||
frozen dataclasses. Due to the implementation of ``__setattr__`` and
|
|
||||||
``__delattr__`` for frozen dataclasses, this previously had a time complexity
|
|
||||||
of ``O(n)``. It now has a time complexity of ``O(1)``.
|
|
|
@ -1 +0,0 @@
|
||||||
:meth:`asyncio.Task.get_coro` now always returns a coroutine when wrapping an awaitable object. Patch by Kumar Aditya.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Typing: Improve the ``repr`` of generic aliases for classes generic over a
|
|
||||||
:class:`~typing.ParamSpec`. (Use square brackets to represent a parameter
|
|
||||||
list.)
|
|
|
@ -1,2 +0,0 @@
|
||||||
Optimized fmean(), correlation(), covariance(), and linear_regression()
|
|
||||||
using the new math.sumprod() function.
|
|
|
@ -1,3 +0,0 @@
|
||||||
:func:`asyncio.iscoroutine` now returns ``False`` for generators as
|
|
||||||
:mod:`asyncio` does not support legacy generator-based coroutines.
|
|
||||||
Patch by Kumar Aditya.
|
|
|
@ -1 +0,0 @@
|
||||||
:func:`asyncio.wait` now accepts generators yielding tasks. Patch by Kumar Aditya.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix issue where ``__new__()`` and ``__init__()`` methods of
|
|
||||||
:class:`pathlib.PurePath` and :class:`~pathlib.Path` subclasses were not
|
|
||||||
called in some circumstances.
|
|
|
@ -1,7 +0,0 @@
|
||||||
typing: Fix a bug relating to substitution in custom classes generic over a
|
|
||||||
:class:`~typing.ParamSpec`. Previously, if the ``ParamSpec`` was substituted
|
|
||||||
with a parameters list that itself contained a :class:`~typing.TypeVar`, the
|
|
||||||
``TypeVar`` in the parameters list could not be subsequently substituted. This
|
|
||||||
is now fixed.
|
|
||||||
|
|
||||||
Patch by Nikita Sobolev.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Add the ``onexc`` arg to :func:`shutil.rmtree`, which is like ``onerror``
|
|
||||||
but expects an exception instance rather than an exc_info tuple. Deprecate
|
|
||||||
``onerror``.
|
|
|
@ -1 +0,0 @@
|
||||||
Improve performance of :func:`math.log` arguments handling by removing the argument clinic.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Remove support for obsolete browsers from :mod:`webbrowser`.
|
|
||||||
Removed browsers include Grail, Mosaic, Netscape, Galeon, Skipstone,
|
|
||||||
Iceape, Firebird, and Firefox versions 35 and below.
|
|
|
@ -1,3 +0,0 @@
|
||||||
The :class:`asyncio.Timeout` context manager now works reliably even when performing cleanup due
|
|
||||||
to task cancellation. Previously it could raise a
|
|
||||||
:exc:`~asyncio.CancelledError` instead of an :exc:`~asyncio.TimeoutError` in such cases.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Improve traceback when :func:`dataclasses.fields` is called on a
|
|
||||||
non-dataclass. Patch by Alex Waygood
|
|
|
@ -1,2 +0,0 @@
|
||||||
It's no longer possible to register expressions to display in
|
|
||||||
:class:`~pdb.Pdb` that raise :exc:`SyntaxError`. Patch by Tian Gao.
|
|
|
@ -1,10 +0,0 @@
|
||||||
:func:`isinstance` checks against :func:`runtime-checkable protocols
|
|
||||||
<typing.runtime_checkable>` now use :func:`inspect.getattr_static` rather
|
|
||||||
than :func:`hasattr` to lookup whether attributes exist. This means that
|
|
||||||
descriptors and :meth:`~object.__getattr__` methods are no longer
|
|
||||||
unexpectedly evaluated during ``isinstance()`` checks against
|
|
||||||
runtime-checkable protocols. However, it may also mean that some objects
|
|
||||||
which used to be considered instances of a runtime-checkable protocol may no
|
|
||||||
longer be considered instances of that protocol on Python 3.12+, and vice
|
|
||||||
versa. Most users are unlikely to be affected by this change. Patch by Alex
|
|
||||||
Waygood.
|
|
|
@ -1 +0,0 @@
|
||||||
Display current line label correctly in :mod:`dis` when ``show_caches`` is False and ``lasti`` points to a CACHE entry.
|
|
|
@ -1 +0,0 @@
|
||||||
Ensure final ``_generate_next_value_`` is a ``staticmethod``.
|
|
|
@ -1 +0,0 @@
|
||||||
Don't ignore exceptions in member type creation.
|
|
|
@ -1,2 +0,0 @@
|
||||||
It's no longer possible to register conditional breakpoints in
|
|
||||||
:class:`~pdb.Pdb` that raise :exc:`SyntaxError`. Patch by Tian Gao.
|
|
|
@ -1 +0,0 @@
|
||||||
Pure python :func:`locale.getencoding()` will not warn deprecation.
|
|
|
@ -1 +0,0 @@
|
||||||
Improved test_locale_calendar_formatweekday of calendar.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Adjust the error handling strategy in
|
|
||||||
``test_zoneinfo.TzPathTest.python_tzpath_context``. Patch by Paul Ganssle.
|
|
|
@ -1 +0,0 @@
|
||||||
Improve test coverage on :mod:`pdb`.
|
|
|
@ -1 +0,0 @@
|
||||||
``Misc/gdbinit`` was removed.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Improves correctness of stat results for Windows, and uses faster API when
|
|
||||||
available
|
|
|
@ -1 +0,0 @@
|
||||||
Update :mod:`webbrowser` to fall back to Microsoft Edge instead of Internet Explorer.
|
|
|
@ -1,4 +1,4 @@
|
||||||
This is Python version 3.12.0 alpha 6
|
This is Python version 3.12.0 alpha 7
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
.. image:: https://github.com/python/cpython/workflows/Tests/badge.svg
|
.. image:: https://github.com/python/cpython/workflows/Tests/badge.svg
|
||||||
|
|
Loading…
Reference in New Issue