Python 3.12.10

This commit is contained in:
Thomas Wouters 2025-04-08 13:35:30 +02:00
parent a05e9301ab
commit 0cc8128036
72 changed files with 771 additions and 191 deletions

View file

@ -18,12 +18,12 @@
/*--start constants--*/
#define PY_MAJOR_VERSION 3
#define PY_MINOR_VERSION 12
#define PY_MICRO_VERSION 9
#define PY_MICRO_VERSION 10
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
#define PY_RELEASE_SERIAL 0
/* Version as a string */
#define PY_VERSION "3.12.9+"
#define PY_VERSION "3.12.10"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

View file

@ -1,4 +1,4 @@
# Autogenerated by Sphinx on Sat Feb 22 02:02:02 2025
# Autogenerated by Sphinx on Tue Apr 8 13:35:42 2025
# as part of the release process.
topics = {
@ -2660,7 +2660,7 @@ section The standard type hierarchy):
parameter_list_no_posonly ::= defparameter ("," defparameter)* ["," [parameter_list_starargs]]
| parameter_list_starargs
parameter_list_starargs ::= "*" [star_parameter] ("," defparameter)* ["," [parameter_star_kwargs]]
"*" ("," defparameter)+ ["," [parameter_star_kwargs]]
| "*" ("," defparameter)+ ["," [parameter_star_kwargs]]
| parameter_star_kwargs
parameter_star_kwargs ::= "**" parameter [","]
parameter ::= identifier [":" expression]
@ -3743,7 +3743,7 @@ and local names are offered as arguments of the "p" command.
You can also invoke "pdb" from the command line to debug other
scripts. For example:
python -m pdb myscript.py
python -m pdb [-c command] (-m module | pyfile) [args ...]
When invoked as a module, pdb will automatically enter post-mortem
debugging if the program being debugged exits abnormally. After post-
@ -3752,12 +3752,20 @@ restart the program. Automatic restarting preserves pdbs state (such
as breakpoints) and in most cases is more useful than quitting the
debugger upon programs exit.
Changed in version 3.2: Added the "-c" option to execute commands as
if given in a ".pdbrc" file; see Debugger Commands.
-c, --command <command>
Changed in version 3.7: Added the "-m" option to execute modules
similar to the way "python -m" does. As with a script, the debugger
will pause execution just before the first line of the module.
To execute commands as if given in a ".pdbrc" file; see Debugger
Commands.
Changed in version 3.2: Added the "-c" option.
-m <module>
To execute modules similar to the way "python -m" does. As with a
script, the debugger will pause execution just before the first
line of the module.
Changed in version 3.7: Added the "-m" option.
Typical usage to execute a statement under control of the debugger is:
@ -5026,14 +5034,16 @@ format specification typically modifies the result.
The general form of a *standard format specifier* is:
format_spec ::= [[fill]align][sign]["z"]["#"]["0"][width][grouping_option]["." precision][type]
fill ::= <any character>
align ::= "<" | ">" | "=" | "^"
sign ::= "+" | "-" | " "
width ::= digit+
grouping_option ::= "_" | ","
precision ::= digit+
type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
format_spec ::= [options][width][grouping]["." precision][type]
options ::= [[fill]align][sign]["z"]["#"]["0"]
fill ::= <any character>
align ::= "<" | ">" | "=" | "^"
sign ::= "+" | "-" | " "
width ::= digit+
grouping ::= "," | "_"
precision ::= digit+
type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g"
| "G" | "n" | "o" | "s" | "x" | "X" | "%"
If a valid *align* value is specified, it can be preceded by a *fill*
character that can be any character and defaults to a space if
@ -5075,13 +5085,13 @@ the following:
+-----------+------------------------------------------------------------+
| Option | Meaning |
|===========|============================================================|
| "'+'" | indicates that a sign should be used for both positive as |
| "'+'" | Indicates that a sign should be used for both positive as |
| | well as negative numbers. |
+-----------+------------------------------------------------------------+
| "'-'" | indicates that a sign should be used only for negative |
| "'-'" | Indicates that a sign should be used only for negative |
| | numbers (this is the default behavior). |
+-----------+------------------------------------------------------------+
| space | indicates that a leading space should be used on positive |
| space | Indicates that a leading space should be used on positive |
| | numbers, and a minus sign on negative numbers. |
+-----------+------------------------------------------------------------+
@ -5104,26 +5114,10 @@ point character appears in the result of these conversions only if a
digit follows it. In addition, for "'g'" and "'G'" conversions,
trailing zeros are not removed from the result.
The "','" option signals the use of a comma for a thousands separator
for floating-point presentation types and for integer presentation
type "'d'". For other presentation types, this option is an error. For
a locale aware separator, use the "'n'" integer presentation type
instead.
Changed in version 3.1: Added the "','" option (see also **PEP 378**).
The "'_'" option signals the use of an underscore for a thousands
separator for floating-point presentation types and for integer
presentation type "'d'". For integer presentation types "'b'", "'o'",
"'x'", and "'X'", underscores will be inserted every 4 digits. For
other presentation types, specifying this option is an error.
Changed in version 3.6: Added the "'_'" option (see also **PEP 515**).
*width* is a decimal integer defining the minimum total field width,
including any prefixes, separators, and other formatting characters.
If not specified, then the field width will be determined by the
content.
The *width* is a decimal integer defining the minimum total field
width, including any prefixes, separators, and other formatting
characters. If not specified, then the field width will be determined
by the content.
When no explicit alignment is given, preceding the *width* field by a
zero ("'0'") character enables sign-aware zero-padding for numeric
@ -5133,6 +5127,32 @@ of "'0'" with an *alignment* type of "'='".
Changed in version 3.10: Preceding the *width* field by "'0'" no
longer affects the default alignment for strings.
The *grouping* option after the *width* field specifies a digit group
separator for the integral part of a number. It can be one of the
following:
+-----------+------------------------------------------------------------+
| Option | Meaning |
|===========|============================================================|
| "','" | Inserts a comma every 3 digits for integer presentation |
| | type "'d'" and floating-point presentation types, |
| | excluding "'n'". For other presentation types, this option |
| | is not supported. |
+-----------+------------------------------------------------------------+
| "'_'" | Inserts an underscore every 3 digits for integer |
| | presentation type "'d'" and floating-point presentation |
| | types, excluding "'n'". For integer presentation types |
| | "'b'", "'o'", "'x'", and "'X'", underscores are inserted |
| | every 4 digits. For other presentation types, this option |
| | is not supported. |
+-----------+------------------------------------------------------------+
For a locale aware separator, use the "'n'" presentation type instead.
Changed in version 3.1: Added the "','" option (see also **PEP 378**).
Changed in version 3.6: Added the "'_'" option (see also **PEP 515**).
The *precision* is a decimal integer indicating how many digits should
be displayed after the decimal point for presentation types "'f'" and
"'F'", or before and after the decimal point for presentation types
@ -5177,8 +5197,8 @@ The available integer presentation types are:
| | as well. |
+-----------+------------------------------------------------------------+
| "'n'" | Number. This is the same as "'d'", except that it uses the |
| | current locale setting to insert the appropriate number |
| | separator characters. |
| | current locale setting to insert the appropriate digit |
| | group separators. |
+-----------+------------------------------------------------------------+
| None | The same as "'d'". |
+-----------+------------------------------------------------------------+
@ -5249,8 +5269,8 @@ The available presentation types for "float" and "Decimal" values are:
| | and NaN are uppercased, too. |
+-----------+------------------------------------------------------------+
| "'n'" | Number. This is the same as "'g'", except that it uses the |
| | current locale setting to insert the appropriate number |
| | separator characters. |
| | current locale setting to insert the appropriate digit |
| | group separators for the integral part of a number. |
+-----------+------------------------------------------------------------+
| "'%'" | Percentage. Multiplies the number by 100 and displays in |
| | fixed ("'f'") format, followed by a percent sign. |
@ -5373,10 +5393,16 @@ Replacing "%x" and "%o" and converting the value to different bases:
>>> "int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}".format(42)
'int: 42; hex: 0x2a; oct: 0o52; bin: 0b101010'
Using the comma as a thousands separator:
Using the comma or the underscore as a digit group separator:
>>> '{:,}'.format(1234567890)
'1,234,567,890'
>>> '{:_}'.format(1234567890)
'1_234_567_890'
>>> '{:_b}'.format(1234567890)
'100_1001_1001_0110_0000_0010_1101_0010'
>>> '{:_x}'.format(1234567890)
'4996_02d2'
Expressing a percentage:
@ -5436,7 +5462,7 @@ section The standard type hierarchy):
parameter_list_no_posonly ::= defparameter ("," defparameter)* ["," [parameter_list_starargs]]
| parameter_list_starargs
parameter_list_starargs ::= "*" [star_parameter] ("," defparameter)* ["," [parameter_star_kwargs]]
"*" ("," defparameter)+ ["," [parameter_star_kwargs]]
| "*" ("," defparameter)+ ["," [parameter_star_kwargs]]
| parameter_star_kwargs
parameter_star_kwargs ::= "**" parameter [","]
parameter ::= identifier [":" expression]
@ -11397,7 +11423,7 @@ class dict(iterable, **kwargs)
to be a mutable object such as an empty list. To get distinct
values, use a dict comprehension instead.
get(key, default=None)
get(key, default=None, /)
Return the value for *key* if *key* is in the dictionary, else
*default*. If *default* is not given, it defaults to "None", so
@ -11438,7 +11464,7 @@ class dict(iterable, **kwargs)
Added in version 3.8.
setdefault(key, default=None)
setdefault(key, default=None, /)
If *key* is in the dictionary, return its value. If not, insert
*key* with a value of *default* and return *default*. *default*

