Python 3.15.0a1

This commit is contained in:
Hugo van Kemenade 2025-10-14 13:45:53 +03:00
parent f71c96cf2d
commit aeff92d86a
669 changed files with 8387 additions and 2073 deletions

View file

@ -305,7 +305,7 @@ the minimal value for the corresponding signed integer type of the same size.
``D`` (:class:`complex`) [Py_complex]
Convert a Python complex number to a C :c:type:`Py_complex` structure.
.. deprecated:: next
.. deprecated:: 3.15
For unsigned integer formats ``B``, ``H``, ``I``, ``k`` and ``K``,
:exc:`DeprecationWarning` is emitted when the value is larger than

View file

@ -236,7 +236,7 @@ PyBytesWriter
The :c:type:`PyBytesWriter` API can be used to create a Python :class:`bytes`
object.
.. versionadded:: next
.. versionadded:: 3.15
.. c:type:: PyBytesWriter

View file

@ -16,7 +16,7 @@ Complex Number Objects
The complex number value, using the C :c:type:`Py_complex` representation.
.. deprecated-removed:: next 3.20
.. deprecated-removed:: 3.15 3.20
Use :c:func:`PyComplex_AsCComplex` and
:c:func:`PyComplex_FromCComplex` to convert a
Python complex number to/from the C :c:type:`Py_complex`

View file

@ -201,7 +201,7 @@ Object Protocol
This case can arise from forgetting ``NULL`` checks and would delete the
attribute.
.. versionchanged:: next
.. versionchanged:: 3.15
Must not be called with NULL value if an exception is set.
@ -226,7 +226,7 @@ Object Protocol
For more details, see :c:func:`PyUnicode_InternFromString`, which may be
used internally to create a key object.
.. versionchanged:: next
.. versionchanged:: 3.15
Must not be called with NULL value if an exception is set.

View file

@ -202,7 +202,7 @@ third-party distributors.
ABI Checking
============
.. versionadded:: next
.. versionadded:: 3.15
Python includes a rudimentary check for ABI compatibility.
@ -249,7 +249,7 @@ The full API is described below for advanced use cases.
may lead to crashes.
In particular, it is not safe to examine the raised exception.
.. versionadded:: next
.. versionadded:: 3.15
.. c:macro:: PyABIInfo_VAR(NAME)
@ -266,7 +266,7 @@ The full API is described below for advanced use cases.
PyABIInfo_DEFAULT_ABI_VERSION
}
.. versionadded:: next
.. versionadded:: 3.15
.. c:type:: PyABIInfo
@ -352,7 +352,7 @@ The full API is described below for advanced use cases.
values of macros such as :c:macro:`Py_LIMITED_API`,
:c:macro:`PY_VERSION_HEX` and :c:macro:`Py_GIL_DISABLED`.
.. versionadded:: next
.. versionadded:: 3.15
.. _limited-api-list:

View file

@ -268,7 +268,7 @@ accessible to C code. They all work with the current interpreter thread's
If the non-existing object should not be treated as a failure, you can use
:c:func:`PySys_GetOptionalAttr` instead.
.. versionadded:: next
.. versionadded:: 3.15
.. c:function:: PyObject *PySys_GetAttrString(const char *name)
@ -279,7 +279,7 @@ accessible to C code. They all work with the current interpreter thread's
If the non-existing object should not be treated as a failure, you can use
:c:func:`PySys_GetOptionalAttrString` instead.
.. versionadded:: next
.. versionadded:: 3.15
.. c:function:: int PySys_GetOptionalAttr(PyObject *name, PyObject **result)
@ -293,7 +293,7 @@ accessible to C code. They all work with the current interpreter thread's
* Set an exception, set *\*result* to ``NULL``, and return ``-1``,
if an error occurred.
.. versionadded:: next
.. versionadded:: 3.15
.. c:function:: int PySys_GetOptionalAttrString(const char *name, PyObject **result)
@ -301,7 +301,7 @@ accessible to C code. They all work with the current interpreter thread's
specified as a :c:expr:`const char*` UTF-8 encoded bytes string,
rather than a :c:expr:`PyObject*`.
.. versionadded:: next
.. versionadded:: 3.15
.. c:function:: PyObject *PySys_GetObject(const char *name)

View file

@ -47,7 +47,7 @@ Tuple Objects
On success, return a new reference.
On error, set an exception and return ``NULL``.
.. versionadded:: next
.. versionadded:: 3.15
.. c:function:: PyObject* PyTuple_Pack(Py_ssize_t n, ...)

View file

@ -127,7 +127,7 @@ This module defines the following constants and functions:
.. versionchanged:: 3.13
Added support for GNU/kFreeBSD.
.. versionchanged:: next
.. versionchanged:: 3.15
Added support for Solaris.

View file

@ -2507,7 +2507,7 @@ and classes for traversing abstract syntax trees:
.. versionchanged:: 3.13
Added the *show_empty* option.
.. versionchanged:: next
.. versionchanged:: 3.15
Omit optional ``Load()`` values by default.

View file

@ -533,7 +533,7 @@ The :mod:`calendar` module exports the following data attributes:
in the standalone form if the locale provides one. Else it is equivalent
to :data:`month_name`.
.. versionadded:: next
.. versionadded:: 3.15
.. data:: standalone_month_abbr
@ -542,7 +542,7 @@ The :mod:`calendar` module exports the following data attributes:
locale in the standalone form if the locale provides one. Else it is
equivalent to :data:`month_abbr`.
.. versionadded:: next
.. versionadded:: 3.15
.. data:: JANUARY

