The new PECL package swoole-4.5.0 (stable) has been released at https://pecl.php.net/.
Release notes ------------- New APIs --- + DTLS supports, we can build WebRTC applications now (#3188) (@matyhtf) + Built-in `FastCGI` client, we can proxy HTTP request to FPM with one line of code now (swoole/library#17) (@twose) + `Co::wait`, `Co::waitPid`, `Co::waitSignal` (#3158) (@twose) + `Co::waitEvent` (#3197) (@twose) + `Co::set(['exit_condition' => $callable])` to exit condition of reactor (#2918) (#3012) (@twose) + `Co::getElapsed` to get the coroutine elapsed time (#3162) (@doubaokun) + `Socket::checkLiveness`, `Socket::peek` (#3057) (@twose) + `Socket->setProtocol(['open_fastcgi_protocol' => $bool])` (#3103) (@twose) + `Server::get(Master|Manager|Worker)Pid`, `Server::getWorkerId` (#2793) (#3019) (@matyhtf) + `Server::getWorkerStatus` (SWOOLE_WORKER_BUSY, SWOOLE_WORKER_IDLE) (#3225) (@matyhtf) + `Server->on('beforeReload', $callable)` and `Server->on('afterReload', $callable)` (Server reload event on manager process) (#3130) (@huanghantao) + `Http\Server` support `http_index_files` and `http_autoindex` with static handler (#3171) (@huanghantao) + `Http2\Client->read(float $timeout = -1)`, support Coroutine\HTTP2\Client read more than once (#3011) (#3117) (@twose) + `Http\Request->getContent` (alias of rawContent) (#3128) (@huanghantao) + `swoole_mime_type_(add|set|delete|get|exists)` (mime APIs) (#3134) (@twose) Enhancement --- + Optimize memory-copy between master and worker (4x faster) (#3075) (#3087) (@huanghantao) + Optimize websocket dispatch (1x faster) (#3076) (@matyhtf) + Optimize memory-copy in websocket_construct_frame (1x faster) (#3097) (@matyhtf) + Optimize SSL validation (#3226) (@matyhtf) + Separate SSL accept and SSL handshake (#3214) (@twose) + Support MIPS (#3196) (@ekongyun) + Resolve the domain name when use udp coroutine client (#3236) (#3239) (@huanghantao) + Support some common options for Coroutine\Http\Server (#3257) (@twose) + Support set cookies when websocket handshake (#3270) (#3272) (@twose) + Support CURLOPT_FAILONERROR (swoole/library#20) (@sy-records) + Support CURLOPT_FAILONERROR (swoole/library#20) (@sy-records) + Support CURLOPT_SSLCERTTYPE, CURLOPT_SSLCERT, CURLOPT_SSLKEYTYPE, CURLOPT_SSLKEY (swoole/library#22) (@sy-records) + Support CURLOPT_HTTPGET (swoole/library@d730bd08) (@shiguangqi) Remove --- - Remove `Runtime::enableStrictMode` method (b45838e3) (@twose) - Remove `Buffer` class (559a49a8) (@twose) Kernel --- * New C++ API: `coroutine::async` with lambda (#3127) (@matyhtf) * Refactor event API and reactor fd to swSocket (#3030) (@matyhtf) * Convert all source files to C++ (#3030) (71f987f3) (@matyhtf) * Code optimizations (#3063) (#3067) (#3115) (#3135) (#3138) (#3139) (#3151) (#3168) (@huanghantao) * Code optimization for header files (#3051) (@matyhtf) * Refactor `enable_reuse_port` option (#3192) (@matyhtf) * Reactor Socket API (#3193) (@matyhtf) * Reduce one system call (3b5aa85d) (@matyhtf) * Remove swServerGS::now (#3152) (@huanghantao) * Improve protocol setter (#3108) (@twose) * Use the Better way to init C object on stack (#3069) (@twose) * Use type `uchar` for bit field (#3071) (@twose) * Support parallel test (#3215) (@twose) Fixed --- * Fixed `enable_delay_receive` (#3221) (#3224) (@matyhtf) * All other bug fix patches have already been merged into the v4.4.x branch, we will not reiterate them here Package Info ------------- Event-driven asynchronous and concurrent networking engine with high performance for PHP. - event-driven - coroutine - asynchronous non-blocking - multi-thread reactor - multi-process worker - multi-protocol - millisecond timer - built-in tcp/http/websocket/http2 server - coroutine tcp/http/websocket client - coroutine mysql client - coroutine redis client - coroutine read/write file system - coroutine dns lookup - support IPv4/IPv6/UnixSocket/TCP/UDP - support SSL/TLS encrypted transmission Related Links ------------- Package home: https://pecl.php.net/package/swoole Changelog: https://pecl.php.net/package-changelog.php?package=swoole Download: https://pecl.php.net/get/swoole-4.5.0.tgz Authors ------------- shen zhe <shenzhe...@gmail.com> (developer) Han Tianfeng <mikan.te...@gmail.com> (lead) QiHao ChenCao <tw...@qq.com> (developer) -- PECL development discussion Mailing List (http://pecl.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php