Hi, On Thu, Dec 25, 2025 at 9:00 AM Edmond Dantes <[email protected]> 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()` → `current_coroutine()`, > `gracefulShutdown()` → `shutdown()`, > `getCoroutines()` → `get_coroutines()` > - Method renaming: `Coroutine::onFinally()` → `Coroutine::finally()` > (brevity) > - Interface renaming: `FutureLike` → `Completable` > - Exception renaming: `CancellationError` → `Cancellation` (clearer > semantics) > - Moved `Cancellation` to the **root namespace** (`\Cancellation`) as > a fundamental PHP mechanism > - Changed `Cancellation` inheritance from `\Error` to `\Throwable`, > following Python’s `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