View file

@ -78,7 +78,7 @@ The full details for each codec can also be looked up directly:
.. versionchanged:: 3.9
Any characters except ASCII letters and digits and a dot are converted to underscore.
.. versionchanged:: next
.. versionchanged:: 3.15
No characters are converted to underscore anymore.
Spaces are converted to hyphens.

View file

@ -404,7 +404,7 @@ or subtracting from an empty counter.
.. versionadded:: 3.3
Added support for unary plus, unary minus, and in-place multiset operations.
.. versionadded:: next
.. versionadded:: 3.15
Added support for the symmetric difference multiset operation, ``c ^ d``.
.. note::

View file

@ -535,7 +535,7 @@ Other constructors, all class methods:
:c:func:`localtime` function. Raise :exc:`OSError` instead of
:exc:`ValueError` on :c:func:`localtime` failure.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timestamp*, not only integer or float.
@ -1023,7 +1023,7 @@ Other constructors, all class methods:
.. versionchanged:: 3.6
:meth:`fromtimestamp` may return instances with :attr:`.fold` set to 1.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timestamp*, not only integer or float.
@ -1067,7 +1067,7 @@ Other constructors, all class methods:
Use :meth:`datetime.fromtimestamp` with :const:`UTC` instead.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timestamp*, not only integer or float.
@ -2641,7 +2641,7 @@ differences between platforms in handling of unsupported format specifiers.
.. versionadded:: 3.12
``%:z`` was added for :meth:`~.datetime.strftime`
.. versionadded:: next
.. versionadded:: 3.15
``%:z`` was added for :meth:`~.datetime.strptime`
Technical Detail

View file

@ -217,7 +217,7 @@ or any other SQLite browser, including the SQLite CLI.
While reorganizing, as much as two times the size of the original database is required
in free disk space. However, be aware that this factor changes for each :mod:`dbm` submodule.
.. versionadded:: next
.. versionadded:: 3.15
:mod:`dbm.gnu` --- GNU database manager
@ -519,7 +519,7 @@ The :mod:`!dbm.dumb` module defines the following:
While reorganizing, no additional free disk space is required. However, be aware
that this factor changes for each :mod:`dbm` submodule.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: dumbdbm.sync()

View file

@ -323,7 +323,7 @@ diffs. For comparing directories and files, see also, the :mod:`filecmp` module.
See :ref:`difflib-interface` for a more detailed example.
.. versionchanged:: next
.. versionchanged:: 3.15
Added the *color* parameter.

View file

@ -1123,7 +1123,7 @@ from text files and modules with doctests:
The global ``__file__`` is added to the globals provided to doctests loaded
from a text file using :func:`DocFileSuite`.
.. versionchanged:: next
.. versionchanged:: 3.15
Run each example as a :ref:`subtest <subtests>`.
@ -1164,7 +1164,7 @@ from text files and modules with doctests:
:func:`DocTestSuite` returns an empty :class:`unittest.TestSuite` if *module*
contains no docstrings instead of raising :exc:`ValueError`.
.. versionchanged:: next
.. versionchanged:: 3.15
Run each example as a :ref:`subtest <subtests>`.
Under the covers, :func:`DocTestSuite` creates a :class:`unittest.TestSuite` out
@ -1564,7 +1564,7 @@ DocTestRunner objects
containing *example*. *out* is the output function that was passed to
:meth:`DocTestRunner.run`.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: report_start(out, test, example)

View file

@ -450,7 +450,7 @@ The following exceptions are the exceptions that are usually raised.
:meth:`threading.Thread.join` can now raise this exception.
.. versionchanged:: next
.. versionchanged:: 3.15
This exception may be raised when acquiring :meth:`threading.Lock`
or :meth:`threading.RLock`.

View file

@ -125,7 +125,7 @@ The module defines the following functions:
Add support of arbitrary :term:`bytes-like objects <bytes-like object>`,
not only :class:`bytes`.
.. versionchanged:: next
.. versionchanged:: 3.15
The size of bytes-like objects is no longer limited to 1024 bytes.
@ -187,7 +187,7 @@ The module defines the following functions:
The GIL is always released during a system call.
System calls failing with EINTR are automatically retried.
.. versionchanged:: next
.. versionchanged:: 3.15
The size of not mutated bytes-like objects is no longer
limited to 1024 bytes.

View file

@ -59,7 +59,7 @@ The module defines the following items:
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
.. versionchanged:: next
.. versionchanged:: 3.15
The default compression level was reduced to 6 (down from 9).
It is the default level used by most compression tools and a better
tradeoff between speed and performance.
@ -186,7 +186,7 @@ The module defines the following items:
Remove the ``filename`` attribute, use the :attr:`~GzipFile.name`
attribute instead.
.. versionchanged:: next
.. versionchanged:: 3.15
The default compression level was reduced to 6 (down from 9).
It is the default level used by most compression tools and a better
tradeoff between speed and performance.
@ -216,7 +216,7 @@ The module defines the following items:
The *mtime* parameter now defaults to 0 for reproducible output.
For the previous behaviour of using the current time,
pass ``None`` to *mtime*.
.. versionchanged:: next
.. versionchanged:: 3.15
The default compression level was reduced to 6 (down from 9).
It is the default level used by most compression tools and a better
tradeoff between speed and performance.

View file

