4.4 KiB
v5.0.12
该版本包含了 MQTT 桥接的一个重构。 v5.0.11 或更早版本创建的配置文件,在新版本中会被自动转换。
需要注意的是,用于配置 MQTT 桥接的 API /bridges
请求的结构发生了不兼容的变更。
增强
-
通过
node.global_gc_interval = disabled
来禁用全局垃圾回收 #9418。 -
优化命令行实现, 避免输入错误指令时, 产生不必要的原子表消耗 #9416。
-
支持在 Apple Silicon 架构下编译苹果系统的发行版本 #9423。
-
删除了老的共享订阅支持方式, 不再使用
$queue
前缀 #9412。 共享订阅自 MQTT v5.0 开始已成为协议标准,可以使用$share
前缀代替$queue
。 -
重构认证 API,使用
PUT /authentication/{id}/position/{position}
代替了POST /authentication/{id}/move
#9419。 -
重新设计了
/rules
API,将metrics
改为专用资源,而不再是包含在每个响应中 #9461。 -
支持更多的 PSK 密码套件#9505。
-
提高
emqx_retainer
写入性能:摆脱写入时的事务 #9372。 -
HTTP 客户端库
ehttpc
从0.4.0
升级到0.4.2
#9520。 -
为 MQTT SSL 监听器增加配置
handshake_timeout
#9502。 -
Dashboard 更新到 v1.1.3。
-
用户可以在 EMQX Helm Chart 中自定义 service 资源的
externalTrafficPolicy
#9527。 -
现在调用
POST /gateway/lwm2m/clients/{clientid}/{read,write,observe}
时,将会返回 204,而不再是 200 #9480。 -
允许使用环境变量来创建一个认证配置 #9547。 例如,现在可以用如下环境变量来创建一个 MySQL 认证:
env EMQX_AUTHENTICATION__1='{mechanism="password_based",backend="mysql",server="localhost:3306",database="emqx",username="emqx",password="******",query="SELECT password_hash,salt FROM mqtt_user WHERE username=${username} LIMIT 1",enable=true}'
。 在此之前,环境变量的重载仅作用于已经存在的配置之上,例如,当emqx.conf
中已经配置了一个 MySQL 认证,那么可以使用如下方法来将它禁用:env EMQX_AUTHENTICATION__1__ENABLE=false
。 -
为 Amazon Linux 2 平台发布安装包 #9537。
修复
-
修复 ExHook 更新 SSL 相关配置后,过时的 SSL 文件没有被删除的问题 #9432。
-
修复 /trace API 的返回值格式和相关文档 #9468。
-
在遥测功能未开启时,通过 /telemetry/data 请求其数据,将会返回 404 #9464。
-
修复了一些 MQTT 协议包的潜在解析错误 #9477。
-
修复了 EMQX Helm Chart 部署的一些问题 #9509。
- 修复了 EMQX Helm Chart 部署时出现
Discovery error: no such service
错误,导致集群节点发现异常。 - 修复了 EMQX Helm Chart 通过环境变量修改部分 EMQX 的配置项时的错误。
- 修复了 EMQX Helm Chart 部署时出现
-
通过
emqx_authenticator
修复隐藏'client.authenticate'
回调。 现在emqx_authenticator
如果没有任何验证器匹配,则将执行传递给进一步的回调 #9496。 -
如果在调用
/trace/:id/download?node={node}
时,node
不存在,则会返回400
#9478。 -
当重复调用
POST /traces
时,将会返回409
,而不再是400
#9494。 -
桥接功能修复,当同时配置了2个桥,方向为入桥和出桥时,出桥不工作的问题。#9523.
-
修复了 EMQX Helm Chart 中当用户使用自定义的用户名和密码时,创建的 Secret 资源不正确问题 #9536。