# 附录:更新日志
## ![](https://box.kancloud.cn/2a8e769320842c4d1daa29f0ab811f21_38x38.gif) 2.7.5.1 [更多历史记录请点击>>](https://github.com/tmtbe/SwooleDistributed/releases)
### 由于日志过多此处日志已停止更新 最新更新日志 [请点击>>](https://github.com/tmtbe/SwooleDistributed/releases)
.........
### 2018-01-02
1.新增Actor模型,可创建Actor,加速游戏开发。
Actor::create(TestActor::class, "actor");
Actor::call("actor", "test");
Actor::call("actor", "destroy");
2.修复404页面http头不对的问题
## 2.7.5
### 2017-12-29
1.增加了TimerCallBack,通过CatCache和EventDispatch实现了按时间触发的消息队列,重启服务器可恢复,使用简单。
需要开启CatCache,延迟调用Model方法。
$token = yield TimerCallBack::addTimer(2,TestModel::class,'testTimerCall',[123]);
$this->http_output->end($token);
public function testTimerCall($value,$token)
{
var_dump($token);
TimerCallBack::ack($token);
}
2.修复了集群下的一些错误。
## 2.7.4
### 2017-12-20
#####
1.增加CatCache,仿Redis可落地高速缓存,可以在某些情况下代替Redis,访问QPS比Redis高。可以配置catCache.php,设置自动落地表的时间和位置。可以通过设置CatCache的RPC代理,实现自己的缓存方法调用。
2.完善Process进程管理
3.修复一些bug
## 2.7.3.3
### 2017-12-08
1.backstage可以设置bin_path
2.Install可以新增文件
3.小bug修复
## 2.7.3.1
### 2017-12-04
1.修复Cache存在的bug
2.后台监控整理(VIP)
热烈庆祝群主猫咖店开张~留个纪念,来深圳撸猫啊
## 2.7.3
### 2017-12-04
1.修复Cache存在的bug
2.后台监控整理(VIP)
热烈庆祝群主猫咖店开张~留个纪念,来深圳撸猫啊
## 2.7.2
### 2017-12-01
##### 正式版本
1.修复inotify在虚拟机不工作的问题
2.修复了task的一个内存泄露的隐患
3.task无论是否有返回始终都会有回调
## 2.7.1
### 2017-11-22
1.修复websocket进行reload的时候会丢失request信息的问题
2.修复了setDebug导致报错的问题
3.修复了Task中抛出异常有机会导致报错的问题
4.修复了监控服务器运行时间统计错误的问题
## 2.7.0.3
### 2017-11-16
##### 正式版本
1.“$SYS”服务器监控专用订阅主题,开发者可以订阅$SYS主题获得服务器监控信息
2.服务器间的RPC由单向通知改为双向交互
3.UID现在不限制为int,可以使用String。
4.Controller的onExceptionHandle方法参数类型由Exception改为了Throwable
5.协程逻辑进一步得到了优化
6.增加Timer定时器,该定时器在多进程中共享
7.各进程间,用户进程和worker进程间均可以进行RPC通讯
## 2.7.0-beta
### 2017-11-08
#####
请注意这是一个测试版本,包含了一些前瞻性的功能,虽然经过了初步的测试,但仍然有可能会导致系统BUG的出现
1.“$SYS”服务器监控专用订阅主题,开发者可以订阅$SYS主题获得服务器监控信息
2.服务器间的RPC由单向通知改为双向交互
3.增加Timer定时器,该定时器在多进程中共享,A进程创建了定时B进程可以取消定时,可以在Controller,Model中使用,但请注意有严格使用方式
的规范,使用不当容易导致数据错乱。
4.UID现在不限制为int,可以使用String。
5.Controller的onExceptionHandle方法参数类型由Exception改为了Throwable
6.协程逻辑进一步得到了优化
7.一些细节方面的检修
## 2.6.5
### 2017-10-30
#####
1.Server下的例子均移到App下了
2.ports.php配置增加了method_prefix,event_controller_name,close_method_name,connect_method_name,bussiness.php配置去除了相关配置,详情见 http://docs.youwoxing.net/399763
3.优化服务器信息打印
4.去除了AppServer中的setDebugMode函数,debug模式改为命令行
php start_swoole_server.php start -de(或者-debug)
5.命令行debug模式增加了过滤参数--f,比如下面将只显示包含"[ip] => 127.0.0.1"的信息,可以接多个参数,参数间是或的逻辑关系。
php start_swoole_server.php start -de --f "[ip] => 127.0.0.1"
6.协程task现在可以捕获到task抛出的异常了
7.同步模式Task出错会有详细的报错
8.主题订阅树支持$SYS标识
## 2.6.4
### 2017-10-26
#####
1.修复不开启Mysql时的报错问题
2.修复websocket端口不能兼容使用http中间件的问题
3.修复了GrayLog日志插件配置上的bug
4.增加了coroutineGetAllUids方法,可以获取到所有在线的uid,支持集群
## 2.6.3
### 2017-10-26
##### 影响范围:2.6.x版本,tcp和websocket协议的close和connect回调函数,http版本不受影响。
1. 2.6.x版本用户请尽快升级至2.6.3版本。
2. 2.6.x版本存在客户端close和connect回调无法被正确执行的问题,请升级2.6.3版本修复。
## 2.6.2
### 2017-10-25
####
##### 运行 composer update升级
1.修复AMQPTTASK bug
2.修复MQTT Client bug
3.修复CONSUL 配置 bug
## 2.6.1 正式版本发布
### 2017-10-18
#### 正式版本,更新此版本需要重新设置配置文件,主要在于ports.php配置需要添加中间件。
1.AppServer开启debug模式可以看到请求调用链,贯穿请求过程中的强大Context http://docs.youwoxing.net/425321
2.AOP的支持
3.Controller和Model开放__construct,可以设置特殊AOP代理
4.协程调度器重新梳理优化
5.添加中间件处理模块 http://docs.youwoxing.net/425118
6.默认添加了上海时区
7.server.php中增加了allow_ServerController,设置为false时将不能访问Server包下的Controller,建议线上填写false
8.fix ws多端口报错bug
9.fix 循环loader引发的死循环问题
10.fix 用户进程调用mysql,redis的错误问题
11.fix 细微bug
## 2.6.1-beta
### 2017-10-16
1.Process中start方法改为了虚函数,不需要被继承了,start方法中也可以使用协程。
2.AppSerevr开启debug模式可以看到调用链
3.报错会打印调用链的运行状态
4.增加了基础的AOP模式
## 2.5.6-beta
### 2017-10-11
#### 这是一个测试版本,增加了中间件,和深度优化了协程调度。
1.ports.php中添加了middlewares字段可以自定义中间件模块
2.修复了process中使用协程的问题
## 2.5.5
### 2017-09-27
1.getCloseControllerName改名为getEventControllerName
2.添加getConnectMethodName
## 2.5.4
### 2017-09-26
#### 设计问题废除了AppServer中的onUidCloseClear方法。
#### 增加了getCloseControllerName与getCloseMethodName方法。
## 2.5.3
### 2017-09-26
#### SD框架正式支持SSL。
#### 通过Ports.php配置文件配置HTTPS,WSS。
```php
$config['ports'][] = [
'socket_type' => PortManager::SOCK_HTTP
'socket_name' => '0.0.0.0',
'socket_port' => 8081,
'pack_tool' => 'LenJsonPack',
'route_tool' => 'NormalRoute',
'socket_ssl' => true,
'ssl_cert_file' => $ssl_dir . '/ssl.crt',
'ssl_key_file' => $ssl_dir . '/ssl.key',
];
```
## 2.5.2
### 2017-09-25
1.Mysql支持RAW模式
```php
$selectMiner = $this->mysql_pool->dbQueryBuilder->select('*')->from('account');
$selectMiner = $selectMiner->where('', '(status = 1 and dec in ("ss", "cc")) or name = "kk"', Miner::LOGICAL_RAW);
```
2.修复onOpenServiceInitialization中不能使用mysql的bug
## 2.5.1
### 2017-09-15
1.AMQP异步任务处理系统
2.MQTT简易服务器
## [更多历史记录请点击>>](https://github.com/tmtbe/SwooleDistributed/releases)
- Introduction
- SD 3.X文档连接
- 导言
- 用户案例
- 基于Swoole扩展分布式全栈开发框架
- 选择SD框架助力企业开发
- 捐赠SwooleDistributed项目
- 框架性能报告
- 更新日志
- VIP服务福利
- 安装与配置
- 【推荐】全自动安装部署
- 环境要求
- 使用Composer安装/更新SD框架
- 通过Docker安装
- 代码结构
- 启动命令
- 服务器配置
- 服务器基础配置server.php
- 客户端协议配置client.php
- business.php
- log.php
- 微服务及集群配置consul.php
- fileHeader.php
- mysql.php
- redis.php
- 定时任务配置timerTask.php
- 服务器端口配置ports.php
- catCache.php
- 验证服务启动成功
- 微服务-Consul
- 日志工具-GrayLog
- 集群-Cluster
- 内核优化
- 入门教学
- 开发流程
- 开发前必读
- 开发规范
- 基本流程
- 框架入口
- Model数据模型
- Controller控制器
- 协程
- 协程基础
- 迭代器
- 调度器
- 使用协程的优势
- 通过协程的方法屏蔽异步同步的区别
- Select多路选择器
- 协程Sleep
- 通用协程方法
- 设置超时
- 设置无异常
- 设置降级函数
- initAsynPools
- dump
- 封装器与路由器
- 封装器
- sendToUid
- 路由器
- sendToUids
- 对象池
- 扩展组件
- 中间件
- Redis使用介绍
- RedisAsynPool
- Redis具体使用
- sendToAll
- RedisRoute
- Redis+Lua
- Mysql使用介绍
- MysqlAsynPool
- Mysql返回值
- 如何获取构建的mysql语句
- 如何执行一个SQL
- 如何执行事务
- stopTask
- Mysql具体使用
- 异步客户端
- Loader
- MqttClient
- model
- SdTcpRpcPool
- task
- HttpClientPool
- view
- TcpClientPool
- AMQP
- initialization
- Memory
- destory
- Cache
- Lock
- Pool
- EventDispatcher
- Process
- Cluster
- TimerTask
- Reload
- Consul
- Context
- 自定义进程
- 进程间RPC
- $http_input
- CatCache
- $http_output
- TimerCallBack
- 专题
- HTTP专栏
- TCP专栏
- 基础知识
- WebSocket专栏
- 微服务
- Consul配置
- RPC
- REST
- AMQP异步任务系统
- MQTT简易服务器
- Docker化以及资源编排
- 快速搭建公司内部统一的开发环境
- 使用HTTPS/WSS
- 订阅/发布
- 游戏专题
- 类介绍
- AppServer
- clearState
- onOpenServiceInitialization
- SwooleDistributedServer
- get_instance
- kickUid
- bindUid
- unBindUid
- coroutineUidIsOnline
- coroutineCountOnline
- setTemplateEngine
- isWebSocket
- isTaskWorker
- getSocketName
- initAsynPools
- addAsynPool
- getAsynPool
- getServerAllTaskMessage
- Controller
- onExceptionHandle
- send
- sendToUid
- sendToUids
- sendToAll
- sendToGroup
- close
- getContext
- defaultMethod
- $redis_pool
- $mysql_pool
- $request_type
- $fd
- $uid
- $client_data
- $request
- $response
- $loader
- $logger
- $server
- $config
- Model
- initialization
- destory
- View
- Task
- stopTask
- HttpInput
- postGet
- post
- get
- getPost
- getAllPostGet
- getAllHeader
- getRawContent
- cookie
- getRequestHeader
- server信息
- getRequestMethod
- getRequestUri
- getPathInfo
- HttpOutput
- setStatusHeader
- setContentType
- setHeader
- end
- setCookie
- endFile
- 单元测试