|
15 | 15 | - multi-process worker |
16 | 16 | - multi-protocol |
17 | 17 | - millisecond timer |
18 | | - - built-in http/websocket/http2 server |
19 | | - - coroutine http/websocket client |
| 18 | + - built-in tcp/http/websocket/http2 server |
| 19 | + - coroutine tcp/http/websocket client |
20 | 20 | - coroutine mysql client |
21 | 21 | - coroutine redis client |
22 | 22 | - coroutine read/write file system |
|
42 | 42 | |
43 | 43 | <active>yes</active> |
44 | 44 | </developer> |
45 | | - <date>2019-11-04</date> |
46 | | - <time>21:00:00</time> |
| 45 | + <date>2019-12-05</date> |
| 46 | + <time>19:00:00</time> |
47 | 47 | <version> |
48 | | - <release>4.4.12</release> |
| 48 | + <release>4.4.13RC1</release> |
49 | 49 | <api>4.0</api> |
50 | 50 | </version> |
51 | 51 | <stability> |
52 | | - <release>stable</release> |
53 | | - <api>stable</api> |
| 52 | + <release>beta</release> |
| 53 | + <api>beta</api> |
54 | 54 | </stability> |
55 | 55 | <license uri="http://www.apache.org/licenses/LICENSE-2.0.html">Apache2.0</license> |
56 | 56 | <notes> |
57 | 57 | New API |
58 | 58 | --- |
59 | | - + Runtime::getHookFlags (#2915) (@limingxinleo) |
| 59 | + + Built-in Connection Pool ([examples](https://github.com/swoole/library/tree/master/examples)) ([doc](https://wiki.swoole.com/wiki/page/p-library.html)) (@twose) |
60 | 60 |
|
61 | 61 | Enhancement |
62 | 62 | --- |
63 | | - + Support Websocket Compression on client-side (#2937) (@twose) |
64 | | - + Support compress websocket message by frame (#2937) (@twose) |
65 | | - + Optimized the detect logical of shortname (#2935) (@sy-records) |
66 | | - + Better compression handler (Gzip and Brotli) (#2928) (@twose) |
67 | | - + Reduce memory copy (#2893) (7fc93504) (@hantaohuang) (@twose) |
68 | | - + Accepted connection will inherit the options of server (#2898) (@twose) |
69 | | - + Coroutine\Http\Server support HTTP2 protocol now (5479dbc4) (@matyhtf) |
70 | | - + Automatically add Content-Type header when use sendfile (4e62bc52) (@matyhtf) |
71 | | - + Compatibility with Zend preloader (Special thanks to PHP team) (#2899) (@twose) |
72 | | - + Implement RFC-7692 (#2906) (@matyhtf) |
73 | | - + Support PHP error control operators (#2916) (@twose) |
74 | | - + Support socket_send_timeout option for sync client (#2919) (@matyhtf) |
75 | | - + Support NPN (#2900) (@matyhtf) |
76 | | - + Improve HTTP proxy handshake request (#2922) (@twose) |
| 63 | + * Support websocket compression on Coroutine\Http\Server (#2943) (@twose) |
| 64 | + * Support CURLOPT_PUT, CURLOPT_INFILE, CURLOPT_INFILESIZE (#2954) (@twose) |
| 65 | + * Add error info for bind error (@LeiZhang-Hunter) (@twose) (#2972) |
| 66 | + * Update error info if socket call failed (it will not warn anymore if not necessary) (1e9b8cbb) (@twose) |
| 67 | + * Make library submodule (@twose) |
77 | 68 |
|
78 | 69 | Fixed |
79 | 70 | --- |
80 | | - * Fixed AIO task num overflow (7038bdc1) (@twose) |
81 | | - * Fixed gdbinit, support get backtrace info of current stack (bd033e56) (@twose) |
82 | | - * Fixed Websocket Compression (ca818657) (@matyhtf) |
83 | | - * Fixed compilation failure caused BrotliDecoder (#2925) (@twose) |
84 | | - * Fixed memory error caused by compressing big data (#2928) (@twose) |
85 | | - * Fixed #2890 (start a Process\Pool without onWorkerStart event) (#2892) (@twose) |
86 | | - * Fixed the bug that close the connection in non-current worker (#2891) (@matyhtf) |
87 | | - * Fixed memory error of create socket failure (2948f10a) (@matyhtf) |
88 | | - * Fixed missing ssl_host_name of HTTPS proxy (#2904) (@twose) |
89 | | - * Fixed CID-1466865 (#2923) (@tutanhamon) |
| 71 | + * Fixed gdbinit in docker (missing symbol) (d46dc2d7 (@twose) |
| 72 | + * Fixed compression in POST request (#2947) (@twose) |
| 73 | + * Fixed compatibility of Websocket->push method (ac7dbcbc) (@twose) |
| 74 | + * Fixed $output result inconsistency (Yurunsoft) (#2955) |
| 75 | + * Fixed Coroutine::fread (#2958) (@matyhtf) |
| 76 | + * Fixed Coroutine\Server can not exit normally #2837 (#2962) (@twose) |
| 77 | + * Fixed memory leak in HTTP2\Server (#2964) (@twose) |
| 78 | + * Fixed unsafe_event (#2970) (@matyhtf) |
| 79 | + * Fixed illegal call after server start (#2977) (@twose) |
| 80 | + * Fixed WebSocket\Frame can not enable mask (#2982) (#2983) (@twose) |
| 81 | + * Fixed memory leak of Process callback (898894a7) (@twose) |
| 82 | + * Fixed case where minfd is never updated (#2985) |
| 83 | + * Fixed HTTP2 module is always enable (3925e212) (@twose) |
| 84 | + * Fixed HTTP2 context double free (#2987) (f4cdff1b) (@twose) |
| 85 | + * Fixed string comparison (#2988) (97c6c425) (9e5eae63) (@twose) |
| 86 | + * Fixed HTTP2 pipeline (#2993) (@twose) |
| 87 | + * Fixed coroutine context has been destroyed (#2991) (@twose) |
| 88 | + |
| 89 | + Kernel |
| 90 | + --- |
| 91 | + * Refactor swoole_(get|set)_object to the way of extending zend_object (more stable and faster) (#2966) (@twose) |
| 92 | + * Support Github Actions (@twose) (@matyhtf) |
90 | 93 | </notes> |
91 | 94 | <contents> |
92 | 95 | <dir name="/"> |
|
99 | 102 | <file role="src" name="benchmark/aio.php" /> |
100 | 103 | <file role="src" name="benchmark/benchmark.php" /> |
101 | 104 | <file role="src" name="benchmark/bin/async.php" /> |
| 105 | + <file role="test" name="benchmark/bin/keep_conn.phpt" /> |
102 | 106 | <file role="src" name="benchmark/bin/sync.php" /> |
103 | 107 | <file role="src" name="benchmark/co_http_client.php" /> |
104 | 108 | <file role="src" name="benchmark/co_http_proxy.php" /> |
|
141 | 145 | <file role="src" name="core-tests/samples/CMakeLists.txt" /> |
142 | 146 | <file role="doc" name="core-tests/samples/README.md" /> |
143 | 147 | <file role="src" name="core-tests/samples/s1.cc" /> |
144 | | - <file role="src" name="core-tests/server/tcp.php" /> |
145 | 148 | <file role="src" name="core-tests/src/client.cpp" /> |
146 | 149 | <file role="src" name="core-tests/src/coroutine/async.cpp" /> |
147 | 150 | <file role="src" name="core-tests/src/coroutine/base.cpp" /> |
|
285 | 288 | <file role="doc" name="examples/coroutine/websocket/client.php" /> |
286 | 289 | <file role="doc" name="examples/coroutine/websocket/co_server.php" /> |
287 | 290 | <file role="doc" name="examples/coroutine/websocket/server.php" /> |
| 291 | + <file role="doc" name="examples/cpp/Makefile" /> |
288 | 292 | <file role="doc" name="examples/cpp/co.cc" /> |
289 | | - <file role="doc" name="examples/cpp/mt_co.cc" /> |
290 | 293 | <file role="doc" name="examples/cpp/test_server.c" /> |
291 | 294 | <file role="doc" name="examples/db_pool.php" /> |
292 | 295 | <file role="doc" name="examples/eof/async_client.php" /> |
|
533 | 536 | <file role="src" name="include/wrapper/base.hpp" /> |
534 | 537 | <file role="src" name="include/wrapper/client.hpp" /> |
535 | 538 | <file role="src" name="include/wrapper/server.hpp" /> |
536 | | - <file role="doc" name="library/README.md" /> |
537 | | - <file role="src" name="library/alias.php" /> |
538 | | - <file role="src" name="library/alias_ns.php" /> |
539 | | - <file role="src" name="library/config.inc" /> |
540 | | - <file role="src" name="library/constants.php" /> |
541 | | - <file role="src" name="library/core/ArrayObject.php" /> |
542 | | - <file role="src" name="library/core/Constant.php" /> |
543 | | - <file role="src" name="library/core/Coroutine/ObjectPool.php" /> |
544 | | - <file role="src" name="library/core/Coroutine/Server.php" /> |
545 | | - <file role="src" name="library/core/Coroutine/Server/Connection.php" /> |
546 | | - <file role="src" name="library/core/Coroutine/WaitGroup.php" /> |
547 | | - <file role="src" name="library/core/Curl/Exception.php" /> |
548 | | - <file role="src" name="library/core/Curl/Handler.php" /> |
549 | | - <file role="src" name="library/core/Http/StatusCode.php" /> |
550 | | - <file role="src" name="library/core/StringObject.php" /> |
551 | | - <file role="src" name="library/ext/curl.php" /> |
552 | | - <file role="src" name="library/functions.php" /> |
553 | | - <file role="src" name="library/std/exec.php" /> |
554 | 539 | <file role="src" name="make.sh" /> |
555 | 540 | <file role="src" name="mascot.png" /> |
556 | 541 | <file role="src" name="php_swoole.h" /> |
|
975 | 960 | <file role="test" name="tests/swoole_coroutine_server/ssl.phpt" /> |
976 | 961 | <file role="test" name="tests/swoole_coroutine_server/tcp.phpt" /> |
977 | 962 | <file role="test" name="tests/swoole_coroutine_system/aio_thread_num.phpt" /> |
| 963 | + <file role="test" name="tests/swoole_coroutine_system/fread.phpt" /> |
| 964 | + <file role="test" name="tests/swoole_coroutine_system/fwrite.phpt" /> |
978 | 965 | <file role="test" name="tests/swoole_coroutine_system/getaddrinfo.phpt" /> |
979 | 966 | <file role="test" name="tests/swoole_coroutine_system/gethostbyname.phpt" /> |
980 | 967 | <file role="test" name="tests/swoole_coroutine_system/gethostbyname_ipv6.phpt" /> |
|
1116 | 1103 | <file role="test" name="tests/swoole_http_server/bug_2608.phpt" /> |
1117 | 1104 | <file role="test" name="tests/swoole_http_server/bug_2751.phpt" /> |
1118 | 1105 | <file role="test" name="tests/swoole_http_server/bug_2786.phpt" /> |
| 1106 | + <file role="test" name="tests/swoole_http_server/bug_2947.phpt" /> |
| 1107 | + <file role="test" name="tests/swoole_http_server/bug_2988.phpt" /> |
1119 | 1108 | <file role="test" name="tests/swoole_http_server/bug_get_request_data_after_end.phpt" /> |
1120 | 1109 | <file role="test" name="tests/swoole_http_server/callback_new_obj_method.phpt" /> |
1121 | 1110 | <file role="test" name="tests/swoole_http_server/callback_new_static_method.phpt" /> |
|
1182 | 1171 | <file role="test" name="tests/swoole_http_server_coro/tcp_nodelay.phpt" /> |
1183 | 1172 | <file role="test" name="tests/swoole_http_server_coro/upload.phpt" /> |
1184 | 1173 | <file role="test" name="tests/swoole_http_server_coro/websocket.phpt" /> |
| 1174 | + <file role="test" name="tests/swoole_http_server_coro/websocket_compression.phpt" /> |
1185 | 1175 | <file role="test" name="tests/swoole_library/array_object/base.phpt" /> |
1186 | 1176 | <file role="test" name="tests/swoole_library/curl/basic/1.phpt" /> |
1187 | 1177 | <file role="test" name="tests/swoole_library/curl/basic/10.phpt" /> |
|
1211 | 1201 | <file role="test" name="tests/swoole_library/curl/setopt/filetime_1.phpt" /> |
1212 | 1202 | <file role="test" name="tests/swoole_library/curl/setopt/filetime_2.phpt" /> |
1213 | 1203 | <file role="test" name="tests/swoole_library/curl/setopt/header_out.phpt" /> |
| 1204 | + <file role="test" name="tests/swoole_library/curl/setopt/infile.phpt" /> |
1214 | 1205 | <file role="test" name="tests/swoole_library/curl/setopt/nobody.phpt" /> |
1215 | 1206 | <file role="test" name="tests/swoole_library/curl/ssl/version.phpt" /> |
1216 | 1207 | <file role="test" name="tests/swoole_library/curl/template" /> |
1217 | 1208 | <file role="test" name="tests/swoole_library/curl/upload/1.phpt" /> |
1218 | 1209 | <file role="test" name="tests/swoole_library/curl/upload/curl_testdata1.txt" /> |
1219 | 1210 | <file role="test" name="tests/swoole_library/curl/upload/curl_testdata2.txt" /> |
| 1211 | + <file role="test" name="tests/swoole_library/database/mysqli.phpt" /> |
| 1212 | + <file role="test" name="tests/swoole_library/database/pdo.phpt" /> |
| 1213 | + <file role="test" name="tests/swoole_library/database/redis.phpt" /> |
1220 | 1214 | <file role="test" name="tests/swoole_library/exec/exec/1.phpt" /> |
| 1215 | + <file role="test" name="tests/swoole_library/exec/exec/2.phpt" /> |
1221 | 1216 | <file role="test" name="tests/swoole_library/exec/shell_exec/1.phpt" /> |
1222 | | - <file role="test" name="tests/swoole_library/object_pool/base.phpt" /> |
1223 | 1217 | <file role="test" name="tests/swoole_library/string_object/base.phpt" /> |
1224 | 1218 | <file role="test" name="tests/swoole_library/wait_group/normal.phpt" /> |
1225 | 1219 | <file role="test" name="tests/swoole_library/wait_group/timeout.phpt" /> |
|
1278 | 1272 | <file role="test" name="tests/swoole_process/enable_coroutine.phpt" /> |
1279 | 1273 | <file role="test" name="tests/swoole_process/exception.phpt" /> |
1280 | 1274 | <file role="test" name="tests/swoole_process/msgq_capacity.phpt" /> |
| 1275 | + <file role="test" name="tests/swoole_process/null_callback.phpt" /> |
1281 | 1276 | <file role="test" name="tests/swoole_process/process_exec.phpt" /> |
1282 | 1277 | <file role="test" name="tests/swoole_process/process_msgqueue.phpt" /> |
1283 | 1278 | <file role="test" name="tests/swoole_process/process_push.phpt" /> |
|
1756 | 1751 | <file role="src" name="thirdparty/swoole_http_parser.c" /> |
1757 | 1752 | <file role="src" name="thirdparty/swoole_http_parser.h" /> |
1758 | 1753 | <file role="src" name="tools/arginfo-check.php" /> |
| 1754 | + <file role="src" name="tools/bootstrap.php" /> |
1759 | 1755 | <file role="src" name="tools/build-library.php" /> |
1760 | 1756 | <file role="src" name="tools/code-generator.php" /> |
1761 | 1757 | <file role="src" name="tools/config-generator.php" /> |
1762 | 1758 | <file role="src" name="tools/constant-generator.php" /> |
1763 | 1759 | <file role="src" name="tools/export.php" /> |
1764 | | - <file role="src" name="tools/functions.php" /> |
1765 | 1760 | <file role="src" name="tools/gen-data.php" /> |
1766 | 1761 | <file role="src" name="tools/get-ip-info.php" /> |
1767 | 1762 | <file role="src" name="tools/pecl-package.php" /> |
|
0 commit comments