New APIs
- Added Process\Pool::detach() (#4221) (@matyhtf)
- Added onDisconnect callback for Swoole\Server (#4230) (@matyhtf)
- Added Coroutine::cancel() (#4247) (#4249) (@matyhtf)
- Added http_compression/body_decompression options for Http Client (#4299) (@matyhtf)
Enhancement
- Supported mysql client prepare field type identification (#4238) (@Yurunsoft)
- Supported c-ares, Refactor DNS (#4275) (@matyhtf)
- Supported setting different idle time for each port (#4290) (@matyhtf)
- Supported SW_DISPATCH_CO_CONN_LB and SW_DISPATCH_CO_REQ_LB for Swoole\Server dispatch_mode (#4318) (@matyhtf)
- Supported timeout for Swoole\ConnectionPool::get (swoole/library#108) (@leocavalcante)
- Supported CURLOPT_PRIVATE for Hook Curl (swoole/library#112) (@sy-records)
- Optimized PDOStatementProxy::setFetchMode function prototype (swoole/library#109) (@yespire)
Fixed
- Fixed uncaught thread creation exception when creating a large number of coroutines (8ce5041) (@matyhtf)
- Fixed the "make install" missing php_swoole.h header file (#4239) (@sy-records)
- Fixed EVENT_HANDSHAKE BC (#4248) (@sy-records)
- Fixed SW_LOCK_CHECK_RETURN (#4302) (@zmyWL)
- Fixed problems with Swoole\Atomic\Long M1 chip (e6fae2e) (@matyhtf)
- Fixed missing return value of Coroutine\go (swoole/library@1ed49db) (@matyhtf)
- Fixed StringObject consistency between other methods and its immutability (swoole/library#111) (@leocavalcante)
- Fixed StringObject substr error (swoole/library#113) (@sy-records)
Kernel
Test
- Added Cygwin build (#4222) (@sy-records)
- Added alpine 3.13 and 3.14 into building test (#4309) (@limingxinleo)