Hi

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

Here’s the fifth version of the RFC with the updates made after the
1.4 discussion.

Starting from 2025-11-03, there will be a two-week discussion period.

**Changelog:**

* Added FutureLike interface methods: cancel(), isCompleted(), isCancelled()
* Renamed Coroutine::isFinished() to Coroutine::isCompleted()
* Clarified exit/die behavior: always triggers Graceful Shutdown mode
regardless of where called
* Added rationale for “Cancellable by design” policy: explains why
default cancellability reduces code complexity for read-heavy PHP
workloads
* RFC structure improvements: reorganized Cancellation section with
proper subsections hierarchy
* Moved “Coroutine lifetime” as subsection under Coroutine section
* Extended glossary with Awaitable, Suspension, Graceful Shutdown, and
Deadlock terms
* Introduced FutureLike interface with single-assignment semantics and
changed await() signature to accept FutureLike instead of Awaitable
for type safety
* Split RFC: Moved Scope and structured concurrency functionality to
separate Scope RFC. Base RFC now focuses on core async primitives
(coroutines, await, cancellation)

I decided not to wait until Monday and made the changes today. If
anyone has read version 1.4 and has comments on it, they’re still
relevant.

The Scope API has been moved to a separate RFC:
https://wiki.php.net/rfc/true_async_scope

----
Best Regards, Ed

Reply via email to