All Versions
45
Latest Version
Avg Release Cycle
25 days
Latest Release
1027 days ago
Changelog History
Page 2
Changelog History
Page 2
-
v4.5.3-alpha
July 21, 2020 -
v4.5.2 Changes
May 28, 2020โจ Enhancement
- Support
Server->set(['log_rotation' => SWOOLE_LOG_ROTATION_DAILY])
to generate log file by date (#3311) (@matyhtf) - Support
swoole_async_set(['wait_signal' => true])
, reactor will not exit if there is signal listener (#3314) (@matyhtf) - ๐ Support
Server->sendfile
to send empty file (#3318) (@twose) - ๐ Improve worker idle warning (#3328) (@huanghantao)
- ๐ Improve configuration parser about Host (for HTTPS proxy) (#3343) (@twose)
- SSL use ecdh auto (#3316) (@matyhtf)
- SSL quiet shutdown when client close (#3342) (@huanghantao)
๐ Fixed
- ๐ Fixed
Server->taskWait
on OSX (#3330) (@matyhtf) - ๐ Fixed MQTT protocol bug (8dbf506) (@guoxinhua) (2ae8eb3) (@twose)
- ๐ Fixed Content-Length int overflow (#3346) (@twose)
- ๐ Fixed packet length checker of PRI (#3348) (@twose)
- ๐ Fixed CURLOPT_POSTFIELDS (swoole/library@ed192f6) (@twose)
- ๐ Fixed the latest connection can not be released before accept new one (swoole/library@1ef7933) (@twose)
Kernel
- Support
-
v4.5.1 Changes
May 11, 2020โจ Enhancement
- ๐ Support socket context bindto in hook (#3275) (#3278) (@codinghuang)
- ๐ Support dns resolve in client::sendto (#3292) (@codinghuang)
- ๐จ Process->exit(0) will call os.exit directly (a732fe5) (@matyhtf)
- Support
log_date_format
to change format of log date,log_date_with_microseconds
to show micro-time in log (baf895b) (@matyhtf) - Support CURLOPT_CAINFO and CURLOPT_CAPATH (swoole/library#32) (@sy-records)
- Support CURLOPT_FORBID_REUSE (swoole/library#33) (@sy-records)
๐ Fixed
- ๐ Fixed 32-bit build (#3276) (#3277) (@remicollet) (@twose)
- ๐ Fixed missing error info (#3280) (@codinghuang)
- ๐ Fixed potential bugs in Table (d7b87b6) (@matyhtf)
- ๐ Fixed null ptr error in Server (defensive programming) (#3304) (#3305) (@twose)
- ๐ Fixed heartbeat timeout null ptr error (#3307) (@twose)
- ๐ Fixed mysqli options error (swoole/library#35) (@sy-records)
- ๐ Fixed response header parsing when there is no space after the colon in the response header (swoole/library#27) (@Yurunsoft)
๐ Deprecated
- ๐ Mark Coroutine\System::(fread/fgets/fwrite) as deprecated, please use runtime hook instead (it should have been included in v4.5.0) (c7c9bb4) (@twose)
Kernel
-
v4.5.0 Changes
April 26, 2020๐ New APIs
- ๐ DTLS supports, we can build WebRTC applications now (#3188) (@matyhtf)
- Built-in
FastCGI
client, we can proxy HTTP request to FPM with one line of code now (swoole/library#17) (@twose) - ๐ฆ
Co::wait
,Co::waitPid
,Co::waitSignal
(#3158) (@twose) Co::waitEvent
(#3197) (@twose)Co::set(['exit_condition' => $callable])
to exit condition of reactor (#2918) (#3012) (@twose)Co::getElapsed
to get the coroutine elapsed time (#3162) (@doubaokun)Socket::checkLiveness
,Socket::peek
(#3057) (@twose)Socket->setProtocol(['open_fastcgi_protocol' => $bool])
(#3103) (@twose)- ๐ท
Server::get(Master|Manager|Worker)Pid
,Server::getWorkerId
(#2793) (#3019) (@matyhtf) - ๐ท
Server::getWorkerStatus
(SWOOLE_WORKER_BUSY, SWOOLE_WORKER_IDLE) (#3225) (@matyhtf) Server->on('beforeReload', $callable)
andServer->on('afterReload', $callable)
(Server reload event on manager process) (#3130) (@huanghantao)Http\Server
supporthttp_index_files
andhttp_autoindex
with static handler (#3171) (@huanghantao)- โฑ
Http2\Client->read(float $timeout = -1)
, support Coroutine\HTTP2\Client read more than once (#3011) (#3117) (@twose) Http\Request->getContent
(alias of rawContent) (#3128) (@huanghantao)swoole_mime_type_(add|set|delete|get|exists)
(mime APIs) (#3134) (@twose)
โจ Enhancement
- โก๏ธ Optimize memory-copy between master and worker (4x faster) (#3075) (#3087) (@huanghantao)
- โก๏ธ Optimize websocket dispatch (1x faster) (#3076) (@matyhtf)
- Optimize memory-copy in websocket_construct_frame (1x faster) (#3097) (@matyhtf)
- โก๏ธ Optimize SSL validation (#3226) (@matyhtf)
- Separate SSL accept and SSL handshake (#3214) (@twose)
- ๐ Support MIPS (#3196) (@ekongyun)
- Resolve the domain name when use udp coroutine client (#3236) (#3239) (@huanghantao)
- ๐ Do not close stdout and stderr (show error logs after shutdown) (#3249) (@twose)
- ๐ Support some common options for Coroutine\Http\Server (#3257) (@twose)
- ๐ Support set cookies when websocket handshake (#3270) (#3272) (@twose)
- ๐ Support CURLOPT_FAILONERROR (swoole/library#20) (@sy-records)
- ๐ Support CURLOPT_FAILONERROR (swoole/library#20) (@sy-records)
- Support CURLOPT_SSLCERTTYPE, CURLOPT_SSLCERT, CURLOPT_SSLKEYTYPE, CURLOPT_SSLKEY (swoole/library#22) (@sy-records)
- ๐ Support CURLOPT_HTTPGET (swoole/library@d730bd0) (@shiguangqi)
โ Remove
- โ Remove
Runtime::enableStrictMode
method (b45838e) (@twose) - โ Remove
Buffer
class (559a49a) (@twose)
Kernel
- ๐ New C++ API:
coroutine::async
with lambda (#3127) (@matyhtf) - ๐จ Refactor event API and reactor fd to swSocket (#3030) (@matyhtf)
- Convert all source files to C++ (#3030) (71f987f) (@matyhtf)
- Code optimizations (#3063) (#3067) (#3115) (#3135) (#3138) (#3139) (#3151) (#3168) (@huanghantao)
- Code optimization for header files (#3051) (@matyhtf)
- Refactor
enable_reuse_port
option (#3192) (@matyhtf) - Reactor Socket API (#3193) (@matyhtf)
- โฌ๏ธ Reduce one system call (3b5aa85) (@matyhtf)
- โ Remove swServerGS::now (#3152) (@huanghantao)
- ๐ Improve protocol setter (#3108) (@twose)
- ๐ Use the Better way to init C object on stack (#3069) (@twose)
- ๐ Use type
uchar
for bit field (#3071) (@twose) - ๐ Support parallel test (#3215) (@twose)
๐ Fixed
-
v4.5.0.RC1 Changes
April 08, 2020๐ New APIs
- ๐
DTLS
supports, we can build WebRTC applications now (#3188) (@matyhtf) - Built-in
FastCGI
client, we can proxy HTTP request to FPM with one line of code now (swoole/library#17) (@twose) - ๐ฆ
Co::wait
,Co::waitPid
,Co::waitSignal
(#3158) (@twose) Co::waitEvent
(#3197) (@twose)Co::set(['exit_condition' => $callable])
to set exit condition of reactor (#2918) (#3012) (@twose)Co::getElapsed
to get the coroutine elapsed time (#3162) (@doubaokun)Socket::checkLiveness
,Socket::peek
(#3057) (@twose)Socket->setProtocol(['open_fastcgi_protocol' => $bool])
(#3103) (@twose)- ๐ท
Server::getInstance
,Server::get(Master|Manager|Worker)Pid
,Server::getWorkerId
(#2793) (#3019) (@matyhtf) - ๐ท
Server::getWorkerStatus
(SWOOLE_WORKER_BUSY, SWOOLE_WORKER_IDLE) (#3225) (@matyhtf) Server->on('beforeReload', $callable)
andServer->on('afterReload', $callable)
(Server reload event on manager process) (#3130) (@huanghantao)Http\Server
supporthttp_index_files
andhttp_autoindex
with static handler (#3171) (@huanghantao)- โฑ
Http2\Client->read(float $timeout = -1)
, support Coroutine\HTTP2\Client read more than once (#3011) (#3117) (@twose) Http\Request->getContent
(alias of rawContent) (#3128) (@huanghantao)swoole_mime_type_(add|set|delete|get|exists)
(mime APIs) (#3134) (@twose)
โจ Enhancement
- โก๏ธ Optimize memory-copy between master and worker (4x faster) (#3075) (#3087) (@huanghantao)
- โก๏ธ Optimize websocket dispatch (1x faster) (#3076) (@matyhtf)
- Optimize memory-copy in websocket_construct_frame (1x faster) (#3097) (@matyhtf)
- โก๏ธ Optimize SSL validation (#3226) (@matyhtf)
- Separate SSL accept and SSL handshake (#3214) (@twose)
- ๐ Support MIPS (#3196) (@ekongyun)
- ๐ Support CURLOPT_FAILONERROR (swoole/library#20) (@sy-records)
โ Remove
- โ Remove
Runtime::enableStrictMode
method (b45838e) (@twose) - โ Remove
Buffer
class (559a49a) (@twose)
Kernel
- ๐ New C++ API:
coroutine::async
with lambda (#3127) (@matyhtf) - ๐จ Refactor event API and reactor fd to swSocket (#3030) (@matyhtf)
- Convert all source files to C++ (#3030) (71f987f) (@matyhtf)
- Code optimizations (#3063) (#3067) (#3115) (#3135) (#3138) (#3139) (#3151) (#3168) (@huanghantao)
- Code optimization for header files (#3051) (@matyhtf)
- Refactor
enable_reuse_port
option (#3192) (@matyhtf) - Reactor Socket API (#3193) (@matyhtf)
- โฌ๏ธ Reduce one system call (3b5aa85) (@matyhtf)
- โ Remove swServerGS::now (#3152) (@huanghantao)
- ๐ Improve protocol setter (#3108) (@twose)
- ๐ Use the Better way to init C object on stack (#3069) (@twose)
- ๐ Use type
uchar
for bit field (#3071) (@twose) - ๐ Support parallel test (#3215) (@twose)
๐ Fixed
- Fixed
enable_delay_receive
(#3221) (#3224) (@matyhtf) - ๐ Fixed
ConnectionPool->fill
(swoole/library#18) (@NHZEX) - ๐ All other bug fix patches have already been merged into the v4.4.x branch, we will not reiterate them here
- ๐
-
v4.4.22
October 28, 2020 -
v4.4.21
September 18, 2020 -
v4.4.20
September 01, 2020 -
v4.4.19 Changes
May 28, 2020๐ง Notice: v4.4.x is no longer the main maintenance branch, bug fixes only when necessary
๐ Fixed
- ๐ Merged all the bugfix patches from v4.5.2
-
v4.4.18 Changes
April 25, 2020โจ Enhancement
- Resolve the domain name when use udp coroutine client (#3236) (#3239) (@huanghantao)
- ๐ Do not close stdout and stderr (show error logs after shutdown) (#3249) (@twose)
- ๐ Support some common options for Coroutine\Http\Server (#3257) (@twose)
- ๐ Support set cookies when websocket handshake (#3270) (#3272) (@twose)
- ๐ Support CURLOPT_FAILONERROR (swoole/library#20) (@sy-records)
- Support CURLOPT_SSLCERTTYPE, CURLOPT_SSLCERT, CURLOPT_SSLKEYTYPE, CURLOPT_SSLKEY (swoole/library#22) (@sy-records)
- ๐ Support CURLOPT_HTTPGET (swoole/library@d730bd0) (@shiguangqi)
- Compatible with different versions of Redis extension as much as possible (swoole/library#24) (@twose)
- Disable Cloning of Database Proxy Objects (swoole/library#23) (@deminy)
๐ Fixed
- ๐ Fixed SSL handshake failure (dc5ac29) (@twose)
- ๐ Fixed memory error when generate error message (#3229) (@twose)
- ๐ Fixed empty proxy authorization info (#3243) (@twose)
- ๐ Fixed channel unreal memory leak (#3260) (@twose)
- ๐ Fixed memory leak of Co\Http\Server (#3271) (@twose)
- ๐ Fixed
ConnectionPool->fill
(swoole/library#18) (@NHZEX) - ๐ Fixed use new client for the redirection requests (swoole/library#21) (@doubaokun)
- ๐ Fixed null socket error in ioException (swoole/library@4d15a4c) (@twose)
- ๐ Fixed ConnectionPool@put when error happens (swoole/library#25) (@Sinute)
- ๐ Fixed mysqli write_property error (swoole/library#26) (@twose)