Swoole v4.6.5 is released with multiple enhancements and bug fixes.
Before v4.6.5, curl_multi
is not supported within the coroutine context. Start from v4.6.5, CURL native is fully supported within coroutine context.
You can execute multiple CURL clients concurrently with fibers within one process.
This is a major improvement, the libraries such as Guzzle HTTP client fully comply with Swoole coroutines. You can use Guzzle
with Swoole coroutines without any change. All the downstream libraries such as AWS SDK for PHP and Laravel HTTP Client which are relying on Guzzle
are also compliant with Swoole coroutines.
Added method Swoole\Coroutine\WaitGroup->count()
.
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) (@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)
You can upgrade to Swoole v4.6.5 now:
pecl install openswoole
Join 4,000+ others and never miss out on new tips, tutorials, and more.