Login | Packages | Support | Bugs 

Return

Changelog for swoole
Release What has changed?
1.9.23 - Fixed occasional crash bugs of SSL server
1.9.22 - Fixed MacOS occasional death cycle problems
- Added Async::exec
- Added tsl_host_name option
1.9.21 - Added Atomic\long, support 64-bit signed long integer
- Optimized the underlying GlobalMemory implementation, support the creation of an unlimited number of atoms, locks, tables
- Prohibit serialization of Swoole module object
- Fixed Http\Client download method fourth argument is invalid
- Fixed FreeBSD platform compiler error report
- Fixed sendfile on the MacOS platform there is a 5 second delay problem
- Added Process::setTimeout
2.0.9 - Merge branch 1.9
- Added Server::taskCo
- Added Coroutine::sleep
1.9.20 - Fixed 32-bit system compilation failed
- Fixed not available on PHP5
1.9.19 - Fixed worker process crash when the Channel::push exceeded 8K and failed to create temporary file
- Fixed MacOS event of shutdown cannot be executed
- Automatically create the task_tmpdir and upload_tmp_dir directories
- Fixed the SSL server to set the ciphers or ecdh_curve problems that cause the crash
- Optimize the performance of the Server::bind method using a spin lock
- Added the reload_async option to control the asynchronous reboot of the switch
- Added the tcp_fastopen option to turn on TCP fast handshake
1.9.18 - Fixed process::signal parent/child process repeatedly registers the same signal that causes the crash
- Optimize EOF protocol logic to reduce 64K stack memory requirements
- Fixed the client to set the HTTP_PROXY agent does not work properly
- Fixed asynchronous reloading a certain probability of missing process problems
- Allow dispatch_func to pass in PHP functions
- Fixed defer interface can not perform in the onWorkerStart callback
- Fixed EOF sync client has received an EAGIAN error when receiving data continuously
2.0.8 - Merge branch 1.9
1.9.17 - Refactor the worker process reload feature
- Added document_root and enable_static_handler option
- Update Server::send method, SSL connections can use sendfile
- Added 27 unit test scripts
1.9.16 - Updated server listen fail to throw Swoole\Exception exception instead of fatal error
- Added Swoole\Async::set log_file option
- Updated the swSocket_bind error log mode and accept the log_level control
- Fixd deadlock when sending large packets in UserProcess
- Added 16 unit test scripts
1.9.15 - Added MySQL client support for transaction processing
- Added static compilation support
- Added MySQL connection timeout support
- Added Redis connection timeout support
- Added Redis password and database options
- Added Atomic->wait/wakeup function, you can use the atomic count to achieve notification and wait function
- Fixed Redis\Server received more than 8K request crashes when the request
- Added 170 unit test scripts
1.9.14 - Update HttpClient, when the connection is overtime or when the server is reset, the callback is not completed
- Update HttpClient, the underlying increase request timeout mechanism
- Update the bottom of the client support mqtt agreement
- Fixed WebSocket server custom handshake method more than the header
- Fixed onTask memory leak
- Fixed HttpServer special circumstances the release of the problem of the crash occurred
- Fixed WebSocket::unpack Passing an empty string causes a problem with parsing errors
1.9.13 - Fixed WebSocket::unpack memory leak
- Fixed server accept blocking in MacOS platform
1.9.12 - Allow the WebSocket client to send empty packets to the server
- Added the callback function cache, reduce the callback function CPU consumption
- Fixed WebSocket client memory leak
- Fixed compiler error when have not SSE instruction
1.9.11 - Fixed WebSocket server onOpen callback memory leak
- Added heartbeat detection support time wheel algorithm
- Added length parameter support for sendfile API
- Added connection timeout supports for asynchronous client
- Optimized performance, reduce branch prediction failure rate
1.9.10 - Fixed compile error with enable-ringbuffer
- Fixed unix socket client cannot connect to server
- Fxied swoole_client::close crash with SWOOLE_KEEP flag on PHP-FPM
1.9.9 - Fixed a problem with the rectifier overflow of the DNS resolver request ID
- Update swoole_table::get method, increase the parameters to support only the value of a field
- Update getClientInfo return value from_id entry to reactor_id
- Fixed the Http2 client POST data when the protocol is faulty
- Fixed swoole_async_dns_lookup target host IP contains 0 when the return value is wrong
- Fixed crash when tcmalloc and jemalloc are enabled
2.0.7 - Added Coroutine::create function, allows user to create coroutine
- Fixed HttpClient crash
1.9.8 - Fix some compilation errors
1.9.7 - Added support for systemd.socket
- Added swoole\http2\client
- Added client support for http-proxy
- Added the swoole_process::close parameter, allowing only one of the pipes to be closed
- Fixed MySQL client crash when the low version gcc is compiled
- Fixed the crash in the BASE mode shutdown
- Fixed openssl-1.1 configuration detection error problem
- Fixed open_eof_split after enabling BASE mode to turn off connections in the onReceive callback function
- Fixed the problem with the Redis \ Server :: format function SET and MAP formatting errors
- Fixed a problem that caused a crash when a string type variable was passed directly when swoole.fast_serialize was enabled
- Update The reactorId variable in the onClose callback is set to -1 when the server actively shuts down the connection
1.9.6 - Added swoole_mysql::escape method to escape special characters in SQL statements
- Added support for openssl-1.1
- Fixed timer crash when more than 10,000 timers were added
- Added swoole_serialize module, PHP7 under high performance serialization library
- Fixed swoole_client->enableSSL method ssl_cert_file and ssl_key_file invalid parameters
- Added swoole_http_server support for POST multi-level KEY
- Fixed listening on UDP port setting onPacket invalid issue
2.0.6 - Fixed http client and redis client conflicts
- Fixed the coroutine client cannot use the SplQueue on PHP5
1.9.5 - Fixed taskWaitMulti special case of file descriptor leak problem
- Added pid_file option to write the master PID to file
- Added listen random port support, OS will automatically be assigned an available port
- Removed DNS cache, removed swoole_clear_dns_cache function
- Added use_async_resolver option to enable real async-io DNS lookup
1.9.4 - Fixed WebSocket server default onRequest method memory leak problem
- Fixed the problem of missing zlib library compilation failures
- Added Client->reuseCount property to query the number of multiplexed sockets
2.0.5 - Added native coroutine
- Added Swoole\Coroutine\Client
- Added Swoole\Coroutine\Http\Client
- Added Swoole\Coroutine\MySQL
- Added Swoole\Coroutine\Redis
- Fixed compile failure with ZTS
- The minimum version requirement upgrade to 5.5
2.0.4 - Added native coroutine
- Added Swoole\Coroutine\Client
- Added Swoole\Coroutine\Http\Client
- Added Swoole\Coroutine\MySQL
- Added Swoole\Coroutine\Redis
1.9.3 - Added extension function args info
- Added package_length_func option
- Added http_client download method
- Fixed issue#965
- Fixed issue#966
- Fixed issue#967
1.9.2 - Fixed zend_mm_heap corrupted on PHP7
- Fixed Async::writeFile parameter FILE_APPEND is invalid on MacOS
- Disabling Async::writeFile Use the FILE_APPEND parameter in LinuxAIO mode
- Added websocket_subprotocol option WebSocket server supports setting Sec-WebSocket-Protocol
- Fixed CentOS 4.3 or lower operating system does not exist O_CLOEXEC causes compilation to fail
- Fixed server tasking_num overflow bugs
- Added ucwords parameter to response header method
1.9.1 - Fixed server cannot shutdown when using addProcess
- Fixed Async::write function does not set the callback function to crash
- Fixed a problem with the Table Iterator missing data
- Added Async::writeFile FILE_APPEND option supports
- Added file lock to Async::write/read function
- Refactor the implementation of the Async::write function, using O_APPEND
- Refactor reopen the reopen log file feature
- Fixed taskWaitMulti unable to return to the results of the successful implementation of the task after a timeout
- Timers use monotonic time to solve the system time to modify the problem caused by timer confusion
1.9.0 - Added Swoole\Redis\Server, redis compatible protocol server framework
- Added Swoole\Mmap, high-performance disk read and write function
- Added Swoole\Client::pipe method
- Added onBufferEmpty and onBufferFull event callback for Swoole\Server
- Added buffer_high_watermark and buffer_low_watermark option for Swoole\Server
- Added swoole_clear_dns_cache function
- Added Swoole\Channel, high performance shared memory queue
- Fixed redis client type method could not return a string
- Fixed an issue when the sync client length protocol package_max_length was invalid
- Fixed low-level version of gcc running under the long-term crash happened
- Fixed invalid websocket_mask for asynchronous WebSocket client
- Fixed a problem where the MySQL client crashed accidentally when there were too many records
- Fixed Mac platform task more than 8K to create a temporary file failed to lead to the problem of undeliverable tasks
- Fixed taskWaitMulti When the process returns more than 8K receive timeout problem
- Fixed atmoic add and sub return value exists data synchronization problems
1.8.13 - Fixed WebSocket\Server automatically merge the incomplete data frame exists security vulnerabilities
- Added the upload_tmp_dir option to set the Http\Server upload file temporary directory
- Added Server->sendMessage automatic stringing function, and now sendMessage PHP variables can be sent to any other work process
- Added Process::alarm high-precision timer
- Added a bug where the protocol length function crashed when the connection was closed
- Fixed swoole_select function in PHP7 can not modify the reference array problem
1.8.12 - Fixed Table Errors caused by iterator errors when deleting elements while traversing data
- Added Http\Client new option websocket_mask controls websocket client enable mask
- Repair Swoole \ Server in BASE mode can not use task_ipc_mode = 3 configuration
- Optimize the performance of Http\Server response body gzip compression
- Fixed Timer::after can only be executed once in the task process
- Added automatic splicing incomplete data frame for WebSocket\Server
- Remove the enable_reuse_port option
- Added Swoole\Async namespace class style api
- Fixed Http\Server lisnten UDP port cannot use onReceive callback function
1.8.11 - Added new package_length_type C(unsigned 8bit)/c(signed 8bit)
- Added package_length_func option, you can use the C/C++ function to parse the packet length
- Added SIGRTMIN signal handler, used to reopen the log file
- Fixed server crash on Cygwin environment
1.8.10 - Fixed Swoole\Http\Client crash when do close connection in the callback function
- Fixed Swoole\Http\Server cannot support more than 1024 concurrent
1.8.9 - Added namespace class alias
- Added Swoole\Http\Client->addFile interface, support upload file
- Added Swoole\Event namespace and class styles
- Added Swoole\Http\Client no ContentLength response
- Added --with-openssl compiler option, can specify the path of the OpenSSL Library
- Fixed Swoole\MySQL memory leak on PHP7
- Fixed Swoole\Redis memory leak on PHP7
- Fixed Swoole\Http\Client memory leak on PHP7
- Fixed Swoole\Http\Server crash when uploading files on PHP7
1.8.8 - Added Swoole\Server\Port->getSocket
- Added Swoole\Server->getClientInfo()['close_errno'] property
- Added Swoole\Event namespace and class styles
- Added Swoole\MySQL character set support
- Added Swoole\Server->taskWaitMulti can perform multiple tasks concurrently
- Added Swoole\Client->getPeerCert method
- Added Swoole\Client->pause and Swoole\Client->resume
- Fixed Swoole\Server->taskwait cannot use in BASE mode
- Fixed Swoole\MySQL client crash when receive more than 250 field query statement
- Fixed Swoole\Server->task third parameter passed Callback Crash at PHP7
- Fixed Swoole\Http\Request->files crash on PHP7 when externally referenced
1.8.7 - Fixed Swoole\Http\Server on PHP7 crash (zdata release request data memory problems)
- Fixed Swoole\Http\Client crash when no have header setting
- Fixed Swoole\MySQL parse unixsocket type host address fail
- Fixed Swoole\Http\Client crash below the Linux-2.6.18 version of the kernel
- Fixed Swoole\MySQL nested callback crash problem on PHP7
- Update Swoole\Server maximum listening port number to 60,000
- Update Swoole\Server main thread use epoll or kqueue
- Fixed swoole_async_dns_lookup crash when hit cache
- Added Swoole\Timer::exists
1.8.6 - Added `swoole_mysql` real async mysql client
- Fixed swoole_client/swoole_http_client/swoole_redis memory leak and crash bug on PHP7
- Remove gcc_aio.c
- Remove swoole_mysqli_get_socket and swoole_mysql_query
- Remove swoole_http_server->setGlobal
- Added swoole_async_dns_lookup result cache
- Optimize websocket server performance
- Added swoole_server->task complete callback parameter
1.8.5 - Fixed swoole_mysql_query insert_id error
- Fixed swoole_websocket_server crash when receiving less than 4 bytes of data
- Added bigint ID support for swoole_mysql_query
- Fixed sync Swoole\Client memory leaks
- Fixed Swoole\Http\Client crash when the connection is closed
1.8.4 - Fixed Swoole\Redis callback function memory leak bugs
- Fixed swoole_mysql_queue function memory leak bugs
- Fixed Swoole\Http\Client memory leak bugs
- Fixed issue #585
- Fixed issue #590
- Added unixsock support for async client
- Added high-precision time for Swoole\Http\Request
1.8.3 - Added swoole_server->getLastError method for getting the last error code
- Added form-data supports for Http2 protocol
- Added COOKIE support for Http2 protocol
- Added SSL/TLS encryption support for http client
- Fixed issue #527
- Fixed issue #553
- Fixed crash when the number of CPU cores than is set reactor_num
- Fixed swoole_client callback function memory leak
- Added support for asynchronous full reload of server security
1.8.2 - Added http2 supports for swoole_http_server
- Added swoole_server->stop method used to stop the worker process
- Added log_level option for swoole_server settings
- Fixed swoole_websocket_server receives data over the issue 64K crashes
- Added multi-port monitor is not set callback function causes the program to crash
- Enhance the SSL/TLS encrypted safety level, now used by default TLS1.2/ECDHA_RSA encryption algorithm
- Fixed onFinish event callbacks memory leak problem
- Fixed the problem task finish can not be used under BASE mode
1.8.1 - Added psr-4 style namespace classes alias
- Added swoole_server->protect methods used to protect the connection will not close by heartbeat thread
- Added swoole_websocker_server::pack and swoole_websocker_server::unpack static method
- Added redis subscribe and publish messages supports
- Added swoole_http_client for gzip content compression support
- Added swoole_client->reuse property
- Fixed async client incidental core dump
- Fixed async client memory leak
- Fixed compile failed with enable-openssl on MacOS
1.8.0 - Fixed swoole_process::signal core dump on PHP7
- Refactor after/tick timer
- Refactor swoole_websocket_server
- Added async redis client
- Added async http/websocket client
- Added swoole_client->reuse property
- Added swoole_server->defer/swoole_event_defer
- Added support for multi-port hybrid protocol
- Added configure option for tcmalloc and jemalloc
- Remove swoole_server->addtimer/swoole_timer_add/swoole_timer_del
- Remove swoole_server->onTimer event callback
- Remove swoole_server->handler
- Update lish.h to version-1.9.9
1.7.22 - Fixed memory leak in PHP7
- Fixed core dump in PHP7
- Added swoole_mysql_query
- Fixed swoole_table->del damage the memory
- Added swoole_websocket_server->exist
- Added swoole_server ssl_client_cert_file settings
- Fixed timer exec_time overflow cause stop
1.7.21 - Fixed memory leak swoole_client synchronous mode occurs when the server closes
- Fixed POST/Upload problem can not handle more than 8K
- Added swoole_http_response->sendfile method for sending large files
- Fixed swoole_client core dump when enable SSL/TLS encrypted
- Added swoole_server->getSocket/swoole_client->getSocket
- Fixed UDP large package in question Worker process occurs dispatch_mode = 1/3 deadlock
- Added swoole_client->sleep/wakeup method for suspend/resume data reception event
- Fixed UDP large package data is abnormal
1.7.20 - Added swoole_http_server HTTP DELETE entity supports
- Added swoole_client support for SSL/TLS tunnel encryption
- Optimized RINIT/RSHUTDOWN
- Fixed the problem of coredump when swoole_websocket_server is not set up onRequest
- Added swoole_server->getClientInfo/getClientList alias
- Fixed swoole_server->finish cannot use in BASE mode
- Added swoole_client ssl certificate supports
- Fixed swoole_http_server memory leak
1.7.19 - Added swoole_atomic module, support for atomic integer operations
- Fixed timer in the system can not recover after the resumption of the operation
- Fixed ssl_server cannot send more than 30K large packages in a slow network
- Added supports for UDP/UDP6/UNIX_DGRAM big packages(64K)
- Fixed addtimer/tick timer can't be used in BASE mode
- Added addProcess in SWOOLE_BASE mode
- Fixed SWOOLE_KEEP core dump
1.7.18 - Added onPacket event callback function
- Added PHP7 support
- Fixed swoole_http_response->header memory leak
- Added swoole_table signed integer support
- Added REUSEPORT support
- Fixed woole_client and swoole_timer memory leak
- Added swoole_server->exist function
1.7.17 - Fixed async swoole_client send data incomplete
- Removed task_dispatch_mode server configuration
- Added pipe_buffer_size server configuration
- Pipeline memory buffer default size is adjusted to 32M
- Http Server Header adjust the maximum length of 128 to 8192
- Fixed swoole_process->pop cannot use
- Fixed taskwait error in MacOS and CygWin
- Added swoole_table->exist
1.7.16 - Fixed swoole_server->addtimer and tick timer conflict
- Added server statistics items request_count and worker_request_count
- Added server connections iterator, foreach traverse server can use all the connections
- Optimize dispatch_mode = 3 model to enhance the efficiency of task assignment
- Added multipart-form http server and upload files support
- Added http server requests query_string
- Fixed invalid parameter problem task_max_request
1.7.15 - Fixed swoole_client waitall parameters failures
- Fixed swoole_table dead loop BUG
- Disable swoole_websocket_server->send method
- Added swoole_table->incr/decr methods
- Added http server gzip compression supports
- Added swoole_server open_eof_split configuration
1.7.14 - Update websocket server onOpen callback params
- Update websocket server onMessage callback params
- Added swoole_server->tick/swoole_timer_tick function
- Fixed onReceive data merge failure
- Added http server gzip compression supports
- Update http server allows sending empty body
1.7.13 - Update server session_list resized to 1M
- Update connection_info from_fd, from_port rename to server_fd, server_port
- Http server performance optimization
- WebSocket server performance optimization
- Added swoole_client->getpeername
- Added swoole_client->getsockname
- Fixed accept dead loop when server have too many connection
- Fixed sequence of onConnect/onReceive events disorder
1.7.12 - Fixed swoole_server tcp buffer error
- Fixed wrong error log
1.7.11 - Fixed udp server called connection_info wrong
- Fixed temporary files task disk space does not release
- Fixed WebSocket onOpen event callback core dump
- Fixed cannot use sendMessage in the task process
- Fixed Websocket server Sec-WebSocket-Accept handshake failed
- Fixed HttpServer in turn the KeepAlive continuous POST data coredump
- Fixed MacOS/FreeBSD error ENOBUFF occurred in a large number of concurrent
- Added HttpServer chunk transmission support
- Added PCRE detection
1.7.10 - Fixed udp server after the reload cycle of death BUG
- Fixed http server POST request segment fault error
- Added non-blocking settings for swoole_process::wait
- Fixed pecl script cannot use
- Fixed swoole_server->sendMessage to fail
- Added swoole_websocket_server
- Added swoole_server->sendto
- Optimization performance for http_server
- Optimization performance for swoole_client and swoole_event
- Added ARM platform support
1.7.9 - Added websocket protocol support
- Added swoole_process::signal
- Added swoole_server->addProcess
- Added swoole_process::name
- Added swoole_server::listen
- Added swoole_server::sendMessage and onPipeMessage event
- Added swoole_event_write
- Added swoole_process->close
- Added swoole_server user/group setting
- Added swoole_server task/finish automatic packing
1.7.8 - Fixed swoole_http_server::on no implementation parent class methods
- Fixed cannot read cookie in swoole_http_server
- Added swoole_http_server support to POST RawContent
- swoole_timer_after interface can pass a user parameter
- swoole_client->recv and onReceive zero copy
- Fixed swoole_table->set cannot be set more than 64K string
- Fixed open_length_check connection memory buffer is not reset bug
- Added dispatch_mode=4/5, dispatch data by client ip and uid
- Event callback function exception error level changed from E_WARNING to E_ERROR
1.7.7 - Added swoole_http_server
- Added swoole_server->after and swoole_timer_after
- Fixed all known issues
1.7.6 - Fixed all known issues
1.7.5 - Added swoole_client->sendfile()
- Added swoole_table
- Remove onMasterConnect/onMasterClose
- Added pipe output buffer
- TCP short connection have 50% performance improvement
1.7.4 - Task process support timer
- Repair UDP error BUG
- Add SSL-server support
- Reload is effective for task_worker.
- When the pipe is filled with poll is waiting for the write, rather than packet loss
- Increase the clang compiler support
- Repair shutdown task_worker and manager abnormal stop
1.7.3 - Fixed pipe_worker zero
- Fixed serv->connect_count wrong
- Fixed length_check dispatch error
- Optimization of large size response packet
1.7.2 - Fixed udp sendto error
- Fixed heartbeat no close connection
- Added swoole_process module
- Added swoole_server::task large package
- Added swoole_server task worker use message queue
- Added messge queue ipc move to swoole_server::set
1.7.1 - Check close fd is not timer_fd
- TCP_DEFER_ACCEPT option
- socket LINGER option
- Fixed eof_check memory error
- Added swoole_event_set
- Added swoole_client out_buffer
- Added socket linger option
- Fixed the swoole_server->close destroy out_buffer bug
- Using php_error_docref
- Fixed swoole_async_dns_lookup warning
1.7.0 - Fixed compile error.
1.6.12 - Added connection out_buffer
- Added async file read/write
- Added async dns lookup
- Added long tcp connection
- Added client timer
- Added swoole_server->sendfile
- Added signalfd usage
- Fixed some bugs
1.6.11 - Disable by default async_mysql
- Disable by default sockets
- Added event onWorkerError
- Added event onWorkerStart for task_worker
- swoole_server->task can assign worker_id
- swoole_server->set() save params to swoole_server::$setting
- swoole_client->send will check data length
- swoole_server->connection_info for udp
1.6.10 - Enabled by default async_mysql
- Add tcp heartbeat mechanism
- UDP send no require from_id
- swoole_client on::Receive and on::Close no need to call recv/close
- Add last_time and connect_time to tcp connection_info
- rebuild data_buffer
1.6.9 - use "pecl package"
1.6.8 - Fix all gcc wanning
- support pecl install
- new function swoole_server_taskwait
- remove *.lo files
1.6.7 - First version for pecl.net

Return

PRIVACY POLICY | CREDITS
Copyright © 2001-2017 The PHP Group
All rights reserved.
Last updated: Thu Mar 26 06:22:20 2015 UTC
Bandwidth and hardware provided by: pair Networks