swoole 4.5.8

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

License: Apache2.0

Changes

New APIs
---
+ Added swoole_error_log function (swoole/swoole-src@67d2bff) (@matyhtf)
+ Supported SSL for readVector and writeVector (#3857) (@huanghantao)

Enhancement
---
+ Did not wait when the child process does not exist (#3832) (@matyhtf)
+ Supported DTLS 16k record (#3849) (@matyhtf)
+ Supported priority for cookie (#3854) (@matyhtf)
+ Supported more CURL options (swoole/library#71) (@sy-records)
+ Handled CURL header names in case insensitive manner (swoole/library#76) (@filakhtov) (@twose) (@sy-records)

Fixed
---
* Fixed readv_all and writev_all when trigger EAGAIN errno (#3830) (@huanghantao)
* Fixed warning for PHP8 (swoole/swoole-src@03f3fb0) (@matyhtf)
* Fixed binary security of swoole table keys (#3842) (@twose)
* Fixed System::writeFile append file issue when using FILE_APPEND (swoole/swoole-src@a71956d) (@matyhtf)
* Fixed CURLOPT_WRITEFUNCTION (swoole/library#74) (@sy-records)
* Fixed memory overread when parse form-data boundary (#3858) (@twose)
* Fixed is_callable() can not access internal private callable on PHP8 (#3859) (@twose)

Kernel
---
* Refactored memory allocation function, replace macro with SwooleG.std_allocator (#3853) (@matyhtf)
* Refactored pipe (#3841) (@matyhtf)