CHANGELOG.md 20.6 KB
Newer Older
如梦技术's avatar
如梦技术 已提交
1 2 3
# 变更记录

## 发行版本
浅梦2013's avatar
浅梦2013 已提交
4

浅梦2013's avatar
浅梦2013 已提交
5 6 7 8
### v2.2.3 - 2023-07-23
- :sparkles: mqtt server http api publish 不按 clientId 进行路由(无实际意义),而是按 topic,规则改为同 emqx。
- :sparkles: mqtt server http api publish 触发 onMessage 消息监听。

如梦技术's avatar
如梦技术 已提交
9
### v2.2.2 - 2023-06-17
如梦技术's avatar
如梦技术 已提交
10 11 12 13
- :sparkles: mica-mqtt-client 心跳包日志受 debug 控制
- :sparkles: mica-mqtt-broker 的集群改为 redis stream 实现。
- :bug: 修复 starter ssl truststorePass 配置,github #6 感谢 `@zkname` 反馈

浅梦2013's avatar
浅梦2013 已提交
14 15
### v2.2.1 - 2023-05-28
- :zap: mica-mqtt-client 共享订阅更好的兼容 emqx 高版本,gitee #I786GU
如梦技术's avatar
如梦技术 已提交
16
- :arrow_up: 依赖升级
浅梦2013's avatar
浅梦2013 已提交
17

如梦技术's avatar
如梦技术 已提交
18
### v2.2.0 - 2023-05-14
如梦技术's avatar
如梦技术 已提交
19
- :sparkles: MqttPublishMessage payload 参数均由 `ByteBuffer` 改为 `byte[]`,简化代码,方便使用。
如梦技术's avatar
如梦技术 已提交
20 21
- :bug: 修复 高并发场景下取消订阅时报 ConcurrentModificationException github #5 感谢 `@yinyuncan` 反馈

22
### v2.1.2 - 2023-04-26
如梦技术's avatar
如梦技术 已提交
23
- :sparkles: mica-mqttx-client 支持 `reconnect(String ip, int port)` 转移到其他服务,订阅保留,连接成功时自动重新订阅。感谢 `@powerxie` 反馈
24
- :sparkles: 优化 `TopicUtil#getTopicFilter()` topic 占位符替换。
如梦技术's avatar
如梦技术 已提交
25
- :sparkles: 调整 mica-mqtt-client-spring-boot-starter 启动时机。`MqttClientCustomizer` 支持从数据库中获取配置。感谢 `@powerxie` 反馈
26
- :memo: 修复迁移指南**ssl配置**文档错误
如梦技术's avatar
如梦技术 已提交
27
- :bug: 修复包长度计算错误,压测下协议解析异常 gitee #I6YOMD 感谢 `@powerxie` 反馈
28

29
### v2.1.1 - 2023-04-08
如梦技术's avatar
如梦技术 已提交
30
- :sparkles: mica-mqtt-server http-api 不再强制依赖 `fastjson` 还支持 `Jackson``Fastjson2``Gson``hutool-json` 和自定义, `@皮球` 反馈 gitee #I6O49D。
31 32
- :sparkles: mica-mqtt-codec 删除 `net.dreamlu.iot.mqtt.codec.ByteBufferUtil`,2.1.0 漏删。
- :sparkles: mica-mqtt-codec 兼容 qos大于0,messageId == 0,做 qos 降级处理,`@那一刹的容颜` 反馈,详见 gitee #I6PFIH
如梦技术's avatar
如梦技术 已提交
33 34 35
- :sparkles: mica-mqtt-codec maxClientIdLength 默认改为 64,gitee #I6P2CG
- :sparkles: mica-mqtt-client 优化链接时的遗嘱消息构建,默认为 qos0。`@tan90` 反馈 gitee #I6BRBV
- :bug: mqtt-server 修复 mqtt.js websocket 空包问题,感谢群友反馈。
浅梦2013's avatar
浅梦2013 已提交
36
- :bug: mqtt-server 修复 websocket mqtt 包长度判断问题。
如梦技术's avatar
如梦技术 已提交
37
- :arrow_up: 依赖升级
38

