.. versionadded:: 3.13
- .. deprecated:: next
+ .. deprecated:: 3.14
This function is :term:`soft deprecated`.
Represents the C :c:expr:`PyObject *` datatype. Calling this without an
argument creates a ``NULL`` :c:expr:`PyObject *` pointer.
- .. versionchanged:: next
+ .. versionchanged:: 3.14
:class:`!py_object` is now a :term:`generic type`.
The :mod:`!ctypes.wintypes` module provides quite some other Windows specific
:class:`!CField` objects are created via :attr:`~Structure._fields_`;
do not instantiate the class directly.
- .. versionadded:: next
+ .. versionadded:: 3.14
Previously, descriptors only had ``offset`` and ``size`` attributes
and a readable string representation; the :class:`!CField` class was not
It is the same as ``[n for n in names if not fnmatch(n, pat)]``,
but implemented more efficiently.
- .. versionadded:: next
+ .. versionadded:: 3.14
.. function:: translate(pat)
A :exc:`ValueError` will be raised if the sort has been started by
:meth:`~.static_order` or :meth:`~.get_ready`.
- .. versionchanged:: next
+ .. versionchanged:: 3.14
``prepare()`` can now be called more than once as long as the sort has
not started. Previously this raised :exc:`ValueError`.
By default, it is set to ``["http/1.1"]``, meaning the server supports HTTP/1.1.
- .. versionadded:: next
+ .. versionadded:: 3.14
.. class:: ThreadingHTTPSServer(server_address, RequestHandlerClass,\
bind_and_activate=True, *, certfile, keyfile=None,\
requests by inheriting from :class:`~socketserver.ThreadingMixIn`. This is
analogous to :class:`ThreadingHTTPServer` only using :class:`HTTPSServer`.
- .. versionadded:: next
+ .. versionadded:: 3.14
The :class:`HTTPServer`, :class:`ThreadingHTTPServer`, :class:`HTTPSServer` and
python -m http.server --tls-cert fullchain.pem
- .. versionadded:: next
+ .. versionadded:: 3.14
.. option:: --tls-key
This option requires ``--tls-cert`` to be specified.
- .. versionadded:: next
+ .. versionadded:: 3.14
.. option:: --tls-password-file
This option requires `--tls-cert`` to be specified.
- .. versionadded:: next
+ .. versionadded:: 3.14
.. _http.server-security:
Return a boolean indicating whether this object is locked right now.
- .. versionadded:: next
+ .. versionadded:: 3.14
.. class:: RLock()
Return a boolean indicating whether this object is locked right now.
- .. versionadded:: next
+ .. versionadded:: 3.14
.. class:: Semaphore([value])
local and remote interpreters must be the same exact version.
.. availability:: Unix, Windows.
- .. versionadded:: next
+ .. versionadded:: 3.14
.. function:: _enablelegacywindowsfsencoding()
Temporarily unset one or more environment variables.
- .. versionchanged:: next
+ .. versionchanged:: 3.14
More than one environment variable can be unset.
Return a boolean indicating whether this object is locked right now.
- .. versionadded:: next
+ .. versionadded:: 3.14
.. _condition-objects:
Return a boolean indicating whether this object is locked right now.
- .. versionadded:: next
+ .. versionadded:: 3.14
.. method:: wait(timeout=None)
Generate *num* fresh UUIDs.
- .. versionadded:: next
+ .. versionadded:: 3.14
.. _uuid-example:
and information on using the :keyword:`raise` statement to generate exceptions
may be found in section :ref:`raise`.
-.. versionchanged:: next
+.. versionchanged:: 3.14
Support for optionally dropping grouping parentheses when using multiple exception types. See :pep:`758`.
.. _except:
Prior to Python 3.8, a :keyword:`continue` statement was illegal in the
:keyword:`!finally` clause due to a problem with the implementation.
-.. versionchanged:: next
+.. versionchanged:: 3.14
The compiler emits a :exc:`SyntaxWarning` when a :keyword:`return`,
:keyword:`break` or :keyword:`continue` appears in a :keyword:`!finally`
block (see :pep:`765`).
if is not supported on the current system. See also
:envvar:`PYTHON_DISABLE_REMOTE_DEBUG` and :pep:`768`.
- .. versionadded:: next
+ .. versionadded:: 3.14
* :samp:`-X cpu_count={n}` overrides :func:`os.cpu_count`,
:func:`os.process_cpu_count`, and :func:`multiprocessing.cpu_count`.
See also the :option:`-X disable_remote_debug` command-line option.
- .. versionadded:: next
+ .. versionadded:: 3.14
.. envvar:: PYTHON_CPU_COUNT
and the functionality to receive code to be executed.
- .. versionadded:: next
+ .. versionadded:: 3.14
.. _debug-build:
#define PY_MINOR_VERSION 14
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
-#define PY_RELEASE_SERIAL 6
+#define PY_RELEASE_SERIAL 7
/* Version as a string */
-#define PY_VERSION "3.14.0a6+"
+#define PY_VERSION "3.14.0a7"
/*--end constants--*/
-# Autogenerated by Sphinx on Wed Mar 19 18:40:00 2025
+# Autogenerated by Sphinx on Tue Apr 8 14:20:44 2025
# as part of the release process.
topics = {
Exceptions, and information on using the "raise" statement to generate
exceptions may be found in section The raise statement.
+Changed in version 3.14.0a6 (unreleased): Support for optionally
+dropping grouping parentheses when using multiple exception types. See
+**PEP 758**.
+
"except" clause
---------------
any exception.
For an "except" clause with an expression, the expression must
-evaluate to an exception type or a tuple of exception types. The
-raised exception matches an "except" clause whose expression evaluates
-to the class or a *non-virtual base class* of the exception object, or
-to a tuple that contains such a class.
+evaluate to an exception type or a tuple of exception types.
+Parentheses can be dropped if multiple exception types are provided
+and the "as" clause is not used. The raised exception matches an
+"except" clause whose expression evaluates to the class or a *non-
+virtual base class* of the exception object, or to a tuple that
+contains such a class.
If no "except" clause matches the exception, the search for an
exception handler continues in the surrounding code and on the
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]
align: "<" | ">" | "=" | "^"
sign: "+" | "-" | " "
width_and_precision: [width_with_grouping][precision_with_grouping]
- width_with_grouping: [width][grouping_option]
- precision_with_grouping: "." [precision]grouping_option
+ width_with_grouping: [width][grouping]
+ precision_with_grouping: "." [precision][grouping]
width: digit+
- grouping_option: "_" | ","
precision: digit+
+ grouping: "," | "_"
type: "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g"
| "G" | "n" | "o" | "s" | "x" | "X" | "%"
+-----------+------------------------------------------------------------+
| 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. |
+-----------+------------------------------------------------------------+
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
from the field content. The *precision* is not allowed for integer
presentation types.
-The "'_'" or "','" option after *precision* means the use of an
-underscore or a comma for a thousands separator of the fractional part
-for floating-point presentation types.
+The *grouping* option after *width* and *precision* fields specifies a
+digit group separator for the integral and fractional parts of a
+number respectively. It can be one of the following:
-Changed in version 3.14: Support thousands separators for the
++-----------+------------------------------------------------------------+
+| 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**).
+
+Changed in version 3.14: Support the *grouping* option for the
fractional part.
Finally, the *type* determines how the data should be presented.
| | 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'". |
+-----------+------------------------------------------------------------+
| | 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. |
>>> "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 or the underscore 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'
>>> '{:_}'.format(123456789.123456789)
'123_456_789.12345679'
- >>> '{:._}'.format(123456789.123456789)
- '123456789.123_456_79'
- >>> '{:_._}'.format(123456789.123456789)
- '123_456_789.123_456_79'
+ >>> '{:.,}'.format(123456789.123456789)
+ '123456789.123,456,79'
+ >>> '{:,._}'.format(123456789.123456789)
+ '123,456,789.123_456_79'
Expressing a percentage:
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]
Exceptions, and information on using the "raise" statement to generate
exceptions may be found in section The raise statement.
+Changed in version 3.14.0a6 (unreleased): Support for optionally
+dropping grouping parentheses when using multiple exception types. See
+**PEP 758**.
+
"except" clause
===============
any exception.
For an "except" clause with an expression, the expression must
-evaluate to an exception type or a tuple of exception types. The
-raised exception matches an "except" clause whose expression evaluates
-to the class or a *non-virtual base class* of the exception object, or
-to a tuple that contains such a class.
+evaluate to an exception type or a tuple of exception types.
+Parentheses can be dropped if multiple exception types are provided
+and the "as" clause is not used. The raised exception matches an
+"except" clause whose expression evaluates to the class or a *non-
+virtual base class* of the exception object, or to a tuple that
+contains such a class.
If no "except" clause matches the exception, the search for an
exception handler continues in the surrounding code and on the
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
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*
--- /dev/null
+.. 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-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-19-21-58-16
+.. gh-issue: 131453
+.. nonce: qQ4J5H
+.. section: Windows
+
+Some :data:`!SND_*` and :data:`!MB_*` constants are added to
+:mod:`winsound`.
+
+..
+
+.. date: 2025-03-19-01-11-56
+.. gh-issue: 91349
+.. nonce: pmtp-J
+.. section: Windows
+
+Replaces our copy of ``zlib`` with ``zlib-ng``, for performance improvements
+in :mod:`zlib`.
+
+..
+
+.. 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-04-05-14-52-36
+.. gh-issue: 132121
+.. nonce: QNoDih
+.. section: Tools/Demos
+
+Always escape non-printable Unicode characters in :program:`pygettext`.
+
+..
+
+.. 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-03-15-12-44-54
+.. gh-issue: 131277
+.. nonce: JaMlVa
+.. section: Tests
+
+Allow to unset one or more environment variables at once via
+:meth:`EnvironmentVarGuard.unset()
+<test.support.os_helper.EnvironmentVarGuard.unset>`. Patch by Bénédikt Tran.
+
+..
+
+.. 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: 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-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-06-23-16-08
+.. gh-issue: 132174
+.. nonce: dN4b-X
+.. section: Library
+
+Fix function name in error message of ``_interpreters.run_string``.
+
+..
+
+.. date: 2025-04-06-23-09-21
+.. gh-issue: 132171
+.. nonce: zZqvfn
+.. section: Library
+
+Fix crash of ``_interpreters.run_string`` on string subclasses.
+
+..
+
+.. date: 2025-04-06-19-25-12
+.. gh-issue: 129204
+.. nonce: sAVFO6
+.. section: Library
+
+Introduce new ``_PYTHON_SUBPROCESS_USE_POSIX_SPAWN`` environment variable
+knob in :mod:`subprocess` to control the use of :func:`os.posix_spawn`.
+
+..
+
+.. date: 2025-04-06-16-12-49
+.. gh-issue: 132159
+.. nonce: WvBfBm
+.. section: Library
+
+Do not shadow user arguments in generated :meth:`!__new__` by decorator
+:class:`warnings.deprecated`. Patch by Xuehai Pan.
+
+..
+
+.. date: 2025-04-06-13-23-41
+.. gh-issue: 132168
+.. nonce: 6UMEpo
+.. section: Library
+
+The :class:`ctypes.py_object` type now supports subscription, making it a
+:term:`generic type`.
+
+..
+
+.. date: 2025-04-06-09-55-43
+.. gh-issue: 84481
+.. nonce: cX4yTn
+.. section: Library
+
+Add the :attr:`zipfile.ZipFile.data_offset` attribute, which stores the
+offset to the beginning of ZIP data in a file when available. When the
+:class:`zipfile.ZipFile` is opened in either mode ``'w'`` or ``'x'`` and the
+underlying file does not support ``tell()``, the value will be ``None``
+instead.
+
+..
+
+.. 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-03-01-35-02
+.. gh-issue: 118761
+.. nonce: VQcj70
+.. section: Library
+
+Improve import times by up to 27x for the :mod:`string` module. Patch by
+Adam Turner.
+
+..
+
+.. date: 2025-04-02-16-01-12
+.. gh-issue: 125434
+.. nonce: EjPc7g
+.. section: Library
+
+Display thread name in :mod:`faulthandler`. Patch by Victor Stinner.
+
+..
+
+.. 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-04-01-13-44-26
+.. gh-issue: 131938
+.. nonce: dm4Suq
+.. section: Library
+
+:mod:`xml.etree.ElementTree`: update the error message when an element to
+remove via :meth:`Element.remove <xml.etree.ElementTree.Element.remove>` is
+not found. Patch by Bénédikt Tran.
+
+..
+
+.. date: 2025-04-01-11-16-22
+.. gh-issue: 115942
+.. nonce: 4W3hNx
+.. section: Library
+
+Add :meth:`threading.RLock.locked`, :meth:`multiprocessing.Lock.locked`,
+:meth:`multiprocessing.RLock.locked`, and allow
+:meth:`multiprocessing.managers.SyncManager.Lock` and
+:meth:`multiprocessing.managers.SyncManager.RLock` to proxy ``locked()``
+call.
+
+..
+
+.. date: 2025-04-01-09-20-32
+.. gh-issue: 131974
+.. nonce: AIzshA
+.. section: Library
+
+Fix several thread-safety issues in :mod:`ctypes` on the :term:`free
+threaded <free threading>` build.
+
+..
+
+.. date: 2025-03-31-19-19-36
+.. gh-issue: 118761
+.. nonce: M0yFiZ
+.. section: Library
+
+Improve the import time of the :mod:`ast` module by extracting the
+:func:`~ast.unparse` function to a helper module.
+
+..
+
+.. date: 2025-03-31-02-06-57
+.. gh-issue: 107369
+.. nonce: 8M-HVz
+.. section: Library
+
+Improved performance of :func:`textwrap.dedent` by an average of ~1.3x.
+Patch by Adam Turner.
+
+..
+
+.. date: 2025-03-30-19-55-10
+.. gh-issue: 131792
+.. nonce: NNjzFA
+.. section: Library
+
+Improved performance of :func:`textwrap.dedent` by an average of ~2.4x,
+(with improvements of up to 4x for large inputs), and fixed a bug where
+blank lines with whitespace characters other than space or horizontal tab
+were not normalised to the newline. Patch by Adam Turner, Marius Juston, and
+Pieter Eendebak.
+
+..
+
+.. 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-23-18-39-07
+.. gh-issue: 60115
+.. nonce: AWdcmq
+.. section: Library
+
+Support frozen modules for :func:`linecache.getline`.
+
+..
+
+.. 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-19-20-37-07
+.. gh-issue: 131435
+.. nonce: y8KMae
+.. section: Library
+
+10-20% performance improvement of :func:`random.randint`.
+
+..
+
+.. date: 2025-03-19-14-36-54
+.. gh-issue: 131461
+.. nonce: uDUmdY
+.. section: Library
+
+Fix :exc:`ResourceWarning` when constructing a :class:`gzip.GzipFile` in
+write mode with a broken file object.
+
+..
+
+.. date: 2025-03-19-00-09-15
+.. gh-issue: 125866
+.. nonce: sIIJ5N
+.. section: Library
+
+Deprecate the :mod:`!nturl2path` module. Call
+:func:`urllib.request.url2pathname` and :func:`~urllib.request.pathname2url`
+instead.
+
+..
+
+.. date: 2025-03-18-19-52-49
+.. gh-issue: 126367
+.. nonce: PRxnuu
+.. section: Library
+
+Fix issue where :func:`urllib.request.url2pathname` raised :exc:`OSError`
+when given a Windows URI containing a colon character not following a drive
+letter, such as before an NTFS alternate data stream.
+
+..
+
+.. date: 2025-03-18-02-11-33
+.. gh-issue: 120144
+.. nonce: dBLFkI
+.. section: Library
+
+Disable ``CALL`` event in :mod:`bdb` in ``monitoring`` backend when we don't
+need any new events on the code object to get a better performance.
+
+..
+
+.. date: 2025-03-17-21-35-53
+.. gh-issue: 131358
+.. nonce: YVZ6yo
+.. section: Library
+
+Register ``cseuckr`` as an encoding alias for ``euc_kr``.
+
+..
+
+.. 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-17-11-41
+.. gh-issue: 90548
+.. nonce: xSPf_L
+.. section: Library
+
+:func:`platform.libc_ver` can now detect and report the version of ``musl``
+on Alpine Linux.
+
+..
+
+.. 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-16-18-30-00
+.. gh-issue: 70647
+.. nonce: 1qq2r3
+.. section: Library
+
+When creating a :mod:`datetime` object with an out of range date a more
+informative error is raised.
+
+..
+
+.. date: 2025-03-16-08-00-29
+.. gh-issue: 130914
+.. nonce: 6z883_
+.. section: Library
+
+Allow :meth:`graphlib.TopologicalSorter.prepare` to be called more than once
+as long as sorting has not started. Patch by Daniel Pope.
+
+..
+
+.. date: 2025-03-14-12-22-02
+.. gh-issue: 131236
+.. nonce: HjqFq0
+.. section: Library
+
+Allow to generate multiple UUIDs at once via :option:`python -m uuid --count
+<uuid --count>`.
+
+..
+
+.. date: 2025-03-13-19-54-57
+.. gh-issue: 126895
+.. nonce: eJP9l0
+.. section: Library
+
+Fix :mod:`readline` in :term:`free-threaded <free threading>` build.
+
+..
+
+.. date: 2025-03-11-21-52-33
+.. gh-issue: 121468
+.. nonce: WsEP02
+.. section: Library
+
+``$_asynctask`` is added as a :mod:`pdb` convenience variable to access the
+current asyncio task if applicable.
+
+..
+
+.. date: 2025-02-08-21-37-05
+.. gh-issue: 118761
+.. nonce: EtqxeB
+.. section: Library
+
+Improve import time of :mod:`locale` using lazy import ``re``. Patch by
+Semyon Moroz.
+
+..
+
+.. date: 2025-02-03-16-27-14
+.. gh-issue: 129598
+.. nonce: 0js33I
+.. section: Library
+
+Fix :func:`ast.unparse` when :class:`ast.Interactive` contains multiple
+statements.
+
+..
+
+.. date: 2025-02-02-00-30-09
+.. gh-issue: 85162
+.. nonce: BNF_aJ
+.. section: Library
+
+The :mod:`http.server` module now includes built-in support for HTTPS
+servers exposed by :class:`http.server.HTTPSServer`. This functionality is
+exposed by the command-line interface (``python -m http.server``) through
+the ``--tls-cert``, ``--tls-key`` and ``--tls-password-file`` options. Patch
+by Semyon Moroz.
+
+..
+
+.. date: 2025-01-29-21-29-46
+.. gh-issue: 129463
+.. nonce: qePexX
+.. section: Library
+
+The implementations of equality and hashing for
+:class:`annotationlib.ForwardRef` now use all attributes on the object. Two
+:class:`!ForwardRef` objects are equal only if all attributes are equal.
+
+..
+
+.. date: 2025-01-29-21-27-45
+.. gh-issue: 128593
+.. nonce: r3j4l-
+.. section: Library
+
+:class:`annotationlib.ForwardRef` objects no longer cache their value when
+they are successfully evaluated. Successive calls to
+:meth:`annotationlib.ForwardRef.evaluate` may return different values.
+
+..
+
+.. 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-17-17-35-16
+.. gh-issue: 128715
+.. nonce: tQjo89
+.. section: Library
+
+The class of :class:`~ctypes.Structure`/:class:`~ctypes.Union` field
+descriptors is now available as :class:`~ctypes.CField`, and has new
+attributes to aid debugging and introspection.
+
+..
+
+.. date: 2024-12-18-15-51-09
+.. gh-issue: 128055
+.. nonce: 0c_Noq
+.. section: Library
+
+Fix ``test.test_sysconfig.test_sysconfigdata_json`` when running outside the
+build directory (eg. after installing).
+
+..
+
+.. 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-11-17-44-36
+.. gh-issue: 127794
+.. nonce: VwmRsp
+.. section: Library
+
+When headers are added to :class:`email.message.Message` objects, either
+through :meth:`email.message.Message.__setitem__` or
+:meth:`email.message.Message.add_header`, the field name is now validated
+according to :rfc:`RFC 5322, Section 2.2 <5322#section-2.2>` and a
+:exc:`ValueError` is raised if the field name contains any invalid
+characters.
+
+..
+
+.. date: 2024-11-29-00-53-28
+.. gh-issue: 123599
+.. nonce: vyUh2S
+.. section: Library
+
+Deprecate :meth:`!pathlib.PurePath.as_uri`; use :meth:`pathlib.Path.as_uri`
+instead.
+
+..
+
+.. 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-09-25-18-45-03
+.. gh-issue: 120144
+.. nonce: JUcjLG
+.. section: Library
+
+Add the optional backend of ``sys.monitoring`` to :mod:`bdb` and use it for
+:mod:`pdb`.
+
+..
+
+.. date: 2024-06-30-17-00-00
+.. gh-issue: 74598
+.. nonce: 1gVy_8
+.. section: Library
+
+Add :func:`fnmatch.filterfalse` for excluding names matching a pattern.
+Patch by Bénédikt Tran.
+
+..
+
+.. date: 2024-02-02-15-26-48
+.. gh-issue: 114917
+.. nonce: sf0GuO
+.. section: Library
+
+Add support for AI_NUMERICSERV in getaddrinfo emulation
+
+..
+
+.. bpo: 17254
+.. date: 2019-08-05-13-58-10
+.. nonce: 11xglZ
+.. section: Library
+
+Added aliases for Thai Language using Microsoft Code Pages.
+
+..
+
+.. 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-04-03-20-11-02
+.. gh-issue: 131798
+.. nonce: yhdUKW
+.. section: Core and Builtins
+
+Allow the JIT to remove an extra ``_TO_BOOL_BOOL`` instruction after
+``_CONTAINS_OP_SET`` by setting the return type to bool.
+
+..
+
+.. date: 2025-04-02-17-47-14
+.. gh-issue: 132011
+.. nonce: dNh64H
+.. section: Core and Builtins
+
+Fix crash when calling :meth:`!list.append` as an unbound method.
+
+..
+
+.. date: 2025-04-01-22-24-19
+.. gh-issue: 131998
+.. nonce: DvmZcT
+.. section: Core and Builtins
+
+Fix a crash when using an unbound method :term:`descriptor` object in a
+function where a bound method descriptor was used.
+
+..
+
+.. date: 2025-03-31-13-25-14
+.. gh-issue: 131591
+.. nonce: DsPKZt
+.. section: Core and Builtins
+
+Implement :pep:`768` (Safe external debugger interface for CPython). Add a
+new :func:`sys.remote_exec` function to the :mod:`sys` module. This function
+schedules the execution of a Python file in a separate process. Patch by
+Pablo Galindo, Matt Wozniski and Ivona Stojanovic.
+
+..
+
+.. date: 2025-03-28-19-02-55
+.. gh-issue: 131798
+.. nonce: fNZ5-2
+.. section: Core and Builtins
+
+Allow JIT to omit str guard in truthiness test when str type is known.
+
+..
+
+.. date: 2025-03-28-18-59-24
+.. gh-issue: 131833
+.. nonce: v4WvWT
+.. section: Core and Builtins
+
+Add support for optionally dropping grouping parentheses when using multiple
+exception types as per :pep:`758`. Patch by Pablo Galindo
+
+..
+
+.. date: 2025-03-28-07-39-10
+.. gh-issue: 130924
+.. nonce: l2Rbmj
+.. section: Core and Builtins
+
+Usage of a name in a function-scope annotation no longer triggers creation
+of a cell for that variable. This fixes a regression in earlier alphas of
+Python 3.14.
+
+..
+
+.. date: 2025-03-27-12-40-21
+.. gh-issue: 131800
+.. nonce: Xq3n54
+.. section: Core and Builtins
+
+Improve the experimental JIT's ability to remove type checks for certain
+subscripting operations.
+
+..
+
+.. date: 2025-03-25-20-38-06
+.. gh-issue: 131738
+.. nonce: eCb0OQ
+.. section: Core and Builtins
+
+Compiler emits optimized code for builtin any/all/tuple calls over a
+generator expression.
+
+..
+
+.. date: 2025-03-25-13-58-25
+.. gh-issue: 131719
+.. nonce: zKv98a
+.. section: Core and Builtins
+
+Fix missing NULL check in ``_PyMem_FreeDelayed`` in :term:`free-threaded
+<free threading>` build.
+
+..
+
+.. 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-24-14-56-00
+.. gh-issue: 131666
+.. nonce: q0-a-b
+.. section: Core and Builtins
+
+Fix signature of ``anext_awaitable.close`` objects. Patch by Bénédikt Tran.
+
+..
+
+.. date: 2025-03-20-03-45-20
+.. gh-issue: 130415
+.. nonce: VtJhoG
+.. section: Core and Builtins
+
+Optimize comparison of two constants in JIT builds
+
+..
+
+.. date: 2025-03-13-20-23-02
+.. gh-issue: 129149
+.. nonce: z42wkm
+.. section: Core and Builtins
+
+Add fast path for small and medium-size integers in
+:c:func:`PyLong_FromInt32`, :c:func:`PyLong_FromUInt32`,
+:c:func:`PyLong_FromInt64` and :c:func:`PyLong_FromUInt64`. Patch by Chris
+Eibl.
+
+..
+
+.. date: 2025-03-10-12-08-57
+.. gh-issue: 130887
+.. nonce: f823Ih
+.. section: Core and Builtins
+
+Optimize the AArch64 code generation for the JIT. Patch by Diego Russo
+
+..
+
+.. date: 2025-03-10-12-05-45
+.. gh-issue: 130956
+.. nonce: f823Ih
+.. section: Core and Builtins
+
+Optimize the AArch64 code generation for the JIT. Patch by Diego Russo
+
+..
+
+.. date: 2025-03-09-09-03-24
+.. gh-issue: 130928
+.. nonce: gP1yKv
+.. section: Core and Builtins
+
+Fix error message when formatting bytes using the ``'i'`` flag. Patch by
+Maxim Ageev.
+
+..
+
+.. date: 2025-03-06-17-04-27
+.. gh-issue: 130935
+.. nonce: ss4lmS
+.. section: Core and Builtins
+
+Annotations at the class and module level that are conditionally defined are
+now only reflected in ``__annotations__`` if the block they are in is
+executed. Patch by Jelle Zijlstra.
+
+..
+
+.. 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-28-11-29-35
+.. gh-issue: 130704
+.. nonce: 7RDVLE
+.. section: Core and Builtins
+
+Optimize ``LOAD_FAST`` and its superinstruction form to reduce reference
+counting overhead. These instructions are replaced with faster variants that
+load borrowed references onto the operand stack when we can prove that the
+reference in the frame outlives the reference loaded onto the stack.
+
+..
+
+.. 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-21-00-12-24
+.. gh-issue: 130115
+.. nonce: mF-rP6
+.. section: Core and Builtins
+
+Fix an issue with thread identifiers being sign-extended on some platforms.
+
+..
+
+.. date: 2025-02-15-14-36-32
+.. gh-issue: 99108
+.. nonce: u6CfmK
+.. section: Core and Builtins
+
+Add support for built-in implementation of HMAC (:rfc:`2104`) based on
+HACL*. Patch by Bénédikt Tran.
+
+..
+
+.. date: 2025-02-13-19-07-54
+.. gh-issue: 130080
+.. nonce: IoJpuy
+.. section: Core and Builtins
+
+Implement PEP 765: Disallow return/break/continue that exit a finally block.
+
+..
+
+.. date: 2025-02-09-09-54-37
+.. gh-issue: 129900
+.. nonce: GAGGPn
+.. section: Core and Builtins
+
+Fix return codes inside :exc:`SystemExit` not getting returned by the REPL.
+
+..
+
+.. 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: 2025-01-09-22-12-03
+.. gh-issue: 126703
+.. nonce: 6rAxZ7
+.. section: Core and Builtins
+
+Improve performance of builtin methods by using a freelist.
+
+..
+
+.. date: 2025-01-08-09-41-25
+.. gh-issue: 126703
+.. nonce: djs9e_
+.. section: Core and Builtins
+
+Improve performance of :class:`range` by using a freelist.
+
+..
+
+.. 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-20-17-14-29
+.. gh-issue: 131525
+.. nonce: n8Di6a
+.. section: C API
+
+The PyTupleObject now caches the computed hash value in the new field
+ob_hash.
+
+..
+
+.. 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-27-01-21-50
+.. gh-issue: 131675
+.. nonce: l2zfOO
+.. section: Build
+
+Fix mimalloc library builds for 32-bit ARM targets.
+
+..
+
+.. date: 2025-03-25-19-14-24
+.. gh-issue: 131691
+.. nonce: 2BgHU5
+.. section: Build
+
+clang-cl on Windows needs option ``/EHa`` to support SEH (structured
+exception handling) correctly. Fix by Chris Eibl.
+
+..
+
+.. date: 2025-03-15-12-32-56
+.. gh-issue: 131278
+.. nonce: 1nd0mJ
+.. section: Build
+
+Add optimizing flag ``WITH_COMPUTED_GOTOS`` to Windows builds for when using
+a compiler that supports it (currently clang-cl). Patch by Chris Eibl.
+
+..
+
+.. date: 2025-03-11-19-06-50
+.. gh-issue: 130213
+.. nonce: _eQr0g
+.. section: Build
+
+Update the vendored HACL* library to fix build issues with older clang
+compilers.
+
+..
+
+.. date: 2025-03-06-20-55-34
+.. gh-issue: 130673
+.. nonce: T3RSCI
+.. section: Build
+
+Fix potential ``KeyError`` when handling object sections during JIT building
+process.
+++ /dev/null
-Fix potential ``KeyError`` when handling object sections during JIT building
-process.
+++ /dev/null
-Update the vendored HACL* library to fix build issues with older clang
-compilers.
+++ /dev/null
-Add optimizing flag ``WITH_COMPUTED_GOTOS`` to Windows builds for when
-using a compiler that supports it (currently clang-cl). Patch by Chris Eibl.
+++ /dev/null
-clang-cl on Windows needs option ``/EHa`` to support SEH (structured
-exception handling) correctly. Fix by Chris Eibl.
+++ /dev/null
-Fix mimalloc library builds for 32-bit ARM targets.
+++ /dev/null
-The DTrace build now properly passes the ``CC`` and ``CFLAGS`` variables
-to the ``dtrace`` command when utilizing SystemTap on Linux.
+++ /dev/null
-The PyTupleObject now caches the computed hash value in the new field
-ob_hash.
+++ /dev/null
-Update PyUnstable_GC_VisitObjects to traverse perm gen.
+++ /dev/null
-Improve performance of :class:`range` by using a freelist.
+++ /dev/null
-Improve performance of builtin methods by using a freelist.
+++ /dev/null
-Disallow ``__classdict__`` as the name of a type parameter. Using this
-name would previously crash the interpreter in some circumstances.
+++ /dev/null
-Fix return codes inside :exc:`SystemExit` not getting returned by the REPL.
+++ /dev/null
-Implement PEP 765: Disallow return/break/continue that exit a finally block.
+++ /dev/null
-Add support for built-in implementation of HMAC (:rfc:`2104`) based on
-HACL*. Patch by Bénédikt Tran.
+++ /dev/null
-Fix an issue with thread identifiers being sign-extended on some platforms.
+++ /dev/null
-Fixing multiprocessing Resource Tracker process leaking, usually observed when running Python as PID 1.
+++ /dev/null
-Optimize ``LOAD_FAST`` and its superinstruction form to reduce reference
-counting overhead. These instructions are replaced with faster variants that
-load borrowed references onto the operand stack when we can prove that the
-reference in the frame outlives the reference loaded onto the stack.
+++ /dev/null
-Do not crash on negative ``column`` and ``end_column`` in :mod:`ast` locations.
+++ /dev/null
-Annotations at the class and module level that are conditionally defined are
-now only reflected in ``__annotations__`` if the block they are in is
-executed. Patch by Jelle Zijlstra.
+++ /dev/null
-Fix error message when formatting bytes using the ``'i'`` flag.\r
-Patch by Maxim Ageev.
+++ /dev/null
-Optimize the AArch64 code generation for the JIT. Patch by Diego Russo
+++ /dev/null
-Optimize the AArch64 code generation for the JIT. Patch by Diego Russo
+++ /dev/null
-Add fast path for small and medium-size integers in
-:c:func:`PyLong_FromInt32`, :c:func:`PyLong_FromUInt32`,
-:c:func:`PyLong_FromInt64` and
-:c:func:`PyLong_FromUInt64`. Patch by Chris Eibl.
+++ /dev/null
-Optimize comparison of two constants in JIT builds
+++ /dev/null
-Fix signature of ``anext_awaitable.close`` objects. Patch by Bénédikt Tran.
+++ /dev/null
-Fix :func:`anext` failing on sync :meth:`~object.__anext__` raising an exception.
+++ /dev/null
-Fix missing NULL check in ``_PyMem_FreeDelayed`` in :term:`free-threaded <free threading>` build.
+++ /dev/null
-Compiler emits optimized code for builtin any/all/tuple calls over a generator expression.
+++ /dev/null
-Improve the experimental JIT's ability to remove type checks for certain
-subscripting operations.
+++ /dev/null
-Usage of a name in a function-scope annotation no longer triggers creation
-of a cell for that variable. This fixes a regression in earlier alphas of
-Python 3.14.
+++ /dev/null
-Add support for optionally dropping grouping parentheses when using multiple
-exception types as per :pep:`758`. Patch by Pablo Galindo
+++ /dev/null
-Allow JIT to omit str guard in truthiness test when str type is known.
+++ /dev/null
-Implement :pep:`768` (Safe external debugger interface for CPython). Add a
-new :func:`sys.remote_exec` function to the :mod:`sys` module. This function
-schedules the execution of a Python file in a separate process. Patch by
-Pablo Galindo, Matt Wozniski and Ivona Stojanovic.
+++ /dev/null
-Fix a crash when using an unbound method :term:`descriptor` object in a
-function where a bound method descriptor was used.
+++ /dev/null
-Fix crash when calling :meth:`!list.append` as an unbound method.
+++ /dev/null
-Allow the JIT to remove an extra ``_TO_BOOL_BOOL`` instruction after
-``_CONTAINS_OP_SET`` by setting the return type to bool.
+++ /dev/null
-Mention :class:`asyncio.Future` and :class:`asyncio.Task` in generic classes
-list.
+++ /dev/null
-Added aliases for Thai Language using Microsoft Code Pages.
+++ /dev/null
-Add support for AI_NUMERICSERV in getaddrinfo emulation
+++ /dev/null
-Add :func:`fnmatch.filterfalse` for excluding names matching a pattern.
-Patch by Bénédikt Tran.
+++ /dev/null
-Add the optional backend of ``sys.monitoring`` to :mod:`bdb` and use it for :mod:`pdb`.
+++ /dev/null
-: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.
+++ /dev/null
-Deprecate :meth:`!pathlib.PurePath.as_uri`; use :meth:`pathlib.Path.as_uri`
-instead.
+++ /dev/null
-When headers are added to :class:`email.message.Message` objects, either through
-:meth:`email.message.Message.__setitem__` or :meth:`email.message.Message.add_header`,
-the field name is now validated according to :rfc:`RFC 5322, Section 2.2 <5322#section-2.2>`
-and a :exc:`ValueError` is raised if the field name contains any invalid characters.
+++ /dev/null
-: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.
+++ /dev/null
-Fix ``test.test_sysconfig.test_sysconfigdata_json`` when running outside
-the build directory (eg. after installing).
+++ /dev/null
-The class of :class:`~ctypes.Structure`/:class:`~ctypes.Union` field
-descriptors is now available as :class:`~ctypes.CField`, and has new
-attributes to aid debugging and introspection.
+++ /dev/null
-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.
+++ /dev/null
-:class:`annotationlib.ForwardRef` objects no longer cache their value when
-they are successfully evaluated. Successive calls to
-:meth:`annotationlib.ForwardRef.evaluate` may return different values.
+++ /dev/null
-The implementations of equality and hashing for :class:`annotationlib.ForwardRef`
-now use all attributes on the object. Two :class:`!ForwardRef` objects
-are equal only if all attributes are equal.
+++ /dev/null
-The :mod:`http.server` module now includes built-in support for HTTPS
-servers exposed by :class:`http.server.HTTPSServer`. This functionality
-is exposed by the command-line interface (``python -m http.server``) through
-the ``--tls-cert``, ``--tls-key`` and ``--tls-password-file`` options.
-Patch by Semyon Moroz.
+++ /dev/null
-Fix :func:`ast.unparse` when :class:`ast.Interactive` contains multiple statements.
+++ /dev/null
-Improve import time of :mod:`locale` using lazy import ``re``. Patch by
-Semyon Moroz.
+++ /dev/null
-``$_asynctask`` is added as a :mod:`pdb` convenience variable to
-access the current asyncio task if applicable.
+++ /dev/null
-Fix :mod:`readline` in :term:`free-threaded <free threading>` build.
+++ /dev/null
-Allow to generate multiple UUIDs at once via :option:`python -m uuid --count <uuid --count>`.
+++ /dev/null
-Allow :meth:`graphlib.TopologicalSorter.prepare` to be called more than once
-as long as sorting has not started.
-Patch by Daniel Pope.
+++ /dev/null
-When creating a :mod:`datetime` object with an out of range date a more informative
-error is raised.
+++ /dev/null
-Fix incorrect argument passing in :func:`warnings.warn_explicit`.
+++ /dev/null
-:func:`platform.libc_ver` can now detect and report the version of ``musl``
-on Alpine Linux.
+++ /dev/null
-Fix sendfile fallback implementation to drain data after writing to transport in :mod:`asyncio`.
+++ /dev/null
-Register ``cseuckr`` as an encoding alias for ``euc_kr``.
+++ /dev/null
-Disable ``CALL`` event in :mod:`bdb` in ``monitoring`` backend when we don't need any new events on the code object to get a better performance.
+++ /dev/null
-Fix issue where :func:`urllib.request.url2pathname` raised :exc:`OSError`
-when given a Windows URI containing a colon character not following a drive
-letter, such as before an NTFS alternate data stream.
+++ /dev/null
-Deprecate the :mod:`!nturl2path` module. Call
-:func:`urllib.request.url2pathname` and :func:`~urllib.request.pathname2url`
-instead.
+++ /dev/null
-Fix :exc:`ResourceWarning` when constructing a :class:`gzip.GzipFile` in write mode with a broken file object.
+++ /dev/null
-10-20% performance improvement of :func:`random.randint`.
+++ /dev/null
-Fix a resource leak when constructing a :class:`gzip.GzipFile` with a filename fails, for example when passing an invalid ``compresslevel``.
+++ /dev/null
-Support frozen modules for :func:`linecache.getline`.
+++ /dev/null
-:mod:`socket`: Fix code parsing AF_BLUETOOTH socket addresses.
+++ /dev/null
-Improved performance of :func:`textwrap.dedent` by an average of ~2.4x,
-(with improvements of up to 4x for large inputs),
-and fixed a bug where blank lines with whitespace characters other than space
-or horizontal tab were not normalised to the newline.
-Patch by Adam Turner, Marius Juston, and Pieter Eendebak.
+++ /dev/null
-Improved performance of :func:`textwrap.dedent` by an average of ~1.3x.
-Patch by Adam Turner.
+++ /dev/null
-Improve the import time of the :mod:`ast` module by extracting the
-:func:`~ast.unparse` function to a helper module.
+++ /dev/null
-Fix several thread-safety issues in :mod:`ctypes` on the :term:`free
-threaded <free threading>` build.
+++ /dev/null
-Add :meth:`threading.RLock.locked`,
-:meth:`multiprocessing.Lock.locked`,
-:meth:`multiprocessing.RLock.locked`,
-and allow :meth:`multiprocessing.managers.SyncManager.Lock` and
-:meth:`multiprocessing.managers.SyncManager.RLock` to proxy ``locked()`` call.
+++ /dev/null
-:mod:`xml.etree.ElementTree`: update the error message when an element to
-remove via :meth:`Element.remove <xml.etree.ElementTree.Element.remove>` is
-not found. Patch by Bénédikt Tran.
+++ /dev/null
-Fix crash when deallocating :class:`contextvars.ContextVar` with weird
-unahashable string names.
+++ /dev/null
-Display thread name in :mod:`faulthandler`. Patch by Victor Stinner.
+++ /dev/null
-Improve import times by up to 27x for the :mod:`string` module.
-Patch by Adam Turner.
+++ /dev/null
-Fix possible use of :mod:`socket` address structures with uninitialized
-members. Now all structure members are initialized with zeroes by default.
+++ /dev/null
-Add the :attr:`zipfile.ZipFile.data_offset` attribute, which stores the
-offset to the beginning of ZIP data in a file when available. When the
-:class:`zipfile.ZipFile` is opened in either mode ``'w'`` or ``'x'`` and the
-underlying file does not support ``tell()``, the value will be ``None``
-instead.
+++ /dev/null
-The :class:`ctypes.py_object` type now supports subscription, making it a
-:term:`generic type`.
+++ /dev/null
-Do not shadow user arguments in generated :meth:`!__new__` by decorator :class:`warnings.deprecated`. Patch by Xuehai Pan.
+++ /dev/null
-Introduce new ``_PYTHON_SUBPROCESS_USE_POSIX_SPAWN`` environment variable knob in
-:mod:`subprocess` to control the use of :func:`os.posix_spawn`.
+++ /dev/null
-Fix crash of ``_interpreters.run_string`` on string subclasses.
+++ /dev/null
-Fix function name in error message of ``_interpreters.run_string``.
+++ /dev/null
-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.
+++ /dev/null
-Upgrade to libexpat 2.7.0
+++ /dev/null
-Update bundled libexpat to 2.7.1
+++ /dev/null
-``test_ssl.test_dh_params`` is skipped if the underlying TLS library does not support finite-field ephemeral Diffie-Hellman.
+++ /dev/null
-Allow to unset one or more environment variables at once via
-:meth:`EnvironmentVarGuard.unset()
-<test.support.os_helper.EnvironmentVarGuard.unset>`. Patch by Bénédikt Tran.
+++ /dev/null
-:program:`msgfmt` no longer adds the ``POT-Creation-Date`` to generated ``.mo`` files
-for consistency with GNU ``msgfmt``.
+++ /dev/null
-Always escape non-printable Unicode characters in :program:`pygettext`.
+++ /dev/null
-Update Windows installer to ship with SQLite 3.49.1.
+++ /dev/null
-Replaces our copy of ``zlib`` with ``zlib-ng``, for performance improvements
-in :mod:`zlib`.
+++ /dev/null
-Some :data:`!SND_*` and :data:`!MB_*` constants are added to :mod:`winsound`.
+++ /dev/null
-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.
+++ /dev/null
-Update macOS installer to ship with SQLite 3.49.1.
+++ /dev/null
-Update macOS installer to use OpenSSL 3.0.16. Patch by Bénédikt Tran.
+++ /dev/null
-Update macOS installer to use Tcl/Tk 8.6.16.
-This is Python version 3.14.0 alpha 6
+This is Python version 3.14.0 alpha 7
=====================================
.. image:: https://github.com/python/cpython/actions/workflows/build.yml/badge.svg?branch=main&event=push
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.
\ No newline at end of file