Coroutine-based concurrency library for PHP
Coroutine-based concurrency library for PHP
- event-driven
- coroutines
- asynchronous non-blocking
- built-in tcp/http/websocket/http2 server
- coroutine tcp/http/websocket client
- coroutine mysql client
- coroutine redis client
- coroutine read/write file system
- coroutine dns lookup
- automatically replace blocking functions to non-blocking
- support IPv4/IPv6/UnixSocket/TCP/UDP
- support SSL/TLS encrypted transmission
License: Apache2.0
Version | Release | Download |
5.0.3 | 2023-05-11 | swoole-5.0.3.tgz |
5.0.2 | 2023-03-02 | swoole-5.0.2.tgz |
5.0.1 | 2022-11-07 | swoole-5.0.1.tgz |
5.0.0 | 2022-08-01 | swoole-5.0.0.tgz |
4.8.13 | 2023-03-02 | swoole-4.8.13.tgz |
Version | Message |
5.0.3 |
- Added --with-nghttp2_dir option, Use the system nghttp2 library - Added unit character supports for byte length or size related options - Fixed memory leak Server task/pipemessage/finish event callback - Added Process\Pool::sendMessage() - Added support for max-age to Http\Response:cookie() method - No longer thrown error log when http header conflicts - No longer thrown error log when the server connection is closed - Fixed memory leak caused by Server send_yield |
5.0.2 |
- Support for configuring http2 default settings - Support xdebug under 8.1 or higher - Refactor curl native to support a curl handle with multiple sockets, such as the curl ftp protocol - Added $who parameter to Process::setPriority/getPriority - Added Coroutine\Socket::getBoundCid() - Adjusted the default value of Coroutine\Socket::recvLine/recvWithBuffer $length parameter to 65536 - Refactor cross-coroutine shutdown feature to make memory release safer and solve the crash problem when a fatal error occurs - Added socket property for Coroutine\Client, Coroutine\Http\Client, Coroutine\Http2\Client, allow direct operation of socket resources - Support Http\Server to send empty file to http2 client - Support graceful restart for Coroutine\Http\Server. When server shuting down, the client connection will no longer be forcibly closed, and only stop listening to new requests - Added pcntl_rfork pcntl_sigwaitinfo to list of unsafe function, will be closed when coroutine container starts - Refactor Server process manager with base mode, the behavior of shutdown and reload will be consistent with base or process mode |
5.0.1 |
* Supported PHP-8.2 * Improved coroutine exception handling, compatible with ext-soap * Fixed parameter compatibility of Coroutine::printBackTrace() and debug_print_backtrace() * Added pgsql coroutine client LOB supports * Fixed Event::add() support for sockets resources * Fixed compile error when no zlib * Improved websocket client, upgrade header contains websocket instead of equal * Optimized http client, disable keep-alive when server sends connection close * Optimized http client, prohibit adding the Accept-Encoding header without compression library - Improved debug info, set password as sensitive parameter under PHP-8.2 - Fixed crash when unpack server task parsed to an unexpected string - Enhanced Server::taskWaitMulti(), no blocking in coroutine environment - Fixed the problem that adding a timer less than 1ms is forced to 0 - Fixed crash when using table::getMemorySize() before add columns - Optimized log function, no longer print screen when writing to the log file fails |
5.0.0 |
Added --- * Added max_concurrency option for Server * Added max_retries option for Coroutine\Http\Client * Added name_resolver global option * Added upload_max_filesize option for Server * Added Coroutine::getExecuteTime() * Added SWOOLE_DISPATCH_CONCURRENT_LB dispatch_mode for Server Changed --- * Enhanced type system, added types for parameters and return values of all functions * Optimized error handling, all constructors will throw exceptions when fail * Adjusted the default mode of Server, the default is SWOOLE_BASE mode * Migrate pgsql coroutine client to core * Contains all bugfixes from the 4.8.x branch Removed --- - Removed PSR-0 style class names - Removed the automatic addition of Event::wait() in shutdown function - Removed Server::tick/after/clearTimer/defer aliases - Removed --enable-http/--enable-swoole-json, adjusted to be enable by default Deprecated --- - Deprecated Coroutine\Redis and Coroutine\MySQL |
4.8.13 |
- Fixed parameter compatibility of Coroutine::printBackTrace() and debug_print_backtrace() - Fixed parsing length is wrong when the websocket server enable http2 and websocket protocols at the same time - Refactor curl native to support a curl handle with multiple sockets, such as the curl ftp protocol - Support for configuring http2 default settings - Improved websocket client, upgrade header contains websocket instead of equal - Optimized http client, disable keep-alive when server sends connection close - Optimized http client, prohibit adding the Accept-Encoding header without compression library - Improved debug info, set password as sensitive parameter under PHP-8.2 - Fixed memory leak when send_yield occurs in Server::send(), Http\Response::end(), Http\Response::write(), WebSocket/Server::push() - Fixed crash when using table::getMemorySize() before add columns - Support HTTP Range Requests |