如梦技术's avatar
如梦技术 已提交
39 40 41
### v2.1.0 - 2023-03-05
- :sparkles: 【不兼容】调整接口参数,方便使用
- :sparkles: 【不兼容】底层重构调整
浅梦2013's avatar
浅梦2013 已提交
42 43
- :sparkles: 兼容更多 Spring boot 版本,支持 `2.1.0.RELEASE` 以上版本。
- :sparkles: ssl 支持双向认证 gitee #I61AHJ 感谢 @DoubleH 反馈
如梦技术's avatar
如梦技术 已提交
44 45 46 47
- :bug: 修复遗嘱消息判断 gitee #I6BRBV 感谢 @tan90 反馈。
- :bug: 修复错别字 gitee #I6F2PA 感谢 @hpz 反馈
- :arrow_up: 依赖升级

如梦技术's avatar
如梦技术 已提交
48 49 50 51
### v2.0.3 - 2022-09-18
- :sparkles: 完善 ssl 方法,方便使用。
- :arrow_up: 依赖升级,避免依赖导致的 bug。

浅梦2013's avatar
浅梦2013 已提交
52
### v2.0.2 - 2022-09-13
如梦技术's avatar
如梦技术 已提交
53
- :bug: 彻底修复解码异常: `BufferUnderflowException`
浅梦2013's avatar
浅梦2013 已提交
54

如梦技术's avatar
如梦技术 已提交
55
### v2.0.1 - 2022-09-12
如梦技术's avatar
如梦技术 已提交
56
- :sparkles: 优化 MqttWebServer 配置。
如梦技术's avatar
如梦技术 已提交
57
- :sparkles: mica-mqtt-example 添加华为云iot连接示例。
如梦技术's avatar
如梦技术 已提交
58
- :sparkles: mica-mqtt-example 改为使用 tinylog。
如梦技术's avatar
如梦技术 已提交
59
- :bug: 修复解码异常: `BufferUnderflowException`
如梦技术's avatar
如梦技术 已提交
60

如梦技术's avatar
如梦技术 已提交
61 62 63 64
### v2.0.0 - 2022-09-04
- :sparkles: mica mqtt server 完善方法,方便使用。
- :sparkles: 切换到自维护的 java8 t-io,注意:升级了 t-io 部分类名变更。

浅梦2013's avatar
浅梦2013 已提交
65
### v1.3.9 - 2022-08-28
如梦技术's avatar
如梦技术 已提交
66
- :sparkles: mica-mqtt server 添加消息拦截器,gitee #I5KLST
浅梦2013's avatar
浅梦2013 已提交
67
- :sparkles: mica-mqtt client、server ack 优化和完善,可自定义 ackService。
68
- :sparkles: mica-mqtt client stater MqttClientTemplate 完善,统一调整客户端示例。
浅梦2013's avatar
浅梦2013 已提交
69 70 71 72 73
- :sparkles: mica-mqtt client 优化客户端心跳和心跳日志优化。
- :sparkles: mica-mqtt client 订阅代码优化。
- :sparkles: mica-mqtt codec 代码优化。
- :sparkles: test 代码优化,更加符合 junit5 规范。
- :bug: mqtt client Qos2 修复。
如梦技术's avatar
如梦技术 已提交
74

浅梦2013's avatar
浅梦2013 已提交
75 76 77 78 79 80 81
### v1.3.8 - 2022-08-11
- :sparkles: mica-mqtt codec 代码优化。
- :sparkles: mica-mqtt server 使用 Spring event 解耦消息监听。
- :sparkles: mica-mqtt client stater,@MqttClientSubscribe topic 支持其他变量 ${productKey} 自动替换成 +。
- :memo: 添加演示地址
- :bug: 修复 mica-mqtt client 心跳发送问题。gitee #I5LQXV 感谢 `@iTong` 反馈。

如梦技术's avatar
如梦技术 已提交
82 83 84 85 86 87 88
### v1.3.7 - 2022-07-24
- :sparkles: 添加 mica-mqtt jfinal client 和 server 插件。
- :sparkles: mica-mqtt server 代码优化,useQueueDecode 默认为 true。 
- :sparkles: mica-mqtt client 监听回调代码优化。
- :memo: 添加赞助,让你我走的更远!!!
- :arrow_up: 依赖升级。