693
Misc/NEWS.d/3.12.10.rst Normal file
View file

@ -0,0 +1,693 @@
.. date: 2025-04-06-23-39-47
.. gh-issue: 124111
.. nonce: 2JI7iE
.. release date: 2025-04-08
.. section: macOS
Update macOS installer to use Tcl/Tk 8.6.16.
..
.. date: 2025-04-06-23-24-00
.. gh-issue: 131423
.. nonce: 4UcBKy
.. section: macOS
Update macOS installer to use OpenSSL 3.0.16. Patch by Bénédikt Tran.
..
.. date: 2025-03-09-21-45-48
.. gh-issue: 131025
.. nonce: VmKQkv
.. section: macOS
Update macOS installer to ship with SQLite 3.49.1.
..
.. date: 2025-02-10-22-08-37
.. gh-issue: 91132
.. nonce: 00x1MI
.. section: macOS
Update macOS installer to use ncurses 6.5.
..
.. date: 2025-03-28-13-22-55
.. gh-issue: 131423
.. nonce: vI-LqV
.. section: Windows
Update bundled version of OpenSSL to 3.0.16. The new build also disables
uplink support, which may be relevant to embedders but has no impact on
normal use.
..
.. date: 2025-03-09-21-45-31
.. gh-issue: 131025
.. nonce: hlS5EC
.. section: Windows
Update Windows installer to ship with SQLite 3.49.1.
..
.. date: 2025-03-09-19-57-35
.. gh-issue: 131020
.. nonce: _c87wf
.. section: Windows
:source:`pylauncher <PC/launcher2.c>` correctly detects a BOM when searching
for the shebang. Fix by Chris Eibl.
..
.. date: 2025-03-29-16-20-00
.. gh-issue: 131852
.. nonce: afuefb
.. section: Tools/Demos
:program:`msgfmt` no longer adds the ``POT-Creation-Date`` to generated
``.mo`` files for consistency with GNU ``msgfmt``.
..
.. date: 2025-02-24-21-36-23
.. gh-issue: 85012
.. nonce: 9K1U0E
.. section: Tools/Demos
Correctly reset ``msgctxt`` when compiling messages in :program:`msgfmt`.
..
.. date: 2025-03-10-18-58-03
.. gh-issue: 131050
.. nonce: FMBAPN
.. section: Tests
``test_ssl.test_dh_params`` is skipped if the underlying TLS library does
not support finite-field ephemeral Diffie-Hellman.
..
.. date: 2024-05-29-15-28-08
.. gh-issue: 119727
.. nonce: dVkaZM
.. section: Tests
Add ``--single-process`` command line option to Python test runner
(regrtest). Patch by Victor Stinner.
..
.. date: 2025-04-07-04-11-08
.. gh-issue: 131809
.. nonce: 4MBDuy
.. section: Security
Update bundled libexpat to 2.7.1
..
.. date: 2025-03-14-23-28-39
.. gh-issue: 131261
.. nonce: 0aB6nM
.. section: Security
Upgrade to libexpat 2.7.0
..
.. date: 2024-11-28-20-29-21
.. gh-issue: 127371
.. nonce: PeEhUd
.. section: Security
Avoid unbounded buffering for
:meth:`!tempfile.SpooledTemporaryFile.writelines`. Previously, disk
spillover was only checked after the lines iterator had been exhausted. This
is now done after each line is written.
..
.. date: 2024-08-06-12-27-34
.. gh-issue: 121284
.. nonce: 8rwPxe
.. section: Security
Fix bug in the folding of rfc2047 encoded-words when flattening an email
message using a modern email policy. Previously when an encoded-word was too
long for a line, it would be decoded, split across lines, and re-encoded.
But commas and other special characters in the original text could be left
unencoded and unquoted. This could theoretically be used to spoof header
lines using a carefully constructed encoded-word if the resulting rendered
email was transmitted or re-parsed.
..
.. date: 2025-04-07-07-59-32
.. gh-issue: 116608
.. nonce: -2nlIp
.. section: Library
undeprecate functional API for ``importlib.resources``
..
.. date: 2025-04-04-16-22-03
.. gh-issue: 132075
.. nonce: qMM5np
.. section: Library
Fix possible use of :mod:`socket` address structures with uninitialized
members. Now all structure members are initialized with zeroes by default.
..
.. date: 2025-04-02-11-31-15
.. gh-issue: 132002
.. nonce: TMsYvE
.. section: Library
Fix crash when deallocating :class:`contextvars.ContextVar` with weird
unahashable string names.
..
.. date: 2025-03-28-11-26-31
.. gh-issue: 131668
.. nonce: tcS4xS
.. section: Library
:mod:`socket`: Fix code parsing AF_BLUETOOTH socket addresses.
..
.. date: 2025-03-20-08-32-49
.. gh-issue: 131492
.. nonce: saC2cA
.. section: Library
Fix a resource leak when constructing a :class:`gzip.GzipFile` with a
filename fails, for example when passing an invalid ``compresslevel``.
..
.. date: 2025-03-17-18-50-39
.. gh-issue: 131325
.. nonce: wlasMF
.. section: Library
Fix sendfile fallback implementation to drain data after writing to
transport in :mod:`asyncio`.
..
.. date: 2025-03-17-15-45-36
.. gh-issue: 129843
.. nonce: NPdpXL
.. section: Library
Fix incorrect argument passing in :func:`warnings.warn_explicit`.
..
.. date: 2025-03-14-09-28-13
.. gh-issue: 131204
.. nonce: wogNEX
.. section: Library
Use monospace font from System Font Stack for cross-platform support in
:class:`difflib.HtmlDiff`.
..
.. date: 2025-03-10-12-26-56
.. gh-issue: 131045
.. nonce: s1TssJ
.. section: Library
Fix issue with ``__contains__``, values, and pseudo-members for
:class:`enum.Flag`.
..
.. date: 2025-03-07-19-24-27
.. gh-issue: 130959
.. nonce: xO8vVS
.. section: Library
Fix pure-Python implementation of :func:`datetime.time.fromisoformat` to
reject times with spaces in fractional part (for example, ``12:34:56.400
+02:00``), matching the C implementation. Patch by Michał Gorny.
..
.. date: 2025-03-01-02-19-28
.. gh-issue: 130637
.. nonce: swet54w4rs
.. section: Library
Add validation for numeric response data in poplib.POP3.stat() method
..
.. date: 2025-02-25-03-53-00
.. gh-issue: 130461
.. nonce: asr2dg
.. section: Library
Remove ``.. index::`` directives from the :mod:`uuid` module documentation.
These directives previously created entries in the general index for
:func:`~uuid.getnode` as well as the :func:`~uuid.uuid1`,
:func:`~uuid.uuid3`, :func:`~uuid.uuid4`, and :func:`~uuid.uuid5`
constructor functions.
..
.. date: 2025-02-21-10-32-05
.. gh-issue: 130285
.. nonce: C0fkh7
.. section: Library
Fix corner case for :func:`random.sample` allowing the *counts* parameter to
specify an empty population. So now, ``sample([], 0, counts=[])`` and
``sample('abc', k=0, counts=[0, 0, 0])`` both give the same result as
``sample([], 0)``.
..
.. date: 2025-02-19-19-29-19
.. gh-issue: 130250
.. nonce: T00tql
.. section: Library
Fix regression in ``traceback.print_last()``.
..
.. date: 2025-02-16-10-12-27
.. gh-issue: 118761
.. nonce: TNw5ZC
.. section: Library
Reverts a change in the previous release attempting to make some stdlib
imports used within the :mod:`subprocess` module lazy as this was causing
errors during ``__del__`` finalizers calling methods such as ``terminate``,
or ``kill``, or ``send_signal``.
..
.. date: 2025-02-16-08-56-48
.. gh-issue: 130164
.. nonce: vvoaU2
.. section: Library
Fixed failure to raise :exc:`TypeError` in :meth:`inspect.Signature.bind`
for positional-only arguments provided by keyword when a variadic keyword
argument (e.g. ``**kwargs``) is present.
..
.. date: 2025-02-15-12-36-49
.. gh-issue: 130151
.. nonce: 3IFumF
.. section: Library
Fix reference leaks in :func:`!_hashlib.hmac_new` and
:func:`!_hashlib.hmac_digest`. Patch by Bénédikt Tran.
..
.. date: 2025-02-12-12-38-24
.. gh-issue: 129726
.. nonce: jB0sxu
.. section: Library
Fix :class:`gzip.GzipFile` raising an unraisable exception during garbage
collection when referring to a temporary object by breaking the reference
loop with :mod:`weakref`.
..
.. date: 2025-02-09-17-47-01
.. gh-issue: 129583
.. nonce: -130Ys
.. section: Library
Update bundled pip to 25.0.1
..
.. date: 2025-02-08-15-13-43
.. gh-issue: 97850
.. nonce: jQ0CvW
.. section: Library
Update the deprecation warning of :meth:`importlib.abc.Loader.load_module`.
..
.. date: 2025-02-03-01-43-16
.. gh-issue: 129603
.. nonce: xge9Tx
.. section: Library
Fix bugs where :class:`sqlite3.Row` objects could segfault if their
inherited :attr:`~sqlite3.Cursor.description` was set to ``None``. Patch by
Erlend Aasland.
..
.. date: 2025-01-24-12-30-38
.. gh-issue: 117779
.. nonce: gADGXI
.. section: Library
Fix reading duplicated entries in :mod:`zipfile` by name. Reading duplicated
entries (except the last one) by ``ZipInfo`` now emits a warning instead of
raising an exception.
..
.. date: 2025-01-22-13-29-06
.. gh-issue: 128772
.. nonce: 6YrxYM
.. section: Library
Fix :mod:`pydoc` for methods with the ``__module__`` attribute equal to
``None``.
..
.. date: 2025-01-20-20-59-26
.. gh-issue: 92897
.. nonce: G0xH8o
.. section: Library
Scheduled the deprecation of the ``check_home`` argument of
:func:`sysconfig.is_python_build` to Python 3.15.
..
.. date: 2025-01-15-12-04-30
.. gh-issue: 128703
.. nonce: 6WPf38
.. section: Library
Fix :func:`mimetypes.guess_type` to use default mapping for empty
``Content-Type`` in registry.
..
.. date: 2024-12-15-15-07-22
.. gh-issue: 126037
.. nonce: OyA7JP
.. section: Library
:mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element.find
<xml.etree.ElementTree.Element.find>`, :meth:`Element.findtext
<xml.etree.ElementTree.Element.findtext>` and :meth:`Element.findall
<xml.etree.ElementTree.Element.findall>` when the tag to find implements an
:meth:`~object.__eq__` method mutating the element being queried. Patch by
Bénédikt Tran.
..
.. date: 2024-12-07-20-33-43
.. gh-issue: 127712
.. nonce: Uzsij4
.. section: Library
Fix handling of the ``secure`` argument of
:class:`logging.handlers.SMTPHandler`.
..
.. date: 2024-10-29-12-59-45
.. gh-issue: 126033
.. nonce: sM3uCn
.. section: Library
:mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element.remove
<xml.etree.ElementTree.Element.remove>` when the element is concurrently
mutated. Patch by Bénédikt Tran.
..
.. date: 2024-10-26-16-59-02
.. gh-issue: 125553
.. nonce: 4pDLzt
.. section: Library
Fix round-trip invariance for backslash continuations in
:func:`tokenize.untokenize`.
..
.. date: 2024-05-05-16-08-03
.. gh-issue: 101137
.. nonce: 71ECXu
.. section: Library
Mime type ``text/x-rst`` is now supported by :mod:`mimetypes`.
..
.. date: 2024-01-07-23-31-44
.. gh-issue: 113238
.. nonce: wFWBfW
.. section: Library
Add ``Anchor`` to ``importlib.resources`` (in order for the code to comply
with the documentation)
..
.. date: 2023-12-18-20-10-50
.. gh-issue: 89039
.. nonce: gqFdtU
.. section: Library
When replace() method is called on a subclass of datetime, date or time,
properly call derived constructor. Previously, only the base class's
constructor was called.
Also, make sure to pass non-zero fold values when creating subclasses in
various methods. Previously, fold was silently ignored.
..
.. date: 2025-02-08-23-42-24
.. gh-issue: 129873
.. nonce: -gofkd
.. section: IDLE
Simplify displaying the IDLE doc by only copying the text section of
idle.html to idlelib/help.html. Patch by Stan Ulbrych.
..
.. date: 2025-03-18-15-15-16
.. gh-issue: 131417
.. nonce: lQg5aH
.. section: Documentation
Mention :class:`asyncio.Future` and :class:`asyncio.Task` in generic classes
list.
..
.. date: 2025-02-22-02-24-39
.. gh-issue: 125722
.. nonce: zDIUFV
.. section: Documentation
Require Sphinx 8.2.0 or later to build the Python documentation. Patch by
Adam Turner.
..
.. date: 2025-02-21-08-44-31
.. gh-issue: 129712
.. nonce: 4AcfWQ
.. section: Documentation
The wheel tags supported by each macOS universal SDK option are now
documented.
..
.. date: 2025-02-16-14-57-00
.. gh-issue: 46236
.. nonce: 2HuS4S
.. section: Documentation
C API: Document :c:func:`PyUnicode_RSplit`, :c:func:`PyUnicode_Partition`
and :c:func:`PyUnicode_RPartition`.
..
.. date: 2025-03-24-19-38-53
.. gh-issue: 131670
.. nonce: IffOZj
.. section: Core and Builtins
Fix :func:`anext` failing on sync :meth:`~object.__anext__` raising an
exception.
..
.. date: 2025-03-04-12-52-21
.. gh-issue: 130809
.. nonce: fSXq60
.. section: Core and Builtins
Fixed an issue where ``_PyFrame_LocalsToFast`` tries to write module level
values to hidden fasts.
..
.. date: 2025-03-03-20-02-45
.. gh-issue: 130775
.. nonce: fEM6T-
.. section: Core and Builtins
Do not crash on negative ``column`` and ``end_column`` in :mod:`ast`
locations.
..
.. date: 2025-02-27-15-07-06
.. gh-issue: 130618
.. nonce: JTcsRB
.. section: Core and Builtins
Fix a bug that was causing ``UnicodeDecodeError`` or ``SystemError`` to be
raised when using f-strings with ``lambda`` expressions with non-ASCII
characters. Patch by Pablo Galindo
..
.. date: 2025-02-24-14-25-36
.. gh-issue: 130163
.. nonce: rGpc9v
.. section: Core and Builtins
Fix possible crashes related to concurrent change and use of the :mod:`sys`
module attributes.
..
.. date: 2025-02-21-14-47-46
.. gh-issue: 88887
.. nonce: V3U0CV
.. section: Core and Builtins
Fixing multiprocessing Resource Tracker process leaking, usually observed
when running Python as PID 1.
..
.. date: 2025-02-13-00-28-43
.. gh-issue: 116042
.. nonce: 861juq
.. section: Core and Builtins
Fix location for SyntaxErrors of invalid escapes in the tokenizer. Patch by
Pablo Galindo
..
.. date: 2025-01-11-20-11-28
.. gh-issue: 128632
.. nonce: ryhnKs
.. section: Core and Builtins
Disallow ``__classdict__`` as the name of a type parameter. Using this name
would previously crash the interpreter in some circumstances.
..
.. date: 2024-10-29-23-30-35
.. gh-issue: 125331
.. nonce: quKQ7V
.. section: Core and Builtins
``from __future__ import barry_as_FLUFL`` now works in more contexts,
including when it is used in files, with the ``-c`` flag, and in the REPL
when there are multiple statements on the same line. Previously, it worked
only on subsequent lines in the REPL, and when the appropriate flags were
passed directly to :func:`compile`. Patch by Pablo Galindo.
..
.. date: 2023-08-09-15-05-27
.. gh-issue: 107526
.. nonce: PB32z-
.. section: Core and Builtins
Revert converting ``vars``, ``dir``, ``next``, ``getattr``, and ``iter`` to
argument clinic.
..
.. date: 2023-08-05-04-47-18
.. gh-issue: 107674
.. nonce: 0sYhR2
.. section: Core and Builtins
Fixed performance regression in ``sys.settrace``.
..
.. date: 2025-03-26-06-56-40
.. gh-issue: 131740
.. nonce: 9PdxxQ
.. section: C API
Update PyUnstable_GC_VisitObjects to traverse perm gen.
..
.. date: 2025-03-31-19-22-41
.. gh-issue: 131865
.. nonce: PIJy7X
.. section: Build
The DTrace build now properly passes the ``CC`` and ``CFLAGS`` variables to
the ``dtrace`` command when utilizing SystemTap on Linux.
..
.. date: 2025-03-01-18-27-42
.. gh-issue: 130740
.. nonce: nDFSHR
.. section: Build
Ensure that ``Python.h`` is included before ``stdbool.h`` unless
``pyconfig.h`` is included before or in some platform-specific contexts.
..
.. date: 2025-02-07-21-20-21
.. gh-issue: 129838
.. nonce: fkuiEc
.. section: Build
Don't redefine ``_Py_NO_SANITIZE_UNDEFINED`` when compiling with a recent
GCC version and undefined sanitizer enabled.
..
.. date: 2025-02-04-12-30-43
.. gh-issue: 129660
.. nonce: SitXa7
.. section: Build
Drop ``test_embed`` from PGO training, whose contribution in recent versions
is considered to be ignorable.

