Skip to content

Commit eca8ff1

Browse files
[3.13] gh-128307: Update what's new in 3.13 with create_task changes of asyncio (#134304) (#134335)
(It's complicated.) Co-authored-by: Adam Turner <[email protected]>
1 parent 6279eb8 commit eca8ff1

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

Doc/whatsnew/3.13.rst

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -739,6 +739,22 @@ asyncio
739739
never awaited).
740740
(Contributed by Arthur Tacca and Jason Zhang in :gh:`115957`.)
741741

742+
* The function and methods named ``create_task`` have received a new
743+
``**kwargs`` argument that is passed through to the task constructor.
744+
This change was accidentally added in 3.13.3,
745+
and broke the API contract for custom task factories.
746+
Several third-party task factories implemented workarounds for this.
747+
In 3.13.4 and later releases the old factory contract is honored
748+
once again (until 3.14).
749+
To keep the workarounds working, the extra ``**kwargs`` argument still
750+
allows passing additional keyword arguments to :class:`~asyncio.Task`
751+
and to custom task factories.
752+
753+
This affects the following function and methods:
754+
:meth:`asyncio.create_task`,
755+
:meth:`asyncio.loop.create_task`,
756+
:meth:`asyncio.TaskGroup.create_task`.
757+
(Contributed by Thomas Grainger in :gh:`128307`.)
742758

743759
base64
744760
------

0 commit comments

Comments
 (0)