如梦技术's avatar
如梦技术 已提交
89
### v1.3.6 - 2022-06-25
浅梦2013's avatar
浅梦2013 已提交
90 91
- :sparkles: mica-mqtt 统一调整最大的消息体和一次读取的字节数。
- :sparkles: mica-mqtt client 简化 ssl 开启。
如梦技术's avatar
如梦技术 已提交
92 93
- :sparkles: mica-mqtt server 添加默认的账号密码配置。
- :arrow_up: 依赖升级
浅梦2013's avatar
浅梦2013 已提交
94

如梦技术's avatar
如梦技术 已提交
95
### v1.3.4 - 2022-06-06
浅梦2013's avatar
浅梦2013 已提交
96 97 98 99 100
- :sparkles: mica-mqtt starter 使用 Spring event 解耦 mqtt client 断连事件。
- :sparkles: mica-mqtt server `IMqttConnectStatusListener#offline` 方法添加 `reason` 断开原因字段。
- :sparkles: 添加赞助计划。**捐助共勉,让你我走的更远!!!**
- :bug: 修复 http api 响应问题。

如梦技术's avatar
如梦技术 已提交
101
### v1.3.3 - 2022-05-28
如梦技术's avatar
如梦技术 已提交
102 103
- :sparkles: mica-mqtt 优化线程池。
- :sparkles: mica-mqtt 添加 Compression 压缩接口。
如梦技术's avatar
如梦技术 已提交
104 105 106
- :sparkles: mica-mqtt 添加 kafka TimingWheel 重构 ack。
- :sparkles: mica-mqtt server 添加 `MqttClusterMessageListener` 方便集群消息处理。
- :sparkles: mica-mqtt client 优化客户端取消订阅逻辑,gitee #I5779A 感谢 `@杨钊` 同学反馈。
如梦技术's avatar
如梦技术 已提交
107
- :arrow_up: 升级 fastjson 到 1.2.83。
如梦技术's avatar
如梦技术 已提交
108

如梦技术's avatar
如梦技术 已提交
109 110 111 112
### v1.3.2 - 2022-05-09
- :sparkles: mica-mqtt topic 匹配完善。
- :sparkles: mica-mqtt 订阅、发布时添加 topicFilter、topicName 校验。

如梦技术's avatar
如梦技术 已提交
113 114 115 116
### v1.3.1 - 2022-05-08
- :sparkles: mica-mqtt-broker 默认开启 http 和 basic auth。
- :sparkles: mica-mqtt server 添加服务端共享订阅接口,方便开源之夏学生参与。
- :sparkles: mica-mqtt server 添加 IMqttSessionListener。
如梦技术's avatar
如梦技术 已提交
117 118
- :sparkles: mica-mqtt server publish 保留消息存储。
- :sparkles: mica-mqtt server 统一 http 响应模型、优化 http 请求判断。
如梦技术's avatar
如梦技术 已提交
119 120 121 122
- :sparkles: mica-mqtt server 优化 MqttHttpRoutes,添加获取所有路由的方法。
- :sparkles: mica-mqtt server 完善 Result 和 http api。
- :sparkles: mica-mqtt server http api 添加 endpoints 列表接口。
- :sparkles: mica-mqtt client 添加同步连接 connectSync 方法。
如梦技术's avatar
如梦技术 已提交
123 124 125
- :sparkles: mica-mqtt client 优化 bean 依赖,减少循环依赖可能性。
- :bug: 重构 mqtt topic 匹配规则,提升性能减少内存占用,修复 gitee #I56BTC
- :arrow_up: spring boot、mica 版本升级
如梦技术's avatar
如梦技术 已提交
126

