v4.8.0
Backward compatibility Break
- In base mode, the onStart callback is always called back when the first worker process (worker ID is 0) starts, before onWorkerStart callback. The coroutine API can always be used in the onStart callback, and onStart is called back again when worker-0 restarts with a fatal error (#4389) (@matyhtf)
- In versions prior to 4.8.0, onStart is called back in worker-0 when there is only one worker process, and called back in the Manager process when there are multiple worker processes.
New APIs
- Added Co::getStackUsage() (#4398) (@matyhtf) (@twose)
- Added Coroutine\Redis some api (#4390) (@chrysanthemum)
- Added Table::stats() (#4405) (@matyhtf)
- Added Coroutine::join() (#4406) (@matyhtf)
New feature
- Supported server command (#4389) (@matyhtf)
- Supported Server::onBeforeShutdown callback (#4415) (@matyhtf)
Enhancement
- Set error code when websocket pack fails (d27c5a5) (@matyhtf)
- Added Timer::exec_count field (#4402) (@matyhtf)
- Supported for hooked mkdir using open_basedir ini config (#4407) (@NathanFreeman)
- Added vendor_init.php (swoole/library@6c40b02) (@matyhtf)
- Supported CURLOPT_UNIX_SOCKET_PATH for SWOOLE_HOOK_CURL (swoole/library#121) (@sy-records)
- Supported ssl_ciphers config for client (#4432) (@amuluowin)
- Added some new information for Server::stats() (#4410) (#4412) (@matyhtf)
Fixed
- Fixed unnecessary URL decode of file names when uploading files (a73780e) (@matyhtf)
- Fixed HTTP2 max_frame_size error (#4394) (@twose)
- Fixed curl_multi_select bug #4393 (#4418) (@matyhtf)
- Fixed missing coroutine options (#4425) (@sy-records)
- Fixed connection cannot be forcibly closed when the send buffer is full (2198378) (@matyhtf)