Version | Message |
22.1.2 |
. Add missing c-ares configure opt (@nberlee) . Fix php_url_encode_hash_ex call for 8.3 (alpine builds) (@thecaliskan) . Fix cygwin build |
22.1.1 |
. Add missing c-ares configure opt (@nberlee) . Fix php_url_encode_hash_ex call for 8.3 (alpine builds) (@thecaliskan) . Fix cygwin build |
22.1.0 |
. PHP 8.3 support . Latest curl support . Fix php_url_encode_hash_ex call for 8.3 @remicollet . Add missing header for GCC 13 @remicollet @erfanmola . Implement draft statements object LOB for postgresql @mrVrAlex . Bug fix for postgresql |
22.0.0 |
. Rename `co\run` to be `co::run` . Security update: Remove embedded PHP codes, hot code execution with eval and remove `ini` option `enable_library` . Added server Constants class: OpenSwoole\Constant . Use \OpenSwoole as the main namespace, although \Swoole is still supported . Pre-check server options . Security update: New server option `enable_server_token`, disabled by default . Built-in Psr7 API support added . Boost ASM library upgrade . New Psr API: $server->setHandler(\Psr\Http\Server\RequestHandlerInterface $handler) . New Psr API: $server->handle(callable $callback) . Redis Server API: $server->setHandler() -> $server->addCommand() . Redis Server API: $server->getHandler() -> $server->getCommand() . Disable sockets_*, exec, shell_exec, `gethostbyname` coroutines hook by default, remove HOOK_BLOCKING_FUNCTION and HOOK_SOCKETS in HOOK_ALL; Enable them explicitly if they are used . Remove deprecated custom coroutine MySQL client, prefer the hooked native coroutine MySQL client . Remove deprecated custom coroutine Redis client, prefer the hooked native coroutine Redis client . Remove deprecated experimental coroutine HTTP server . Remove deprecated experimental Redis protocol server . Remove deprecated function `swoole_timer_set()` and `Timer->set()` . Remove deprecated function `swoole_event_rshutdown` . Remove deprecated function `Swoole\Runtime::fread`, `Swoole\Runtime::fwrite`, `Swoole\Runtime::fgets` . Remove deprecated function `Coroutine::suspend`, use `Coroutine::yield` . Remove deprecated function `Coroutine::getuid`, use `Coroutine::getCid` . Remove deprecated function `Coroutine::listCoroutines`, use `Coroutine::list` . Remove deprecated function `Table::exist`, use `Table::exists` . Remove deprecated function `Table::delete`, use `Table::del` . Remove deprecated function `Server->connection_info()`, use `Server->getClientInfo()` . Remove deprecated function `Server->connection_list()`, use `Server->getClientList()` . Remove deprecated function `Server->exist`, use `Server->exists` . Move global constants under namespace: SWOOLE_CHANNEL_OK -> `OpenSwoole\Coroutine\Channel::CHANNEL_OK`, SWOOLE_CHANNEL_TIMEOUT -> `OpenSwoole\Coroutine\Channel::CHANNEL_TIMEOUT`, SWOOLE_CHANNEL_CLOSED -> `OpenSwoole\Coroutine\Channel::CHANNEL_CLOSED`... . Move global constants under namespace: SWOOLE_DEFAULT_MAX_CORO_NUM -> `OpenSwoole\Coroutine::DEFAULT_MAX_CORO_NUM`... . Remove `$server->getLastError()`, use `OpenSwoole\Util::getLastErrorCode()` . Remove `$process->name()`, use `OpenSwoole\Util::setProcessName()` . New Util API class: added `OpenSwoole\Util` class . Remove option `swoole.use_shortname`, remove `Co\*` alias. `go`, `chan`, `defer`, `co::*` are available by default . Remove `swoole_async_dns_lookup_coro`, use `OpenSwoole\Coroutine::dnsLookup` or `OpenSwoole\Coroutine\System::dnsLookup`; remove `swoole_async_set`, use `OpenSwoole\Until::setAio([])` or `$server->set([])` for `aio` options; . Rename PHP `ini` options from `swoole.*` to be `openswoole.*` . Remove `swoole_clear_dns_cache`, use OpenSwoole\Coroutine::clearDNSCache` or `OpenSwoole\Coroutine\System::clearDNSCache` . Remove custom unserialize functions: `swoole_substr_unserialize` and `swoole_substr_unserialize` . Remove `swoole_client_select` and `swoole_select`, use `OpenSwoole\Client::select` . Remove `swoole_last_error`, use `OpenSwoole\Util::getLastErrorCode` . `OpenSwoole\Event::wait();` should be added explicitly to wait for all the IO events . Use `\OpenSwoole\Server::SIMPLE_MODE` and `\OpenSwoole\Server::POOL_MODE` at server structure config . Fix: ignore user set illegal HTTP header at server . Fix: ignore user set encoding header at client if it is not supported . Remove hard requirements and links of json and remove compile flag `--enable-swoole-json` . Rename compile flag `--enable-swoole-curl` to be `--enable-hook-curl` . Fix convert double sec to long microseconds in hooked usleep by @shandyDev |
4.12.1 |
. Bug fixed: PDO pool client for Postgres . Compatible with PHP 8.2.0 (PHP-8.2.0) |
4.12.0 |
. New server option: `enable_server_token`, disable by default . Compatible with PHP 8.2 latest changes (PHP-8.2-RC3) . Fix: ignore user set encoding if it is not supported . Fix: Remove illegal http header . Fix convert double sec to long microseconds in hooked usleep by @shandyDev |
4.11.1 |
. Fix postgres client metaData api bugs . Fix cookie parsing bug causing cookie errors . Fix memory leak in swoole_stream_select . Fix compatible issues with old libcurl on centos 7 . Fix compatible issues for PHP 8.0 and Fedora, Centos 7 |
4.11.0 |
. HTTP2 server: allow HTTP2 client and server to set custom HTTP2 settings . Support static compile with PHP CLI . New feature: support http_index_files at HTTP2 server . CI: Remove PHP7.2/7.3 support as they are not supported by the PHP team . Bug fixed: Fix HTTP2 client and respect max_concurrent_streams settings . HTTP2: Update HTTP2 default max concurrent streams per connection to be 1280 . Bug fixed: Respect server side settings at HTTP2 client . Optimize signal-driven timer code (@hauptmedia) . Bug fixed: $server->getWorkerPid does not return the correct worker pid when being called from another worker context . Bug fixed: init window size in http2 server . Deprecated: redis server . Bug fixed: close HTTP2 connection when there are errors . Close connection when a process is stopped and it is managing http2 sessions . Bug fixed: fix user land timer is not stopping when the server is shutting down . Postgres client: return empty array if the result set is empty . Postgres client: provide constant enums for $connection->resultStatus . Postgres client: added new API $pg->reset() and $pg->status() (@RedChops) . CI and tests: fixed many bugs in tests and improved the CI and testing (@hauptmedia) . Build fix for gcc version lower than 4.9 (@dmz-uk) |
4.10.0 |
- New feature: Co::select, the non-blocking coroutine channel selector - New feature: HTTP2 SSE server-sent events - New feature: Improved channel stats - Bug fixed: Argument data type fixed at sleep() and usleep() API by @Hailong - Bug fixed: HTTP2 and TLS bug fixes |
4.9.1 |
- Bug fixed: Added type validation and value length validation at Swoole Table - Fix build with old libcurl, thanks @remicollet |
4.9.0 |
- OpenMetrics and JSON format server metrics support - Added more OpenSwoole server metrics - Updated $server->stats() API - Fix CurlMulti bugs - Fix type bug in Process->wait - Added Laravel Octane tests - Added CentOS build tests - Support disable Postgres with --with-postgres=n |
4.8.1 |
- Fix build with postgresql 9 on RHEL - Fix data type bugs |
4.8.0 |
- Official PHP 8.1 stable support 🎉 - Native support for Postgres coroutine client, enable --with-postgres[=DIR] - New HTTP server option: max_request_execution_time - Support strict type hinting and fix the type of arguments, return value - Bug fixed: data loss bug in Swoole table - Bug fixed: compile issues when enabling OpenSSL on macOS - Throw \Swoole\Exception when Swoole table is too small to avoid data loss - Deprecation warning added: Swoole\Coroutine\Server - Deprecation warning added: Swoole\Coroutine\Barrier - Deprecation warning added: Swoole\Coroutine\Http\Server - Deprecation warning added: SWOOLE_HOOK_CURL, use SWOOLE_HOOK_NATIVE_CURL |
4.7.2 |
1. Extension name changed to be openswoole 2. Bug fixed: PHP8.0 compatible issues 3. Bug fixed: PHP8.0 and Symfony HTTP client compatible issues 4. Added SW_ERROR_WEBSOCKET_PACK_FAILED error code 5. Updated Server id to be OpenSwoole-v4.x.x, Client id to be OpenSwoole/v4.x.x 6. Bug fixed: HTTP2 flow control bugs 7. Support ssl_ciphers in Swoole Client 8. Bug fixed: curl_multi_select CURL_SOCKET_TIMEOUT bug 9. Bug fixed: openswoole_postgresql compile issues on MacOS |
4.7.1 |
New feature --- * Introduce a new concurrency mode (#4330) (@doubaokun) Enhancement --- * Supported query /etc/hosts for System::dnsLookup (#4341) (#4349) (@zmyWL) (@NathanFreeman) * Supported boost context support for mips64 (#4358) (@dixyes) * Supported CURLOPT_RESOLVE option for SWOOLE_HOOK_CURL (swoole/library#107) (@sy-records) * Supported CURLOPT_NOPROGRESS for SWOOLE_HOOK_CURL (swoole/library#117) (@sy-records) * Supported boost context support for riscv64 (#4375) (@dixyes) Fixed --- * Fixed memory error on shutdown (PHP-8.1) (#4325) (@twose) * Fixed not serializable classes for 8.1.0beta1 (#4335) (@remicollet) * Fixed multiple coroutines recursively creating directories (#4337) (@NathanFreeman) * Fixed native curl bugs (#4360) (@matyhtf) * Fixed PDOStatement::bindParam() expects parameter 1 to be string (swoole/library#116) (@sy-records) |