v4.5.0RC1
Pre-release
Pre-release
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
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