@ -68,7 +68,7 @@ The module provides the following classes:
.. versionchanged:: 3.7
*blocksize* parameter was added.
.. versionchanged:: next
.. versionchanged:: 3.15
*max_response_headers* parameter was added.
@ -114,7 +114,7 @@ The module provides the following classes:
The deprecated *key_file*, *cert_file* and *check_hostname* parameters
have been removed.
.. versionchanged:: next
.. versionchanged:: 3.15
*max_response_headers* parameter was added.
@ -429,7 +429,7 @@ HTTPConnection Objects
The maximum number of allowed response headers to help prevent denial-of-service
attacks. By default, the maximum number of allowed headers is set to 100.
.. versionadded:: next
.. versionadded:: 3.15
As an alternative to using the :meth:`~HTTPConnection.request` method described above, you can

View file

@ -30,7 +30,7 @@ in a cookie name (as :attr:`~Morsel.key`).
.. versionchanged:: 3.3
Allowed '``:``' as a valid cookie name character.
.. versionchanged:: next
.. versionchanged:: 3.15
Allowed '``"``' as a valid cookie value character.
.. note::

View file

@ -413,7 +413,7 @@ An :class:`IMAP4` instance has the following methods:
the password. Will only work if the server ``CAPABILITY`` response includes the
phrase ``AUTH=CRAM-MD5``.
.. versionchanged:: next
.. versionchanged:: 3.15
An :exc:`IMAP4.error` is raised if MD5 support is not available.

View file

@ -58,7 +58,7 @@ The :mod:`locale` module defines the following exception and functions:
specified in the :envvar:`LANG` environment variable). If the locale is not
changed thereafter, using multithreading should not cause problems.
.. versionchanged:: next
.. versionchanged:: 3.15
Support language codes with ``@``-modifiers.
@ -374,7 +374,7 @@ The :mod:`locale` module defines the following exception and functions:
determined.
The "C" locale is represented as ``(None, None)``.
.. versionchanged:: next
.. versionchanged:: 3.15
``@``-modifier are no longer silently removed, but included in
the language code.

View file

@ -259,7 +259,7 @@ Floating point arithmetic
is, :func:`!fmax` is not required to be sensitive to the sign of such
operands (see Annex F of the C11 standard, §F.10.0.3 and §F.10.9.2).
.. versionadded:: next
.. versionadded:: 3.15
.. function:: fmin(x, y)
@ -271,7 +271,7 @@ Floating point arithmetic
is, :func:`!fmin` is not required to be sensitive to the sign of such
operands (see Annex F of the C11 standard, §F.10.0.3 and §F.10.9.3).
.. versionadded:: next
.. versionadded:: 3.15
.. function:: fmod(x, y)
@ -408,7 +408,7 @@ Floating point manipulation functions
nonzero number that is not a subnormal (see :func:`issubnormal`).
Return ``False`` otherwise.
.. versionadded:: next
.. versionadded:: 3.15
.. function:: issubnormal(x)
@ -417,7 +417,7 @@ Floating point manipulation functions
nonzero number with a magnitude smaller than :data:`sys.float_info.min`.
Return ``False`` otherwise.
.. versionadded:: next
.. versionadded:: 3.15
.. function:: isinf(x)
@ -464,7 +464,7 @@ Floating point manipulation functions
This is useful to detect the sign bit of zeroes, infinities and NaNs.
.. versionadded:: next
.. versionadded:: 3.15
.. function:: ulp(x)

View file

@ -78,7 +78,7 @@ To map anonymous memory, -1 should be passed as the fileno along with the length
This mode is useful to limit the number of open file handles.
The original file can be renamed (but not deleted) after closing *fileno*.
.. versionchanged:: next
.. versionchanged:: 3.15
The *trackfd* parameter was added.
.. audit-event:: mmap.__new__ fileno,length,access,offset mmap.mmap
@ -229,7 +229,7 @@ To map anonymous memory, -1 should be passed as the fileno along with the length
on error under Windows. A zero value was returned on success; an
exception was raised on error under Unix.
.. versionchanged:: next
.. versionchanged:: 3.15
Allow specifying *offset* without *size*. Previously, both *offset*
and *size* parameters were required together. Now *offset* can be
specified alone, and the flush operation will extend from *offset*
@ -334,7 +334,7 @@ To map anonymous memory, -1 should be passed as the fileno along with the length
memory-mapped area.
For an anonymous mapping, return its size.
.. versionchanged:: next
.. versionchanged:: 3.15
Anonymous mappings are now supported on Unix.

View file

@ -449,7 +449,7 @@ the :mod:`glob` module.)
.. versionchanged:: 3.10
The *strict* parameter was added.
.. versionchanged:: next
.. versionchanged:: 3.15
The :data:`ALL_BUT_LAST` and :data:`ALLOW_MISSING` values for
the *strict* parameter was added.
@ -457,13 +457,13 @@ the :mod:`glob` module.)
Special value used for the *strict* argument in :func:`realpath`.
.. versionadded:: next
.. versionadded:: 3.15
.. data:: ALLOW_MISSING
Special value used for the *strict* argument in :func:`realpath`.
.. versionadded:: next
.. versionadded:: 3.15
.. function:: relpath(path, start=os.curdir)

View file

