Skip to content

v4.2.10

Compare
Choose a tag to compare
@twose twose released this 20 Dec 12:59
· 4695 commits to master since this release
  • Refactor Coroutine Http Client, developers no longer need to care if the connection is broken unless the network is abnormal (auto reconnect)
  • The coroutine switch adds some operations, because PDO changes the global error handler at IO request time
  • Support for creating coroutines using internal C functions
  • Allow closed sockets across coroutines
  • Improve server-side SSL certificate verification
  • Enhanced coroutine iterators and stack traces
  • swoole_event_wait is always in the first place in the shutdown function list (#2144)
  • Unset properties of built-in objects are not allowed, otherwise coredump may be raised
  • For most built-in classes, clone and serialization are not allowed.
  • Enhanced coroutine redis, now it can use setOption to adjust the configuration after connecting and auto-reconnect like phpredis
  • Fixed task wait memory leak
  • Fixed epoll error core dump when waiting for writable event on coroutine socket
  • Unified coroutine socket timeout (see: https://wiki.swoole.com/wiki/page/p-socket_timeout.html)
  • More friendly warning info
  • Fixed the enable coroutine bug in the task process
  • Fixed defer function not executed when meeting exception
  • Fixed a bug about the global buffer was not copied when the write yield
  • Fixed Http proxy (#2195) (#2205)
  • Fixed Channel push timeout bug (#2226)
  • Fixed Http Client websocket mask (#2206)
  • Fixed atomic wait in MacOS (#2198)
  • Fixed MySQL client recv huge data more than the max length of a single package (#2208) (57fc849) (76179fa)
  • Fixed swoole_get_local_mac not supported on macOS (#2199)
  • Fixed php_http_parser bug when meeting the wrong header name (5e91557)
  • The default sock property value is -1 (0 is STDIN)
  • Remove the short name of Co\Server, This name is reserved for future coroutine services
  • All asynchronous classes are marked as deprecated
  • Remove Timer maximum time limit
  • It is not allowed to fork a process in a coroutine