Skip to content

v6.0.0-rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@NathanFreeman NathanFreeman released this 21 Nov 10:52
· 18 commits to master since this release
2e662ed

✨ New Features:

  • Added non-blocking, reentrant coroutine mutex lock, which can be used between processes/threads without blocking them. @NathanFreeman
  • Swoole\Coroutine\Socket::getOption() supports the TCP_INFO option. @matyhtf
  • Swoole\Client synchronous blocking client supports http proxy. @matyhtf
  • Added asynchronous non-blocking TCP/UDP/Unix socket client Swoole\Async\Client. @matyhtf
  • Optimized the Swoole\Redis\Server::format() method to support zero-copy memory, support redis nested structure. @matyhtf

🐛 Bug Fixes:

  • Fixed Fatal error issue caused by PHP-8.4's timeout feature in ZTS mode. @matyhtf
  • Fixed compatibility issue with the exit() hook function for PHP-8.4. @remicollet
  • Fixed the issue where Swoole\Thread::getNativeId() did not work in cygwin. @matyhtf
  • Fixed the issue causing SIGSEGV in Swoole\Coroutine::getaddrinfo() method. @matyhtf
  • Fixed the issue where the runtime TCP module did not support dynamically enabling SSL encryption. @matyhtf
  • Fixed the issue where the HTTP client had an incorrect timeout after running for a long time. @matyhtf
  • Fixed the problem where the mutex lock of Swoole\Table could not be used before the process exited. @matyhtf
  • Fixed the failure of Swoole\Server::stop() when using named parameters. @matyhtf
  • Fixed the crash caused by Swoole\Thread\Map::toArray() not copying the key. @matyhtf
  • Fixed the issue of being unable to delete nested numeric keys in Swoole\Thread\Map. @matyhtf

⭐️ Kernel Optimization:

  • Multi-thread mode SWOOLE_THREAD supports restarting worker threads. @matyhtf
  • Multi-thread mode SWOOLE_THREAD supports starting timers in the Manager thread. @matyhtf
  • Compatible with the curl extension of PHP-8.4. @matyhtf @NathanFreeman
  • Refactored iouring. @matyhtf @NathanFreeman
  • Optimized timers so that synchronous processes do not depend on signals. @matyhtf
  • Optimized the Swoole\Coroutine\System::waitSignal() method to allow listening to multiple signals simultaneously. @matyhtf

😊 Thank you:

  • Thank you for your contributions to Swoole v6.0.0. Wishing everyone good health, happiness, and success in your work.

⛔️ Warning:

  • This version is a pre-release and should not be used in production environments, only in testing environments.

✨️ 新特性:

  • 新增`非阻塞,可重入的互斥协程锁”,该锁可以在进程间/线程间使用,且不会阻塞进程/线程。 @NathanFreeman
  • Swoole\Coroutine\Socket::getOption()支持了TCP_INFO选项。 @matyhtf
  • Swoole\Client同步阻塞客户端支持http代理。 @matyhtf
  • 新增异步非阻塞的TCP/UDP/Unixsocket 客户端Swoole\Async\Client@matyhtf
  • 优化Swoole\Redis\Server::format()方法,支持内存零拷贝,支持redis嵌套结构。 @matyhtf

🐛 Bug修复:

  • 修复因为PHP-8.4在ZTS模式下的超时特性引起的Fatal error问题。 @matyhtf
  • 修复PHP-8.4exit()函数hook@remicollet
  • 修复Swoole\Thread::getNativeId()cygwin无法工作的问题。 @matyhtf
  • 修复Swoole\Coroutine::getaddrinfo()方法会导致SIGSEGV的问题。 @matyhtf
  • 修复runtime tcp模块不支持动态开启SSL加密的问题。 @matyhtf
  • 修复http客户端长时间运行导致超时时间不正确的问题。 @matyhtf
  • 修复进程退出之前会导致Swoole\Table的互斥锁无法使用的问题。 @matyhtf
  • 修复使用命名参数导致Swoole\Server::stop()执行失败的问题。 @matyhtf
  • 修复Swoole\Thread\Map::toArray()函数未复制key导致崩溃的问题。 @matyhtf
  • 修复Swoole\Thread\Map无法删除嵌套的数字键的问题。 @matyhtf

⭐️ 内核优化:

  • 异步Server多线程模式支持重启工作线程。 @matyhtf
  • 异步Server多线程模式支持在Manager线程中开启定时器。 @matyhtf
  • 兼容PHP-8.4curl扩展。 @matyhtf @NathanFreeman
  • 重构iouring@matyhtf @NathanFreeman
  • 优化定时器,使同步进程不依赖于信号。 @matyhtf
  • 优化Swoole\Coroutine\System::waitSignal()方法,允许同时监听多个信号。 @matyhtf

😊 致谢:

  • 感谢你们为Swoole v6.0.0做出的贡献,祝愿大家身体健康,万事如意,工作顺利。

⛔️ 警告:

  • 目前该版本是预发布版本,禁止在生产环境中使用,只能用于测试环境。