Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129819 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id A01641A00C1 for ; Wed, 21 Jan 2026 18:35:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1769020549; bh=CkXa8myjCCZXWeEpdBEIsOoGfVwHRUzlQD01EDuGN4E=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=eD2yLpd+/qBEY+UTLCXk2VwsyfRXh8nquy3Oy8oyA6CXdamMqCXknVAPEaenW6gd/ 95ee3WULfzxDfqRAXW6FKSKwNPZURqpZxziKOZJSCvXpHuEeUHsBAvYr0T1AWfl+H+ jHwji/cA8x2cSDvR1dcxBjjc/Co6JuaLBfzYBJP5lBoKBu/vZWw/eDszHz6/+ytr2n 2IADhc74wyDWAjpGbWyK432CJ1UDMzS7bI39AZdo1h61JkDEfY77yTupUb0JauRw79 3dt+SzLCIhpKLF6Zl65c4FKgx/tzt4ohgD8tEGqvIC56smKKBNjLEQoAk2Gi3ty9jw RYS8mxHfkiKMQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 14D7B1807D9 for ; Wed, 21 Jan 2026 18:35:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: * X-Spam-Status: No, score=1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_50, DMARC_NONE,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-lj1-f170.google.com (mail-lj1-f170.google.com [209.85.208.170]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 21 Jan 2026 18:35:45 +0000 (UTC) Received: by mail-lj1-f170.google.com with SMTP id 38308e7fff4ca-382fb275271so1703601fa.0 for ; Wed, 21 Jan 2026 10:35:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769020539; cv=none; d=google.com; s=arc-20240605; b=gfUPwn4fAIeZN/7YGumpvFzCbcdKqikJ6FWkanIUnF+XWg7wUKPcxpI5Z3RUoCeIfB o0hsd8t5NqsvItA+5l+o9PD2VDOJvol8dFCQG7FdBlngBzXkZ0abQ0Del7hoy4VoY9wa 8YrFrIsIsMU+jQlLeL2rdK1Y8Ba5MjNew82HxITz1teNOb0uYLtYDaY111o2DmxvBxGE wa+szd7oQymRSDQEnrPjnARaPWNyE71ygsw07j9A2xwCSG5ZKVLk7QB6vJKDR5hKjPuQ +LAaZM3DiLNijlnH33jvEr+VFbE8X/NnENGErkpEa/XG9oSUIS+gSkDYXKx3lr++AMmV 07iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=NC+O9QY5GKrzQPB1izuXvHQKVRebSNs6JvME+kxXCis=; fh=+kHlIL0wskoGokJK9uOS1+eswHumjG9dfmq0j5jXo3s=; b=i9eJ33xezL0+9xW9EDFA4Tzon2Y+vb/gITHTfxC7hGZflHLXTJW7PnGuclxiS61djm cSLrxVu7iONk6Ei0XCK0dDQhN4H/I52XX+mVbuh8hBlm4vTZO0SXalBMFrPSOr2slyEq X+QSk69wZJJDILywceBSaVRC8Wb/bD4LG4/gOzRgztC8nlSNNlyWIP75+Vy1XN9G6f5R dF9IvNad3jeNz6ZatlKEUDs6ecyqiJ0yoxpUITWrfz2h8XbsIEHog8D+iJmnD/1WcG1f j6p8uG9Lqr/itDOgogoWNr/MSNQ4fhdfgCt80eIKs6AwztofH/6AKcPCP5saWlfV2J5z oZoQ==; darn=lists.php.net ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769020539; x=1769625339; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NC+O9QY5GKrzQPB1izuXvHQKVRebSNs6JvME+kxXCis=; b=hQ6dG153U4G6rAw7pKEtacwhSCW58QOHHpiKd30Dgi+Qqh37Mg++OAIwXNXq8y5hvy vh4b3R63gABTUNfm0jUU+C0uyToGZVfURewcsMRAovEc4rfRngdh56FeFzhWjPvd3llt 3KkaptwDlEkSXph4yFw1233yI+gvhTx7DyQGpr1Z4XF87sTXjp/wTLLSsaiKFQq42KSV VgvP669RVfflqDWtySDxzQ1gh3kdEko5GznGgLDo/bYwgdoObp6hss/t5QhxqMkc308w etY34twei7i+Wfxqt6AbJt8cpJOC6MCH8O3RxCqKq1fnp6S6G1tUet9eyoh1Dek0JLCa r6hA== X-Gm-Message-State: AOJu0Ywhw+BRD5uPmPPpecwN53iQq5hr1FvW+2gJUiTS9AYzgnf436cK 11OB3Rs3L/cpFpRriovpUAHfGbbtlKnKk6u7+6GiBTi9ugQrMKECXR1giNm+PqZUwon/ugDzVaH jtISxznGfE7KapQktWrKMtwMSBsAfOZ8= X-Gm-Gg: AZuq6aIYOLpdudj5OB9p2NKJuQnjYhC9wvTLXnyoYbwHPjdYfqPWZ1Hh05MuaNYCwW4 BRyLWn9xptggPF/cgvwtDgfn3qzSnBvqdQzzWnyfneVXWOMleAZXPTKCxjmwbns1R//lFb+XVKR 3SqChYq3WaaYgjsI9v1g/Nfr4zTGHze/3hB8uQ89weJCfwYg2un/oMRx1oxCtkCT2u7JBML9qcy l3OdUEse49bJF+0oQMLQJB96lRUjOlNSF6//8eUPQFEC8CwygBsl7OQ4ylvvY7yDv/jyaI= X-Received: by 2002:a05:651c:502:b0:379:348:80da with SMTP id 38308e7fff4ca-383866a4fbamr54227101fa.8.1769020538678; Wed, 21 Jan 2026 10:35:38 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Wed, 21 Jan 2026 19:35:25 +0100 X-Gm-Features: AZwV_QiGvZAmX8AnYgVeH-hzy5annRjHYdaCsltk5zmx_zX7GnfmUixLSTqQLUI Message-ID: Subject: Re: [PHP-DEV] [RFC] True Async RFC 1.7 To: Edmond Dantes Cc: php internals Content-Type: multipart/alternative; boundary="000000000000cef1ee0648ea301e" From: bukka@php.net (Jakub Zelenka) --000000000000cef1ee0648ea301e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Thu, Dec 25, 2025 at 9:00=E2=80=AFAM Edmond Dantes = wrote: > Hello everyone! > > RFC https://wiki.php.net/rfc/true_async > > Here is the seventh version of the RFC, revised and expanded. > > ## Version 1.7 (December 2025) > > - **Fiber integration:** added `Fiber::getCoroutine()` method, > ownership model, deadlock resolution > - Added Coroutine methods: `getId()`, `getResult()`, `getException()`, > `getTrace()` > - Refined *Goals* section: improved clarity and technical accuracy of > core value propositions > - Function naming aligned with PHP coding standards: > `currentCoroutine()` =E2=86=92 `current_coroutine()`, > `gracefulShutdown()` =E2=86=92 `shutdown()`, > `getCoroutines()` =E2=86=92 `get_coroutines()` > - Method renaming: `Coroutine::onFinally()` =E2=86=92 `Coroutine::finally= ()` > (brevity) > - Interface renaming: `FutureLike` =E2=86=92 `Completable` > - Exception renaming: `CancellationError` =E2=86=92 `Cancellation` (clear= er > semantics) > - Moved `Cancellation` to the **root namespace** (`\Cancellation`) as > a fundamental PHP mechanism > - Changed `Cancellation` inheritance from `\Error` to `\Throwable`, > following Python=E2=80=99s `CancelledError` pattern > - Added backward compatibility notes for the new root namespace class > - Renamed `DeadlockException` to `DeadlockCancellation` > > I think it would be more reasonable to target 9.0. We were discussing it and it might potentially happen after 8.6 or in the worst case in the following release (after 8.7) if we have a big TODO list of things (another thing that we want there is conversion of streams from resources to objects). We could potentially manage it as some sort of release branch (that would need to be agreed) but I think it would be more reasonable for feature like this as it would give us time to properly stabilise it. Kind regards, Jakub --000000000000cef1ee0648ea301e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

On Thu, Dec 25, 2025 at 9:00= =E2=80=AFAM Edmond Dantes <edmond= .ht@gmail.com> wrote:
Hello everyone!

RFC https://wiki.php.net/rfc/true_async

Here is the seventh version of the RFC, revised and expanded.

## Version 1.7 (December 2025)

- **Fiber integration:** added `Fiber::getCoroutine()` method,
ownership model, deadlock resolution
- Added Coroutine methods: `getId()`, `getResult()`, `getException()`,
`getTrace()`
- Refined *Goals* section: improved clarity and technical accuracy of
core value propositions
- Function naming aligned with PHP coding standards:
=C2=A0 `currentCoroutine()` =E2=86=92 `current_coroutine()`,
=C2=A0 `gracefulShutdown()` =E2=86=92 `shutdown()`,
=C2=A0 `getCoroutines()` =E2=86=92 `get_coroutines()`
- Method renaming: `Coroutine::onFinally()` =E2=86=92 `Coroutine::finally()= ` (brevity)
- Interface renaming: `FutureLike` =E2=86=92 `Completable`
- Exception renaming: `CancellationError` =E2=86=92 `Cancellation` (clearer= semantics)
- Moved `Cancellation` to the **root namespace** (`\Cancellation`) as
a fundamental PHP mechanism
- Changed `Cancellation` inheritance from `\Error` to `\Throwable`,
following Python=E2=80=99s `CancelledError` pattern
- Added backward compatibility notes for the new root namespace class
- Renamed `DeadlockException` to `DeadlockCancellation`


I think it would be more reasonable to target 9.0. We = were discussing it and it might potentially happen after 8.6 or in the wors= t case in the following release (after 8.7) if we have a big TODO list of t= hings (another thing that we want there is conversion of streams from resou= rces to objects). We could potentially manage it as some sort of release br= anch (that would need to be agreed) but I think it would be more reasonable= for feature like this as it would give us time to properly stabilise it.

Kind regards,

Jakub
<= /div>
--000000000000cef1ee0648ea301e--