]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-128307: Update what's new in 3.13 with create_task changes of asyncio ...
authorGuido van Rossum <guido@python.org>
Tue, 20 May 2025 14:30:18 +0000 (10:30 -0400)
committerGitHub <noreply@github.com>
Tue, 20 May 2025 14:30:18 +0000 (07:30 -0700)
(It's complicated.)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Doc/whatsnew/3.13.rst

index 3c991d8f09529ef014b9b0533421875762fe728f..aae9ef1cce1b0d95e959b4d3f8efabcfe014d9cb 100644 (file)
@@ -739,6 +739,22 @@ asyncio
   never awaited).
   (Contributed by Arthur Tacca and Jason Zhang in :gh:`115957`.)
 
+* The function and methods named ``create_task`` have received a new
+  ``**kwargs`` argument that is passed through to the task constructor.
+  This change was accidentally added in 3.13.3,
+  and broke the API contract for custom task factories.
+  Several third-party task factories implemented workarounds for this.
+  In 3.13.4 and later releases the old factory contract is honored
+  once again (until 3.14).
+  To keep the workarounds working, the extra ``**kwargs`` argument still
+  allows passing additional keyword arguments to :class:`~asyncio.Task`
+  and to custom task factories.
+
+  This affects the following function and methods:
+  :meth:`asyncio.create_task`,
+  :meth:`asyncio.loop.create_task`,
+  :meth:`asyncio.TaskGroup.create_task`.
+  (Contributed by Thomas Grainger in :gh:`128307`.)
 
 base64
 ------