@ -108,7 +108,7 @@ Python UTF-8 Mode
.. versionadded:: 3.7
See :pep:`540` for more details.
.. versionchanged:: next
.. versionchanged:: 3.15
Python UTF-8 mode is now enabled by default (:pep:`686`).
It may be disabled with by setting :envvar:`PYTHONUTF8=0 <PYTHONUTF8>` as
@ -1553,7 +1553,7 @@ or `the MSDN <https://msdn.microsoft.com/en-us/library/z0kc8e3z.aspx>`_ on Windo
.. availability:: Linux >= 6.14
.. versionadded:: next
.. versionadded:: 3.15
.. function:: ptsname(fd, /)
@ -2645,7 +2645,7 @@ features:
Non-existent device.
.. versionadded:: next
.. versionadded:: 3.15
.. function:: pathconf(path, name)
@ -3646,7 +3646,7 @@ features:
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real numbers as *times*, not only integers or floats.
@ -4610,7 +4610,7 @@ written in Python, such as a mail server's external command delivery program.
threads, this now raises a :exc:`DeprecationWarning`. See the
longer explanation on :func:`os.fork`.
.. versionchanged:: next
.. versionchanged:: 3.15
The returned file descriptor is now made non-inheritable.
.. availability:: Unix, not WASI, not Android, not iOS.

View file

@ -38,7 +38,7 @@ The :mod:`pty` module defines the following functions:
.. warning:: On macOS the use of this function is unsafe when mixed with using
higher-level system APIs, and that includes using :mod:`urllib.request`.
.. versionchanged:: next
.. versionchanged:: 3.15
The returned file descriptor is now made non-inheritable.

View file

@ -267,7 +267,7 @@ against some common XML vulnerabilities.
Activation thresholds below 4 MiB are known to break support for DITA 1.3
payload and are hence not recommended.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: xmlparser.SetBillionLaughsAttackProtectionMaximumAmplification(max_factor, /)
@ -304,7 +304,7 @@ against some common XML vulnerabilities.
that can be adjusted by :meth:`.SetBillionLaughsAttackProtectionActivationThreshold`
is exceeded.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: xmlparser.SetAllocTrackerActivationThreshold(threshold, /)
@ -324,7 +324,7 @@ against some common XML vulnerabilities.
Check for availability using :func:`hasattr` if used in code running
across a variety of Python versions.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: xmlparser.SetAllocTrackerMaximumAmplification(max_factor, /)
@ -360,7 +360,7 @@ against some common XML vulnerabilities.
that can be adjusted by :meth:`.SetAllocTrackerActivationThreshold`
is exceeded.
.. versionadded:: next
.. versionadded:: 3.15
:class:`xmlparser` objects have the following attributes:

View file

@ -51,7 +51,7 @@ this module for those platforms.
Constant used to represent the limit for an unlimited resource.
.. versionchanged:: next
.. versionchanged:: 3.15
It is now always positive.
Previously, it could be negative, such as -1 or -3.
@ -63,7 +63,7 @@ this module for those platforms.
cannot be represented in the ``rlim_t`` value in C.
Can be equal to :data:`RLIM_INFINITY`.
.. versionadded:: next
.. versionadded:: 3.15
.. function:: getrlimit(resource)
@ -296,7 +296,7 @@ platform.
.. availability:: NetBSD >= 7.0.
.. versionadded:: next
.. versionadded:: 3.15
.. data:: RLIMIT_PIPEBUF
@ -306,7 +306,7 @@ platform.
.. availability:: FreeBSD >= 14.2.
.. versionadded:: next
.. versionadded:: 3.15
.. data:: RLIMIT_THREADS
@ -315,7 +315,7 @@ platform.
.. availability:: AIX.
.. versionadded:: next
.. versionadded:: 3.15
.. data:: RLIMIT_UMTXP
@ -325,7 +325,7 @@ platform.
.. availability:: FreeBSD >= 11.
.. versionadded:: next
.. versionadded:: 3.15
Resource Usage

View file

@ -165,7 +165,7 @@ The module defines the following:
:pep:`475` for the rationale), instead of raising
:exc:`InterruptedError`.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timeout*, not only integer or float.
@ -274,7 +274,7 @@ object.
:pep:`475` for the rationale), instead of raising
:exc:`InterruptedError`.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timeout*, not only integer or float.
@ -385,7 +385,7 @@ Edge and Level Trigger Polling (epoll) Objects
:pep:`475` for the rationale), instead of raising
:exc:`InterruptedError`.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timeout*, not only integer or float.
@ -476,7 +476,7 @@ linearly scanned again. :c:func:`!select` is *O*\ (*highest file descriptor*), w
:pep:`475` for the rationale), instead of raising
:exc:`InterruptedError`.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timeout*, not only integer or float.
@ -520,7 +520,7 @@ Kqueue Objects
:pep:`475` for the rationale), instead of raising
:exc:`InterruptedError`.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timeout*, not only integer or float.

View file

@ -64,7 +64,7 @@ lots of shared sub-objects. The keys are ordinary strings.
.. versionchanged:: 3.11
Accepts :term:`path-like object` for filename.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts custom *serializer* and *deserializer* functions in place of
:func:`pickle.dumps` and :func:`pickle.loads`.
@ -103,7 +103,7 @@ Two additional methods are supported:
Calls :meth:`sync` and attempts to shrink space used on disk by removing empty
space resulting from deletions.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: Shelf.close()
@ -185,7 +185,7 @@ Restrictions
:const:`pickle.DEFAULT_PROTOCOL` is now used as the default pickle
protocol.
.. versionchanged:: next
.. versionchanged:: 3.15
Added the *serializer* and *deserializer* parameters.
@ -204,7 +204,7 @@ Restrictions
optional *protocol*, *writeback*, *keyencoding*, *serializer* and *deserializer*
parameters have the same interpretation as in :func:`~shelve.open`.
.. versionchanged:: next
.. versionchanged:: 3.15
Added the *serializer* and *deserializer* parameters.
@ -220,7 +220,7 @@ Restrictions
and *deserializer* parameters have the same interpretation as in
:func:`~shelve.open`.
.. versionchanged:: next
.. versionchanged:: 3.15
Added the *serializer* and *deserializer* parameters.
@ -274,7 +274,7 @@ Exceptions
The *deserializer* and *serializer* arguments must be given together.
.. versionadded:: next
.. versionadded:: 3.15
.. seealso::

