Releases: swoole/swoole-src
Releases Β· swoole/swoole-src
v4.4.14
Enhancement
Fixed
- Fixed
Coroutine\HTTP\Server
memory leak and can not handle pipeline request (#3025) (#3029) (@twose) - Fixed compatibility issues with phar (e0558d6) (4bf483f) (4f93b79) (@twose)
- Fixed the concurrency capability of the Coroutine HTTP2 Server (daf45b5) (@twose)
- Fixed
SIGCHLD
listener for manager process (#3017) (@hejingsong) - Fixed warning in Buffer module (161f449) (@twose)
v4.4.13
New API
Enhancement
- Support websocket compression on Coroutine\Http\Server (#2943) (@twose)
- Support
CURLOPT_PUT
,CURLOPT_INFILE
,CURLOPT_INFILESIZE
(#2954) (@twose) - Add error info for bind error (#2972) (@LeiZhang-Hunter) (@twose)
- Update error info if socket call failed (it will not warn anymore if not necessary) (1e9b8cb) (@twose)
- Move the library to a separate repo (@twose)
- Support
CURLOPT_IPRESOLVE
(library-12ffb4d6) (@twose) - Support
CURLOPT_PORT
,CURLOPT_PROXYPORT
,CURLOPT_DNS_USE_GLOBAL_CACHE
(library-5a718920) (@twose) - Better
CURLOPT_ENCODING
support (library-7b680712) (@twose) - Support
curl_reset
,CURLOPT_PROXYTYPE
,CURLOPT_PROXYUSERNAME
,CURLOPT_PROXYPASSWORD
,CURLOPT_PROXYUSERPWD
(library-84ce0a04) (@twose)
Fixed
- Fixed gdbinit in docker (missing symbol) (d46dc2d (@twose)
- Fixed compression in POST request (#2947) (@twose)
- Fixed compatibility of
Websocket->push
method (ac7dbcb) (@twose) - Fixed
$output
result inconsistency (@Yurunsoft) (#2955) - Fixed
Coroutine::fread
(#2958) (@matyhtf) - Fixed
Coroutine\Server
can not exit normally #2837 (#2962) (@twose) - Fixed memory leak in HTTP2 Server (#2964) (@twose)
- Fixed
unsafe_event
(#2970) (@matyhtf) - Fixed illegal call after server start (#2977) (@twose)
- Fixed
WebSocket\Frame
can not enable mask (#2982) (#2983) (@twose) - Fixed memory leak of
Process
callback (898894a) (@twose) - Fixed case where minfd is never updated (#2985)
- Fixed HTTP2 module is always enable (3925e21) (@twose)
- Fixed HTTP2 context double free (#2987) (f4cdff1) (@twose)
- Fixed string comparison (#2988) (97c6c42) (9e5eae6) (@twose)
- Fixed HTTP2 pipeline (#2993) (@twose)
- Fixed coroutine context has been destroyed (#2991) (@twose)
- Fixed illegal usage of
Process::daemon
(#3005) (@twose) - Fixed compilation without zlib (#3008) (@twose)
Kernel
v4.4.13RC2
New API
Enhancement
- Support websocket compression on Coroutine\Http\Server (#2943) (@twose)
- Support
CURLOPT_PUT
,CURLOPT_INFILE
,CURLOPT_INFILESIZE
(#2954) (@twose) - Add error info for bind error (#2972) (@LeiZhang-Hunter) (@twose)
- Update error info if socket call failed (it will not warn anymore if not necessary) (1e9b8cb) (@twose)
- Move the library to a separate repo (@twose)
- Support
CURLOPT_IPRESOLVE
(library-12ffb4d6) (@twose) - Support
CURLOPT_PORT
,CURLOPT_PROXYPORT
,CURLOPT_DNS_USE_GLOBAL_CACHE
(library-5a718920) (@twose) - Better
CURLOPT_ENCODING
support (library-7b680712) (@twose) - Support
curl_reset
,CURLOPT_PROXYTYPE
,CURLOPT_PROXYUSERNAME
,CURLOPT_PROXYPASSWORD
,CURLOPT_PROXYUSERPWD
(library-84ce0a04) (@twose)
Fixed
- Fixed gdbinit in docker (missing symbol) (d46dc2d (@twose)
- Fixed compression in POST request (#2947) (@twose)
- Fixed compatibility of
Websocket->push
method (ac7dbcb) (@twose) - Fixed
$output
result inconsistency (@Yurunsoft) (#2955) - Fixed
Coroutine::fread
(#2958) (@matyhtf) - Fixed
Coroutine\Server
can not exit normally #2837 (#2962) (@twose) - Fixed memory leak in HTTP2 Server (#2964) (@twose)
- Fixed
unsafe_event
(#2970) (@matyhtf) - Fixed illegal call after server start (#2977) (@twose)
- Fixed
WebSocket\Frame
can not enable mask (#2982) (#2983) (@twose) - Fixed memory leak of
Process
callback (898894a) (@twose) - Fixed case where minfd is never updated (#2985)
- Fixed HTTP2 module is always enable (3925e21) (@twose)
- Fixed HTTP2 context double free (#2987) (f4cdff1) (@twose)
- Fixed string comparison (#2988) (97c6c42) (9e5eae6) (@twose)
- Fixed HTTP2 pipeline (#2993) (@twose)
- Fixed coroutine context has been destroyed (#2991) (@twose)
- Fixed illegal usage of
Process::daemon
(#3005) (@twose) - Fixed compilation without zlib (#3008) (@twose)
Kernel
v4.4.13RC1
New API
Enhancement
- Support websocket compression on Coroutine\Http\Server (#2943) (@twose)
- Support CURLOPT_PUT, CURLOPT_INFILE, CURLOPT_INFILESIZE (#2954) (@twose)
- Add error info for bind error (@LeiZhang-Hunter) (@twose) (#2972)
- Update error info if socket call failed (it will not warn anymore if not necessary) (1e9b8cb) (@twose)
- Make library submodule (@twose)
Fixed
- Fixed gdbinit in docker (missing symbol) (d46dc2d (@twose)
- Fixed compression in POST request (#2947) (@twose)
- Fixed compatibility of Websocket->push method (ac7dbcb) (@twose)
- Fixed $output result inconsistency (@Yurunsoft) (#2955)
- Fixed Coroutine::fread (#2958) (@matyhtf)
- Fixed Coroutine\Server can not exit normally #2837 (#2962) (@twose)
- Fixed memory leak in HTTP2\Server (#2964) (@twose)
- Fixed unsafe_event (#2970) (@matyhtf)
- Fixed illegal call after server start (#2977) (@twose)
- Fixed WebSocket\Frame can not enable mask (#2982) (#2983) (@twose)
- Fixed memory leak of Process callback (898894a) (@twose)
- Fixed case where minfd is never updated (#2985)
- Fixed HTTP2 module is always enable (3925e21) (@twose)
- Fixed HTTP2 context double free (#2987) (f4cdff1) (@twose)
- Fixed string comparison (#2988) (97c6c42) (9e5eae6) (@twose)
- Fixed HTTP2 pipeline (#2993) (@twose)
- Fixed coroutine context has been destroyed (#2991) (@twose)
Kernel
v4.4.12
New API
- Runtime::getHookFlags (#2915) (@limingxinleo)
Enhancement
- Support Websocket Compression on client-side (#2937) (@twose)
- Support compress websocket message by frame (#2937) (@twose)
- Optimized the detect logical of shortname (#2935) (@sy-records)
- Better compression handler (Gzip and Brotli) (#2928) (@twose)
- Reduce memory copy (#2893) (7fc9350) (@hantaohuang) (@twose)
- Accepted connection will inherit the options of server (#2898) (@twose)
- Coroutine\Http\Server support HTTP2 protocol now (5479dbc) (@matyhtf)
- Automatically add Content-Type header when use sendfile (4e62bc5) (@matyhtf)
- Compatibility with Zend preloader (Special thanks to PHP team) (#2899) (@twose)
- Implement RFC-7692 (#2906) (@matyhtf)
- Support PHP error control operators (#2916) (@twose)
- Support socket_send_timeout option for sync client (#2919) (@matyhtf)
- Support NPN (#2900) (@matyhtf)
- Improve HTTP proxy handshake request (#2922) (@twose)
Fixed
- Fixed AIO task num overflow (7038bdc) (@twose)
- Fixed gdbinit, support get backtrace info of current stack (bd033e5) (@twose)
- Fixed Websocket Compression (ca81865) (@matyhtf)
- Fixed compilation failure caused BrotliDecoder (#2925) (@twose)
- Fixed memory error caused by compressing big data (#2928) (@twose)
- Fixed #2890 (start a Process\Pool without onWorkerStart event) (#2892) (@twose)
- Fixed the bug that close the connection in non-current worker (#2891) (@matyhtf)
- Fixed memory error of create socket failure (2948f10) (@matyhtf)
- Fixed missing ssl_host_name of HTTPS proxy (#2904) (@twose)
- Fixed CID-1466865 (#2923) (@Tutanhamon)
v4.4.8
Deprecated
- Move async Swoole\Client to ext-async
Enhancement
- Support Http\Response close (#2861) (@matyhtf)
- Support Process::daemon() redirection of IO (#2871) (@matyhtf)
Fixed
- Fixed random bytes added to response status code (#2856) (@twose)
- Fixed naming conflicts with php gdbinit (2a2447e) (@shiguangqi)
- Fixed build without PCRE JIT on OSX (2a4c447) (@twose)
- Fixed Websocket\Server class entry of property declaration (1f197da) (@twose)
- Fixed coroutine bound error checker of Co\Http\Client (2619cdd) (@twose)
- Fixed gdb debugger in docker (ec81528) (@twose)
- Fixed MySQL close error (#2869) (@twose)
- Fixed Cygwin with process (#2868) (#2876) (@matyhtf)
- Fixed tls_host_name not found (d1968c2) (@twose)
- Fixed SSL renegotiation (#2847) (d8b87eb) (@matyhtf)
- Fixed HTTP2 client empty data (37b12d7) (775aefe) (@twose)
- Fixed send yield hang (#2885) (@matyhtf) (@twose)
- Fixed null fci_cache (#2881) (@twose)
- Fixed server mode on CYGWIN (#2868) (@matyhtf)
- Fixed select null (5e23dd9) (@twose)
- Fixed #2643 #2868 (#2888) (@matyhtf)
v4.4.7
v4.4.6
Enhancement
- Support max_request_grace (#2784) (#2808) (#2809) (@sshymko)
- Add SameSite Cookie (@2815) (@Yurunsoft)
- Support curl_multi_getcontent, CURLOPT_AUTOREFERER for curl hook, add ignore options (#2817) (@2818) (@2819) (@limingxinleo)
- Support CURLOPT_SSLVERSION and CURLINFO_HEADER_OUT (f2b4c93) (@matyhtf)
- AIO thread safe (@matyhtf)
- Optimize numeric type conversion (aa20913) (@twose)
- Compatibly with diseval extension for library (8b7eb16) (@GXhua)
Fixed
- Fixed missing http headers (#2786) (@doubaokun)
- Defensive programming for signal callback (@twose)
- Fixed getProcess memory error (#2801) (@matyhtf)
- Fixed compilation on MacOS (@matyhtf)
- Fixed Coroutine\System methods (97c1444) (@twose)
- Fixed AIO thread task stuck (@matyhtf)
- Fixed HTTP2 HEADER_TABLE_SIZE (@twose)
- Fixed spurious waking of socket (d0b659a) (@matyhtf)
v4.4.5
Enhancement
- Better Reactor (@matyhtf)
- Better AIO (@twose)
- Better Redis (3608f4c) (@twose)
- Handle Empty upload files (#2779) (@sshymko)
- Add File uploads array parser (#2773) (@sshymko)
- Support PURGE (#2754) (#2764) (@sshymko)
- Allow HTTP methods like GETX POSTX PUTX etc (#2772) (@doubaokun)
- Reduce the default max_wait_time to 3 (ed5c838) (@twose)
Fixed
- Fixed AIO memory error (@twose)
- Fixed compilation without zlib (f5a0336) (@twose)
- Fixed timeout param of stream (c827598) (@twose)
- Fixed missing http headers (#2789) (@doubaokun)
- Fixed client type (#2771) (@doubaokun)
v4.4.4
Enhancement
- Perfect array_walk for coroutine (#2740) (@twose)
- Add
Swoole\Constant
to replace string (@matyhtf) (@twose) - Add alias
Co::dnsLookup
ofswoole_async_dns_lookup_coro
(42293ef) (@matyhtf) - Expend default HTTP_FORM_KEYLEN to 512 (#2734) (@sshymko)
- Better dns resolver (c6deff1) (@matyhtf)
- Support HTTP PURGE (#2462) (@sshymko)
- Response 400 for bad request (#2751) (@twose)
- Decoupling sockets and reactor (internal) (@twose)
- Add Timer::set / Process->set / Process\Pool->set (@twose)
- Optional hugepage feature support for FreeBSD (#2757) (@devnexen)
Fixed
- Fixed macOS not support extern thread_local () (@matyhtf)
- Fixed SSL dispatch (#2736) (@matyhtf)
- Fixed aio thread num (#2745) (@matyhtf)
- Fixed async_thread (#2747) (@matyhtf)
- Fixed Swoole\Client::select timeout (#2758) (@LeiZhang-Hunter)
- Fixed empty timer (#2749) (@twose)
- Fixed zlib decompression (#2762) (@twose)