View file

@ -1,2 +0,0 @@
Drop ``test_embed`` from PGO training, whose contribution in recent
versions is considered to be ignorable.

View file

@ -1,2 +0,0 @@
Don't redefine ``_Py_NO_SANITIZE_UNDEFINED`` when compiling with a recent
GCC version and undefined sanitizer enabled.

View file

@ -1,2 +0,0 @@
Ensure that ``Python.h`` is included before ``stdbool.h`` unless ``pyconfig.h``
is included before or in some platform-specific contexts.

View file

@ -1,2 +0,0 @@
The DTrace build now properly passes the ``CC`` and ``CFLAGS`` variables
to the ``dtrace`` command when utilizing SystemTap on Linux.

View file

@ -1 +0,0 @@
Update PyUnstable_GC_VisitObjects to traverse perm gen.

View file

@ -1 +0,0 @@
Fixed performance regression in ``sys.settrace``.

View file

@ -1,2 +0,0 @@
Revert converting ``vars``, ``dir``, ``next``, ``getattr``, and ``iter`` to
argument clinic.

View file

@ -1,2 +0,0 @@
Fix location for SyntaxErrors of invalid escapes in the tokenizer. Patch by
Pablo Galindo

View file

@ -1,2 +0,0 @@
Fix possible crashes related to concurrent
change and use of the :mod:`sys` module attributes.

