Event-driven asynchronous and concurrent networking engine with high performance for PHP.
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 tcp/http/websocket/http2 server
- coroutine tcp/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
License: Apache2.0
Version | Release | Download |
5.1.1 | 2023-11-26 | swoole-5.1.1.tgz |
5.1.0 | 2023-09-29 | swoole-5.1.0.tgz |
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 |
Version | Message |
5.1.1 |
- Fixed memory leak issue in HTTP coroutine client - Fixed the issue of can not hook pdo_odbc - Fixed the error in executing socket_import_stream() - Fixed the issue with Context::parse_multipart_data() unable to handle empty request body - Fixed the issue with PostgreSQL coroutine client where the parameters are not working - Fixed the bug where curl crashes during destruction - Fixed the compatibility issue between Swoole 5.x and the latest version of xdebug - Fixed the problem of class not found error caused by coroutine switching during the process of class autoloading - Fixed the issue of not being able to compile Swoole on OpenBSD |
5.1.0 |
- Support pdo_pgsql coroutine hook - Support pdo_odbc coroutine hook - Support pdo_oci coroutine hook - Support pdo_sqlite coroutine hook - Add configuration for PDO connection pools for pdo_pgsql, pdo_odbc, pdo_oci, pdo_sqlite - Improved performance of Http\Server, can increase up to 60% in extreme cases - Fixed the memory leak caused by each request of the WebSocket coroutine client - Fixed the issue where graceful shutdown of the HTTP coroutine server was not causing the client to exit - Fixed the issue where adding the --enable-thread-context option during compilation was causing Process::signal() to not work - Fixed the issue where the connection count was being calculated incorrectly when a process exited abnormally in SWOOLE_BASE mode - Fixed the incorrect signature of the stream_select() function - Fixed the case sensitivity issue with the MIME information in files - Fixed the spelling mistake in Http2\Request::$usePipelineRead, which was causing a warning to be thrown in PHP 8.2 environment - Fixed the memory leak issue in SWOOLE_BASE mode - Fixed the memory leak issue caused by setting the expiration time of a cookie in Http\Response::cookie() - Fixed the connection leak issue in SWOOLE_BASE mode - Fixed the function signature issue of php_url_encode in Swoole under PHP 8.3 - Fixed the issue with unit testing options - Optimized and refactored the code - Fix compatibility with PHP 8.3 |
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 |