Releases
v4.2.10
twose
released this
20 Dec 12:59
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
You can’t perform that action at this time.