View file

@ -1,5 +0,0 @@
``from __future__ import barry_as_FLUFL`` now works in more contexts,
including when it is used in files, with the ``-c`` flag, and in the REPL
when there are multiple statements on the same line. Previously, it worked
only on subsequent lines in the REPL, and when the appropriate flags were
passed directly to :func:`compile`. Patch by Pablo Galindo.

View file

@ -1,2 +0,0 @@
Disallow ``__classdict__`` as the name of a type parameter. Using this
name would previously crash the interpreter in some circumstances.

View file

@ -1 +0,0 @@
Fixing multiprocessing Resource Tracker process leaking, usually observed when running Python as PID 1.

View file

@ -1,3 +0,0 @@
Fix a bug that was causing ``UnicodeDecodeError`` or ``SystemError`` to be
raised when using f-strings with ``lambda`` expressions with non-ASCII
characters. Patch by Pablo Galindo

View file

@ -1 +0,0 @@
Do not crash on negative ``column`` and ``end_column`` in :mod:`ast` locations.

View file

@ -1,2 +0,0 @@
Fixed an issue where ``_PyFrame_LocalsToFast`` tries to write module level
values to hidden fasts.

View file

@ -1 +0,0 @@
Fix :func:`anext` failing on sync :meth:`~object.__anext__` raising an exception.

