mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +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,26 +5131,55 @@ 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
 | 
					
 | 
				
			||||||
 | 
					   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)*
 | 
					   digitpart: digit (["_"] digit)*
 | 
				
			||||||
   fraction:      "." digitpart
 | 
					 | 
				
			||||||
   exponent:  ("e" | "E") ["+" | "-"] digitpart
 | 
					   exponent:  ("e" | "E") ["+" | "-"] digitpart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Note that the integer and exponent parts are always interpreted using
 | 
					 | 
				
			||||||
radix 10. For example, "077e010" is legal, and denotes the same number
 | 
					 | 
				
			||||||
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:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   3.14    10.    .001    1e100    3.14e-10    0e0    3.14_15_93
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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