View file

@ -523,7 +523,7 @@ The :mod:`signal` module defines the following functions:
.. availability:: Unix.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real numbers as *seconds* and *interval*, not only integers
or floats.
@ -702,7 +702,7 @@ The :mod:`signal` module defines the following functions:
by a signal not in *sigset* and the signal handler does not raise an
exception (see :pep:`475` for the rationale).
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timeout*, not only integer or float.

View file

@ -1412,7 +1412,7 @@ The :mod:`socket` module also offers various network-related services:
:meth:`~socket.settimeout` for possible values and their respective
meanings.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number, not only integer or float.
@ -2088,7 +2088,7 @@ to sockets.
The method no longer toggles :const:`SOCK_NONBLOCK` flag on
:attr:`socket.type`.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number, not only integer or float.

View file

@ -24,7 +24,7 @@ There are four basic concrete server classes:
:meth:`~BaseServer.server_activate`. The other parameters are passed to
the :class:`BaseServer` base class.
.. versionchanged:: next
.. versionchanged:: 3.15
The default queue size is now ``socket.SOMAXCONN`` for :class:`socketserver.TCPServer`.
.. class:: UDPServer(server_address, RequestHandlerClass, bind_and_activate=True)

View file

@ -514,7 +514,7 @@ Module constants
This constant is only available if Python was compiled with SQLite
3.24.0 or greater.
.. versionadded:: next
.. versionadded:: 3.15
.. data:: threadsafety
@ -1611,7 +1611,7 @@ Cursor objects
If the *size* parameter is used, then it is best for it to retain the same
value from one :meth:`fetchmany` call to the next.
.. versionchanged:: next
.. versionchanged:: 3.15
Negative *size* values are rejected by raising :exc:`ValueError`.
.. method:: fetchall()
@ -1641,7 +1641,7 @@ Cursor objects
Read/write attribute that controls the number of rows returned by :meth:`fetchmany`.
The default value is 1 which means a single row would be fetched per call.
.. versionchanged:: next
.. versionchanged:: 3.15
Negative values are rejected by raising :exc:`ValueError`.
.. attribute:: connection

View file

@ -232,7 +232,7 @@ Signature algorithms
:meth:`SSLContext.set_client_sigalgs` and
:meth:`SSLContext.set_server_sigalgs` methods.
.. versionadded:: next
.. versionadded:: 3.15
Exceptions
@ -958,7 +958,7 @@ Constants
Whether the OpenSSL library has built-in support for External PSKs in TLS
1.3 as described in :rfc:`9258`.
.. versionadded:: next
.. versionadded:: 3.15
.. data:: HAS_PHA
@ -1133,7 +1133,7 @@ SSL Sockets
functions support reading and writing of data larger than 2 GB. Writing
zero-length data no longer fails with a protocol violation error.
.. versionchanged:: next
.. versionchanged:: 3.15
Python now uses ``SSL_sendfile`` internally when possible. The
function sends a file more efficiently because it performs TLS encryption
in the kernel to avoid additional context switches.
@ -1317,7 +1317,7 @@ SSL sockets also have the following additional methods and attributes:
Return the group used for doing key agreement on this connection. If no
connection has been established, returns ``None``.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: SSLSocket.client_sigalg()
@ -1325,7 +1325,7 @@ SSL sockets also have the following additional methods and attributes:
authentication on this connection, or ``None`` if no connection has been
established or client authentication didn't occur.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: SSLSocket.server_sigalg()
@ -1333,7 +1333,7 @@ SSL sockets also have the following additional methods and attributes:
handshake on this connection, or ``None`` if no connection has been
established or the cipher suite has no signature.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: SSLSocket.compression()
@ -1709,7 +1709,7 @@ to speed up repeated connections from the same clients.
:const:`True` this method will also return any associated aliases such as
the ECDH curve names supported in older versions of OpenSSL.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: SSLContext.set_default_verify_paths()
@ -1748,7 +1748,7 @@ to speed up repeated connections from the same clients.
When connected, the :meth:`SSLSocket.cipher` method of SSL sockets will
return details about the negotiated cipher.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: SSLContext.set_groups(groups, /)
@ -1761,7 +1761,7 @@ to speed up repeated connections from the same clients.
When connected, the :meth:`SSLSocket.group` method of SSL sockets will
return the group used for key agreement on that connection.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: SSLContext.set_client_sigalgs(sigalgs, /)
@ -1776,7 +1776,7 @@ to speed up repeated connections from the same clients.
sockets will return the signature algorithm used for performing
certificate-based client authentication on that connection.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: SSLContext.set_server_sigalgs(sigalgs, /)
@ -1790,7 +1790,7 @@ to speed up repeated connections from the same clients.
sockets will return the signature algorithm used by the server to
complete the TLS handshake on that connection.
.. versionadded:: next
.. versionadded:: 3.15
.. method:: SSLContext.set_alpn_protocols(alpn_protocols)

View file

