mirror of
https://github.com/python/cpython.git
synced 2025-11-02 22:51:25 +00:00
Python 3.14.0b4
This commit is contained in:
parent
376e037ecc
commit
7ec1faba0c
49 changed files with 807 additions and 177 deletions
|
|
@ -21,10 +21,10 @@
|
||||||
#define PY_MINOR_VERSION 14
|
#define PY_MINOR_VERSION 14
|
||||||
#define PY_MICRO_VERSION 0
|
#define PY_MICRO_VERSION 0
|
||||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
|
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
|
||||||
#define PY_RELEASE_SERIAL 3
|
#define PY_RELEASE_SERIAL 4
|
||||||
|
|
||||||
/* Version as a string */
|
/* Version as a string */
|
||||||
#define PY_VERSION "3.14.0b3+"
|
#define PY_VERSION "3.14.0b4"
|
||||||
/*--end constants--*/
|
/*--end constants--*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# Autogenerated by Sphinx on Tue Jun 17 18:40:47 2025
|
# Autogenerated by Sphinx on Tue Jul 8 11:57:16 2025
|
||||||
# as part of the release process.
|
# as part of the release process.
|
||||||
|
|
||||||
topics = {
|
topics = {
|
||||||
|
|
@ -492,8 +492,7 @@ async def func(param1, param2):
|
||||||
Python supports string and bytes literals and various numeric
|
Python supports string and bytes literals and various numeric
|
||||||
literals:
|
literals:
|
||||||
|
|
||||||
literal: stringliteral | bytesliteral
|
literal: stringliteral | bytesliteral | NUMBER
|
||||||
| integer | floatnumber | imagnumber
|
|
||||||
|
|
||||||
Evaluation of a literal yields an object of the given type (string,
|
Evaluation of a literal yields an object of the given type (string,
|
||||||
bytes, integer, floating-point number, complex number) with the given
|
bytes, integer, floating-point number, complex number) with the given
|
||||||
|
|
@ -5132,25 +5131,54 @@ class of the instance or a *non-virtual base class* thereof. The
|
||||||
'floating': r'''Floating-point literals
|
'floating': r'''Floating-point literals
|
||||||
***********************
|
***********************
|
||||||
|
|
||||||
Floating-point literals are described by the following lexical
|
Floating-point (float) literals, such as "3.14" or "1.5", denote
|
||||||
definitions:
|
approximations of real numbers.
|
||||||
|
|
||||||
floatnumber: pointfloat | exponentfloat
|
They consist of *integer* and *fraction* parts, each composed of
|
||||||
pointfloat: [digitpart] fraction | digitpart "."
|
decimal digits. The parts are separated by a decimal point, ".":
|
||||||
exponentfloat: (digitpart | pointfloat) exponent
|
|
||||||
digitpart: digit (["_"] digit)*
|
|
||||||
fraction: "." digitpart
|
|
||||||
exponent: ("e" | "E") ["+" | "-"] digitpart
|
|
||||||
|
|
||||||
Note that the integer and exponent parts are always interpreted using
|
2.71828
|
||||||
radix 10. For example, "077e010" is legal, and denotes the same number
|
4.0
|
||||||
as "77e10". The allowed range of floating-point literals is
|
|
||||||
implementation-dependent. As in integer literals, underscores are
|
|
||||||
supported for digit grouping.
|
|
||||||
|
|
||||||
Some examples of floating-point literals:
|
Unlike in integer literals, leading zeros are allowed in the numeric
|
||||||
|
parts. For example, "077.010" is legal, and denotes the same number as
|
||||||
|
"77.10".
|
||||||
|
|
||||||
3.14 10. .001 1e100 3.14e-10 0e0 3.14_15_93
|
As in integer literals, single underscores may occur between digits to
|
||||||
|
help readability:
|
||||||
|
|
||||||
|
96_485.332_123
|
||||||
|
3.14_15_93
|
||||||
|
|
||||||
|
Either of these parts, but not both, can be empty. For example:
|
||||||
|
|
||||||
|
10. # (equivalent to 10.0)
|
||||||
|
.001 # (equivalent to 0.001)
|
||||||
|
|
||||||
|
Optionally, the integer and fraction may be followed by an *exponent*:
|
||||||
|
the letter "e" or "E", followed by an optional sign, "+" or "-", and a
|
||||||
|
number in the same format as the integer and fraction parts. The "e"
|
||||||
|
or "E" represents “times ten raised to the power of”:
|
||||||
|
|
||||||
|
1.0e3 # (represents 1.0×10³, or 1000.0)
|
||||||
|
1.166e-5 # (represents 1.166×10⁻⁵, or 0.00001166)
|
||||||
|
6.02214076e+23 # (represents 6.02214076×10²³, or 602214076000000000000000.)
|
||||||
|
|
||||||
|
In floats with only integer and exponent parts, the decimal point may
|
||||||
|
be omitted:
|
||||||
|
|
||||||
|
1e3 # (equivalent to 1.e3 and 1.0e3)
|
||||||
|
0e0 # (equivalent to 0.)
|
||||||
|
|
||||||
|
Formally, floating-point literals are described by the following
|
||||||
|
lexical definitions:
|
||||||
|
|
||||||
|
floatnumber:
|
||||||
|
| digitpart "." [digitpart] [exponent]
|
||||||
|
| "." digitpart [exponent]
|
||||||
|
| digitpart exponent
|
||||||
|
digitpart: digit (["_"] digit)*
|
||||||
|
exponent: ("e" | "E") ["+" | "-"] digitpart
|
||||||
|
|
||||||
Changed in version 3.6: Underscores are now allowed for grouping
|
Changed in version 3.6: Underscores are now allowed for grouping
|
||||||
purposes in literals.
|
purposes in literals.
|
||||||
|
|
@ -6145,17 +6173,53 @@ class body. A "SyntaxError" is raised if a variable is used or
|
||||||
'imaginary': r'''Imaginary literals
|
'imaginary': r'''Imaginary literals
|
||||||
******************
|
******************
|
||||||
|
|
||||||
Imaginary literals are described by the following lexical definitions:
|
Python has complex number objects, but no complex literals. Instead,
|
||||||
|
*imaginary literals* denote complex numbers with a zero real part.
|
||||||
|
|
||||||
|
For example, in math, the complex number 3+4.2*i* is written as the
|
||||||
|
real number 3 added to the imaginary number 4.2*i*. Python uses a
|
||||||
|
similar syntax, except the imaginary unit is written as "j" rather
|
||||||
|
than *i*:
|
||||||
|
|
||||||
|
3+4.2j
|
||||||
|
|
||||||
|
This is an expression composed of the integer literal "3", the
|
||||||
|
operator ‘"+"’, and the imaginary literal "4.2j". Since these are
|
||||||
|
three separate tokens, whitespace is allowed between them:
|
||||||
|
|
||||||
|
3 + 4.2j
|
||||||
|
|
||||||
|
No whitespace is allowed *within* each token. In particular, the "j"
|
||||||
|
suffix, may not be separated from the number before it.
|
||||||
|
|
||||||
|
The number before the "j" has the same syntax as a floating-point
|
||||||
|
literal. Thus, the following are valid imaginary literals:
|
||||||
|
|
||||||
|
4.2j
|
||||||
|
3.14j
|
||||||
|
10.j
|
||||||
|
.001j
|
||||||
|
1e100j
|
||||||
|
3.14e-10j
|
||||||
|
3.14_15_93j
|
||||||
|
|
||||||
|
Unlike in a floating-point literal the decimal point can be omitted if
|
||||||
|
the imaginary number only has an integer part. The number is still
|
||||||
|
evaluated as a floating-point number, not an integer:
|
||||||
|
|
||||||
|
10j
|
||||||
|
0j
|
||||||
|
1000000000000000000000000j # equivalent to 1e+24j
|
||||||
|
|
||||||
|
The "j" suffix is case-insensitive. That means you can use "J"
|
||||||
|
instead:
|
||||||
|
|
||||||
|
3.14J # equivalent to 3.14j
|
||||||
|
|
||||||
|
Formally, imaginary literals are described by the following lexical
|
||||||
|
definition:
|
||||||
|
|
||||||
imagnumber: (floatnumber | digitpart) ("j" | "J")
|
imagnumber: (floatnumber | digitpart) ("j" | "J")
|
||||||
|
|
||||||
An imaginary literal yields a complex number with a real part of 0.0.
|
|
||||||
Complex numbers are represented as a pair of floating-point numbers
|
|
||||||
and have the same restrictions on their range. To create a complex
|
|
||||||
number with a nonzero real part, add a floating-point number to it,
|
|
||||||
e.g., "(3+4j)". Some examples of imaginary literals:
|
|
||||||
|
|
||||||
3.14j 10.j 10j .001j 1e100j 3.14e-10j 3.14_15_93j
|
|
||||||
''',
|
''',
|
||||||
'import': r'''The "import" statement
|
'import': r'''The "import" statement
|
||||||
**********************
|
**********************
|
||||||
|
|
@ -6397,37 +6461,62 @@ class body. A "SyntaxError" is raised if a variable is used or
|
||||||
'integers': r'''Integer literals
|
'integers': r'''Integer literals
|
||||||
****************
|
****************
|
||||||
|
|
||||||
Integer literals are described by the following lexical definitions:
|
Integer literals denote whole numbers. For example:
|
||||||
|
|
||||||
integer: decinteger | bininteger | octinteger | hexinteger
|
7
|
||||||
decinteger: nonzerodigit (["_"] digit)* | "0"+ (["_"] "0")*
|
3
|
||||||
|
2147483647
|
||||||
|
|
||||||
|
There is no limit for the length of integer literals apart from what
|
||||||
|
can be stored in available memory:
|
||||||
|
|
||||||
|
7922816251426433759354395033679228162514264337593543950336
|
||||||
|
|
||||||
|
Underscores can be used to group digits for enhanced readability, and
|
||||||
|
are ignored for determining the numeric value of the literal. For
|
||||||
|
example, the following literals are equivalent:
|
||||||
|
|
||||||
|
100_000_000_000
|
||||||
|
100000000000
|
||||||
|
1_00_00_00_00_000
|
||||||
|
|
||||||
|
Underscores can only occur between digits. For example, "_123",
|
||||||
|
"321_", and "123__321" are *not* valid literals.
|
||||||
|
|
||||||
|
Integers can be specified in binary (base 2), octal (base 8), or
|
||||||
|
hexadecimal (base 16) using the prefixes "0b", "0o" and "0x",
|
||||||
|
respectively. Hexadecimal digits 10 through 15 are represented by
|
||||||
|
letters "A"-"F", case-insensitive. For example:
|
||||||
|
|
||||||
|
0b100110111
|
||||||
|
0b_1110_0101
|
||||||
|
0o177
|
||||||
|
0o377
|
||||||
|
0xdeadbeef
|
||||||
|
0xDead_Beef
|
||||||
|
|
||||||
|
An underscore can follow the base specifier. For example, "0x_1f" is a
|
||||||
|
valid literal, but "0_x1f" and "0x__1f" are not.
|
||||||
|
|
||||||
|
Leading zeros in a non-zero decimal number are not allowed. For
|
||||||
|
example, "0123" is not a valid literal. This is for disambiguation
|
||||||
|
with C-style octal literals, which Python used before version 3.0.
|
||||||
|
|
||||||
|
Formally, integer literals are described by the following lexical
|
||||||
|
definitions:
|
||||||
|
|
||||||
|
integer: decinteger | bininteger | octinteger | hexinteger | zerointeger
|
||||||
|
decinteger: nonzerodigit (["_"] digit)*
|
||||||
bininteger: "0" ("b" | "B") (["_"] bindigit)+
|
bininteger: "0" ("b" | "B") (["_"] bindigit)+
|
||||||
octinteger: "0" ("o" | "O") (["_"] octdigit)+
|
octinteger: "0" ("o" | "O") (["_"] octdigit)+
|
||||||
hexinteger: "0" ("x" | "X") (["_"] hexdigit)+
|
hexinteger: "0" ("x" | "X") (["_"] hexdigit)+
|
||||||
|
zerointeger: "0"+ (["_"] "0")*
|
||||||
nonzerodigit: "1"..."9"
|
nonzerodigit: "1"..."9"
|
||||||
digit: "0"..."9"
|
digit: "0"..."9"
|
||||||
bindigit: "0" | "1"
|
bindigit: "0" | "1"
|
||||||
octdigit: "0"..."7"
|
octdigit: "0"..."7"
|
||||||
hexdigit: digit | "a"..."f" | "A"..."F"
|
hexdigit: digit | "a"..."f" | "A"..."F"
|
||||||
|
|
||||||
There is no limit for the length of integer literals apart from what
|
|
||||||
can be stored in available memory.
|
|
||||||
|
|
||||||
Underscores are ignored for determining the numeric value of the
|
|
||||||
literal. They can be used to group digits for enhanced readability.
|
|
||||||
One underscore can occur between digits, and after base specifiers
|
|
||||||
like "0x".
|
|
||||||
|
|
||||||
Note that leading zeros in a non-zero decimal number are not allowed.
|
|
||||||
This is for disambiguation with C-style octal literals, which Python
|
|
||||||
used before version 3.0.
|
|
||||||
|
|
||||||
Some examples of integer literals:
|
|
||||||
|
|
||||||
7 2147483647 0o177 0b100110111
|
|
||||||
3 79228162514264337593543950336 0o377 0xdeadbeef
|
|
||||||
100_000_000_000 0b_1110_0101
|
|
||||||
|
|
||||||
Changed in version 3.6: Underscores are now allowed for grouping
|
Changed in version 3.6: Underscores are now allowed for grouping
|
||||||
purposes in literals.
|
purposes in literals.
|
||||||
''',
|
''',
|
||||||
|
|
@ -6774,14 +6863,190 @@ class body. A "SyntaxError" is raised if a variable is used or
|
||||||
'numbers': r'''Numeric literals
|
'numbers': r'''Numeric literals
|
||||||
****************
|
****************
|
||||||
|
|
||||||
There are three types of numeric literals: integers, floating-point
|
"NUMBER" tokens represent numeric literals, of which there are three
|
||||||
numbers, and imaginary numbers. There are no complex literals
|
types: integers, floating-point numbers, and imaginary numbers.
|
||||||
(complex numbers can be formed by adding a real number and an
|
|
||||||
imaginary number).
|
|
||||||
|
|
||||||
Note that numeric literals do not include a sign; a phrase like "-1"
|
NUMBER: integer | floatnumber | imagnumber
|
||||||
is actually an expression composed of the unary operator ‘"-"’ and the
|
|
||||||
literal "1".
|
The numeric value of a numeric literal is the same as if it were
|
||||||
|
passed as a string to the "int", "float" or "complex" class
|
||||||
|
constructor, respectively. Note that not all valid inputs for those
|
||||||
|
constructors are also valid literals.
|
||||||
|
|
||||||
|
Numeric literals do not include a sign; a phrase like "-1" is actually
|
||||||
|
an expression composed of the unary operator ‘"-"’ and the literal
|
||||||
|
"1".
|
||||||
|
|
||||||
|
|
||||||
|
Integer literals
|
||||||
|
================
|
||||||
|
|
||||||
|
Integer literals denote whole numbers. For example:
|
||||||
|
|
||||||
|
7
|
||||||
|
3
|
||||||
|
2147483647
|
||||||
|
|
||||||
|
There is no limit for the length of integer literals apart from what
|
||||||
|
can be stored in available memory:
|
||||||
|
|
||||||
|
7922816251426433759354395033679228162514264337593543950336
|
||||||
|
|
||||||
|
Underscores can be used to group digits for enhanced readability, and
|
||||||
|
are ignored for determining the numeric value of the literal. For
|
||||||
|
example, the following literals are equivalent:
|
||||||
|
|
||||||
|
100_000_000_000
|
||||||
|
100000000000
|
||||||
|
1_00_00_00_00_000
|
||||||
|
|
||||||
|
Underscores can only occur between digits. For example, "_123",
|
||||||
|
"321_", and "123__321" are *not* valid literals.
|
||||||
|
|
||||||
|
Integers can be specified in binary (base 2), octal (base 8), or
|
||||||
|
hexadecimal (base 16) using the prefixes "0b", "0o" and "0x",
|
||||||
|
respectively. Hexadecimal digits 10 through 15 are represented by
|
||||||
|
letters "A"-"F", case-insensitive. For example:
|
||||||
|
|
||||||
|
0b100110111
|
||||||
|
0b_1110_0101
|
||||||
|
0o177
|
||||||
|
0o377
|
||||||
|
0xdeadbeef
|
||||||
|
0xDead_Beef
|
||||||
|
|
||||||
|
An underscore can follow the base specifier. For example, "0x_1f" is a
|
||||||
|
valid literal, but "0_x1f" and "0x__1f" are not.
|
||||||
|
|
||||||
|
Leading zeros in a non-zero decimal number are not allowed. For
|
||||||
|
example, "0123" is not a valid literal. This is for disambiguation
|
||||||
|
with C-style octal literals, which Python used before version 3.0.
|
||||||
|
|
||||||
|
Formally, integer literals are described by the following lexical
|
||||||
|
definitions:
|
||||||
|
|
||||||
|
integer: decinteger | bininteger | octinteger | hexinteger | zerointeger
|
||||||
|
decinteger: nonzerodigit (["_"] digit)*
|
||||||
|
bininteger: "0" ("b" | "B") (["_"] bindigit)+
|
||||||
|
octinteger: "0" ("o" | "O") (["_"] octdigit)+
|
||||||
|
hexinteger: "0" ("x" | "X") (["_"] hexdigit)+
|
||||||
|
zerointeger: "0"+ (["_"] "0")*
|
||||||
|
nonzerodigit: "1"..."9"
|
||||||
|
digit: "0"..."9"
|
||||||
|
bindigit: "0" | "1"
|
||||||
|
octdigit: "0"..."7"
|
||||||
|
hexdigit: digit | "a"..."f" | "A"..."F"
|
||||||
|
|
||||||
|
Changed in version 3.6: Underscores are now allowed for grouping
|
||||||
|
purposes in literals.
|
||||||
|
|
||||||
|
|
||||||
|
Floating-point literals
|
||||||
|
=======================
|
||||||
|
|
||||||
|
Floating-point (float) literals, such as "3.14" or "1.5", denote
|
||||||
|
approximations of real numbers.
|
||||||
|
|
||||||
|
They consist of *integer* and *fraction* parts, each composed of
|
||||||
|
decimal digits. The parts are separated by a decimal point, ".":
|
||||||
|
|
||||||
|
2.71828
|
||||||
|
4.0
|
||||||
|
|
||||||
|
Unlike in integer literals, leading zeros are allowed in the numeric
|
||||||
|
parts. For example, "077.010" is legal, and denotes the same number as
|
||||||
|
"77.10".
|
||||||
|
|
||||||
|
As in integer literals, single underscores may occur between digits to
|
||||||
|
help readability:
|
||||||
|
|
||||||
|
96_485.332_123
|
||||||
|
3.14_15_93
|
||||||
|
|
||||||
|
Either of these parts, but not both, can be empty. For example:
|
||||||
|
|
||||||
|
10. # (equivalent to 10.0)
|
||||||
|
.001 # (equivalent to 0.001)
|
||||||
|
|
||||||
|
Optionally, the integer and fraction may be followed by an *exponent*:
|
||||||
|
the letter "e" or "E", followed by an optional sign, "+" or "-", and a
|
||||||
|
number in the same format as the integer and fraction parts. The "e"
|
||||||
|
or "E" represents “times ten raised to the power of”:
|
||||||
|
|
||||||
|
1.0e3 # (represents 1.0×10³, or 1000.0)
|
||||||
|
1.166e-5 # (represents 1.166×10⁻⁵, or 0.00001166)
|
||||||
|
6.02214076e+23 # (represents 6.02214076×10²³, or 602214076000000000000000.)
|
||||||
|
|
||||||
|
In floats with only integer and exponent parts, the decimal point may
|
||||||
|
be omitted:
|
||||||
|
|
||||||
|
1e3 # (equivalent to 1.e3 and 1.0e3)
|
||||||
|
0e0 # (equivalent to 0.)
|
||||||
|
|
||||||
|
Formally, floating-point literals are described by the following
|
||||||
|
lexical definitions:
|
||||||
|
|
||||||
|
floatnumber:
|
||||||
|
| digitpart "." [digitpart] [exponent]
|
||||||
|
| "." digitpart [exponent]
|
||||||
|
| digitpart exponent
|
||||||
|
digitpart: digit (["_"] digit)*
|
||||||
|
exponent: ("e" | "E") ["+" | "-"] digitpart
|
||||||
|
|
||||||
|
Changed in version 3.6: Underscores are now allowed for grouping
|
||||||
|
purposes in literals.
|
||||||
|
|
||||||
|
|
||||||
|
Imaginary literals
|
||||||
|
==================
|
||||||
|
|
||||||
|
Python has complex number objects, but no complex literals. Instead,
|
||||||
|
*imaginary literals* denote complex numbers with a zero real part.
|
||||||
|
|
||||||
|
For example, in math, the complex number 3+4.2*i* is written as the
|
||||||
|
real number 3 added to the imaginary number 4.2*i*. Python uses a
|
||||||
|
similar syntax, except the imaginary unit is written as "j" rather
|
||||||
|
than *i*:
|
||||||
|
|
||||||
|
3+4.2j
|
||||||
|
|
||||||
|
This is an expression composed of the integer literal "3", the
|
||||||
|
operator ‘"+"’, and the imaginary literal "4.2j". Since these are
|
||||||
|
three separate tokens, whitespace is allowed between them:
|
||||||
|
|
||||||
|
3 + 4.2j
|
||||||
|
|
||||||
|
No whitespace is allowed *within* each token. In particular, the "j"
|
||||||
|
suffix, may not be separated from the number before it.
|
||||||
|
|
||||||
|
The number before the "j" has the same syntax as a floating-point
|
||||||
|
literal. Thus, the following are valid imaginary literals:
|
||||||
|
|
||||||
|
4.2j
|
||||||
|
3.14j
|
||||||
|
10.j
|
||||||
|
.001j
|
||||||
|
1e100j
|
||||||
|
3.14e-10j
|
||||||
|
3.14_15_93j
|
||||||
|
|
||||||
|
Unlike in a floating-point literal the decimal point can be omitted if
|
||||||
|
the imaginary number only has an integer part. The number is still
|
||||||
|
evaluated as a floating-point number, not an integer:
|
||||||
|
|
||||||
|
10j
|
||||||
|
0j
|
||||||
|
1000000000000000000000000j # equivalent to 1e+24j
|
||||||
|
|
||||||
|
The "j" suffix is case-insensitive. That means you can use "J"
|
||||||
|
instead:
|
||||||
|
|
||||||
|
3.14J # equivalent to 3.14j
|
||||||
|
|
||||||
|
Formally, imaginary literals are described by the following lexical
|
||||||
|
definition:
|
||||||
|
|
||||||
|
imagnumber: (floatnumber | digitpart) ("j" | "J")
|
||||||
''',
|
''',
|
||||||
'numeric-types': r'''Emulating numeric types
|
'numeric-types': r'''Emulating numeric types
|
||||||
***********************
|
***********************
|
||||||
|
|
|
||||||
484
Misc/NEWS.d/3.14.0b4.rst
Normal file
484
Misc/NEWS.d/3.14.0b4.rst
Normal file
|
|
@ -0,0 +1,484 @@
|
||||||
|
.. date: 2025-06-26-15-58-13
|
||||||
|
.. gh-issue: 135968
|
||||||
|
.. nonce: C4v_-W
|
||||||
|
.. release date: 2025-07-08
|
||||||
|
.. section: Tools/Demos
|
||||||
|
|
||||||
|
Stubs for ``strip`` are now provided as part of an iOS install.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-25-10-36-22
|
||||||
|
.. gh-issue: 133600
|
||||||
|
.. nonce: bkdgHC
|
||||||
|
.. section: Tools/Demos
|
||||||
|
|
||||||
|
Backport file reorganization for Tools/wasm/wasi.
|
||||||
|
|
||||||
|
This should make backporting future code changes easier. It also simplifies
|
||||||
|
instructions around how to do WASI builds in the devguide.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-26-15-15-35
|
||||||
|
.. gh-issue: 135966
|
||||||
|
.. nonce: EBpF8Y
|
||||||
|
.. section: Tests
|
||||||
|
|
||||||
|
The iOS testbed now handles the ``app_packages`` folder as a site directory.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-19-15-29-38
|
||||||
|
.. gh-issue: 135494
|
||||||
|
.. nonce: FVl9a0
|
||||||
|
.. section: Tests
|
||||||
|
|
||||||
|
Fix regrtest to support excluding tests from ``--pgo`` tests. Patch by
|
||||||
|
Victor Stinner.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-27-21-23-19
|
||||||
|
.. gh-issue: 136053
|
||||||
|
.. nonce: QZxcee
|
||||||
|
.. section: Security
|
||||||
|
|
||||||
|
:mod:`marshal`: fix a possible crash when deserializing :class:`slice`
|
||||||
|
objects.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-25-14-13-39
|
||||||
|
.. gh-issue: 135661
|
||||||
|
.. nonce: idjQ0B
|
||||||
|
.. section: Security
|
||||||
|
|
||||||
|
Fix parsing start and end tags in :class:`html.parser.HTMLParser` according
|
||||||
|
to the HTML5 standard.
|
||||||
|
|
||||||
|
* Whitespaces no longer accepted between ``</`` and the tag name.
|
||||||
|
E.g. ``</ script>`` does not end the script section.
|
||||||
|
|
||||||
|
* Vertical tabulation (``\v``) and non-ASCII whitespaces no longer recognized
|
||||||
|
as whitespaces. The only whitespaces are ``\t\n\r\f`` and space.
|
||||||
|
|
||||||
|
* Null character (U+0000) no longer ends the tag name.
|
||||||
|
|
||||||
|
* Attributes and slashes after the tag name in end tags are now ignored,
|
||||||
|
instead of terminating after the first ``>`` in quoted attribute value.
|
||||||
|
E.g. ``</script/foo=">"/>``.
|
||||||
|
|
||||||
|
* Multiple slashes and whitespaces between the last attribute and closing ``>``
|
||||||
|
are now ignored in both start and end tags. E.g. ``<a foo=bar/ //>``.
|
||||||
|
|
||||||
|
* Multiple ``=`` between attribute name and value are no longer collapsed.
|
||||||
|
E.g. ``<a foo==bar>`` produces attribute "foo" with value "=bar".
|
||||||
|
|
||||||
|
* Whitespaces between the ``=`` separator and attribute name or value are no
|
||||||
|
longer ignored. E.g. ``<a foo =bar>`` produces two attributes "foo" and
|
||||||
|
"=bar", both with value None; ``<a foo= bar>`` produces two attributes:
|
||||||
|
"foo" with value "" and "bar" with value None.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-18-13-28-08
|
||||||
|
.. gh-issue: 102555
|
||||||
|
.. nonce: nADrzJ
|
||||||
|
.. section: Security
|
||||||
|
|
||||||
|
Fix comment parsing in :class:`html.parser.HTMLParser` according to the
|
||||||
|
HTML5 standard. ``--!>`` now ends the comment. ``-- >`` no longer ends the
|
||||||
|
comment. Support abnormally ended empty comments ``<-->`` and ``<--->``.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-07-05-09-45-04
|
||||||
|
.. gh-issue: 136286
|
||||||
|
.. nonce: N67Amr
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix pickling failures for protocols 0 and 1 for many objects realted to
|
||||||
|
subinterpreters.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-07-05-06-56-16
|
||||||
|
.. gh-issue: 136316
|
||||||
|
.. nonce: 3zj_Do
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Improve support for evaluating nested forward references in
|
||||||
|
:func:`typing.evaluate_forward_ref`.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-30-11-12-24
|
||||||
|
.. gh-issue: 85702
|
||||||
|
.. nonce: 0Lrbwu
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
If ``zoneinfo._common.load_tzdata`` is given a package without a resource a
|
||||||
|
:exc:`zoneinfo.ZoneInfoNotFoundError` is raised rather than a
|
||||||
|
:exc:`PermissionError`. Patch by Victor Stinner.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-27-13-34-28
|
||||||
|
.. gh-issue: 136028
|
||||||
|
.. nonce: RY727g
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix parsing month names containing "İ" (U+0130, LATIN CAPITAL LETTER I WITH
|
||||||
|
DOT ABOVE) in :func:`time.strptime`. This affects locales az_AZ, ber_DZ,
|
||||||
|
ber_MA and crh_UA.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-26-17-28-49
|
||||||
|
.. gh-issue: 135995
|
||||||
|
.. nonce: pPrDCt
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
In the palmos encoding, make byte ``0x9b`` decode to ``›`` (U+203A - SINGLE
|
||||||
|
RIGHT-POINTING ANGLE QUOTATION MARK).
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-26-11-52-40
|
||||||
|
.. gh-issue: 53203
|
||||||
|
.. nonce: TMigBr
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix :func:`time.strptime` for ``%c`` and ``%x`` formats on locales byn_ER,
|
||||||
|
wal_ET and lzh_TW, and for ``%X`` format on locales ar_SA, bg_BG and lzh_TW.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-25-17-25-53
|
||||||
|
.. gh-issue: 91555
|
||||||
|
.. nonce: xUpTLD
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
An earlier change, which was introduced in 3.14.0b2, has been reverted. It
|
||||||
|
disabled logging for a logger during handling of log messages for that
|
||||||
|
logger. Since the reversion, the behaviour should be as it was before
|
||||||
|
3.14.0b2.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-24-14-43-24
|
||||||
|
.. gh-issue: 135878
|
||||||
|
.. nonce: Db4roX
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fixes a crash of :class:`types.SimpleNamespace` on :term:`free threading`
|
||||||
|
builds, when several threads were calling its :meth:`~object.__repr__`
|
||||||
|
method at the same time.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-24-10-52-35
|
||||||
|
.. gh-issue: 135836
|
||||||
|
.. nonce: s37351
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix :exc:`IndexError` in :meth:`asyncio.loop.create_connection` that could
|
||||||
|
occur when non-\ :exc:`OSError` exception is raised during connection and
|
||||||
|
socket's ``close()`` raises :exc:`!OSError`.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-23-11-04-25
|
||||||
|
.. gh-issue: 135836
|
||||||
|
.. nonce: -C-c4v
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix :exc:`IndexError` in :meth:`asyncio.loop.create_connection` that could
|
||||||
|
occur when the Happy Eyeballs algorithm resulted in an empty exceptions list
|
||||||
|
during connection attempts.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-23-10-19-11
|
||||||
|
.. gh-issue: 135855
|
||||||
|
.. nonce: -J0AGF
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Raise :exc:`TypeError` instead of :exc:`SystemError` when
|
||||||
|
:func:`!_interpreters.set___main___attrs` is passed a non-dict object. Patch
|
||||||
|
by Brian Schubert.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-22-16-23-44
|
||||||
|
.. gh-issue: 135815
|
||||||
|
.. nonce: 0DandH
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
:mod:`netrc`: skip security checks if :func:`os.getuid` is missing. Patch by
|
||||||
|
Bénédikt Tran.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-22-02-16-17
|
||||||
|
.. gh-issue: 135640
|
||||||
|
.. nonce: FXyFL6
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Address bug where it was possible to call
|
||||||
|
:func:`xml.etree.ElementTree.ElementTree.write` on an ElementTree object
|
||||||
|
with an invalid root element. This behavior blanked the file passed to
|
||||||
|
``write`` if it already existed.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-18-13-58-13
|
||||||
|
.. gh-issue: 135645
|
||||||
|
.. nonce: 109nff
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Added ``supports_isolated_interpreters`` field to
|
||||||
|
:data:`sys.implementation`.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-18-11-43-17
|
||||||
|
.. gh-issue: 135646
|
||||||
|
.. nonce: r7ekEn
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Raise consistent :exc:`NameError` exceptions in
|
||||||
|
:func:`annotationlib.ForwardRef.evaluate`
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-17-23-13-56
|
||||||
|
.. gh-issue: 135557
|
||||||
|
.. nonce: Bfcy4v
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix races on :mod:`heapq` updates and :class:`list` reads on the :term:`free
|
||||||
|
threaded <free threading>` build.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-17-22-44-19
|
||||||
|
.. gh-issue: 119180
|
||||||
|
.. nonce: Ogv8Nj
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Only fetch globals and locals if necessary in
|
||||||
|
:func:`annotationlib.get_annotations`
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-16-15-03-03
|
||||||
|
.. gh-issue: 135561
|
||||||
|
.. nonce: mJCN8D
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix a crash on DEBUG builds when an HACL* HMAC routine fails. Patch by
|
||||||
|
Bénédikt Tran.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-14-12-06-55
|
||||||
|
.. gh-issue: 135487
|
||||||
|
.. nonce: KdVFff
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix :meth:`!reprlib.Repr.repr_int` when given integers with more than
|
||||||
|
:func:`sys.get_int_max_str_digits` digits. Patch by Bénédikt Tran.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-10-21-42-04
|
||||||
|
.. gh-issue: 135335
|
||||||
|
.. nonce: WnUqb_
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
:mod:`multiprocessing`: Flush ``stdout`` and ``stderr`` after preloading
|
||||||
|
modules in the ``forkserver``.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-03-12-59-17
|
||||||
|
.. gh-issue: 135069
|
||||||
|
.. nonce: xop30V
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Fix the "Invalid error handling" exception in
|
||||||
|
:class:`!encodings.idna.IncrementalDecoder` to correctly replace the
|
||||||
|
'errors' parameter.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-02-14-36-28
|
||||||
|
.. gh-issue: 130662
|
||||||
|
.. nonce: Gpr2GB
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
+Accept leading zeros in precision and width fields for
|
||||||
|
+:class:`~decimal.Decimal` formatting, for example ``format(Decimal(1.25),
|
||||||
|
'.016f')``.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-02-14-28-30
|
||||||
|
.. gh-issue: 130662
|
||||||
|
.. nonce: EIgIR8
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Accept leading zeros in precision and width fields for
|
||||||
|
:class:`~fractions.Fraction` formatting, for example ``format(Fraction(1,
|
||||||
|
3), '.016f')``.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-04-07-10-20-16
|
||||||
|
.. gh-issue: 87790
|
||||||
|
.. nonce: X2SjJe
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Support underscore and comma as thousands separators in the fractional part
|
||||||
|
for :class:`~fractions.Fraction`'s formatting. Patch by Sergey B Kirpichev.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-04-07-09-53-54
|
||||||
|
.. gh-issue: 87790
|
||||||
|
.. nonce: 6nj3zQ
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Support underscore and comma as thousands separators in the fractional part
|
||||||
|
for :class:`~decimal.Decimal`'s formatting. Patch by Sergey B Kirpichev.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-03-11-05-24-14
|
||||||
|
.. gh-issue: 130664
|
||||||
|
.. nonce: g0yNMm
|
||||||
|
.. section: Library
|
||||||
|
|
||||||
|
Handle corner-case for :class:`~fractions.Fraction`'s formatting: treat
|
||||||
|
zero-padding (preceding the width field by a zero (``'0'``) character) as an
|
||||||
|
equivalent to a fill character of ``'0'`` with an alignment type of ``'='``,
|
||||||
|
just as in case of :class:`float`'s.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-07-01-21-04-47
|
||||||
|
.. gh-issue: 136155
|
||||||
|
.. nonce: ufmH4Q
|
||||||
|
.. section: Documentation
|
||||||
|
|
||||||
|
EPUB builds are fixed by excluding non-XHTML-compatible tags.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-07-06-14-53-19
|
||||||
|
.. gh-issue: 109700
|
||||||
|
.. nonce: KVNQQi
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Fix memory error handling in :c:func:`PyDict_SetDefault`.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-26-15-25-51
|
||||||
|
.. gh-issue: 78465
|
||||||
|
.. nonce: MbDN8X
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Fix error message for ``cls.__new__(cls, ...)`` where ``cls`` is not
|
||||||
|
instantiable builtin or extension type (with ``tp_new`` set to ``NULL``).
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-24-06-41-47
|
||||||
|
.. gh-issue: 129958
|
||||||
|
.. nonce: EaJuS0
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Differentiate between t-strings and f-strings in syntax error for newlines
|
||||||
|
in format specifiers of single-quoted interpolated strings.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-23-18-08-32
|
||||||
|
.. gh-issue: 135871
|
||||||
|
.. nonce: 50C528
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Non-blocking mutex lock attempts now return immediately when the lock is
|
||||||
|
busy instead of briefly spinning in the :term:`free threading` build.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-18-16-45-36
|
||||||
|
.. gh-issue: 135106
|
||||||
|
.. nonce: cpl6Aq
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Restrict the trashcan mechanism to GC'ed objects and untrack them while in
|
||||||
|
the trashcan to prevent the GC and trashcan mechanisms conflicting.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-17-22-34-58
|
||||||
|
.. gh-issue: 135607
|
||||||
|
.. nonce: ucsLVu
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Fix potential :mod:`weakref` races in an object's destructor on the
|
||||||
|
:term:`free threaded <free threading>` build.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-17-12-50-48
|
||||||
|
.. gh-issue: 135608
|
||||||
|
.. nonce: PnHckD
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Fix a crash in the JIT involving attributes of modules.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-16-02-31-42
|
||||||
|
.. gh-issue: 135543
|
||||||
|
.. nonce: 6b0HOF
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Emit ``sys.remote_exec`` audit event when :func:`sys.remote_exec` is called
|
||||||
|
and migrate ``remote_debugger_script`` to
|
||||||
|
``cpython.remote_debugger_script``.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-05-31-19-24-54
|
||||||
|
.. gh-issue: 134280
|
||||||
|
.. nonce: NDVbzY
|
||||||
|
.. section: Core and Builtins
|
||||||
|
|
||||||
|
Disable constant folding for ``~`` with a boolean argument. This moves the
|
||||||
|
deprecation warning from compile time to runtime.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-06-25-01-03-10
|
||||||
|
.. gh-issue: 135906
|
||||||
|
.. nonce: UBrCWq
|
||||||
|
.. section: C API
|
||||||
|
|
||||||
|
Fix compilation errors when compiling the internal headers with a C++
|
||||||
|
compiler.
|
||||||
|
|
||||||
|
..
|
||||||
|
|
||||||
|
.. date: 2025-05-19-18-09-20
|
||||||
|
.. gh-issue: 134273
|
||||||
|
.. nonce: ZAliyy
|
||||||
|
.. section: Build
|
||||||
|
|
||||||
|
Add support for configuring compiler flags for the JIT with ``CFLAGS_JIT``
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Add support for configuring compiler flags for the JIT with ``CFLAGS_JIT``
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Fix compilation errors when compiling the internal headers with a C++ compiler.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Disable constant folding for ``~`` with a boolean argument.
|
|
||||||
This moves the deprecation warning from compile time to runtime.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Emit ``sys.remote_exec`` audit event when :func:`sys.remote_exec` is called
|
|
||||||
and migrate ``remote_debugger_script`` to ``cpython.remote_debugger_script``.
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Fix a crash in the JIT involving attributes of modules.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Fix potential :mod:`weakref` races in an object's destructor on the :term:`free threaded <free
|
|
||||||
threading>` build.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Restrict the trashcan mechanism to GC'ed objects and untrack them while in
|
|
||||||
the trashcan to prevent the GC and trashcan mechanisms conflicting.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Non-blocking mutex lock attempts now return immediately when the lock is busy
|
|
||||||
instead of briefly spinning in the :term:`free threading` build.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Differentiate between t-strings and f-strings in syntax error for newlines
|
|
||||||
in format specifiers of single-quoted interpolated strings.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Fix error message for ``cls.__new__(cls, ...)`` where ``cls`` is not
|
|
||||||
instantiable builtin or extension type (with ``tp_new`` set to ``NULL``).
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Fix memory error handling in :c:func:`PyDict_SetDefault`.
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
EPUB builds are fixed by excluding non-XHTML-compatible tags.
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
Handle corner-case for :class:`~fractions.Fraction`'s formatting: treat
|
|
||||||
zero-padding (preceding the width field by a zero (``'0'``) character) as an
|
|
||||||
equivalent to a fill character of ``'0'`` with an alignment type of ``'='``,
|
|
||||||
just as in case of :class:`float`'s.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Support underscore and comma as thousands separators in the fractional part
|
|
||||||
for :class:`~decimal.Decimal`'s formatting. Patch by Sergey B Kirpichev.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Support underscore and comma as thousands separators in the fractional part
|
|
||||||
for :class:`~fractions.Fraction`'s formatting. Patch by Sergey B Kirpichev.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
Accept leading zeros in precision and width fields for
|
|
||||||
:class:`~fractions.Fraction` formatting, for example ``format(Fraction(1,
|
|
||||||
3), '.016f')``.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
+Accept leading zeros in precision and width fields for
|
|
||||||
+:class:`~decimal.Decimal` formatting, for example ``format(Decimal(1.25),
|
|
||||||
'.016f')``.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
Fix the "Invalid error handling" exception in
|
|
||||||
:class:`!encodings.idna.IncrementalDecoder` to correctly replace the
|
|
||||||
'errors' parameter.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
:mod:`multiprocessing`: Flush ``stdout`` and ``stderr`` after preloading
|
|
||||||
modules in the ``forkserver``.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Fix :meth:`!reprlib.Repr.repr_int` when given integers with more than
|
|
||||||
:func:`sys.get_int_max_str_digits` digits. Patch by Bénédikt Tran.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Fix a crash on DEBUG builds when an HACL* HMAC routine fails. Patch by
|
|
||||||
Bénédikt Tran.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Only fetch globals and locals if necessary in
|
|
||||||
:func:`annotationlib.get_annotations`
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Fix races on :mod:`heapq` updates and :class:`list` reads on the :term:`free threaded <free threading>`
|
|
||||||
build.
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Raise consistent :exc:`NameError` exceptions in :func:`annotationlib.ForwardRef.evaluate`
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Added ``supports_isolated_interpreters`` field to
|
|
||||||
:data:`sys.implementation`.
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
Address bug where it was possible to call
|
|
||||||
:func:`xml.etree.ElementTree.ElementTree.write` on an ElementTree object with
|
|
||||||
an invalid root element. This behavior blanked the file passed to ``write``
|
|
||||||
if it already existed.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
:mod:`netrc`: skip security checks if :func:`os.getuid` is missing.
|
|
||||||
Patch by Bénédikt Tran.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
Raise :exc:`TypeError` instead of :exc:`SystemError` when
|
|
||||||
:func:`!_interpreters.set___main___attrs` is passed a non-dict object.
|
|
||||||
Patch by Brian Schubert.
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Fix :exc:`IndexError` in :meth:`asyncio.loop.create_connection` that could occur when the Happy Eyeballs algorithm resulted in an empty exceptions list during connection attempts.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
Fix :exc:`IndexError` in :meth:`asyncio.loop.create_connection` that could
|
|
||||||
occur when non-\ :exc:`OSError` exception is raised during connection and
|
|
||||||
socket's ``close()`` raises :exc:`!OSError`.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
Fixes a crash of :class:`types.SimpleNamespace` on :term:`free threading` builds,
|
|
||||||
when several threads were calling its :meth:`~object.__repr__` method at the
|
|
||||||
same time.
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
An earlier change, which was introduced in 3.14.0b2, has been reverted. It
|
|
||||||
disabled logging for a logger during handling of log messages for that
|
|
||||||
logger. Since the reversion, the behaviour should be as it was before
|
|
||||||
3.14.0b2.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Fix :func:`time.strptime` for ``%c`` and ``%x`` formats on locales byn_ER,
|
|
||||||
wal_ET and lzh_TW, and for ``%X`` format on locales ar_SA, bg_BG and lzh_TW.
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
In the palmos encoding, make byte ``0x9b`` decode to ``›`` (U+203A - SINGLE RIGHT-POINTING ANGLE QUOTATION MARK).
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
Fix parsing month names containing "İ" (U+0130, LATIN CAPITAL LETTER I WITH
|
|
||||||
DOT ABOVE) in :func:`time.strptime`. This affects locales az_AZ, ber_DZ,
|
|
||||||
ber_MA and crh_UA.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
If ``zoneinfo._common.load_tzdata`` is given a package without a resource a
|
|
||||||
:exc:`zoneinfo.ZoneInfoNotFoundError` is raised rather than a :exc:`PermissionError`.
|
|
||||||
Patch by Victor Stinner.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Improve support for evaluating nested forward references in
|
|
||||||
:func:`typing.evaluate_forward_ref`.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Fix pickling failures for protocols 0 and 1 for many objects realted to
|
|
||||||
subinterpreters.
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
Fix comment parsing in :class:`html.parser.HTMLParser` according to the
|
|
||||||
HTML5 standard. ``--!>`` now ends the comment. ``-- >`` no longer ends the
|
|
||||||
comment. Support abnormally ended empty comments ``<-->`` and ``<--->``.
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
Fix parsing start and end tags in :class:`html.parser.HTMLParser`
|
|
||||||
according to the HTML5 standard.
|
|
||||||
|
|
||||||
* Whitespaces no longer accepted between ``</`` and the tag name.
|
|
||||||
E.g. ``</ script>`` does not end the script section.
|
|
||||||
|
|
||||||
* Vertical tabulation (``\v``) and non-ASCII whitespaces no longer recognized
|
|
||||||
as whitespaces. The only whitespaces are ``\t\n\r\f`` and space.
|
|
||||||
|
|
||||||
* Null character (U+0000) no longer ends the tag name.
|
|
||||||
|
|
||||||
* Attributes and slashes after the tag name in end tags are now ignored,
|
|
||||||
instead of terminating after the first ``>`` in quoted attribute value.
|
|
||||||
E.g. ``</script/foo=">"/>``.
|
|
||||||
|
|
||||||
* Multiple slashes and whitespaces between the last attribute and closing ``>``
|
|
||||||
are now ignored in both start and end tags. E.g. ``<a foo=bar/ //>``.
|
|
||||||
|
|
||||||
* Multiple ``=`` between attribute name and value are no longer collapsed.
|
|
||||||
E.g. ``<a foo==bar>`` produces attribute "foo" with value "=bar".
|
|
||||||
|
|
||||||
* Whitespaces between the ``=`` separator and attribute name or value are no
|
|
||||||
longer ignored. E.g. ``<a foo =bar>`` produces two attributes "foo" and
|
|
||||||
"=bar", both with value None; ``<a foo= bar>`` produces two attributes:
|
|
||||||
"foo" with value "" and "bar" with value None.
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
:mod:`marshal`: fix a possible crash when deserializing :class:`slice` objects.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
Fix regrtest to support excluding tests from ``--pgo`` tests. Patch by
|
|
||||||
Victor Stinner.
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
The iOS testbed now handles the ``app_packages`` folder as a site directory.
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
Backport file reorganization for Tools/wasm/wasi.
|
|
||||||
|
|
||||||
This should make backporting future code changes easier. It also simplifies
|
|
||||||
instructions around how to do WASI builds in the devguide.
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Stubs for ``strip`` are now provided as part of an iOS install.
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
This is Python version 3.14.0 beta 3
|
This is Python version 3.14.0 beta 4
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
.. image:: https://github.com/python/cpython/actions/workflows/build.yml/badge.svg?branch=main&event=push
|
.. image:: https://github.com/python/cpython/actions/workflows/build.yml/badge.svg?branch=main&event=push
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue