swoole 4.5.2

Event-driven asynchronous and concurrent networking engine with high performance for PHP.


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 read/write file system
- coroutine dns lookup
- support IPv4/IPv6/UnixSocket/TCP/UDP
- support SSL/TLS encrypted transmission

License: Apache2.0

Changes

Enhancement
---
+ Support `Server->set(['log_rotation' => SWOOLE_LOG_ROTATION_DAILY])` to generate log file by date (#3311) (@matyhtf)
+ Support `swoole_async_set(['wait_signal' => true])`, reactor will not exit if there is signal listener (#3314) (@matyhtf)
+ Support `Server->sendfile` to send empty file (#3318) (@twose)
+ Improve worker idle warning (#3328) (@huanghantao)
+ Improve configuration parser about Host (for HTTPS proxy) (#3343) (@twose)
+ SSL use ecdh auto (#3316) (@matyhtf)
+ SSL quiet shutdown when client close (#3342) (@huanghantao)

Fixed
---
* Fixed `Server->taskWait` on OSX (#3330) (@matyhtf)
* Fixed MQTT protocol bug (8dbf506b) (@guoxinhua) (2ae8eb32) (@twose)
* Fixed Content-Length int overflow (#3346) (@twose)
* Fixed packet length checker of PRI (#3348) (@twose)
* Fixed CURLOPT_POSTFIELDS (swoole/library@ed192f64) (@twose)
* Fixed the latest connection can not be released before accept new one (swoole/library@1ef79339) (@twose)

Kernel
---
* Socket zero copy feature (#3327) (@twose)
* Use swoole_get_last_error/swoole_set_last_error to replace global vars (e25f262a) (@matyhtf) (#3315) (@huanghantao)