Skip to content

Releases: openswoole/ext-openswoole

v22.1.2

10 Dec 18:12
Compare
Choose a tag to compare

. Add missing c-ares configure opt (@nberlee)
. Fix php_url_encode_hash_ex call for 8.3 (alpine builds) (@thecaliskan)
. Fix cygwin build

v22.1.0 for PHP8.3

08 Nov 11:24
Compare
Choose a tag to compare

. 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

v22.0.0

21 Dec 21:13
Compare
Choose a tag to compare
 . 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

v4.12.1

21 Dec 12:36
b4a458b
Compare
Choose a tag to compare

. Bug fixed: PDO pool client for Postgres
. Compatible with PHP 8.2.0 (PHP-8.2.0)

v4.12.0 for PHP8.2

02 Oct 23:23
Compare
Choose a tag to compare

. 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

v4.11.1

28 Apr 14:55
Compare
Choose a tag to compare

. 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

v4.11.0

22 Mar 21:30
Compare
Choose a tag to compare

. New feature: support http_index_files at HTTP2 server
. HTTP2: allow HTTP2 client and server to set custom HTTP2 settings
. Support static compile
. 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 many bugs in tests and improved the CI and testing (@hauptmedia)
. Build fix for gcc < 4.9 (@dmz-uk)

v4.10.0

24 Jan 22:22
Compare
Choose a tag to compare
  • 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

v4.9.1

26 Dec 20:52
Compare
Choose a tag to compare
  • Bug fixed: Added type validation and value length validation at Swoole Table
  • Fix build with old libcurl, thanks @remicollet

🎄v4.9.0 for Cloud Native

19 Dec 20:25
Compare
Choose a tag to compare
  • OpenMetrics and JSON format server metrics support
  • Added Laravel Octane tests
  • Added CentOS build tests
  • Fix CurlMulti bugs
  • Fix type bug in Process->wait
  • Added more OpenSwoole server metrics
  • Updated $server->stats() API
  • Support disable Postgres with --with-postgres=n