View file

@ -1,2 +0,0 @@
C API: Document :c:func:`PyUnicode_RSplit`, :c:func:`PyUnicode_Partition` and
:c:func:`PyUnicode_RPartition`.

View file

@ -1,2 +0,0 @@
The wheel tags supported by each macOS universal SDK option are now
documented.

View file

@ -1,2 +0,0 @@
Require Sphinx 8.2.0 or later to build the Python documentation. Patch by
Adam Turner.

View file

@ -1,2 +0,0 @@
Mention :class:`asyncio.Future` and :class:`asyncio.Task` in generic classes
list.

View file

@ -1,2 +0,0 @@
Simplify displaying the IDLE doc by only copying the text section of
idle.html to idlelib/help.html. Patch by Stan Ulbrych.

View file

@ -1,6 +0,0 @@
When replace() method is called on a subclass of datetime, date or time,
properly call derived constructor. Previously, only the base class's
constructor was called.
Also, make sure to pass non-zero fold values when creating subclasses in
various methods. Previously, fold was silently ignored.

View file

@ -1 +0,0 @@
Add ``Anchor`` to ``importlib.resources`` (in order for the code to comply with the documentation)

View file

@ -1 +0,0 @@
Mime type ``text/x-rst`` is now supported by :mod:`mimetypes`.

