Python 3.13.0rc1

This commit is contained in:
Thomas Wouters 2024-07-31 20:10:21 +02:00
parent 9c1c9188df
commit e4a3e786a5
31 changed files with 307 additions and 100 deletions

View File

@ -19,11 +19,11 @@
#define PY_MAJOR_VERSION 3
#define PY_MINOR_VERSION 13
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
#define PY_RELEASE_SERIAL 4
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_GAMMA
#define PY_RELEASE_SERIAL 1
/* Version as a string */
#define PY_VERSION "3.13.0b4+"
#define PY_VERSION "3.13.0rc1"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Autogenerated by Sphinx on Thu Jul 18 11:36:18 2024
# Autogenerated by Sphinx on Wed Jul 31 20:10:37 2024
# as part of the release process.
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
@ -633,10 +633,10 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'Evaluation of a literal yields an object of the given type '
'(string,\n'
'bytes, integer, floating point number, complex number) with '
'bytes, integer, floating-point number, complex number) with '
'the given\n'
'value. The value may be approximated in the case of '
'floating point\n'
'floating-point\n'
'and imaginary (complex) literals. See section Literals for '
'details.\n'
'\n'
@ -1307,8 +1307,8 @@ topics = {'assert': 'The "assert" statement\n'
'the first argument by the second. The numeric arguments are '
'first\n'
'converted to a common type. A zero right argument raises the\n'
'"ZeroDivisionError" exception. The arguments may be floating '
'point\n'
'"ZeroDivisionError" exception. The arguments may be '
'floating-point\n'
'numbers, e.g., "3.14%0.7" equals "0.34" (since "3.14" equals '
'"4*0.7 +\n'
'0.34".) The modulo operator always yields a result with the same '
@ -1341,7 +1341,7 @@ topics = {'assert': 'The "assert" statement\n'
'"divmod()"\n'
'function are not defined for complex numbers. Instead, convert to '
'a\n'
'floating point number using the "abs()" function if appropriate.\n'
'floating-point number using the "abs()" function if appropriate.\n'
'\n'
'The "+" (addition) operator yields the sum of its arguments. The\n'
'arguments must either both be numbers or both be sequences of the '
@ -4474,7 +4474,7 @@ topics = {'assert': 'The "assert" statement\n'
'converted to\n'
' complex;\n'
'\n'
'* otherwise, if either argument is a floating point number, '
'* otherwise, if either argument is a floating-point number, '
'the other\n'
' is converted to floating point;\n'
'\n'
@ -6587,10 +6587,10 @@ topics = {'assert': 'The "assert" statement\n'
'that expression. (To create an empty tuple, use an empty pair '
'of\n'
'parentheses: "()".)\n',
'floating': 'Floating point literals\n'
'floating': 'Floating-point literals\n'
'***********************\n'
'\n'
'Floating point literals are described by the following lexical\n'
'Floating-point literals are described by the following lexical\n'
'definitions:\n'
'\n'
' floatnumber ::= pointfloat | exponentfloat\n'
@ -6604,12 +6604,12 @@ topics = {'assert': 'The "assert" statement\n'
'using\n'
'radix 10. For example, "077e010" is legal, and denotes the same '
'number\n'
'as "77e10". The allowed range of floating point literals is\n'
'as "77e10". The allowed range of floating-point literals is\n'
'implementation-dependent. As in integer literals, underscores '
'are\n'
'supported for digit grouping.\n'
'\n'
'Some examples of floating point literals:\n'
'Some examples of floating-point literals:\n'
'\n'
' 3.14 10. .001 1e100 3.14e-10 0e0 '
'3.14_15_93\n'
@ -6992,7 +6992,7 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'The "\'_\'" option signals the use of an underscore for a '
'thousands\n'
'separator for floating point presentation types and for '
'separator for floating-point presentation types and for '
'integer\n'
'presentation type "\'d\'". For integer presentation types '
'"\'b\'", "\'o\'",\n'
@ -7119,11 +7119,11 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'In addition to the above presentation types, integers can '
'be formatted\n'
'with the floating point presentation types listed below '
'with the floating-point presentation types listed below '
'(except "\'n\'"\n'
'and "None"). When doing so, "float()" is used to convert '
'the integer\n'
'to a floating point number before formatting.\n'
'to a floating-point number before formatting.\n'
'\n'
'The available presentation types for "float" and "Decimal" '
'values are:\n'
@ -7981,11 +7981,11 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'An imaginary literal yields a complex number with a real part '
'of 0.0.\n'
'Complex numbers are represented as a pair of floating point '
'Complex numbers are represented as a pair of floating-point '
'numbers\n'
'and have the same restrictions on their range. To create a '
'complex\n'
'number with a nonzero real part, add a floating point number to '
'number with a nonzero real part, add a floating-point number to '
'it,\n'
'e.g., "(3+4j)". Some examples of imaginary literals:\n'
'\n'
@ -8782,8 +8782,8 @@ topics = {'assert': 'The "assert" statement\n'
'numbers': 'Numeric literals\n'
'****************\n'
'\n'
'There are three types of numeric literals: integers, floating '
'point\n'
'There are three types of numeric literals: integers, '
'floating-point\n'
'numbers, and imaginary numbers. There are no complex literals\n'
'(complex numbers can be formed by adding a real number and an\n'
'imaginary number).\n'
@ -13855,7 +13855,7 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'* A sign is shown only when the number is negative.\n'
'\n'
'Python distinguishes between integers, floating point numbers, and\n'
'Python distinguishes between integers, floating-point numbers, and\n'
'complex numbers:\n'
'\n'
'\n'
@ -13900,28 +13900,28 @@ topics = {'assert': 'The "assert" statement\n'
'"numbers.Real" ("float")\n'
'------------------------\n'
'\n'
'These represent machine-level double precision floating point '
'These represent machine-level double precision floating-point '
'numbers.\n'
'You are at the mercy of the underlying machine architecture (and C '
'or\n'
'Java implementation) for the accepted range and handling of '
'overflow.\n'
'Python does not support single-precision floating point numbers; '
'Python does not support single-precision floating-point numbers; '
'the\n'
'savings in processor and memory usage that are usually the reason '
'for\n'
'using these are dwarfed by the overhead of using objects in Python, '
'so\n'
'there is no reason to complicate the language with two kinds of\n'
'floating point numbers.\n'
'floating-point numbers.\n'
'\n'
'\n'
'"numbers.Complex" ("complex")\n'
'-----------------------------\n'
'\n'
'These represent complex numbers as a pair of machine-level double\n'
'precision floating point numbers. The same caveats apply as for\n'
'floating point numbers. The real and imaginary parts of a complex\n'
'precision floating-point numbers. The same caveats apply as for\n'
'floating-point numbers. The real and imaginary parts of a complex\n'
'number "z" can be retrieved through the read-only attributes '
'"z.real"\n'
'and "z.imag".\n'
@ -14336,21 +14336,10 @@ topics = {'assert': 'The "assert" statement\n'
'to\n'
'calling "f(C,1)" where "f" is the underlying function.\n'
'\n'
'Note that the transformation from function object to instance '
'method\n'
'object happens each time the attribute is retrieved from the '
'instance.\n'
'In some cases, a fruitful optimization is to assign the attribute '
'to a\n'
'local variable and call that local variable. Also notice that this\n'
'transformation only happens for user-defined functions; other '
'callable\n'
'objects (and all non-callable objects) are retrieved without\n'
'transformation. It is also important to note that user-defined\n'
'functions which are attributes of a class instance are not '
'converted\n'
'to bound methods; this *only* happens when the function is an\n'
'attribute of the class.\n'
'It is important to note that user-defined functions which are\n'
'attributes of a class instance are not converted to bound methods;\n'
'this *only* happens when the function is an attribute of the '
'class.\n'
'\n'
'\n'
'Generator functions\n'
@ -16508,7 +16497,7 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' * The linspace recipe shows how to implement a lazy version of '
'range\n'
' suitable for floating point applications.\n',
' suitable for floating-point applications.\n',
'typesseq-mutable': 'Mutable Sequence Types\n'
'**********************\n'
'\n'

273
Misc/NEWS.d/3.13.0rc1.rst Normal file
View File

@ -0,0 +1,273 @@
.. date: 2024-07-13-11-48-20
.. gh-issue: 59022
.. nonce: fYNbQ8
.. release date: 2024-07-31
.. section: Tests
Add tests for :func:`pkgutil.extend_path`. Patch by Andreas Stocker.
..
.. date: 2024-07-13-11-04-44
.. gh-issue: 99242
.. nonce: aGxnwz
.. section: Tests
:func:`os.getloadavg` may throw :exc:`OSError` when running regression tests
under certain conditions (e.g. chroot). This error is now caught and
ignored, since reporting load average is optional.
..
.. date: 2024-07-22-13-11-28
.. gh-issue: 122133
.. nonce: 0mPeta
.. section: Security
Authenticate the socket connection for the ``socket.socketpair()`` fallback
on platforms where ``AF_UNIX`` is not available like Windows.
Patch by Gregory P. Smith <greg@krypto.org> and Seth Larson
<seth@python.org>. Reported by Ellie <el@horse64.org>
..
.. date: 2024-07-18-13-17-47
.. gh-issue: 121957
.. nonce: QemKLU
.. section: Security
Fixed missing audit events around interactive use of Python, now also
properly firing for ``python -i``, as well as for ``python -m asyncio``. The
events in question are ``cpython.run_stdin`` and ``cpython.run_startup``.
..
.. date: 2024-07-29-16-47-08
.. gh-issue: 122400
.. nonce: fM0YSv
.. section: Library
Handle :exc:`ValueError`\s raised by :func:`os.stat` in
:class:`filecmp.dircmp` and :func:`filecmp.cmpfiles`. Patch by Bénédikt
Tran.
..
.. date: 2024-07-29-10-24-48
.. gh-issue: 122311
.. nonce: xChV1b
.. section: Library
Fix some error messages in :mod:`pickle`.
..
.. date: 2024-07-26-21-21-13
.. gh-issue: 122332
.. nonce: fvw88r
.. section: Library
Fixed segfault with :meth:`asyncio.Task.get_coro` when using an eager task
factory.
..
.. date: 2024-07-25-15-41-14
.. gh-issue: 105733
.. nonce: o3koJA
.. section: Library
:func:`ctypes.ARRAY` is now :term:`soft deprecated`: it no longer emits
deprecation warnings and is not scheduled for removal.
..
.. date: 2024-07-24-09-29-55
.. gh-issue: 122087
.. nonce: FdBrWo
.. section: Library
Restore :func:`inspect.ismethoddescriptor` and :func:`inspect.isroutine`
returning ``False`` for :class:`functools.partial` objects.
..
.. date: 2024-07-23-15-30-23
.. gh-issue: 122170
.. nonce: Z9gi3Y
.. section: Library
Handle :exc:`ValueError`\s raised by :func:`os.stat` in :mod:`linecache`.
Patch by Bénédikt Tran.
..
.. date: 2024-07-23-09-14-44
.. gh-issue: 82951
.. nonce: -F5p5A
.. section: Library
Serializing objects with complex ``__qualname__`` (such as unbound methods
and nested classes) by name no longer involves serializing parent objects by
value in pickle protocols < 4.
..
.. date: 2024-07-22-08-14-04
.. gh-issue: 113785
.. nonce: 6B_KNB
.. section: Library
:mod:`csv` now correctly parses numeric fields (when used with
:const:`csv.QUOTE_NONNUMERIC` or :const:`csv.QUOTE_STRINGS`) which start
with an escape character.
..
.. date: 2024-07-21-18-03-30
.. gh-issue: 122088
.. nonce: vi2bP-
.. section: Library
:func:`@warnings.deprecated <warnings.deprecated>` now copies the coroutine
status of functions and methods so that :func:`inspect.iscoroutinefunction`
returns the correct result.
..
.. date: 2024-07-14-11-18-28
.. gh-issue: 120930
.. nonce: Kuo4L0
.. section: Library
Fixed a bug introduced by gh-92081 that added an incorrect extra blank to
encoded words occurring in wrapped headers.
..
.. date: 2024-07-08-03-45-34
.. gh-issue: 121474
.. nonce: NsvrUN
.. section: Library
Fix missing sanity check for ``parties`` arg in :class:`threading.Barrier`
constructor. Patch by Clinton Christian (pygeek).
..
.. date: 2024-06-09-19-53-11
.. gh-issue: 120289
.. nonce: s4HXR0
.. section: Library
Fixed the use-after-free issue in :mod:`cProfile` by disallowing
``disable()`` and ``clear()`` in external timers.
..
.. date: 2024-07-30-18-02-55
.. gh-issue: 122482
.. nonce: TerE0g
.. section: IDLE
Change About IDLE to direct users to discuss.python.org instead of the now
unused idle-dev email and mailing list.
..
.. date: 2024-07-29-10-55-46
.. gh-issue: 116090
.. nonce: p1MhU0
.. section: Core and Builtins
Fix an issue in JIT builds that prevented some :keyword:`for` loops from
correctly firing :monitoring-event:`RAISE` monitoring events.
..
.. date: 2024-07-26-21-26-33
.. gh-issue: 122208
.. nonce: z8KHsY
.. section: Core and Builtins
Dictionary watchers now only deliver the PyDict_EVENT_ADDED event when the
insertion is in a known good state to succeed.
..
.. date: 2024-07-26-14-05-51
.. gh-issue: 122300
.. nonce: SVIF-l
.. section: Core and Builtins
Preserve AST nodes for f-string with single-element format specifiers. Patch
by Pablo Galindo
..
.. date: 2024-07-26-13-56-32
.. gh-issue: 120906
.. nonce: qBh2I9
.. section: Core and Builtins
:attr:`frame.f_locals` now supports arbitrary hashable objects as keys.
..
.. date: 2024-07-21-01-23-54
.. gh-issue: 122029
.. nonce: gKv-e2
.. section: Core and Builtins
Emit ``c_call`` events in :func:`sys.setprofile` when a ``PyMethodObject``
pointing to a ``PyCFunction`` is called.
..
.. date: 2024-07-19-15-28-05
.. gh-issue: 122026
.. nonce: sta2Ca
.. section: Core and Builtins
Fix a bug that caused the tokenizer to not correctly identify mismatched
parentheses inside f-strings in some situations. Patch by Pablo Galindo
..
.. date: 2024-05-30-04-11-36
.. gh-issue: 118934
.. nonce: fbDqve
.. section: Core and Builtins
Make ``PyEval_GetLocals`` return borrowed reference
..
.. date: 2024-07-30-23-48-26
.. gh-issue: 116622
.. nonce: yTTtil
.. section: C API
Make :any:`PyObject_Print` work around a bug in Android and OpenBSD which
prevented it from throwing an exception when trying to write to a read-only
stream.
..
.. date: 2024-07-21-17-40-07
.. gh-issue: 121489
.. nonce: SUMFCr
.. section: C API
Export private :c:func:`!_PyBytes_Join` again.
..
.. date: 2024-07-18-07-53-07
.. gh-issue: 120522
.. nonce: dg3o5A
.. section: Build
Added a :option:`--with-app-store-compliance` option to patch out known
issues with macOS/iOS App Store review processes.

View File

@ -1,2 +0,0 @@
Added a :option:`--with-app-store-compliance` option to patch out known
issues with macOS/iOS App Store review processes.

View File

@ -1 +0,0 @@
Export private :c:func:`!_PyBytes_Join` again.

View File

@ -1,3 +0,0 @@
Make :any:`PyObject_Print` work around a bug in Android and OpenBSD which
prevented it from throwing an exception when trying to write to a read-only
stream.

View File

@ -1 +0,0 @@
Make ``PyEval_GetLocals`` return borrowed reference

View File

@ -1,2 +0,0 @@
Fix a bug that caused the tokenizer to not correctly identify mismatched
parentheses inside f-strings in some situations. Patch by Pablo Galindo

View File

@ -1 +0,0 @@
Emit ``c_call`` events in :func:`sys.setprofile` when a ``PyMethodObject`` pointing to a ``PyCFunction`` is called.

View File

@ -1,2 +0,0 @@
Preserve AST nodes for f-string with single-element format specifiers. Patch
by Pablo Galindo

View File

@ -1 +0,0 @@
:attr:`frame.f_locals` now supports arbitrary hashable objects as keys.

View File

@ -1 +0,0 @@
Dictionary watchers now only deliver the PyDict_EVENT_ADDED event when the insertion is in a known good state to succeed.

View File

@ -1,2 +0,0 @@
Fix an issue in JIT builds that prevented some :keyword:`for` loops from
correctly firing :monitoring-event:`RAISE` monitoring events.

View File

@ -1,2 +0,0 @@
Change About IDLE to direct users to discuss.python.org instead of the now
unused idle-dev email and mailing list.

View File

@ -1,2 +0,0 @@
Fixed the use-after-free issue in :mod:`cProfile` by disallowing
``disable()`` and ``clear()`` in external timers.

View File

@ -1,2 +0,0 @@
Fix missing sanity check for ``parties`` arg in :class:`threading.Barrier`
constructor. Patch by Clinton Christian (pygeek).

View File

@ -1,2 +0,0 @@
Fixed a bug introduced by gh-92081 that added an incorrect extra
blank to encoded words occurring in wrapped headers.

View File

@ -1,3 +0,0 @@
:func:`@warnings.deprecated <warnings.deprecated>` now copies the
coroutine status of functions and methods so that
:func:`inspect.iscoroutinefunction` returns the correct result.

View File

@ -1 +0,0 @@
:mod:`csv` now correctly parses numeric fields (when used with :const:`csv.QUOTE_NONNUMERIC` or :const:`csv.QUOTE_STRINGS`) which start with an escape character.

View File

@ -1,3 +0,0 @@
Serializing objects with complex ``__qualname__`` (such as unbound methods
and nested classes) by name no longer involves serializing parent objects by
value in pickle protocols < 4.

View File

@ -1,2 +0,0 @@
Handle :exc:`ValueError`\s raised by :func:`os.stat` in :mod:`linecache`.
Patch by Bénédikt Tran.

View File

@ -1,2 +0,0 @@
Restore :func:`inspect.ismethoddescriptor` and :func:`inspect.isroutine`
returning ``False`` for :class:`functools.partial` objects.

View File

@ -1,2 +0,0 @@
:func:`ctypes.ARRAY` is now :term:`soft deprecated`: it no longer emits deprecation
warnings and is not scheduled for removal.

View File

@ -1,2 +0,0 @@
Fixed segfault with :meth:`asyncio.Task.get_coro` when using an eager task
factory.

View File

@ -1 +0,0 @@
Fix some error messages in :mod:`pickle`.

View File

@ -1,3 +0,0 @@
Handle :exc:`ValueError`\s raised by :func:`os.stat` in
:class:`filecmp.dircmp` and :func:`filecmp.cmpfiles`.
Patch by Bénédikt Tran.

View File

@ -1,3 +0,0 @@
Fixed missing audit events around interactive use of Python, now also
properly firing for ``python -i``, as well as for ``python -m asyncio``. The
events in question are ``cpython.run_stdin`` and ``cpython.run_startup``.

View File

@ -1,5 +0,0 @@
Authenticate the socket connection for the ``socket.socketpair()`` fallback
on platforms where ``AF_UNIX`` is not available like Windows.
Patch by Gregory P. Smith <greg@krypto.org> and Seth Larson <seth@python.org>. Reported by Ellie
<el@horse64.org>

View File

@ -1,3 +0,0 @@
:func:`os.getloadavg` may throw :exc:`OSError` when running regression tests
under certain conditions (e.g. chroot). This error is now caught and
ignored, since reporting load average is optional.

View File

@ -1 +0,0 @@
Add tests for :func:`pkgutil.extend_path`. Patch by Andreas Stocker.

View File

@ -1,5 +1,5 @@
This is Python version 3.13.0 beta 4
====================================
This is Python version 3.13.0 release candidate 1
=================================================
.. image:: https://github.com/python/cpython/workflows/Tests/badge.svg
:alt: CPython build status on GitHub Actions