如梦技术's avatar
如梦技术 已提交
127
### v1.3.0 - 2022-04-17
128 129 130
- :sparkles: mica-mqtt mqtt-server 简化,默认多设备可以直接互相订阅和处理消息。
- :sparkles: mica-mqtt server、client 添加 `tioConfigCustomize` 方法,方便更大程度的自定义 TioConfig。
- :sparkles: 拆分 mica-mqtt-client-spring-boot-starter 和 mica-mqtt-server-spring-boot-starter gitee #I4OTC5
如梦技术's avatar
如梦技术 已提交
131
- :sparkles: mica-mqtt-client-spring-boot-example 添加重连动态更新 clientId、username、password 示例。
132 133 134 135 136
- :sparkles: mica-mqtt server 添加根据踢出指定 clientId 的 http api 接口。
- :sparkles: mica-mqtt server IMqttConnectStatusListener api 调整,添加用户名字段。
- :sparkles: mica-mqtt server IMqttMessageListener 不再强制要求实现。
- :sparkles: 使用 netty IntObjectHashMap 优化默认 session 存储。
- :sparkles: 添加 github action,用于自动构建开发阶段的 SNAPSHOT 版本。
如梦技术's avatar
如梦技术 已提交
137
- :sparkles: 示例项目拆分到 example 目录,mica-mqtt client、server starter 拆分到 starter 目录。
138
- :arrow_up: 依赖升级.
如梦技术's avatar
如梦技术 已提交
139

如梦技术's avatar
如梦技术 已提交
140 141 142 143 144 145
### v1.2.10 - 2022-03-20
- :sparkles: mica-mqtt server 添加 MQTT 客户端 keepalive 系数 `keepalive-backoff`
- :sparkles: mica-mqtt client、server 调整发布的日志级别为 debug。
- :sparkles: mica-mqtt client 优化 javadoc。
- :sparkles: mica-mqtt client 重连时,支持重新设置新的鉴权密码。

如梦技术's avatar
如梦技术 已提交
146 147 148 149 150 151
### v1.2.9 - 2022-03-06
- :sparkles: mqttServer#publishAll() 日志级别调整 gitee #I4W4IS
- :sparkles: @MqttClientSubscribe 支持 springboot 配置 gitee #I4UOR3
- :sparkles: mica-mqtt client 代码优化
- :sparkles: mica-mqtt-spring-boot-example 拆分

152 153 154 155 156
### v1.2.8 - 2022-02-20
- :sparkles: mica-mqtt server 优化连接 connect 日志。
- :sparkles: mica-mqtt server 代码优化。
- :sparkles: mica-mqtt server 添加 statEnable 配置,默认关闭,开启 Prometheus 监控,需要设置为 true。
- :sparkles: mica-mqtt client 添加 statEnable 配置,默认关闭。
如梦技术's avatar
如梦技术 已提交
157
- :sparkles: mica-mqtt client 优化默认线程池。
158

如梦技术's avatar
如梦技术 已提交
159 160 161 162 163
### v1.2.7 - 2022-02-13
- :sparkles: mica-mqtt-spring-boot-starter 完善。
- :sparkles: mica-mqtt client 考虑一开始就没有连接上服务端的情况。
- :sparkles: mica-mqtt client 添加 isConnected 方法
- :sparkles: mica-mqtt client、server connectListener 改为异步
164
- :sparkles: mica-mqtt server ChannelContext 添加用户名,使用 (String) context.get(MqttConst.USER_NAME_KEY) 获取。
如梦技术's avatar
如梦技术 已提交
165 166 167 168
- :sparkles: websocket ssl 配置
- :sparkles: 尝试新版 graalvm
- :bug: 修复多个 mica mqtt client 消息id生成器隔离。

如梦技术's avatar
如梦技术 已提交
169 170 171
### v1.2.6 - 2022-01-19
- :sparkles: mica-mqtt-client 支持 `$share``$queue` 共享订阅

如梦技术's avatar
如梦技术 已提交
172
### v1.2.5 - 2022-01-16
如梦技术's avatar
如梦技术 已提交
173 174 175 176 177 178 179 180
- :sparkles: mica mqtt server 调整发布权限规则。
- :sparkles: mica mqtt server 自定义接口的异常处理。
- :sparkles: mica mqtt server 放开 tio 队列配置。
- :sparkles: mica mqtt client publish 添加一批 byte[] payload 参数方法。
- :sparkles: mica-mqtt-model DefaultMessageSerializer 重构,**不兼容**
- :memo: 添加日志,避免遗忘。
- :bug: http websocket 都不开启并排除 tio-websocket-server 依赖时 gitee  #I4Q3CP