@ -13,7 +13,7 @@ always available. Unless explicitly noted otherwise, all variables are read-only
.. data:: abi_info
.. versionadded:: next
.. versionadded:: 3.15
An object containing information about the ABI of the currently running
Python interpreter.
@ -2205,7 +2205,7 @@ always available. Unless explicitly noted otherwise, all variables are read-only
:func:`sys.unraisablehook` can be overridden to control how unraisable
exceptions are handled.
.. versionchanged:: next
.. versionchanged:: 3.15
Exceptions are now printed with colorful text.
.. seealso::

View file

@ -198,7 +198,7 @@ Some facts and figures:
.. versionchanged:: 3.14
The *preset* keyword argument also works for streams.
.. versionchanged:: next
.. versionchanged:: 3.15
The default compression level was reduced to 6 (down from 9).
It is the default level used by most compression tools and a better
tradeoff between speed and performance.
@ -294,7 +294,7 @@ The :mod:`tarfile` module defines the following exceptions:
The exception that was raised to reject the replacement member is available
as :attr:`!BaseException.__context__`.
.. versionadded:: next
.. versionadded:: 3.15
The following constants are available at the module level:
@ -1146,7 +1146,7 @@ reused in custom filters:
Note that this filter does not block *all* dangerous archive features.
See :ref:`tarfile-further-verification` for details.
.. versionchanged:: next
.. versionchanged:: 3.15
Link targets are now normalized.

View file

@ -198,7 +198,7 @@ This module defines the following functions:
.. versionchanged:: 3.13
Added support for GNU/kFreeBSD.
.. versionchanged:: next
.. versionchanged:: 3.15
Added support for Solaris.
@ -632,7 +632,7 @@ since it is impossible to detect the termination of alien threads.
May raise :exc:`PythonFinalizationError`.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timeout*, not only integer or float.
.. attribute:: name
@ -786,7 +786,7 @@ All methods are executed atomically.
.. versionchanged:: 3.14
Lock acquisition can now be interrupted by signals on Windows.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timeout*, not only integer or float.
@ -896,7 +896,7 @@ call release as many times the lock has been acquired can lead to deadlock.
.. versionchanged:: 3.2
The *timeout* parameter is new.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timeout*, not only integer or float.
@ -1159,7 +1159,7 @@ Semaphores also support the :ref:`context management protocol <with-locks>`.
.. versionchanged:: 3.2
The *timeout* parameter is new.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *timeout*, not only integer or float.
.. method:: release(n=1)

View file

@ -201,7 +201,7 @@ Functions
.. versionadded:: 3.3
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number as *time*, not only integer or float.
@ -226,7 +226,7 @@ Functions
``asctime(localtime(secs))``. Locale information is not used by
:func:`ctime`.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number, not only integer or float.
@ -264,7 +264,7 @@ Functions
:class:`struct_time` object. See :func:`calendar.timegm` for the inverse of this
function.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number, not only integer or float.
@ -280,7 +280,7 @@ Functions
:c:func:`gmtime` failure. It's common for this to be restricted to years
between 1970 and 2038.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number, not only integer or float.
@ -439,7 +439,7 @@ Functions
.. versionchanged:: 3.13
Raises an auditing event.
.. versionchanged:: next
.. versionchanged:: 3.15
Accepts any real number, not only integer or float.
.. index::

View file

@ -338,7 +338,7 @@ Standard names are defined for the following types:
The type of frame locals proxy objects, as found on the
:attr:`frame.f_locals` attribute.
.. versionadded:: next
.. versionadded:: 3.15
.. seealso:: :pep:`667`

View file

@ -1177,7 +1177,7 @@ Test cases
.. versionadded:: 3.4
.. versionchanged:: next
.. versionchanged:: 3.15
Now accepts a *formatter* to control how messages are formatted.
.. method:: assertNoLogs(logger=None, level=None)

View file

@ -188,7 +188,7 @@ This module offers the following functions:
.. audit-event:: winreg.DeleteTree key,sub_key winreg.DeleteTree
.. versionadded:: next
.. versionadded:: 3.15
.. function:: DeleteValue(key, value)

View file

@ -30,7 +30,7 @@ Any files may be present in the ZIP archive, but importers are only invoked for
corresponding :file:`.pyc` file, meaning that if a ZIP archive
doesn't contain :file:`.pyc` files, importing may be rather slow.
.. versionchanged:: next
.. versionchanged:: 3.15
Zstandard (*zstd*) compressed zip file entries are supported.
.. versionchanged:: 3.13

View file

@ -56,7 +56,7 @@ The available exception and functions in this module are:
that were concurrently computed. To compute checksums sequentially, use
:func:`adler32` with the running checksum as the ``value`` argument.
.. versionadded:: next
.. versionadded:: 3.15
.. function:: compress(data, /, level=-1, wbits=MAX_WBITS)
@ -162,7 +162,7 @@ The available exception and functions in this module are:
that were concurrently computed. To compute checksums sequentially, use
:func:`crc32` with the running checksum as the ``value`` argument.
.. versionadded:: next
.. versionadded:: 3.15
.. function:: decompress(data, /, wbits=MAX_WBITS, bufsize=DEF_BUF_SIZE)

View file

@ -512,7 +512,7 @@ Miscellaneous options
See :ref:`warning-filter` and :ref:`describing-warning-filters` for more
details.
.. versionchanged:: next
.. versionchanged:: 3.15
Added regular expression support for *message* and *module*.
@ -989,7 +989,7 @@ conflict.
See :ref:`warning-filter` and :ref:`describing-warning-filters` for more
details.
.. versionchanged:: next
.. versionchanged:: 3.15
Added regular expression support for *message* and *module*.

