发布日期: 2025-11-26
增强
新增基于 Tag 的速率限制功能。
现在用户可以使用 HTTP 认证服务返回的 Tag 来对客户端进行分类,并根据分类进行速率限制。
降低 ACL 缓存功能的内存消耗。
此前,当 MQTT 消息的 payload 较大时,ACL 缓存功能会消耗较高的内存,内存的消耗大小与 MQTT 会话数目正相关。
用户名配额模块支持踢除指定用户名的所有客户端连接。
优化用户名配额模块的 “使用详情” 页面的用户体验。
此前,用户名配额模块的 “使用详情” 页面在加载时会自动对用户名按照会话数进行排序,会话数最多的用户名会出现在列表的最前面。但是,当用户名数量较多时,排序操作会导致页面加载时间过长,影响用户体验。现在 “使用详情” 页面上增加了一个排序按钮,只有在点击排序按钮时,才会进行排序。
降低集群节点变化时,用户名配额模块的系统资源消耗。
此优化减少了用户名配额模块在检测到其他节点掉线时的不必要的数据同步操作,从而降低了系统资源消耗。
修复
修复了 MySQL,PostgreSQL 动作中无法使用 SQL 多行插入语法的问题。日志中会看到如下错误信息:
... Not an INSERT statement or incorrect SQL syntax修复了滚动升级过程中,LwM2M 模块启动失败的问题。日志中会看到如下错误信息:
[error] init_module_failure, module: emqx_module_proto_lwm2m, reason: {badkey,<<"coap_max_block_size">>}, ...修复了使用二进制包安装的 EMQX 环境中,LwM2M 模块的默认 XML 路径错误的问题。
修复了在 Kafka 服务故障恢复之后,Kafka Producer 缓存的消息无法继续发送的问题。日志中会看到如下错误信息:
[warning] your-kafka-topic replayq_overflow_dropped_number_of_requests 2444修复了升级 EMQX 版本之后,日志追踪功能可能因为丢失
emqx_trace远程表而无法使用的问题。在某些升级场景中,用户可能会先将新版本的 EMQX 节点加入到运行中的旧版本集群中,然后再移除旧节点。 如果用户在通过 CLI 或 API 移除旧节点之前,先通过
emqx stop命令或其他方式手动停止了旧版本节点,且该节点曾启用过日志追踪功能,则新版本节点上的日志追踪模块可能因无法访问emqx_trace远程表而发生异常。此外,该问题还可能导致
emqx ctl cluster force-leave <node>命令无法正常执行。修复后,日志追踪模块会在启动时修复
emqx_trace表,同时force-leave命令不可用的问题也会在日志追踪模块启动后得到解决。修复了速率限制不精准的问题。
修复了速率限制中令牌桶算法的实现错误。修复前,实际能达到的最大速率总是略大于给定配置。