View file

@ -1,2 +0,0 @@
Fix round-trip invariance for backslash continuations in
:func:`tokenize.untokenize`.

View file

@ -1,3 +0,0 @@
:mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element.remove
<xml.etree.ElementTree.Element.remove>` when the element is
concurrently mutated. Patch by Bénédikt Tran.

View file

@ -1 +0,0 @@
Fix handling of the ``secure`` argument of :class:`logging.handlers.SMTPHandler`.

View file

@ -1,5 +0,0 @@
:mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element.find <xml.etree.ElementTree.Element.find>`,
:meth:`Element.findtext <xml.etree.ElementTree.Element.findtext>` and
:meth:`Element.findall <xml.etree.ElementTree.Element.findall>` when the tag
to find implements an :meth:`~object.__eq__` method mutating the element
being queried. Patch by Bénédikt Tran.

View file

@ -1,2 +0,0 @@
Fix :func:`mimetypes.guess_type` to use default mapping for empty
``Content-Type`` in registry.

View file

@ -1,2 +0,0 @@
Scheduled the deprecation of the ``check_home`` argument of
:func:`sysconfig.is_python_build` to Python 3.15.

View file

@ -1,2 +0,0 @@
Fix :mod:`pydoc` for methods with the ``__module__`` attribute equal to
``None``.