View file

@ -1060,7 +1060,7 @@ UTF-8 mode
==========
.. versionadded:: 3.7
.. versionchanged:: next
.. versionchanged:: 3.15
Python UTF-8 mode is now enabled by default (:pep:`686`).

View file

@ -24,10 +24,10 @@
#define PY_MINOR_VERSION 15
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
#define PY_RELEASE_SERIAL 0
#define PY_RELEASE_SERIAL 1
/* Version as a string */
#define PY_VERSION "3.15.0a0"
#define PY_VERSION "3.15.0a1"
/*--end constants--*/

File diff suppressed because it is too large Load diff

6438
Misc/NEWS.d/3.15.0a1.rst Normal file

File diff suppressed because it is too large Load diff

View file

@ -1 +0,0 @@
Fix crash when building on Linux/m68k.

View file

@ -1,3 +0,0 @@
Check the ``strftime()`` behavior at runtime instead of at the compile time
to support cross-compiling.
Remove the internal macro ``_Py_NORMALIZE_CENTURY``.

View file

@ -1 +0,0 @@
AIX linker don't support -h option, so avoid it through platform check

View file

@ -1 +0,0 @@
Fix detecting when the build Python in a cross-build is a pydebug build.

View file

@ -1,4 +0,0 @@
Removed implicit fallback to the bundled copy of the ``libmpdec`` library.
Now this should be explicitly enabled via :option:`--with-system-libmpdec`
set to ``no`` or :option:`!--without-system-libmpdec`. Patch by Sergey
B Kirpichev.

View file

@ -1 +0,0 @@
Add support for configuring compiler flags for the JIT with ``CFLAGS_JIT``

View file

@ -1,2 +0,0 @@
Fixed ``build-details.json`` generation to use the correct ``c_api.headers``
as defined in :pep:`739`, instead of ``c_api.include``.

View file

@ -1,3 +0,0 @@
The :mod:`ctypes` module now performs a more portable test for the
definition of :manpage:`alloca(3)`, fixing a compilation failure on
NetBSD.

View file

@ -1,3 +0,0 @@
Fixed ``build-details.json`` generation to use ``INCLUDEPY``, in order to
reference the ``pythonX.Y`` subdirectory of the include directory, as
required in :pep:`739`, instead of the top-level include directory.

View file

@ -1,3 +0,0 @@
Windows builds with profile-guided optimization enabled now use
``/GENPROFILE`` and ``/USEPROFILE`` instead of deprecated ``/LTCG:``
options.

View file

@ -1 +0,0 @@
Fix the detection of ``MAXLOGNAME`` in the ``configure.ac`` script.

View file

@ -1 +0,0 @@
Remove "experimental" tag from the CPython free-threading build.

View file

@ -1 +0,0 @@
Fix building with MSVC when passing option ``/std:clatest``.

View file

@ -1,2 +0,0 @@
PyREPL no longer depends on the :mod:`curses` standard library. Contributed
by Łukasz Langa.

View file

@ -1 +0,0 @@
Add support for OpenSSL 3.5.

View file

@ -1 +0,0 @@
``./configure`` now warns when ``--enable-optimizations`` and ``CFLAGS=-O0`` are both set, suggesting removing ``-O0`` from ``CFLAGS`` for optimal performance. Patch by Taegyun Kim.

View file

@ -1 +0,0 @@
Ensure reproducible builds by making JIT stencil header generation deterministic.

View file

@ -1,5 +0,0 @@
When cross-compiling for WASI, require that the HOSTRUNNER environment
variable be explicitly set.
This was needed as macOS lacks the appropriate CLI tools to set a reasonable
default.

View file

@ -1,4 +0,0 @@
The LLVM version used by the JIT at build time can now be modified using
the ``LLVM_VERSION`` environment variable. Use this at your own risk, as
there is only one officially supported LLVM version. For more information,
please check ``Tools/jit/README.md``.

View file

@ -1,6 +0,0 @@
When cross-compiling for WASI by ``build_wasm`` or ``build_emscripten``, the
``build-details.json`` step is now included in the build process, just like
with native builds.
This fixes the ``libinstall`` task which requires the ``build-details.json``
file during the process.

View file

@ -1,2 +0,0 @@
Add functions :c:func:`PySys_GetAttr`, :c:func:`PySys_GetAttrString`,
:c:func:`PySys_GetOptionalAttr` and :c:func:`PySys_GetOptionalAttrString`.

View file

@ -1,2 +0,0 @@
:c:func:`PyGILState_Ensure` no longer crashes when called after interpreter
finalization.

View file

@ -1,4 +0,0 @@
For unsigned integer formats in :c:func:`PyArg_ParseTuple`, accepting Python
integers with value that is larger than the maximal value for the C type or
less than the minimal value for the corresponding signed integer type
of the same size is now deprecated.

View file

@ -1,3 +0,0 @@
Remove deprecated functions :c:func:`!PyUnicode_AsDecodedObject`,
:c:func:`!PyUnicode_AsDecodedUnicode`, :c:func:`!PyUnicode_AsEncodedObject`,
and :c:func:`!PyUnicode_AsEncodedUnicode`.

View file

@ -1,2 +0,0 @@
Remove deprecated alias :c:func:`!PyImport_ImportModuleNoBlock` of
:c:func:`PyImport_ImportModule`. Patch by Bénédikt Tran.

View file

@ -1,3 +0,0 @@
Remove deprecated function :c:func:`!PyWeakref_GetObject` and macro
:c:macro:`!PyWeakref_GET_OBJECT`. Use :c:func:`PyWeakref_GetRef` instead.
Patch by Bénédikt Tran.

