[ANNOUNCEMENT] swoole-4.5.0 (stable) Released.
| From: | PECL Announce | Date: | Sun, 26 Apr 2020 06:20:17 +0000 |
| Subject: | [ANNOUNCEMENT] swoole-4.5.0 (stable) Released. | ||
| Groups: | php.pecl.dev | ||
| Request: | Send a blank email to pecl-dev+get-16715@lists.php.net to get a copy of this message | ||
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 <shenzhe163@gmail.com> (developer)
Han Tianfeng <mikan.tenny@gmail.com> (lead)
QiHao ChenCao <twose@qq.com> (developer)