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

Reply via email to