Skip to content

Commit 41410e0

Browse files
author
Erlend E. Aasland
committed
Merge branch 'main' into sqlite-optimise-resets
2 parents 9684593 + b668cdf commit 41410e0

File tree

244 files changed

+35627
-34387
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

244 files changed

+35627
-34387
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ Objects/clinic/*.h linguist-generated=true
4747
PC/clinic/*.h linguist-generated=true
4848
Python/clinic/*.h linguist-generated=true
4949
Python/frozen_modules/*.h linguist-generated=true
50+
Python/frozen_modules/MANIFEST linguist-generated=true
5051
Include/internal/pycore_ast.h linguist-generated=true
5152
Python/Python-ast.c linguist-generated=true
5253
Include/opcode.h linguist-generated=true

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ jobs:
185185
strategy:
186186
fail-fast: false
187187
matrix:
188-
openssl_ver: [1.1.1l, 3.0.0-beta1]
188+
openssl_ver: [1.1.1l, 3.0.0]
189189
env:
190190
OPENSSL_VER: ${{ matrix.openssl_ver }}
191191
MULTISSL_DIR: ${{ github.workspace }}/multissl

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,13 @@ Tools/msi/obj
121121
Tools/ssl/amd64
122122
Tools/ssl/win32
123123

124+
# TODO: Once we auto-regen frozem modules for Windows builds
125+
# we can drop the .h files from the repo and ignore them here.
126+
# At that point we will rely the frozen manifest file to identify
127+
# changed generated files. We'll drop the entry for it then.
128+
# See: Tools/scripts/freeze_modules.py.
129+
#Python/frozen_modules/*.h
130+
124131
# Two-trick pony for OSX and other case insensitive file systems:
125132
# Ignore ./python binary on Unix but still look into ./Python/ directory.
126133
/python

Doc/c-api/iter.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ There are two functions specifically for working with iterators.
1212
Return non-zero if the object *o* supports the iterator protocol, and ``0``
1313
otherwise. This function always succeeds.
1414
15-
.. c:function:: int PyAiter_Check(PyObject *o)
15+
.. c:function:: int PyAIter_Check(PyObject *o)
1616
1717
Returns non-zero if the object 'obj' provides :class:`AsyncIterator`
1818
protocols, and ``0`` otherwise. This function always succeeds.

Doc/c-api/object.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ Object Protocol
358358
iterated.
359359
360360
361-
.. c:function:: PyObject* PyObject_GetAiter(PyObject *o)
361+
.. c:function:: PyObject* PyObject_GetAIter(PyObject *o)
362362
363363
This is the equivalent to the Python expression ``aiter(o)``. Takes an
364364
:class:`AsyncIterable` object and returns an :class:`AsyncIterator` for it.

Doc/c-api/structures.rst

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,10 @@ the definition of all other Python objects.
9999
100100
Return a :term:`borrowed reference`.
101101
102-
The :c:func:`Py_SET_TYPE` function must be used to set an object type.
102+
Use the :c:func:`Py_SET_TYPE` function to set an object type.
103+
104+
.. versionchanged:: 3.11
105+
:c:func:`Py_TYPE()` is changed to an inline static function.
103106
104107
105108
.. c:function:: int Py_IS_TYPE(PyObject *o, PyTypeObject *type)
@@ -121,9 +124,10 @@ the definition of all other Python objects.
121124
122125
Get the reference count of the Python object *o*.
123126
127+
Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count.
128+
124129
.. versionchanged:: 3.10
125130
:c:func:`Py_REFCNT()` is changed to the inline static function.
126-
Use :c:func:`Py_SET_REFCNT()` to set an object reference count.
127131
128132
129133
.. c:function:: void Py_SET_REFCNT(PyObject *o, Py_ssize_t refcnt)
@@ -137,7 +141,10 @@ the definition of all other Python objects.
137141
138142
Get the size of the Python object *o*.
139143
140-
The :c:func:`Py_SET_SIZE` function must be used to set an object size.
144+
Use the :c:func:`Py_SET_SIZE` function to set an object size.
145+
146+
.. versionchanged:: 3.11
147+
:c:func:`Py_SIZE()` is changed to an inline static function.
141148
142149
143150
.. c:function:: void Py_SET_SIZE(PyVarObject *o, Py_ssize_t size)

Doc/data/refcounts.dat

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1073,8 +1073,8 @@ PyInterpreterState_New:PyInterpreterState*:::
10731073
PyIter_Check:int:::
10741074
PyIter_Check:PyObject*:o:0:
10751075

1076-
PyAiter_Check:int:::
1077-
PyAiter_Check:PyObject*:o:0:
1076+
PyAIter_Check:int:::
1077+
PyAIter_Check:PyObject*:o:0:
10781078

10791079
PyIter_Next:PyObject*::+1:
10801080
PyIter_Next:PyObject*:o:0:
@@ -1700,8 +1700,8 @@ PyObject_GetItem:PyObject*:key:0:
17001700
PyObject_GetIter:PyObject*::+1:
17011701
PyObject_GetIter:PyObject*:o:0:
17021702

1703-
PyObject_GetAiter:PyObject*::+1:
1704-
PyObject_GetAiter:PyObject*:o:0:
1703+
PyObject_GetAIter:PyObject*::+1:
1704+
PyObject_GetAIter:PyObject*:o:0:
17051705

17061706
PyObject_HasAttr:int:::
17071707
PyObject_HasAttr:PyObject*:o:0:

Doc/data/stable_abi.dat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
role,name,added,ifdef_note
2-
function,PyAiter_Check,3.10,
2+
function,PyAIter_Check,3.10,
33
function,PyArg_Parse,3.2,
44
function,PyArg_ParseTuple,3.2,
55
function,PyArg_ParseTupleAndKeywords,3.2,
@@ -491,7 +491,7 @@ function,PyObject_GenericGetAttr,3.2,
491491
function,PyObject_GenericGetDict,3.10,
492492
function,PyObject_GenericSetAttr,3.2,
493493
function,PyObject_GenericSetDict,3.7,
494-
function,PyObject_GetAiter,3.10,
494+
function,PyObject_GetAIter,3.10,
495495
function,PyObject_GetAttr,3.2,
496496
function,PyObject_GetAttrString,3.2,
497497
function,PyObject_GetItem,3.2,

Doc/distutils/apiref.rst

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1852,22 +1852,6 @@ Subclasses of :class:`Command` must define the following methods.
18521852
.. % todo
18531853
18541854
1855-
:mod:`distutils.command.bdist_msi` --- Build a Microsoft Installer binary package
1856-
=================================================================================
1857-
1858-
.. module:: distutils.command.bdist_msi
1859-
:synopsis: Build a binary distribution as a Windows MSI file
1860-
1861-
.. class:: bdist_msi
1862-
1863-
.. deprecated:: 3.9
1864-
Use bdist_wheel (wheel packages) instead.
1865-
1866-
Builds a `Windows Installer`_ (.msi) binary package.
1867-
1868-
.. _Windows Installer: https://msdn.microsoft.com/en-us/library/cc185688(VS.85).aspx
1869-
1870-
18711855
:mod:`distutils.command.bdist_rpm` --- Build a binary distribution as a Redhat RPM and SRPM
18721856
===========================================================================================
18731857

Doc/distutils/builtdist.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,6 @@ generated by each, are:
138138
+--------------------------+-------------------------------------+
139139
| :command:`bdist_rpm` | rpm, srpm |
140140
+--------------------------+-------------------------------------+
141-
| :command:`bdist_msi` | msi |
142-
+--------------------------+-------------------------------------+
143-
144-
.. note::
145-
bdist_msi is deprecated since Python 3.9.
146141

147142
The following sections give details on the individual :command:`bdist_\*`
148143
commands.

Doc/library/asyncio-eventloop.rst

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -493,24 +493,9 @@ Opening network connections
493493
.. coroutinemethod:: loop.create_datagram_endpoint(protocol_factory, \
494494
local_addr=None, remote_addr=None, *, \
495495
family=0, proto=0, flags=0, \
496-
reuse_address=None, reuse_port=None, \
496+
reuse_port=None, \
497497
allow_broadcast=None, sock=None)
498498
499-
.. note::
500-
The parameter *reuse_address* is no longer supported, as using
501-
:py:data:`~sockets.SO_REUSEADDR` poses a significant security concern for
502-
UDP. Explicitly passing ``reuse_address=True`` will raise an exception.
503-
504-
When multiple processes with differing UIDs assign sockets to an
505-
identical UDP socket address with ``SO_REUSEADDR``, incoming packets can
506-
become randomly distributed among the sockets.
507-
508-
For supported platforms, *reuse_port* can be used as a replacement for
509-
similar functionality. With *reuse_port*,
510-
:py:data:`~sockets.SO_REUSEPORT` is used instead, which specifically
511-
prevents processes with differing UIDs from assigning sockets to the same
512-
socket address.
513-
514499
Create a datagram connection.
515500

516501
The socket family can be either :py:data:`~socket.AF_INET`,
@@ -557,16 +542,31 @@ Opening network connections
557542
:ref:`UDP echo server protocol <asyncio-udp-echo-server-protocol>` examples.
558543

559544
.. versionchanged:: 3.4.4
560-
The *family*, *proto*, *flags*, *reuse_address*, *reuse_port,
545+
The *family*, *proto*, *flags*, *reuse_address*, *reuse_port*,
561546
*allow_broadcast*, and *sock* parameters were added.
562547

563548
.. versionchanged:: 3.8.1
564-
The *reuse_address* parameter is no longer supported due to security
565-
concerns.
549+
The *reuse_address* parameter is no longer supported, as using
550+
:py:data:`~sockets.SO_REUSEADDR` poses a significant security concern for
551+
UDP. Explicitly passing ``reuse_address=True`` will raise an exception.
552+
553+
When multiple processes with differing UIDs assign sockets to an
554+
identical UDP socket address with ``SO_REUSEADDR``, incoming packets can
555+
become randomly distributed among the sockets.
556+
557+
For supported platforms, *reuse_port* can be used as a replacement for
558+
similar functionality. With *reuse_port*,
559+
:py:data:`~sockets.SO_REUSEPORT` is used instead, which specifically
560+
prevents processes with differing UIDs from assigning sockets to the same
561+
socket address.
566562

567563
.. versionchanged:: 3.8
568564
Added support for Windows.
569565

566+
.. versionchanged:: 3.11
567+
The *reuse_address* parameter, disabled since Python 3.9.0, 3.8.1,
568+
3.7.6 and 3.6.10, has been entirely removed.
569+
570570
.. coroutinemethod:: loop.create_unix_connection(protocol_factory, \
571571
path=None, *, ssl=None, sock=None, \
572572
server_hostname=None, ssl_handshake_timeout=None)

0 commit comments

Comments
 (0)