TrueAsync Core
Language extension: coroutines, async I/O, structured concurrency, threads.
v0.1 — Foundation
- Coroutines & Scheduler
- Event loop (libuv)
- spawn() / delay() / timeout()
v0.6 — Complete Async API
- TaskGroup & TaskSet
- Channels (buffered/unbuffered)
- Future / FutureState
- Pool with CircuitBreaker
- Async File & Pipe I/O
- TCP / UDP sockets
- PDO connection pooling
- FileSystemWatcher
- CURL async
- Deadlock diagnostics
v0.7 — Threads & Stabilization
- spawn_thread() — cross-platform OS threads
- Thread lifecycle (request startup/shutdown, TSRM)
- Closure deep copy (op_array transfer via pemalloc)
- Zval transfer between threads (scalars, strings, arrays)
- RemoteException / ThreadTransferException
- Bailout recovery (fatal errors in child threads)
- Object transfer (declared properties)
- Captured variables (use) in closures
- ThreadPool with worker reuse
- ThreadPool: bootloader + coroutine-mode + auto workers
- ThreadChannel (cross-thread data exchange)
- Thread cancellation (ThreadPool::cancel in coroutine-mode)
- Future-style exception semantics for await(coroutine) (#139)
- Test suite & stabilization
v0.8 — Framework Adapters
- Framework integration layer
- Laravel / Symfony adapters
- Migration guides
v1.0-RC — Release Candidate
RC- Feature freeze
- Community testing
- Performance benchmarks
v1.0 — Stable Release
Target: PHP 8.6- Stable API
- Production ready
- PHP RFC submission
TrueAsync Server
Native HTTP/1.1/2/3 server inside the PHP process.
v0.6 — Native HTTP/1.1/2/3
- HTTP/1.1 (llhttp 9.3.0, keep-alive, pipelining)
- HTTP/2 (nghttp2, multiplexing, server push, rapid-reset mitigation)
- HTTP/3 / QUIC (ngtcp2 + nghttp3, OpenSSL 3.5 QUIC API)
- TLS 1.2 / 1.3 (OpenSSL 3.x, ALPN, hardened defaults)
- Multi-protocol on a single port (ALPN / Upgrade)
- Compression: gzip / brotli / zstd (H1/H2/H3)
- Streaming request body (readBody)
- Streaming response (send / sendable / trailers)
- StaticHandler + precompressed sidecars + sendFile
- CoDel backpressure + graceful drain
- Multi-worker pool (setWorkers + bootloader + SO_REUSEPORT)
- Per-request scope + request_context()
- Bailout firewall (fatal does not crash server)
- W3C Trace Context
vNext — Protocols on the same listener
- WebSocket (RFC 6455)
- Server-Sent Events
- gRPC (over HTTP/2)
- Cross-thread stop()