mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Python 3.12.0b4
This commit is contained in:
parent
6968f9e4d3
commit
97a6a41816
35 changed files with 337 additions and 82 deletions
|
@ -20,10 +20,10 @@
|
|||
#define PY_MINOR_VERSION 12
|
||||
#define PY_MICRO_VERSION 0
|
||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
|
||||
#define PY_RELEASE_SERIAL 3
|
||||
#define PY_RELEASE_SERIAL 4
|
||||
|
||||
/* Version as a string */
|
||||
#define PY_VERSION "3.12.0b3+"
|
||||
#define PY_VERSION "3.12.0b4"
|
||||
/*--end constants--*/
|
||||
|
||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Autogenerated by Sphinx on Mon Jun 19 20:55:48 2023
|
||||
# Autogenerated by Sphinx on Tue Jul 11 14:22:58 2023
|
||||
# as part of the release process.
|
||||
topics = {'assert': 'The "assert" statement\n'
|
||||
'**********************\n'
|
||||
'\n'
|
||||
|
@ -208,7 +209,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'the\n'
|
||||
' subscript must have a type compatible with the mapping’s key '
|
||||
'type,\n'
|
||||
' and the mapping is then asked to create a key/datum pair '
|
||||
' and the mapping is then asked to create a key/value pair '
|
||||
'which maps\n'
|
||||
' the subscript to the assigned object. This can either '
|
||||
'replace an\n'
|
||||
|
@ -5687,30 +5688,31 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'dict': 'Dictionary displays\n'
|
||||
'*******************\n'
|
||||
'\n'
|
||||
'A dictionary display is a possibly empty series of key/datum pairs\n'
|
||||
'enclosed in curly braces:\n'
|
||||
'A dictionary display is a possibly empty series of dict items\n'
|
||||
'(key/value pairs) enclosed in curly braces:\n'
|
||||
'\n'
|
||||
' dict_display ::= "{" [key_datum_list | dict_comprehension] '
|
||||
' dict_display ::= "{" [dict_item_list | dict_comprehension] '
|
||||
'"}"\n'
|
||||
' key_datum_list ::= key_datum ("," key_datum)* [","]\n'
|
||||
' key_datum ::= expression ":" expression | "**" or_expr\n'
|
||||
' dict_item_list ::= dict_item ("," dict_item)* [","]\n'
|
||||
' dict_item ::= expression ":" expression | "**" or_expr\n'
|
||||
' dict_comprehension ::= expression ":" expression comp_for\n'
|
||||
'\n'
|
||||
'A dictionary display yields a new dictionary object.\n'
|
||||
'\n'
|
||||
'If a comma-separated sequence of key/datum pairs is given, they are\n'
|
||||
'If a comma-separated sequence of dict items is given, they are\n'
|
||||
'evaluated from left to right to define the entries of the '
|
||||
'dictionary:\n'
|
||||
'each key object is used as a key into the dictionary to store the\n'
|
||||
'corresponding datum. This means that you can specify the same key\n'
|
||||
'multiple times in the key/datum list, and the final dictionary’s '
|
||||
'corresponding value. This means that you can specify the same key\n'
|
||||
'multiple times in the dict item list, and the final dictionary’s '
|
||||
'value\n'
|
||||
'for that key will be the last one given.\n'
|
||||
'\n'
|
||||
'A double asterisk "**" denotes *dictionary unpacking*. Its operand\n'
|
||||
'must be a *mapping*. Each mapping item is added to the new\n'
|
||||
'dictionary. Later values replace values already set by earlier\n'
|
||||
'key/datum pairs and earlier dictionary unpackings.\n'
|
||||
'dictionary. Later values replace values already set by earlier '
|
||||
'dict\n'
|
||||
'items and earlier dictionary unpackings.\n'
|
||||
'\n'
|
||||
'New in version 3.5: Unpacking into dictionary displays, originally\n'
|
||||
'proposed by **PEP 448**.\n'
|
||||
|
@ -5726,7 +5728,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'Restrictions on the types of the key values are listed earlier in\n'
|
||||
'section The standard type hierarchy. (To summarize, the key type\n'
|
||||
'should be *hashable*, which excludes all mutable objects.) Clashes\n'
|
||||
'between duplicate keys are not detected; the last datum (textually\n'
|
||||
'between duplicate keys are not detected; the last value (textually\n'
|
||||
'rightmost in the display) stored for a given key value prevails.\n'
|
||||
'\n'
|
||||
'Changed in version 3.8: Prior to Python 3.8, in dict '
|
||||
|
@ -13256,7 +13258,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||
'are\n'
|
||||
'most of the built-in objects considered false:\n'
|
||||
'\n'
|
||||
'* constants defined to be false: "None" and "False".\n'
|
||||
'* constants defined to be false: "None" and "False"\n'
|
||||
'\n'
|
||||
'* zero of any numeric type: "0", "0.0", "0j", "Decimal(0)",\n'
|
||||
' "Fraction(0, 1)"\n'
|
||||
|
|
318
Misc/NEWS.d/3.12.0b4.rst
Normal file
318
Misc/NEWS.d/3.12.0b4.rst
Normal file
|
@ -0,0 +1,318 @@
|
|||
.. date: 2023-06-13-20-52-24
|
||||
.. gh-issue: 102988
|
||||
.. nonce: Kei7Vf
|
||||
.. release date: 2023-07-11
|
||||
.. section: Security
|
||||
|
||||
CVE-2023-27043: Prevent :func:`email.utils.parseaddr` and
|
||||
:func:`email.utils.getaddresses` from returning the realname portion of an
|
||||
invalid RFC2822 email header in the email address portion of the 2-tuple
|
||||
returned after being parsed by :class:`email._parseaddr.AddressList`.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-07-04-09-51-45
|
||||
.. gh-issue: 106396
|
||||
.. nonce: DmYp7x
|
||||
.. section: Core and Builtins
|
||||
|
||||
When the format specification of an f-string expression is empty, the parser
|
||||
now generates an empty :class:`ast.JoinedStr` node for it instead of an
|
||||
one-element :class:`ast.JoinedStr` with an empty string
|
||||
:class:`ast.Constant`.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-29-09-46-41
|
||||
.. gh-issue: 106145
|
||||
.. nonce: QC6-Kq
|
||||
.. section: Core and Builtins
|
||||
|
||||
Make ``end_lineno`` and ``end_col_offset`` required on ``type_param`` ast
|
||||
nodes.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-22-19-16-24
|
||||
.. gh-issue: 105979
|
||||
.. nonce: TDP2CU
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fix crash in :func:`!_imp.get_frozen_object` due to improper exception
|
||||
handling.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-22-14-19-17
|
||||
.. gh-issue: 98931
|
||||
.. nonce: PPgvSF
|
||||
.. section: Core and Builtins
|
||||
|
||||
Ensure custom :exc:`SyntaxError` error messages are raised for invalid
|
||||
imports with multiple targets. Patch by Pablo Galindo
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-19-11-04-01
|
||||
.. gh-issue: 105908
|
||||
.. nonce: 7oanny
|
||||
.. section: Core and Builtins
|
||||
|
||||
Fixed bug where :gh:`99111` breaks future import ``barry_as_FLUFL`` in the
|
||||
Python REPL.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-12-16-38-31
|
||||
.. gh-issue: 105340
|
||||
.. nonce: _jRHXe
|
||||
.. section: Core and Builtins
|
||||
|
||||
Include the comprehension iteration variable in ``locals()`` inside a
|
||||
module- or class-scope comprehension.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-08-09-10-15
|
||||
.. gh-issue: 105486
|
||||
.. nonce: dev-WS
|
||||
.. section: Core and Builtins
|
||||
|
||||
Change the repr of ``ParamSpec`` list of args in ``types.GenericAlias``.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-01-13-11-37-41
|
||||
.. gh-issue: 101006
|
||||
.. nonce: fuLvn2
|
||||
.. section: Core and Builtins
|
||||
|
||||
Improve error handling when read :mod:`marshal` data.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-07-07-17-44-03
|
||||
.. gh-issue: 106524
|
||||
.. nonce: XkBV8h
|
||||
.. section: Library
|
||||
|
||||
Fix crash in :func:`!_sre.template` with templates containing invalid group
|
||||
indices.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-07-07-13-47-28
|
||||
.. gh-issue: 106510
|
||||
.. nonce: 9n5BdC
|
||||
.. section: Library
|
||||
|
||||
Improve debug output for atomic groups in regular expressions.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-07-07-03-05-58
|
||||
.. gh-issue: 106503
|
||||
.. nonce: ltfeiH
|
||||
.. section: Library
|
||||
|
||||
Fix ref cycle in :class:`!asyncio._SelectorSocketTransport` by removing
|
||||
``_write_ready`` in ``close``.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-07-05-14-34-10
|
||||
.. gh-issue: 105497
|
||||
.. nonce: HU5u89
|
||||
.. section: Library
|
||||
|
||||
Fix flag mask inversion when unnamed flags exist.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-07-05-13-08-23
|
||||
.. gh-issue: 90876
|
||||
.. nonce: Qvlkfl
|
||||
.. section: Library
|
||||
|
||||
Prevent :mod:`multiprocessing.spawn` from failing to *import* in
|
||||
environments where ``sys.executable`` is ``None``. This regressed in 3.11
|
||||
with the addition of support for path-like objects in multiprocessing.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-07-03-15-09-44
|
||||
.. gh-issue: 106292
|
||||
.. nonce: 3npldV
|
||||
.. section: Library
|
||||
|
||||
Check for an instance-dict cached value in the :meth:`__get__` method of
|
||||
:func:`functools.cached_property`. This better matches the pre-3.12 behavior
|
||||
and improves compatibility for users subclassing
|
||||
:func:`functools.cached_property` and adding a :meth:`__set__` method.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-07-02-10-56-41
|
||||
.. gh-issue: 106330
|
||||
.. nonce: QSkIUH
|
||||
.. section: Library
|
||||
|
||||
Fix incorrect matching of empty paths in :meth:`pathlib.PurePath.match`.
|
||||
This bug was introduced in Python 3.12.0 beta 1.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-07-01-16-40-54
|
||||
.. gh-issue: 102541
|
||||
.. nonce: C1ahtk
|
||||
.. section: Library
|
||||
|
||||
Make pydoc.doc catch bad module ImportError when output stream is not None.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-27-23-22-37
|
||||
.. gh-issue: 106152
|
||||
.. nonce: ya5jBT
|
||||
.. section: Library
|
||||
|
||||
Added PY_THROW event hook for :mod:`cProfile` for generators
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-25-12-28-55
|
||||
.. gh-issue: 106075
|
||||
.. nonce: W7tMRb
|
||||
.. section: Library
|
||||
|
||||
Added `asyncio.taskgroups.__all__` to `asyncio.__all__` for export in star
|
||||
imports.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-22-15-21-11
|
||||
.. gh-issue: 105987
|
||||
.. nonce: T7Kzrb
|
||||
.. section: Library
|
||||
|
||||
Fix crash due to improper reference counting in :mod:`asyncio` eager task
|
||||
factory internal routines.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-21-19-04-27
|
||||
.. gh-issue: 105974
|
||||
.. nonce: M47n3t
|
||||
.. section: Library
|
||||
|
||||
Fix bug where a :class:`typing.Protocol` class that had one or more
|
||||
non-callable members would raise :exc:`TypeError` when :func:`issubclass`
|
||||
was called against it, even if it defined a custom ``__subclasshook__``
|
||||
method. The behaviour in Python 3.11 and lower -- which has now been
|
||||
restored -- was not to raise :exc:`TypeError` in these situations if a
|
||||
custom ``__subclasshook__`` method was defined. Patch by Alex Waygood.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-20-23-18-45
|
||||
.. gh-issue: 96145
|
||||
.. nonce: o5dTRM
|
||||
.. section: Library
|
||||
|
||||
Reverted addition of ``json.AttrDict``.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-08-17-49-46
|
||||
.. gh-issue: 105497
|
||||
.. nonce: K6Q8nU
|
||||
.. section: Library
|
||||
|
||||
Fix flag inversion when alias/mask members exist.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-05-14-43-56
|
||||
.. gh-issue: 104554
|
||||
.. nonce: pwfKIo
|
||||
.. section: Library
|
||||
|
||||
Add RTSPS scheme support in urllib.parse
|
||||
|
||||
..
|
||||
|
||||
.. date: 2022-07-12-18-45-13
|
||||
.. gh-issue: 94777
|
||||
.. nonce: mOybx7
|
||||
.. section: Library
|
||||
|
||||
Fix hanging :mod:`multiprocessing` ``ProcessPoolExecutor`` when a child
|
||||
process crashes while data is being written in the call queue.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-30-19-28-59
|
||||
.. gh-issue: 106232
|
||||
.. nonce: hQ4-tz
|
||||
.. section: Documentation
|
||||
|
||||
Make timeit doc command lines compatible with Windows by using double quotes
|
||||
for arguments. This works on linux and macOS also.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-28-02-51-08
|
||||
.. gh-issue: 101634
|
||||
.. nonce: Rayczr
|
||||
.. section: Tests
|
||||
|
||||
When running the Python test suite with ``-jN`` option, if a worker stdout
|
||||
cannot be decoded from the locale encoding report a failed testn so the
|
||||
exitcode is non-zero. Patch by Victor Stinner.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-26-21-56-29
|
||||
.. gh-issue: 106118
|
||||
.. nonce: 0cCfhl
|
||||
.. section: Build
|
||||
|
||||
Fix compilation for platforms without :data:`!O_CLOEXEC`. The issue was
|
||||
introduced with Python 3.12b1 in :gh:`103295`. Patch by Erlend Aasland.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-05-20-23-49-30
|
||||
.. gh-issue: 104692
|
||||
.. nonce: s5UIu5
|
||||
.. section: Build
|
||||
|
||||
Include ``commoninstall`` as a prerequisite for ``bininstall``
|
||||
|
||||
This ensures that ``commoninstall`` is completed before ``bininstall`` is
|
||||
started when parallel builds are used (``make -j install``), and so the
|
||||
``python3`` symlink is only installed after all standard library modules are
|
||||
installed.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-07-03-14-06-19
|
||||
.. gh-issue: 106359
|
||||
.. nonce: RfJuR0
|
||||
.. section: Tools/Demos
|
||||
|
||||
Argument Clinic now explicitly forbids "kwarg splats" in function calls used
|
||||
as annotations.
|
||||
|
||||
..
|
||||
|
||||
.. date: 2023-06-13-14-24-55
|
||||
.. gh-issue: 105227
|
||||
.. nonce: HDL9aF
|
||||
.. section: C API
|
||||
|
||||
The new :c:func:`PyType_GetDict` provides the dictionary for the given type
|
||||
object that is normally exposed by ``cls.__dict__``. Normally it's
|
||||
sufficient to use :c:member:`~PyTypeObject.tp_dict`, but for the static
|
||||
builtin types :c:member:`!tp_dict` is now always ``NULL``.
|
||||
:c:func:`!PyType_GetDict()` provides the correct dict object instead.
|
|
@ -1,6 +0,0 @@
|
|||
Include ``commoninstall`` as a prerequisite for ``bininstall``
|
||||
|
||||
This ensures that ``commoninstall`` is completed before ``bininstall``
|
||||
is started when parallel builds are used (``make -j install``), and so
|
||||
the ``python3`` symlink is only installed after all standard library
|
||||
modules are installed.
|
|
@ -1,2 +0,0 @@
|
|||
Fix compilation for platforms without :data:`!O_CLOEXEC`. The issue was
|
||||
introduced with Python 3.12b1 in :gh:`103295`. Patch by Erlend Aasland.
|
|
@ -1,5 +0,0 @@
|
|||
The new :c:func:`PyType_GetDict` provides the dictionary for the given type
|
||||
object that is normally exposed by ``cls.__dict__``. Normally it's
|
||||
sufficient to use :c:member:`~PyTypeObject.tp_dict`, but for the static
|
||||
builtin types :c:member:`!tp_dict` is now always ``NULL``. :c:func:`!PyType_GetDict()`
|
||||
provides the correct dict object instead.
|
|
@ -1 +0,0 @@
|
|||
Improve error handling when read :mod:`marshal` data.
|
|
@ -1 +0,0 @@
|
|||
Change the repr of ``ParamSpec`` list of args in ``types.GenericAlias``.
|
|
@ -1,2 +0,0 @@
|
|||
Include the comprehension iteration variable in ``locals()`` inside a
|
||||
module- or class-scope comprehension.
|
|
@ -1 +0,0 @@
|
|||
Fixed bug where :gh:`99111` breaks future import ``barry_as_FLUFL`` in the Python REPL.
|
|
@ -1,2 +0,0 @@
|
|||
Ensure custom :exc:`SyntaxError` error messages are raised for invalid
|
||||
imports with multiple targets. Patch by Pablo Galindo
|
|
@ -1 +0,0 @@
|
|||
Fix crash in :func:`!_imp.get_frozen_object` due to improper exception handling.
|
|
@ -1,2 +0,0 @@
|
|||
Make ``end_lineno`` and ``end_col_offset`` required on ``type_param`` ast
|
||||
nodes.
|
|
@ -1,3 +0,0 @@
|
|||
When the format specification of an f-string expression is empty, the parser now
|
||||
generates an empty :class:`ast.JoinedStr` node for it instead of an one-element
|
||||
:class:`ast.JoinedStr` with an empty string :class:`ast.Constant`.
|
|
@ -1,2 +0,0 @@
|
|||
Make timeit doc command lines compatible with Windows by using double quotes
|
||||
for arguments. This works on linux and macOS also.
|
|
@ -1 +0,0 @@
|
|||
Fix hanging :mod:`multiprocessing` ``ProcessPoolExecutor`` when a child process crashes while data is being written in the call queue.
|
|
@ -1 +0,0 @@
|
|||
Add RTSPS scheme support in urllib.parse
|
|
@ -1 +0,0 @@
|
|||
Fix flag inversion when alias/mask members exist.
|
|
@ -1 +0,0 @@
|
|||
Reverted addition of ``json.AttrDict``.
|
|
@ -1,6 +0,0 @@
|
|||
Fix bug where a :class:`typing.Protocol` class that had one or more
|
||||
non-callable members would raise :exc:`TypeError` when :func:`issubclass`
|
||||
was called against it, even if it defined a custom ``__subclasshook__``
|
||||
method. The behaviour in Python 3.11 and lower -- which has now been
|
||||
restored -- was not to raise :exc:`TypeError` in these situations if a
|
||||
custom ``__subclasshook__`` method was defined. Patch by Alex Waygood.
|
|
@ -1 +0,0 @@
|
|||
Fix crash due to improper reference counting in :mod:`asyncio` eager task factory internal routines.
|
|
@ -1 +0,0 @@
|
|||
Added `asyncio.taskgroups.__all__` to `asyncio.__all__` for export in star imports.
|
|
@ -1 +0,0 @@
|
|||
Added PY_THROW event hook for :mod:`cProfile` for generators
|
|
@ -1 +0,0 @@
|
|||
Make pydoc.doc catch bad module ImportError when output stream is not None.
|
|
@ -1,2 +0,0 @@
|
|||
Fix incorrect matching of empty paths in :meth:`pathlib.PurePath.match`.
|
||||
This bug was introduced in Python 3.12.0 beta 1.
|
|
@ -1,4 +0,0 @@
|
|||
Check for an instance-dict cached value in the :meth:`__get__` method of
|
||||
:func:`functools.cached_property`. This better matches the pre-3.12 behavior
|
||||
and improves compatibility for users subclassing
|
||||
:func:`functools.cached_property` and adding a :meth:`__set__` method.
|
|
@ -1,3 +0,0 @@
|
|||
Prevent :mod:`multiprocessing.spawn` from failing to *import* in environments
|
||||
where ``sys.executable`` is ``None``. This regressed in 3.11 with the addition
|
||||
of support for path-like objects in multiprocessing.
|
|
@ -1 +0,0 @@
|
|||
Fix flag mask inversion when unnamed flags exist.
|
|
@ -1,2 +0,0 @@
|
|||
Fix ref cycle in :class:`!asyncio._SelectorSocketTransport` by removing
|
||||
``_write_ready`` in ``close``.
|
|
@ -1 +0,0 @@
|
|||
Improve debug output for atomic groups in regular expressions.
|
|
@ -1 +0,0 @@
|
|||
Fix crash in :func:`!_sre.template` with templates containing invalid group indices.
|
|
@ -1,4 +0,0 @@
|
|||
CVE-2023-27043: Prevent :func:`email.utils.parseaddr`
|
||||
and :func:`email.utils.getaddresses` from returning the realname portion of an
|
||||
invalid RFC2822 email header in the email address portion of the 2-tuple
|
||||
returned after being parsed by :class:`email._parseaddr.AddressList`.
|
|
@ -1,3 +0,0 @@
|
|||
When running the Python test suite with ``-jN`` option, if a worker stdout
|
||||
cannot be decoded from the locale encoding report a failed testn so the
|
||||
exitcode is non-zero. Patch by Victor Stinner.
|
|
@ -1,2 +0,0 @@
|
|||
Argument Clinic now explicitly forbids "kwarg splats" in function calls used as
|
||||
annotations.
|
|
@ -1,4 +1,4 @@
|
|||
This is Python version 3.12.0 beta 3
|
||||
This is Python version 3.12.0 beta 4
|
||||
=====================================
|
||||
|
||||
.. image:: https://github.com/python/cpython/workflows/Tests/badge.svg
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue