6.7 KiB
v5.0.21
增强
-
#10022 开始发布Rocky Linux 9(与Enterprise Linux 9兼容)和 MacOS 12 软件包。
-
#10139 将
extraVolumeMounts
添加到 EMQX Helm Chart 中,它将能够挂载用户自己的文件到 EMQX 实例中,例如在 #9052 中提到的 ACL 规则文件。 修复了 issue #10116 -
#9893 当使用
clean_start=false
标志连接时,EMQX 将会从消息队列中过滤出被封禁客户端发出的消息,使它们不能被下发给订阅者。 此前被封禁客户端发出的消息仍可能在这一场景下被下发给订阅者。 -
#9986 在 helm chart 中新增了 MQTT 桥接 ingress 的配置参数;并删除了旧版本遗留的
mgmt
配置。 -
#10123 改进
/bridges
API 的性能。 此前,当集群中节点数目较多或节点忙时,该 API 可能出现请求超时的情况。 -
#9998 出于安全原因,在身份验证错误日志中模糊 HTTP 请求正文。
修复
-
#10013 修复 API
/gateways/:name/clients
返回值的类型结构错误。 -
#10014 如果 API 查询的节点不存在,将会返回 404 而不再是 400。
-
#10026 现在只有显式调用
/bridges/:id/metrics
接口时才可以获得指标数据,而其他 API 接口将不再返回相关数据。 -
#10027 在 docker 中启动时,允许使用
EMQX_NODE__NAME
环境变量来配置节点名。 在此修复前,只能使EMQX_NODE_NAME
。 -
#10050 确保 Bridge API 对不存在的资源一致返回
404
状态代码。 -
#10052 优化 EMQX daemon 模式启动启动失败的日志。
在进行此更改之前,当 EMQX 用
start
命令启动失败时,用户很难理解出错的原因。 所知道的仅仅是节点未能在预期时间内启动,然后被指示以console
式引导节点以获取一些日志。 然而,节点实际上可能正在运行,这可能会导致console
模式因不同的原因而失败。此次修复后,启动脚本会发出诊断:
- 如果无法从
ps -ef
中找到节点,则指示用户在erlang.log.*
中查找信息。 - 如果发现节点正在运行但不响应 ping,则建议用户检查节点主机名是否有效并可达。
- 如果节点响应 ping 但 EMQX 应用程序未运行,则很可能是一个错误。在这种情况下,建议用户报告一个Github issue。
- 如果无法从
-
#10055 修复配置项
mqtt.max_awaiting_rel
更新不生效问题。 -
#10056 修复
/bridges
API 的 HTTP 状态码。- 当删除被活动中的规则依赖的数据桥接时,将返回
400
而不是403
。 - 当数据桥接未启用时,调用操作(启动|停止|重启)将返回
400
而不是403
。
- 当删除被活动中的规则依赖的数据桥接时,将返回
-
#10066 改进
/briges_probe
和[/node/:node]/bridges/:id/:operation
API 调用的错误信息,使之更加易读。并将 HTTP 状态代码设置为400
而不是500
。 -
#10074 检查
PUT /authorization/sources/:type
中的类型是否与请求正文中的type
相符。 -
#10079 修正对
shared_subscription_strategy
的描述。 -
#10085 如果向
/authorization/sources/:source[/*]
请求的source
不存在,将一致地返回404
。 -
#10098 当 MongoDB 授权模块查询数据库时,在日志文件中发生的崩溃与错误已经被修复。
-
#10100 修复响应较慢的客户端在使用增强认证时可能出现崩溃的问题。 此前,当客户端使用增强认证功能,但发送 Auth 报文较慢或 Auth 报文丢失时会导致客户端进程崩溃。
-
#10107 现在对桥接的 API 进行调用时,如果
bridge-id
不存在,将会返回404
,而不再是400
。 然后,还修复了这种情况下,在节点级别上进行 API 调用时,可能导致崩溃的问题。 另外,在启动某个桥接时,会先检查指定桥接是否已启用。 受影响的接口有:- [cluster]
/bridges/:id/:operation
, - [node]
/nodes/:node/bridges/:id/:operation
, 其中operation
是[start|stop|restart]
之一。 此外,对于节点操作,EMQX 将检查节点是否存在于集群中,如果不在,则会返回404
,而不再是501
。
- [cluster]
-
#10117 修复节点加入集群时,由于缺少集其它节点已安装的插件所导致的错误。 在此修复后,加入集群的节点将从其它节点复制所有必须的插件。
-
#10118 修复
replicant
节点因为手动加入 EMQX 集群导致的相关问题。 此前,手动执行加入集群-离开集群
后,replicant
节点再次加入集群后只有重启节点才能正常运行。 -
#10119 修复
statsd.server
配置为空字符串时启动崩溃的问题。 -
#10124 增加了 MongoDB 的默认心跳周期,以减少 MongoDB 日志文件记录过多的风险。
-
#10130 修复通过环境变量配置启动的 EMQX 节点无法通过HTTP API获取到正确的配置信息。 比如:
EMQX_STATSD__SERVER='127.0.0.1:8124' ./bin/emqx start
后通过 Dashboard看到的 Statsd 配置信息是乱码。 相关 PR: HOCON:234. -
#10132 修复
systemctl stop emqx
命令没有正常停止 jq、os_mon 组件所产生一些错误日志。 -
#10144 为 emqx 可执行文件加入
-setcookie
标志,以避免由于 home 目录只读,导致 emqx cli 所提供的emqx ctl
等命令在执行时出现的一些问题。修复 #10142。 -
#10157 修复在创建新的监听器时,没有正确应用速率限制默认配置的问题。