View file

@ -1,3 +0,0 @@
Fix reading duplicated entries in :mod:`zipfile` by name.
Reading duplicated entries (except the last one) by ``ZipInfo``
now emits a warning instead of raising an exception.

View file

@ -1,3 +0,0 @@
Fix bugs where :class:`sqlite3.Row` objects could segfault if their
inherited :attr:`~sqlite3.Cursor.description` was set to ``None``. Patch by
Erlend Aasland.

View file

@ -1,2 +0,0 @@
Update the deprecation warning of
:meth:`importlib.abc.Loader.load_module`.

View file

@ -1 +0,0 @@
Update bundled pip to 25.0.1

View file

@ -1,3 +0,0 @@
Fix :class:`gzip.GzipFile` raising an unraisable exception during garbage
collection when referring to a temporary object by breaking the reference
loop with :mod:`weakref`.

View file

@ -1,2 +0,0 @@
Fix reference leaks in :func:`!_hashlib.hmac_new` and
:func:`!_hashlib.hmac_digest`. Patch by Bénédikt Tran.

View file

@ -1,3 +0,0 @@
Fixed failure to raise :exc:`TypeError` in :meth:`inspect.Signature.bind`
for positional-only arguments provided by keyword when a variadic keyword
argument (e.g. ``**kwargs``) is present.

View file

@ -1,4 +0,0 @@
Reverts a change in the previous release attempting to make some stdlib
imports used within the :mod:`subprocess` module lazy as this was causing
errors during ``__del__`` finalizers calling methods such as ``terminate``, or
``kill``, or ``send_signal``.

View file

@ -1 +0,0 @@
Fix regression in ``traceback.print_last()``.

View file

@ -1,4 +0,0 @@
Fix corner case for :func:`random.sample` allowing the *counts* parameter to
specify an empty population. So now, ``sample([], 0, counts=[])`` and
``sample('abc', k=0, counts=[0, 0, 0])`` both give the same result as
``sample([], 0)``.

