Version:4.3.8
重要变更
对于 Docker 镜像,配置目录
/opt/emqx/etc
已经从 VOLUME 列表中删除,这使用户可以更容易地使用更改后的配置来重建镜像。CentOS 7 Erlang 运行系统在 OpenSSL-1.1.1n(之前是 1.0)上重建,在 e4.3.8 之前,客户端使用某些密码套件时,EMQX 将无法成功握手并触发
malformed_handshake_data
异常。CentOS 8 Erlang 运行时系统在 RockyLinux 8 上重新构建。
centos8
将继续保留在包名中以保持向后兼容。
功能增强
规则引擎桥接数据到 Pulsar 新增对 Pulsar proxy 的支持。
为 Kafka 生产者增加 OOM 保护。
新增命令行接口
emqx_ctl pem_cache clean
,允许强制清除 x509 证书缓存,以在证书文件更新后立即重新加载。重构 ExProto,以便匿名客户端也可以显示在 Dashboard 上。
桥接中的主题配置项现在可以使用
${node}
占位符。严格模式下新增对 MQTT 报文中的 UTF-8 字符串有效性检查。设置为
true
时,无效的 UTF-8 字符串将导致客户端连接断开。MQTT-SN 网关支持会话恢复时主动同步注册主题。
将规则引擎浮点型数据的写入精度从为小数点后 10 位提升至 17 位。
EMQX 将在启动时提示如何修改 Dashboard 的初始密码。
错误修复
修复
MQTT Subscriber
模块无法使用双向 SSL 连接的问题。修复
PSKFile
模块启动失败的问题。修复
Kafka 消费组
模块无法处理二进制数据的问题。修复日志追踪功能无法停止的问题。
修复规则引擎持久化数据到 Oracle 和 Lindorm 的动作(仅限同步操作)执行失败时无法触发备选动作的问题。
修复规则引擎数据持久化到 Oracle 失败但成功计数仍然增加的问题。
修复部分 zone 配置无法清除的问题。
修复部分监控告警配置的修改在重启后失效的问题。
修复编解码功能在集群环境下不可用的问题。
修复集群环境下 LwM2M 客户端列表查询 API 返回数据错误导致无法访问 LwM2M 网关模块管理页面的问题。
修复 JT/T 808 位置报告报文解析错误的问题。
修复 el8 安装包在 Amazon Linux 2022 上无法启动的问题,错误内容为
errno=13 Permission denied
。修复某些情况下如果连接进程阻塞,客户端无法重连的问题,现在等待超过 15 秒无响应将强制关闭旧的连接进程。
修复规则引擎资源不可用时查询资源请求超时的问题。
修复热升级运行失败后再次运行出现
{error, eexist}
错误的问题。修复向不存在的主题别名发布消息会导致连接崩溃的问题。
修复通过 HTTP API 在另一个节点上查询 lwm2m 客户端列表时的 500 错误。
修复主题订阅的 HTTP API 在传入非法的 QoS 参数时崩溃的问题。
修复通过多语言协议扩展功能接入的连接进程异常退出时未释放相关资源导致连接计数不更新的问题。
修复
server_keepalive
配置项的值会被错误应用于 MQTT v3.1.1 客户端的问题。修复 Stomp 客户端无法触发
$event/client_connection
事件消息的问题。修复 EMQX 启动时系统内存告警误激活的问题。
修复向 MQTT-SN 客户端成功注册主题时没有重传此前因未注册主题而投递失败的消息的问题。
修复
loaded_plugins
文件中配置了重复的插件时 EMQX 启动输出错误日志的问题。修复 MongoDB 相关功能在配置不正确时输出过量错误日志的问题。
增加对 Dashboard User 与 AppID 的格式检查,不允许出现
/
等特殊字符。将踢除客户端时返回的 DISCONNECT 报文中的原因码更正为
0x98
。代理订阅将忽略为空的主题。