All Versions
45
Latest Version
Avg Release Cycle
25 days
Latest Release
791 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v4.6.0-alpha
December 09, 2020 -
v4.5.9 Changes
November 27, 2020✨ Enhancement
- Added SWOOLE_HTTP_CLIENT_ESTATUS_SEND_FAILED constant for Coroutine\Http\Client (#3873) (@sy-records)
🛠 Fixed
- 🛠 Fixed PHP8 compatibility (#3868) (#3869) (#3872) (@twose) (@huanghantao) (@doubaokun)
- Fixed undefined constant CURLOPT_HEADEROPT and CURLOPT_PROXYHEADER (swoole/library#77) (@sy-records)
- 🛠 Fixed CURLOPT_USERPWD (swoole/[email protected]) (@twose)
-
v4.5.8 Changes
November 20, 2020🆕 New APIs
- Added swoole_error_log function (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 (03f3fb0) (@matyhtf)
- 🛠 Fixed binary security of swoole table keys (#3842) (@twose)
- 🛠 Fixed System::writeFile append file issue when using FILE_APPEND (a71956d) (@matyhtf)
- 🛠 Fixed CURLOPT_WRITEFUNCTION (swoole/library#74) (swoole/library#75) (@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
-
v4.5.7
November 06, 2020 -
v4.5.5 Changes
October 14, 2020🆕 New APIs
- ➕ Added Process\Manager and alias Process\ProcessManager (swoole/[email protected]) (@matyhtf)
- 👌 Support HTTP2 server-side GOAWAY (#3710) (@doubaokun)
- ➕ Added Co\map() function (swoole/library#57) (@leocavalcante)
✨ Enhancement
- 👌 Support http2 client unix socket (#3668) (@sy-records)
- 👷 Set the worker status to SW_WORKER_EXIT when the worker process exits (#3724) (@matyhtf)
- Add send_queued_bytes and recv_queued_bytes in Server::getClientInfo() (#3721) (#3731) (@matyhtf) (@Yurunsoft)
- 👌 Support option of stats_file (#3725) (@matyhtf) (@Yurunsoft)
🛠 Fixed
- Fixed PHP8 build (zend_compile_string change) (#3670) (@twose)
- 🛠 Fixed PHP8 build (ext/sockets compatibility) (#3684) (@twose)
- Fixed PHP8 build (php_url_encode_hash_ex change) (#3713) (@remicollet)
- Fixed invalid conversion from 'const char*' to 'char*' for build (#3686) (@remicollet)
- 🛠 Fixed HTTP2 client over HTTP proxy is not working (#3677) (@matyhtf) (@twose)
- 🛠 Fixed PDO context data confusion (swoole/library#54) (@sy-records)
- 🛠 Fixed onPacket callback or UDP Server with IPv6 return wrong port
- 🛠 Fixed Lock::lockwait timeout setting does not take effect
-
v4.5.4 Changes
September 15, 2020Backward compatibility Break
- Modify SWOOLE_HOOK_ALL to contain SWOOlE_HOOK_CURL (#3606) (@matyhtf)
- 👍 Remove ssl_method and Support ssl_protocols (#3639) (@Yurunsoft)
🆕 New APIs
- ➕ Added firstKey and lastKey (swoole/library#51) (@sy-records)
✨ Enhancement
- Added open_websocket_ping_frame, open_websocket_pong_frame (#3600) (@Yurunsoft)
🛠 Fixed
- 🛠 Fixed fseek ftell file larger than 2G bug (#3619) (@Yurunsoft)
- 🛠 Fixed Socket barrier bug (#3627) (@matyhtf)
- 🛠 Fixed http proxy handshake bug (#3630) (@matyhtf)
- 🛠 Fixed a problem with parsing the HTTP header when send chunk data (#3633) (@matyhtf)
- Fixed zend_hash_clean assertion failure (#3634) (@twose)
- 🛠 Fixed can't remove broken fd from event loop (#3650) (@matyhtf)
- 🛠 Fixed crash when receiving invalid packet (#3653) (@matyhtf)
- Fixed array_key_last (swoole/library#46) (@sy-records)
Kernel
- Code optimization (#3615) (#3617) (#3622) (#3635) (#3640) (#3641) (#3642) (#3645) (#3658) (@matyhtf)
- 🐎 Reduce unnecessary memory operation to improve write performance (#3620) (@matyhtf)
- 🔨 Refactor aio (#3624) (@Yurunsoft)
- ➕ Added readlink/opendir/readdir/closedir hook (#3628) (@matyhtf)
- Improve swMutex_create, add SW_MUTEX_ROBUST (#3646) (@matyhtf)
-
v4.5.3 Changes
August 30, 2020🆕 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 the file before receive body when a 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) - 👌 Support trailer for HTTP 1.1 (#3485) (@huanghantao)
- 👌 Support yield when sleeping less 1ms (#3487) (@Yurunsoft)
- 👌 Support get soft link file in the static handler (#3569) (@LeiZhang-Hunter)
- Close WebSocket connection immediately after the 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, handle protocol status error (#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 MacOS (#3372) (@twose)
- 🛠 Fixed MySQL test case (#3374) (@qiqizjl)
- 🛠 Fixed PHP8 compatibility (#3384) (#3458) (#3578) (#3598) (@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 losing 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 the child process (#3446) (@huanghantao) - 🛠 Fixed sendwait not support SSL mode (#3459) (@huanghantao)
- 🛠 Fixed
ArrayObject
andStringObject
bug (swoole/library#44) (@matyhtf) - 🛠 Fixed mysqli error, typo (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 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 using 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 the connection status (#3534) (@matyhtf)
- 🛠 Fixed don't need block signals in the process pool (#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)
- Fixed swoole_socket_coro accept bug when call setProtocol function will cause coredump (#3591) (@matyhtf)
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 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
-
v4.5.3.RC1 Changes
August 24, 2020🆕 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
-
v4.5.3-beta
August 03, 2020