View file

@ -1,4 +0,0 @@
Remove ``.. index::`` directives from the :mod:`uuid` module documentation. These directives
previously created entries in the general index for :func:`~uuid.getnode` as well as the
:func:`~uuid.uuid1`, :func:`~uuid.uuid3`, :func:`~uuid.uuid4`, and :func:`~uuid.uuid5`
constructor functions.

View file

@ -1 +0,0 @@
Add validation for numeric response data in poplib.POP3.stat() method

View file

@ -1,3 +0,0 @@
Fix pure-Python implementation of :func:`datetime.time.fromisoformat` to reject
times with spaces in fractional part (for example, ``12:34:56.400 +02:00``),
matching the C implementation. Patch by Michał Gorny.

View file

@ -1 +0,0 @@
Fix issue with ``__contains__``, values, and pseudo-members for :class:`enum.Flag`.

View file

@ -1 +0,0 @@
Use monospace font from System Font Stack for cross-platform support in :class:`difflib.HtmlDiff`.

View file

@ -1 +0,0 @@
Fix incorrect argument passing in :func:`warnings.warn_explicit`.

View file

@ -1 +0,0 @@
Fix sendfile fallback implementation to drain data after writing to transport in :mod:`asyncio`.

View file

@ -1 +0,0 @@
Fix a resource leak when constructing a :class:`gzip.GzipFile` with a filename fails, for example when passing an invalid ``compresslevel``.

View file

@ -1 +0,0 @@
:mod:`socket`: Fix code parsing AF_BLUETOOTH socket addresses.

View file

@ -1,2 +0,0 @@
Fix crash when deallocating :class:`contextvars.ContextVar` with weird
unahashable string names.

View file

@ -1,2 +0,0 @@
Fix possible use of :mod:`socket` address structures with uninitialized
members. Now all structure members are initialized with zeroes by default.

View file

@ -1 +0,0 @@
undeprecate functional API for ``importlib.resources``

View file

@ -1,7 +0,0 @@
Fix bug in the folding of rfc2047 encoded-words when flattening an email message
using a modern email policy. Previously when an encoded-word was too long
for a line, it would be decoded, split across lines, and re-encoded. But commas
and other special characters in the original text could be left unencoded and
unquoted. This could theoretically be used to spoof header lines using
a carefully constructed encoded-word if the resulting rendered email was
transmitted or re-parsed.

View file

@ -1,3 +0,0 @@
Avoid unbounded buffering for :meth:`!tempfile.SpooledTemporaryFile.writelines`.
Previously, disk spillover was only checked after the lines iterator had been
exhausted. This is now done after each line is written.

View file

@ -1 +0,0 @@
Upgrade to libexpat 2.7.0

View file

@ -1 +0,0 @@
Update bundled libexpat to 2.7.1

View file

@ -1,2 +0,0 @@
Add ``--single-process`` command line option to Python test runner (regrtest).
Patch by Victor Stinner.

View file

@ -1 +0,0 @@
``test_ssl.test_dh_params`` is skipped if the underlying TLS library does not support finite-field ephemeral Diffie-Hellman.

View file

@ -1 +0,0 @@
Correctly reset ``msgctxt`` when compiling messages in :program:`msgfmt`.

View file

@ -1,2 +0,0 @@
:program:`msgfmt` no longer adds the ``POT-Creation-Date`` to generated ``.mo`` files
for consistency with GNU ``msgfmt``.

View file

@ -1,2 +0,0 @@
:source:`pylauncher <PC/launcher2.c>` correctly detects a BOM when searching for the
shebang. Fix by Chris Eibl.

View file

@ -1 +0,0 @@
Update Windows installer to ship with SQLite 3.49.1.

View file

@ -1,3 +0,0 @@
Update bundled version of OpenSSL to 3.0.16. The new build also disables
uplink support, which may be relevant to embedders but has no impact on
normal use.

View file

@ -1 +0,0 @@
Update macOS installer to use ncurses 6.5.

View file

@ -1 +0,0 @@
Update macOS installer to ship with SQLite 3.49.1.

View file

@ -1 +0,0 @@
Update macOS installer to use OpenSSL 3.0.16. Patch by Bénédikt Tran.

View file

@ -1 +0,0 @@
Update macOS installer to use Tcl/Tk 8.6.16.

View file

@ -1,5 +1,5 @@
This is Python version 3.12.9
=============================
This is Python version 3.12.10
==============================
.. image:: https://github.com/python/cpython/workflows/Tests/badge.svg
:alt: CPython build status on GitHub Actions
@ -229,4 +229,4 @@ This Python distribution contains *no* GNU General Public License (GPL) code,
so it may be used in proprietary projects. There are interfaces to some GNU
code but these are entirely optional.
All trademarks referenced herein are property of their respective holders.
All trademarks referenced herein are property of their respective holders.