如梦技术's avatar
如梦技术 已提交
181 182 183 184 185
### v1.2.4 - 2022-01-09
- :fire: mica-mqtt-core 排除一些不需要的依赖。
- :fire: mica-mqtt-core http websocket 都不开启时,可以排除 tio-websocket-server 依赖。
- :sparkles: mica-mqtt-core MqttTopicUtil 改名为 TopicUtil。
- :sparkles: mica-mqtt-spring-boot-starter `@MqttClientSubscribe` 支持 IMqttClientMessageListener bean。
186
- :sparkles: mica-mqtt-spring-boot-starter `@MqttClientSubscribe` 支持自定义 MqttClientTemplate Bean。
如梦技术's avatar
如梦技术 已提交
187 188 189 190
- :sparkles: mica-mqtt-spring-boot-starter 完善。
- :sparkles: mica-mqtt-codec 缩短 mqtt 版本 key。
- :bug: mica-mqtt-codec 修复 will message。

浅梦2013's avatar
浅梦2013 已提交
191
### v1.2.3 - 2022-01-03
192
- :sparkles: mica-mqtt-spring-boot-starter `@MqttClientSubscribe` value 改为数组,支持同时订阅多 topic。
浅梦2013's avatar
浅梦2013 已提交
193 194 195 196 197 198 199 200 201
- :sparkles: mica-mqtt-core 缓存 TopicFilter Pattern。
- :sparkles: mica-mqtt-core 优化客户端和服务端订阅逻辑 `IMqttServerSubscribeValidator` 接口调整。
- :sparkles: mica-mqtt client 添加批量订阅。
- :sparkles: mica-mqtt client 添加批量取消订阅。
- :sparkles: mica-mqtt client 添加客户端是否断开连接。
- :sparkles: mica-mqtt client 客户端断开重新订阅时支持配置批次大小。
- :bookmark: mica-mqtt client 订阅 `IMqttClientMessageListener` 添加 `onSubscribed` 默认方法。
- :arrow_up: mica-mqtt-example 升级 log4j2 到 2.17.1

如梦技术's avatar
如梦技术 已提交
202 203 204
### v1.2.2 - 2021-12-26
- :sparkles: mica-mqtt server 添加发布权限接口,无权限直接断开连接,避免高级别 qos 重试浪费资源。
- :sparkles: mica-mqtt-broker 优化节点信息存储
如梦技术's avatar
如梦技术 已提交
205 206
- :sparkles: mica-mqtt client 重复订阅优化。感谢 `@一片小雨滴`
- :sparkles: mica-mqtt client 抽象 IMqttClientSession 接口。
如梦技术's avatar
如梦技术 已提交
207 208 209
- :bug: 修复重构 AbstractMqttMessageDispatcher 保持跟 mica-mqtt-broker 逻辑一致 gitee #I4MA6A 感谢 `@胡萝博`
- :arrow_up: mica-mqtt-example 升级 log4j2 到 2.17.0

210 211
### v1.2.1 - 2021-12-11
- :sparkles: mica-mqtt 优化 topic 匹配。
浅梦2013's avatar
浅梦2013 已提交
212 213
- :sparkles: mica-mqtt client disconnect 不再自动重连 gitee #I4L0WK 感谢 `@willianfu`
- :sparkles: mica-mqtt client 添加 retryCount 配置 gitee #I4L0WK 感谢 `@willianfu`
214 215
- :sparkles: mica-mqtt-model message 添加 json 序列化。
- :sparkles: mica-mqtt-broker 重新梳理逻辑。
浅梦2013's avatar
浅梦2013 已提交
216
- :bug: mica-mqtt-spring-boot-starter 在 boot 2.6.x 下 bean 循环依赖 gitee #I4LUZP 感谢 `@hongfeng11`
217 218
- :bug: mica-mqtt server 同一个 clientId 踢出时清除老的 session。
- :bug: mica-mqtt server 集群下一个 clientId 只允许连接到一台服务器。
如梦技术's avatar
如梦技术 已提交
219
- :bug: mica-mqtt client 修复 IMqttClientConnectListener onDisconnect 空指针。
浅梦2013's avatar
浅梦2013 已提交
220
- :memo: mica-mqtt-model 添加 README.md
221

