https://github.com/python/cpython/commit/b9a7e79ee1fdbcfdf6b086fc5323063bb4eaad92
commit: b9a7e79ee1fdbcfdf6b086fc5323063bb4eaad92
branch: 3.14
author: Miss Islington (bot) <31488909+miss-isling...@users.noreply.github.com>
committer: gvanrossum <gvanros...@gmail.com>
date: 2025-05-20T14:15:18Z
summary:

[3.14] gh-128307: Update what's new in 3.13 and 3.14 with create_task changes 
of asyncio  (GH-134304) (#134319)

gh-128307: Update what's new in 3.13 and 3.14 with create_task changes of 
asyncio  (GH-134304)
(cherry picked from commit 28625d4f956f8d30671aba1daaac9735932983db)

Co-authored-by: Guido van Rossum <gu...@python.org>
Co-authored-by: Adam Turner <9087854+aa-tur...@users.noreply.github.com>

files:
M Doc/whatsnew/3.13.rst
M Doc/whatsnew/3.14.rst

diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst
index e20e49325c01d5..52bafeb4df7d41 100644
--- a/Doc/whatsnew/3.13.rst
+++ b/Doc/whatsnew/3.13.rst
@@ -730,6 +730,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
 ------
diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst
index 8f39b99e38e3a5..b192615e173f11 100644
--- a/Doc/whatsnew/3.14.rst
+++ b/Doc/whatsnew/3.14.rst
@@ -1064,6 +1064,24 @@ ast
   (Contributed by Semyon Moroz in :gh:`133367`.)
 
 
+asyncio
+-------
+
+* The function and methods named :func:`!create_task` now take an arbitrary
+  list of keyword arguments. All keyword arguments are passed to the
+  :class:`~asyncio.Task` constructor or the custom task factory.
+  (See :meth:`~asyncio.loop.set_task_factory` for details.)
+  The ``name`` and ``context`` keyword arguments are no longer special;
+  the name should now be set using the ``name`` keyword argument of the 
factory,
+  and ``context`` may be ``None``.
+
+  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`.)
+
+
 bdb
 ---
 

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: arch...@mail-archive.com

Reply via email to