[ANNOUNCEMENT] swoole-4.3.0 (stable) Released.
| From: | PECL Announce | Date: | Wed, 06 Mar 2019 02:57:09 +0000 |
| Subject: | [ANNOUNCEMENT] swoole-4.3.0 (stable) Released. | ||
| Groups: | php.pecl.dev | ||
| Request: | Send a blank email to pecl-dev+get-15800@lists.php.net to get a copy of this message | ||
The new PECL package swoole-4.3.0 (stable) has been released at https://pecl.php.net/.
Release notes
-------------
New Features
---
+
Co::getContext to get the coroutine context object
([RFC-1018](https://github.com/swoole/rfc-chinese/issues/45)) (@twose)
+ Co::getPcid to get the parent coroutine ID
([RFC-1017](https://github.com/swoole/rfc-chinese/issues/41)) (@twose)
+ Co::exists to know if a coroutine exists (@twose)
+ Runtime Coroutine Hook supports stream_select (#2358) (@matyhtf)
+ max_wait_time configuration support in BASE mode (#2282) (@shiguangqi)
+ Support for one-way delivery tasks in the Master/Manager/User process
([RFC-1015](https://github.com/swoole/rfc-chinese/issues/38)) (@matyhtf)
+ Co\Socket has two new APIs recvAll and sendAll to ensure
complete receive/send data until completion or error (3700cbb) (@twose)
+ Process supports the coroutine mode, please refer to ([Use Coroutine in
Process](https://wiki.swoole.com/wiki/page/p-process_coro.html))
+ Process->exportSocket to export Co\Socket object (91d3621) (@matyhtf)
+ Added Server->getCallback method to get the callback function of the specified
name of the Server (@matyhtf)
Enhancement
---
* The default max number of connections is 100K (instead of 10K) now. If the system configuration is
less than this number, use the system configuration first (3d2e387) (@twose)
* Optimize the code for the Timer module, which now runs faster and accepts any number
of arguments (#2347) (@twose)
* Co::stats will show more information such as the number of events, the number of
registered signals, the number of AIO tasks, etc. (@matyhtf)
* Co::getBackTrace with no params is equivalent to debug_backtrace
(@twose)
* Co::listCoroutines is renamed to Co::list, but the original name is
still reserved as an alias (Backward compatibility) (@twose)
* Table::exist, Server::exist are renamed to exists, but the
original name is still reserved as aliases (Backward compatibility) (@twose)
* Redis will automatically authenticate and select the corresponding database when it is
automatically reconnected. Add API: getOptions, getAuth,
getDBNum (#2303) (fdac8a3) (@windrunner414 & @twose)
* The default Socket buffer size on FreeBSD should be 2M (750a29c) (@twose)
* Server->stats will show worker_dispatch_count which can get the
number of requests submitted by the master to the current process. The number of requests in the
queue can be got by worker_dispatch_count - worker_request_count (a353808) (@matyhtf)
* Remove Nghttp2 dependencies, no longer need to install it, configuring compilation
parameters to open
* Coroutines now have no max nesting level limitation (there are no real nesting relations between
coroutines) (5458cbc) (@twose)
* When the coroutine reaches the max limitation, the HTTP server will return a 503 error indicating
that the service is temporarily unavailable (ebd377f) (@twose)
* defer will now accept a parameter whose value is the return value at the end of the
coroutine
([example](https://github.com/swoole/swoole-src/commit/ef978b3b432615b0f392958145d999f4e66584eb))
(@twose)
Fixed
---
* Fixed error when the task method passed a null argument (#2366) (@twose)
* Fixed Http client send big data incomplete (#2360) (@twose)
* Fixed the bug that unprocessed data in the buffer was lost when the TCP client used the eof
protocol (a59ae39) (@twose)
* Fixed async security of Server Reload (022f859) (@matyhtf)
* Fixed the index value of the connection iterator (b066146) (@twose)
* Fixed the bug that Set-Cookie special characters are too long to be outputed (#2368) (@mabu233
& @twose)
* Fixed the bug that Http client did not decode the cookie (duplicated encode when sent) (069ca5d)
(@twose)
* Fixed Http client download with timeout lead to coredump (#2377) (@matyhtf & @twose)
* Fixed __call and call_user_func* lead to coredump when calling MySQL
client method (#2387) (@matyhtf)
* Fixed coredump when Http2 client header name passed in a number (#2375) (@mabu233)
* Fixed Swoole\Event::dispatch behavior not as expected (#2390) (@matyhtf)
* Fixed Socks5 proxy handshake failed (94ef96c) (@twose)
* Fixed a memory read error caused by a connection failure in a low-version Linux kernel (5adf625)
(@matyhtf & @twose)
* Fixed the bug that the server used the timer in the BASE single-process mode not work (82eca13)
(@twose)
* Fixed compilation failure due to unstable ZendAPI in low-version (768b8a7) (@shiguangqi)
* Fixed EINVAL when calling sendto (#2395) (@junwei)
Unsupported
---
- Create server or customs process after using async file IO are not allowed
- Create server or customs process in coroutine are not allowed
Removed
---
- Websocket\Server->exists only shows if the connection exists. Please use the
isEstablished method to get if it is a Websocket client.
- Remove the swoole.fast_serialize configuration item
- Removed the PHP Warning when the Co\Client method return failed
- Remove the Server->gzip method
- Remove PicoHttpParser support
Remove async modules
---
Remove all async modules, separate asynchronous extensions to
[async-ext](https://github.com/swoole/async-ext):
- Async functions
- MySQL
- Redis
- Http\Client
- Memory\Pool
- MsgQueue
- RingQueue
Package Info
-------------
Event-driven asynchronous and concurrent networking engine with high performance for PHP.
- event-driven
- coroutine
- asynchronous non-blocking
- multi-thread reactor
- multi-process worker
- multi-protocol
- millisecond timer
- built-in http/websocket/http2 server
- coroutine http/websocket client
- coroutine mysql client
- coroutine redis client
- coroutine read/write file system
- coroutine dns lookup
- support IPv4/IPv6/UnixSocket/TCP/UDP
- support SSL/TLS encrypted transmission
Related Links
-------------
Package home: https://pecl.php.net/package/swoole
Changelog: https://pecl.php.net/package-changelog.php?package=swoole
Download: https://pecl.php.net/get/swoole-4.3.0.tgz
Authors
-------------
shen zhe <shenzhe163@gmail.com> (developer)
Han Tianfeng <mikan.tenny@gmail.com> (lead)