Python 3.12.0a7

This commit is contained in:
Thomas Wouters 2023-04-04 17:51:44 +02:00
parent 89e6a34461
commit b861ba4a82
76 changed files with 822 additions and 224 deletions

View File

@ -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.

View File

@ -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,8 +5183,7 @@ 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'
@ -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,9 +5221,9 @@ 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'
@ -5240,15 +5240,15 @@ 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 '
@ -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'

745
Misc/NEWS.d/3.12.0a7.rst Normal file
View File

@ -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``.

View File

@ -1 +0,0 @@
Fix ``-Wstrict-prototypes`` compiler warnings.

View File

@ -1,2 +0,0 @@
Add a dev container (along with accompanying Dockerfile) for development
purposes.

View File

@ -1 +0,0 @@
Add a new (unstable) C-API function for iterating over GC'able objects using a callback: ``PyUnstable_VisitObjects``.

View File

@ -1 +0,0 @@
Adapt :mod:`!_pickle` to :pep:`687`. Patch by Mohamed Koubaa and Erlend Aasland.

View File

@ -1,2 +0,0 @@
Deprecate ``co_lnotab`` in code objects, schedule it for removal in Python
3.14

View File

@ -1,2 +0,0 @@
Fix SSE2 and SSE3 detection in ``_blake2`` internal module. Patch by Max
Bachmann.

View File

@ -1 +0,0 @@
Improve build support for the Xbox. Patch by Max Bachmann.

View File

@ -1 +0,0 @@
Fix performance loss when accessing an object's attributes with ``__getattr__`` defined.

View File

@ -1 +0,0 @@
Reuse operands with refcount of 1 in float specializations of BINARY_OP.

View File

@ -1 +0,0 @@
Fix potential nullptr dereference and use of uninitialized memory in fileutils. Patch by Max Bachmann.

View File

@ -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.

View File

@ -1,2 +0,0 @@
Fix segfault from race condition in signal handling during garbage collection.
Patch by Kumar Aditya.

View File

@ -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.

View File

@ -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).

View File

@ -1,2 +0,0 @@
Shrink the number of inline :opcode:`CACHE` entries used by
:opcode:`LOAD_GLOBAL`.

View File

@ -1 +0,0 @@
Add note to exception raised in ``PyErr_SetObject`` when normalization fails.

View File

@ -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.

View File

@ -1 +0,0 @@
Fix overflow when creating very large dict.

View File

@ -1 +0,0 @@
Replace all occurrences of ``COMPARE_AND_BRANCH`` with :opcode:`COMPARE_OP`.

View File

@ -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.

View File

@ -1 +0,0 @@
Fixed ``stacktop`` value on tracing entries to avoid corruption on garbage collection.

View File

@ -1,2 +0,0 @@
Removed :opcode:`JUMP_IF_FALSE_OR_POP` and :opcode:`JUMP_IF_TRUE_OR_POP`
instructions.

View File

@ -1,2 +0,0 @@
Reduce the number of inline :opcode:`CACHE` entries for
:opcode:`BINARY_SUBSCR`.

View File

@ -1,2 +0,0 @@
Deprecated ``_PyErr_ChainExceptions`` in favour of
``_PyErr_ChainExceptions1``.

View File

@ -1 +0,0 @@
Add docstring to :meth:`http.client.HTTPResponse.read` to fix ``pydoc`` output.

View File

@ -1,2 +0,0 @@
Fix handling of Windows filenames that resemble drives, such as ``./a:b``,
in :mod:`pathlib`.

View File

@ -1 +0,0 @@
Added deprecation warning to *isdst* parameter of :func:`email.utils.localtime`.

View File

@ -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.

View File

@ -1 +0,0 @@
Now :func:`uuid.uuid3` and :func:`uuid.uuid5` functions support :class:`bytes` objects as their *name* argument.

View File

@ -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.

View File

@ -1 +0,0 @@
Fix incorrect results from :meth:`ssl.SSLSocket.shared_ciphers`