View file

@ -1,2 +0,0 @@
Remove deprecated Python initialization getter functions ``Py_Get*``.
Patch by Bénédikt Tran.

View file

@ -1,4 +0,0 @@
Add :c:func:`PyUnicodeWriter_WriteASCII` function to write an ASCII string
into a :c:type:`PyUnicodeWriter`. The function is faster than
:c:func:`PyUnicodeWriter_WriteUTF8`, but has an undefined behavior if the
input string contains non-ASCII characters. Patch by Victor Stinner.

View file

@ -1 +0,0 @@
Fix crash when calling :c:func:`Py_EndInterpreter` with a :term:`thread state` that isn't the initial thread for the interpreter.

View file

@ -1 +0,0 @@
Expose :c:func:`PyMutex_IsLocked` as part of the public C API.

View file

@ -1,2 +0,0 @@
Add :c:type:`PyUnstable_Unicode_GET_CACHED_HASH` to get the cached hash of a
string.

View file

@ -1,3 +0,0 @@
Change :c:func:`!PyThread_allocate_lock` implementation to ``PyMutex``.
On Windows, :c:func:`!PyThread_acquire_lock_timed` now supports the *intr_flag*
parameter: it can be interrupted. Patch by Victor Stinner.

View file

@ -1,2 +0,0 @@
Implement :c:func:`PyObject_DelAttr` and :c:func:`PyObject_DelAttrString` as
macros in the limited C API 3.12 and older. Patch by Victor Stinner.

View file

@ -1,3 +0,0 @@
Fix ``Py_RETURN_NONE``, ``Py_RETURN_TRUE`` and ``Py_RETURN_FALSE`` macros in
the limited C API 3.11 and older: don't treat ``Py_None``, ``Py_True`` and
``Py_False`` as immortal. Patch by Victor Stinner.

View file

@ -1 +0,0 @@
Remove the private, undocumented macro :c:macro:`!_Py_NO_SANITIZE_UNDEFINED`.

View file

@ -1,3 +0,0 @@
New variants for the critical section API that accept one or two
:c:type:`PyMutex` pointers rather than :c:type:`PyObject` instances are now
public in the non-limited C API.

View file

@ -1 +0,0 @@
Fix compilation errors when compiling the internal headers with a C++ compiler.

View file

@ -1,2 +0,0 @@
Make :c:func:`PyObject_SetAttr` and :c:func:`PyObject_SetAttrString` fail if
called with ``NULL`` value and an exception set. Patch by Victor Stinner.

View file

@ -1,2 +0,0 @@
On Solaris, the :c:macro:`!Py_NAN` macro now expands to a :c:type:`!double`
instead of a function address. Patch by Bénédikt Tran.

View file

@ -1 +0,0 @@
Revert support of nullable arguments in :c:func:`PyArg_Parse`.

View file

@ -1 +0,0 @@
Rename ``lock.h`` to ``pylock.h`` to avoid potential include conflicts.

View file

@ -1,3 +0,0 @@
Add API for checking an extension module's ABI compatibility:
:c:data:`Py_mod_abi`, :c:func:`PyABIInfo_Check`, :c:macro:`PyABIInfo_VAR`
and :c:data:`Py_mod_abi`.

View file

@ -1,5 +0,0 @@
Functions :c:func:`_Py_c_sum`, :c:func:`_Py_c_diff`, :c:func:`_Py_c_neg`,
:c:func:`_Py_c_prod`, :c:func:`_Py_c_quot`, :c:func:`_Py_c_pow` and previously
undocumented :c:func:`_Py_c_abs` are :term:`soft deprecated`. Deprecate also
:c:member:`~PyComplexObject.cval` field of the :c:type:`PyComplexObject` type.
Patch by Sergey B Kirpichev.

View file

@ -1,2 +0,0 @@
Mark ``_PyOptimizer_Optimize`` as :c:macro:`Py_NO_INLINE` to
prevent stack overflow crashes on macOS.

View file

@ -1,2 +0,0 @@
Display and raise an exception if an extension compiled for
non-free-threaded Python is loaded in a free-threaded interpreter.

View file

@ -1,16 +0,0 @@
Implement :pep:`782`, the :c:type:`PyBytesWriter` API. Add functions:
* :c:func:`PyBytesWriter_Create`
* :c:func:`PyBytesWriter_Discard`
* :c:func:`PyBytesWriter_FinishWithPointer`
* :c:func:`PyBytesWriter_FinishWithSize`
* :c:func:`PyBytesWriter_Finish`
* :c:func:`PyBytesWriter_Format`
* :c:func:`PyBytesWriter_GetData`
* :c:func:`PyBytesWriter_GetSize`
* :c:func:`PyBytesWriter_GrowAndUpdatePointer`
* :c:func:`PyBytesWriter_Grow`
* :c:func:`PyBytesWriter_Resize`
* :c:func:`PyBytesWriter_WriteBytes`
Patch by Victor Stinner.

View file

@ -1 +0,0 @@
Remove deprecated :c:func:`!PySys_ResetWarnOptions` C-API function.

View file

@ -1,2 +0,0 @@
Deprecate :c:member:`PyConfig.bytes_warning` field and schedule its removal
in 3.17.

View file

@ -1,2 +0,0 @@
Add :c:func:`PyTuple_FromArray` to create a :class:`tuple` from an array.
Patch by Victor Stinner.

Some files were not shown because too many files have changed in this diff Show more