如梦技术's avatar
如梦技术 已提交
222
### v1.2.0 - 2021-11-28
如梦技术's avatar
如梦技术 已提交
223 224 225
- :sparkles: mqtt-mqtt-core client IMqttClientConnectListener 添加 onDisconnect 方法。gitee #I4JT1D 感谢 `@willianfu` 同学反馈。
- :sparkles: mica-mqtt-core server IMqttMessageListener 接口调整,不兼容老版本。
- :sparkles: mica-mqtt-broker 调整上下行消息通道。
如梦技术's avatar
如梦技术 已提交
226 227 228
- :sparkles: mica-mqtt-broker 添加节点管理。
- :sparkles: mica-mqtt-broker 调整默认的 Message 序列化方式,不兼容老版本。
- :sparkles: mica-mqtt-broker 优化设备上下线,处理节点停机的情况。
如梦技术's avatar
如梦技术 已提交
229
- :sparkles: 抽取 mica-mqtt-model 模块,方便后期支持消息桥接,Message 添加默认的消息序列化。 gitee #I4ECEO
如梦技术's avatar
如梦技术 已提交
230
- :sparkles: mica-mqtt-model 完善 Message 消息模型,方便集群。
如梦技术's avatar
如梦技术 已提交
231 232
- :bug: mica-mqtt-core MqttClient 修复 ssl 没有设置,感谢 `@hjkJOJO` 同学反馈。
- :bug: 修复 websocket mqtt.js 需要拆包 gitee #I4JYJX 感谢 `@Symous` 同学反馈。
如梦技术's avatar
如梦技术 已提交
233
- :memo: 完善 mica-mqtt-broker README.md,添加二开说明。
如梦技术's avatar
如梦技术 已提交
234 235 236 237
- :memo: 统一 mica-mqtt server ip 文档。
- :memo: 更新 README.md
- :arrow_up: 升级 tio 到 3.7.5.v20211028-RELEASE AioDecodeException 改为 TioDecodeException,

如梦技术's avatar
如梦技术 已提交
238
### v1.1.4 - 2021-10-16
239 240 241
- :sparkles: 添加 uniqueId 概念,用来处理 clientId 不唯一的场景。详见:gitee #I4DXQU
- :sparkles: 微调 `IMqttServerAuthHandler` 认证,添加 uniqueId 参数。

如梦技术's avatar
如梦技术 已提交
242 243 244 245 246 247 248
### v1.1.3 - 2021-10-13
- :sparkles: 状态事件接口 `IMqttConnectStatusListener` 添加 ChannelContext 参数。
- :sparkles: 从认证中拆分 `IMqttServerSubscribeValidator` 订阅校验接口,添加 ChannelContext、clientId 参数。
- :sparkles: 认证 `IMqttServerAuthHandler` 调整包、添加 ChannelContext 参数。
- :sparkles: 完善文档和示例,添加默认端口号说明。
- :arrow_up: 依赖升级

249
### v1.1.2 - 2021-09-12
如梦技术's avatar
如梦技术 已提交
250 251 252 253 254
- :sparkles: 添加 mica-mqtt-broker 模块,基于 redis pub/sub 实现 mqtt 集群。
- :sparkles: mica-mqtt-broker 基于 redis 实现客户端状态存储。
- :sparkles: mica-mqtt-broker 基于 redis 实现遗嘱、保留消息存储。
- :sparkles: mqtt-server http api 调整订阅和取消订阅,方便集群处理。
- :sparkles: mica-mqtt-spring-boot-example 添加 mqtt 和 http api 认证示例。
255
- :sparkles: 添加 mqtt 5 所有 ReasonCode。
如梦技术's avatar
如梦技术 已提交
256 257
- :sparkles: 优化解码 PacketNeededLength 计算。
- :bug: 修复遗嘱消息,添加消息类型。
如梦技术's avatar
如梦技术 已提交
258 259
- :bug: 修复 mqtt-server 保留消息匹配规则。

如梦技术's avatar
如梦技术 已提交
260 261 262 263 264 265 266 267 268 269
### v1.1.1 - 2021-09-05
- :sparkles: mqtt-server 优化连接关闭日志。
- :sparkles: mqtt-server 优化订阅,相同 topicFilter 订阅对 qos 判断。
- :sparkles: mqtt-server 监听器添加 try catch,避免因业务问题导致连接断开。
- :sparkles: mqtt-server 优化 topicFilters 校验。
- :sparkles: mqtt-client 优化订阅 reasonCodes 判断。
- :sparkles: mqtt-client 监听器添加 try catch,避免因业务问题导致连接断开。
- :sparkles: mqtt-client 添加 session 有效期。
- :sparkles: 代码优化,减少 codacy 上的问题。
- :bug: mqtt-server 修复心跳时间问题。
270
- :bug: 修复 mqtt-server 多个订阅同时匹配时消息重复的问题。
如梦技术's avatar
如梦技术 已提交
271 272 273
- :bug: mqtt-client 优化连接处理的逻辑,mqtt 连接之后再订阅。
- :bug: 修复 MqttProperties 潜在的一个空指针。

