swoole 4.6.5

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

New APIs
---
* Add count method to WaitGroup (swoole/library#100) (@sy-records) (@deminy)

Enhancement
---
* Supported native curl multi (#4093) (#4099) (#4101) (#4105) (#4113) (#4121) (swoole/swoole-src@cd7f51c) (#4147) (@matyhtf) (@sy-records) (@huanghantao)
* Allow array HTTP/2 headers, Bug fixed for #4133 (#4140)

Fixed
---
* Fixed NetBSD build (#4080) (@devnexen)
* Fixed OpenBSD build. (#4108) (@devnexen)
* Fixed illumos/solaris build, member aliases only (#4109) (@devnexen)
* Fixed heartbeat detection of SSL connection does not take effect when handshake is not completed (#4114) (@matyhtf)
* Fixed httpclient proxy with host and port (#4124) (@Yurunsoft)
* Fixed Swoole\Coroutine\Http::request, correct array to the client setting (swoole/library#103) (@leocavalcante) (@deminy)

Kernel
---
* Supported asm context on BSD (#4082) (@devnexen)
* Used arc4random_buf to implement getrandom under FreeBSD (#4096) (@devnexen)
* Make context darwin arm64: removes workaround and uses the label (#4127) (@devnexen)

Test
---
* Added build job for alpine (#4104) (@limingxinleo)