View File

@ -1,2 +0,0 @@
Fix :func:`dataclasses.astuple` crash when :class:`collections.defaultdict`
is present in the attributes.

View File

@ -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)

View File

@ -1 +0,0 @@
Added an optional ``delete`` keyword argument to :class:`tempfile.TemporaryDirectory`.

View File

@ -1 +0,0 @@
Fix pathlib.Path.walk RecursionError on deep directory trees by rewriting it using iteration instead of recursion.

View File

@ -1,2 +0,0 @@
:meth:`ssl.SSLContext.load_verify_locations` no longer incorrectly accepts
some cases of trailing data when parsing DER.

View File

@ -1 +0,0 @@
Added -h and --help arguments to the webbrowser CLI

View File

@ -1 +0,0 @@
Fix a :mod:`pdb` bug where ``ll`` clears the changes to local variables.

View File

@ -1 +0,0 @@
Fix issues when defining dataclasses that have fields with specific underscore names that aren't clearly reserved by :mod:`dataclasses`.

View File

@ -1 +0,0 @@
Skip a ``stat`` in :mod:`site` if we have already found a ``pyvenv.cfg``

View File

@ -1 +0,0 @@
Fix ``__weakref__`` descriptor generation for custom dataclasses.

View File

@ -1,2 +0,0 @@
Add ``module`` argument to :func:`dataclasses.make_dataclass` and make
classes produced by it pickleable.

View File

@ -1,2 +0,0 @@
Add :func:`inspect.getasyncgenstate` and :func:`inspect.getasyncgenlocals`.
Patch by Thomas Krennwallner.

View File

@ -1 +0,0 @@
Private helper method ``inspect._signature_strip_non_python_syntax`` will no longer strip ``/`` from the input string.

View File

@ -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.

View File

@ -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

View File

@ -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)``.

View File

@ -1 +0,0 @@
:meth:`asyncio.Task.get_coro` now always returns a coroutine when wrapping an awaitable object. Patch by Kumar Aditya.

View File

@ -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.)

View File

@ -1,2 +0,0 @@
Optimized fmean(), correlation(), covariance(), and linear_regression()
using the new math.sumprod() function.

View File

@ -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.

View File

@ -1 +0,0 @@
:func:`asyncio.wait` now accepts generators yielding tasks. Patch by Kumar Aditya.

View File

@ -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.

View File

@ -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.

View File

@ -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``.

View File

@ -1 +0,0 @@
Improve performance of :func:`math.log` arguments handling by removing the argument clinic.

View File

@ -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.

View File

@ -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.

View File

@ -1,2 +0,0 @@
Improve traceback when :func:`dataclasses.fields` is called on a
non-dataclass. Patch by Alex Waygood

View File

@ -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.

View File

@ -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.

View File

@ -1 +0,0 @@
Display current line label correctly in :mod:`dis` when ``show_caches`` is False and ``lasti`` points to a CACHE entry.

View File

@ -1 +0,0 @@
Ensure final ``_generate_next_value_`` is a ``staticmethod``.

View File

@ -1 +0,0 @@
Don't ignore exceptions in member type creation.

View File

@ -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.

View File

@ -1 +0,0 @@
Pure python :func:`locale.getencoding()` will not warn deprecation.

View File

@ -1 +0,0 @@
Improved test_locale_calendar_formatweekday of calendar.

View File

@ -1,2 +0,0 @@
Adjust the error handling strategy in
``test_zoneinfo.TzPathTest.python_tzpath_context``. Patch by Paul Ganssle.

View File

@ -1 +0,0 @@
Improve test coverage on :mod:`pdb`.

View File

@ -1 +0,0 @@
``Misc/gdbinit`` was removed.

View File

@ -1,2 +0,0 @@
Improves correctness of stat results for Windows, and uses faster API when
available

View File

@ -1 +0,0 @@
Update :mod:`webbrowser` to fall back to Microsoft Edge instead of Internet Explorer.

View File

@ -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