浅梦2013's avatar
浅梦2013 已提交
274 275 276 277 278 279 280 281
### v1.1.0 - 2021-08-29
- :sparkles: 重构,内置 http,http 和 websocket 公用端口。
- :sparkles: 添加 mica-core 中的 HexUtil。
- :sparkles: 添加 PayloadEncode 工具。
- :sparkles: ServerTioConfig#share 方法添加 groupStat。
- :sparkles: 考虑使用 udp 多播做集群。
- :sparkles: MqttServer、MqttServerTemplate 添加 close、getChannelContext 等方法。
- :sparkles: 重构 MqttServerConfiguration 简化代码。
如梦技术's avatar
如梦技术 已提交
282
- :sparkles: 配置项 `mqtt.server.websocket-port` 改为 `mqtt.server.web-port`
浅梦2013's avatar
浅梦2013 已提交
283 284
- :memo: 添加 JetBrains 连接。
- :bug: 修复默认的消息转发器逻辑。
285
- :bug: 修复 websocket 下线无法触发offline gitee #I47K13 感谢 `@willianfu` 同学反馈。 
浅梦2013's avatar
浅梦2013 已提交
286

如梦技术's avatar
如梦技术 已提交
287 288 289 290 291 292 293 294 295 296 297
### v1.0.6 - 2021-08-21
- :sparkles: 添加订阅 topicFilter 校验。
- :sparkles: 优化压测工具,更新压测说明,添加 tcp 连接数更改文档地址。
- :sparkles: mica-mqtt-example 添加多设备交互示例。
- :sparkles: 优化 mica-mqtt-spring-boot-example。
- :sparkles: 优化 deploy.sh 脚本。
- :bug: 优化解码异常处理。
- :bug: 修复心跳超时处理。
- :arrow_up: 升级 spring boot 到 2.5.4

### v1.0.5 - 2021-08-15
如梦技术's avatar
如梦技术 已提交
298 299
- :bug: 修复编译导致的 java8 运行期间的部分问题,NoSuchMethodError: java.nio.ByteBuffer.xxx

浅梦2013's avatar
浅梦2013 已提交
300 301 302 303 304 305
### v1.0.3 - 2021-08-15
- :sparkles: mica-mqtt server 添加 websocket mqtt 子协议支持(支持 mqtt.js)。
- :sparkles: mica-mqtt server ip,默认为空,可不设置。
- :sparkles: mica-mqtt client去除 CountDownLatch 避免启动时未连接上服务端卡住。
- :sparkles: mica-mqtt client 添加最大包体长度字段,避免超过 8092 长度的包体导致解析异常。
- :sparkles: mica-mqtt client 添加连接监听 IMqttClientConnectListener。
306 307
- :sparkles: mica-mqtt 3.1 协议会校验 clientId 长度,添加配置项 maxClientIdLength。
- :sparkles: mica-mqtt 优化 mqtt 解码异常处理。
浅梦2013's avatar
浅梦2013 已提交
308 309
- :sparkles: mica-mqtt 日志优化,方便查询。
- :sparkles: mica-mqtt 代码优化,部分 Tio.close 改为 Tio.remove。
浅梦2013's avatar
浅梦2013 已提交
310
- :sparkles: mica-mqtt-spring-boot-example 添加 Dockerfile,支持 `spring-boot:build-image`
浅梦2013's avatar
浅梦2013 已提交
311 312 313
- :sparkles: 完善 mica-mqtt-spring-boot-starter,添加遗嘱消息配置。
- :arrow_up: 升级 t-io 到 3.7.4。

