Swoole v4.5.3.RC1 Release Notes
Release Date: 2020-08-24 // over 3 years ago-
๐ New APIs
- โ Added
Swoole\Process\ProcessManager
(swoole/library#88f147b) (@huanghantao) - โ Added ArrayObject::append, StringObject::equals (swoole/library#f28556f) (@matyhtf)
- โ Added Coroutine::parallel (swoole/library#6aa89a9) (@matyhtf)
- โ Added Coroutine\Barrier (swoole/library#2988b2a) (@matyhtf)
โจ Enhancement
- โ Added usePipelineRead to support streaming call in http2 client (#3354) (@twose)
- Do not create file before recv body when download (#3381) (@twose)
- โ Added
bind_address
andbind_port
setting for coroutine http client (#3390) (@huanghantao) - โ Added
lowercase_header
option for HttpClient (#3399) (@matyhtf) - ๐ Added
tcp_user_timeout
option forSwoole\Server
(#3404) (@huanghantao) - โ Added
Coroutine\Socket
event barrier (#3409) (@matyhtf) - โ Added specify swString memory allocator (#3418) (@matyhtf)
- ๐ Support cURL
__toString
(swoole/library#38) (@twose) - โ Added
lowercase_header
to fix cURL header name (swoole/library#e7c2a82) (@twose) - Set wait count directly in WaitGroup constructor (swoole/library#2fb228b8) (@matyhtf)
- Added
CURLOPT_REDIR_PROTOCOLS
(swoole/library#46) (@sy-records) - โ Added HTTP 1.1 support trailer (#3485) (@huanghantao)
- ๐ Support yield when sleep time less 1ms (#3487) (@Yurunsoft)
- ๐ Support get soft link file in static handler (#3569) (@LeiZhang-Hunter)
- Close websocket connection immediately after server call close method (#3570) (@matyhtf)
- Support hook stream_set_blocking (#3585) (@Yurunsoft)
- ๐ Support HTTP2 flow control in async HTTP2 Server (#3486) (@huanghantao) (@matyhtf)
- ๐ Support free socket buffer after onPackage is called (#3551) (@huanghantao) (@matyhtf)
๐ Fixed
- ๐ Fixed Websocket coredump (#3359) (@twose)
- Fixed swSignalfd_setup and fix possible nullptr error in wait_signal (#3360) (@twose)
- ๐ Fixed
Swoole\Server::close
throw a error when set dispatch_func (#3365) (@twose) - ๐ Fixed format_buffer init problem when use
Swoole\Redis\Server::format
(#3369) (@matyhtf) (@twose) - ๐ Fixed get mac address in OSX (#3372) (@twose)
- ๐ Fixed mysql test case (#3374) (@qiqizjl)
- ๐ Fixed PHP8 compatibility (#3384) (#3458) (#3578) (@twose)
- Fixed missing php_error_docref, timeout_event and return value in hook socket write and read (#3383) (@twose)
- ๐ Fixed the server could not be stopped during the
WorkerStart
phase (#3382) (@huanghantao) - ๐ Fixed coredump because of heart thread operate conn->socket (#3396) (@huanghantao)
- ๐ Fixed send yield logic bug (#3397) (@twose) (@matyhtf)
- ๐ Fixed compile problem in Cygwin64 (#3400) (@twose)
- ๐ Fixed websocket finish property invalid (#3410) (@matyhtf)
- ๐ Fixed build error when lose sys/random.h (#3427) (@huanghantao)
- ๐ Fixed missing MySQL transaction error, update the test (#3429) (@twose)
- ๐ Fixed the result of
stream_select
(#3440) (@Yurunsoft) - ๐ Fixed lose
SIGCHLD
when useCoroutine\System
to create child process (#3446) (@huanghantao) - ๐ Fixed sendwait not support ssl mode (#3459) (@huanghantao)
- ๐ Fixed
ArrayObject
andStringObject
bug (swoole/library#44) (@matyhtf) - ๐ Fixed mysqli error (swoole/library#45) (@sy-records)
- Fixed can not get correct Swoole\Client::errCode if
open_eof_check
is set (#3478) (@huanghantao) - ๐ Fixed fix atomic->wait()/wakeup() in MacOS (#3476) (@Yurunsoft)
- ๐ Fixed fix Client::connect return 0 when serve refused (#3484) (@matyhtf)
- ๐ Fixed nullptr_t is not declared in alpine (#3488) (@limingxinleo)
- ๐ Fixed fix HTTP Client download filename bug, double free memory (#3489) (@Yurunsoft)
- ๐ Fixed fix memory leak of Server\Port (#3507) (@twose)
- ๐ Fixed fix mqtt parse protocal error (318e33a) (84d8214) (80327b3) (efe6c63) (@GXhua) (@sy-records)
- ๐ Fixed Coroutine\Http\Client->getHeaderOut coredump (#3534) (@matyhtf)
- ๐ Fixed missing error info of SSL verify (#3535) (@twose)
- ๐ Fixed update Swoole benchmark link in README (#3536) (@sy-records) (@santalex)
- ๐ Fixed fix HTTP header/cookie injection when use CRLF (#3539) (#3541) (#3545) (chromium1337) (@huanghantao)
- ๐ Fixed fix the typo variable in #3463 (#3547) (chromium1337) (@huanghantao)
- ๐ Fixed the typo introduced in pull request #3463 (#3547) (@deminy)
- ๐ Fixed set coroutine websocket server frame->fd (#3549) (@huanghantao)
- ๐ Fixed connection leak when heart thread check connection status (#3534) (@matyhtf)
- ๐ Fixed don't need block signals (#3582) (@huanghantao) (@matyhtf)
- ๐ Fixed don't send headers by SAPI (#3571) (@twose) (@sshymko)
- ๐ Fixed set error code and error message when curl execution fails (swoole/library#1b6c65e) (@sy-records)
Kernel
- ๐ Use the CPP style (#3349) (#3351) (#3454) (#3479) (#3490) (@huanghantao) (@matyhtf)
- โ Added Swoole known strings to improve PHP object property reading (#3363) (@huanghantao)
- ๐ Improve code (#3350) (#3356) (#3357) (#3423) (#3426) (#3461) (#3463) (#3472) (#3557) (#3583) (@huanghantao) (@twose) (@matyhtf)
- โก๏ธ Optimize tests (#3416) (#3481) (#3558) (@matyhtf)
- Simplify table int type (#3407) (@matyhtf)
- Added sw_memset_zero and replace bzero (#3419) (@CismonX)
- โก๏ธ Optimize log module (#3432) (@matyhtf)
- ๐จ Refactor libswoole (#3448) (#3473) (#3475) (#3492) (#3494) (#3497) (#3498) (#3526) (@matyhtf)
- ๐จ Refactor header deps (#3457) (@matyhtf) (@huanghantao)
- โ Added
Channel::count()
andChannel::get_bytes()
(f001581) (@matyhtf) - โ Added add scope guard (#3504) (@huanghantao)
- โ Added libswoole coverage test (#3431) (@huanghantao)
- โ Added lib-swoole/ext-swoole MacOS test (#3521) (@huanghantao)
- โ Added lib-swoole/ext-swoole Alpine test (#3537) (@limingxinleo)
- โ Added