浅梦2013's avatar
浅梦2013 已提交
314 315 316 317 318 319 320 321 322 323
### v1.0.3-RC - 2021-08-12
- :sparkles: 添加 websocket mqtt 子协议支持(支持 mqtt.js)。
- :sparkles: mqtt 客户端去除 CountDownLatch 避免启动时未连接上服务端卡住。
- :sparkles: mica-mqtt 服务端 ip,默认为空,可不设置。
- :sparkles: 完善 mica-mqtt-spring-boot-starter,添加遗嘱消息配置。
- :sparkles: mqtt 3.1 协议会校验 clientId 长度,添加设置。
- :sparkles: mqtt 日志优化,方便查询。
- :sparkles: 代码优化,部分 Tio.close 改为 Tio.remove。
- :arrow_up: 升级 t-io 到 3.7.4。

浅梦2013's avatar
浅梦2013 已提交
324 325 326 327
### v1.0.2 - 2021-08-08
- :memo: 文档添加集群处理步骤说明,添加遗嘱消息、保留消息的使用场景。
- :sparkles: 去除演示中的 qos2 参数,性能损耗大避免误用。
- :sparkles: 遗嘱、保留消息内部消息转发抽象。
浅梦2013's avatar
浅梦2013 已提交
328
- :sparkles: mqtt server 连接时先判断 clientId 是否存在连接关系,有则先关闭已有连接。
浅梦2013's avatar
浅梦2013 已提交
329 330 331 332 333 334
- :sparkles: 添加 mica-mqtt-spring-boot-example 。感谢 wsq( @冷月宫主 )pr。
- :sparkles: mica-mqtt-spring-boot-starter 支持客户端接入和服务端优化。感谢 wsq( @冷月宫主 )pr。
- :sparkles: mica-mqtt-spring-boot-starter 服务端支持指标收集。可对接 `Prometheus + Grafana` 监控。
- :sparkles: mqtt server 接受连接时,先判断该 clientId 是否存在其它连接,有则解绑并关闭其他连接。
- :arrow_up: 升级 mica-auto 到 2.1.3 修复 ide 多模块增量编译问题。

浅梦2013's avatar
浅梦2013 已提交
335 336 337 338 339 340
### v1.0.2-RC - 2021-08-04
- :sparkles: 添加 mica-mqtt-spring-boot-example 。感谢 wsq( @冷月宫主 )pr。
- :sparkles: mica-mqtt-spring-boot-starter 支持客户端接入和服务端优化。感谢 wsq( @冷月宫主 )pr。
- :sparkles: mica-mqtt-spring-boot-starter 服务端支持指标收集。可对接 `Prometheus + Grafana` 监控。
- :sparkles: mqtt server 接受连接时,先判断该 clientId 是否存在其它连接,有则解绑并关闭其他连接。

浅梦2013's avatar
浅梦2013 已提交
341 342
### v1.0.1 - 2021-08-02
- :sparkles: 订阅管理集成到 session 管理中。
浅梦2013's avatar
浅梦2013 已提交
343
- :sparkles: MqttProperties.MqttPropertyType 添加注释,考虑 mqtt V5.0 新特性处理。
浅梦2013's avatar
浅梦2013 已提交
344 345 346 347
- :sparkles: 添加 Spring boot starter 方便接入,兼容低版本 Spring boot。
- :sparkles: 调研 t-io websocket 子协议。
- :bug: 修复 java8 运行期间的部分问题,NoSuchMethodError: java.nio.ByteBuffer.xxx

浅梦2013's avatar
浅梦2013 已提交
348
### v1.0.1-RC - 2021-07-31
349 350 351 352
- :sparkles: 添加 Spring boot starter 方便接入。
- :sparkles: 调研 t-io websocket 子协议。

### v1.0.0 - 2021-07-29
如梦技术's avatar
如梦技术 已提交
353 354 355 356 357 358 359 360
- :sparkles: 基于低延迟高性能的 t-io AIO 框架。
- :sparkles: 支持 MQTT v3.1、v3.1.1 以及 v5.0 协议。
- :sparkles: 支持 MQTT client 客户端。
- :sparkles: 支持 MQTT server 服务端。
- :sparkles: 支持 MQTT 遗嘱消息。
- :sparkles: 支持 MQTT 保留消息。
- :sparkles: 支持自定义消息(mq)处理转发实现集群。
- :sparkles: 支持 GraalVM 编译成本机可执行程序。