Webinar

EMQ「技术之夏」直播季火热来袭!| 立即报名

enterprise 5.2.0 更新日志

增强

  • #10697 此增强功能允许配置 StatefulSet 的 minReadySeconds,从而允许在升级或重新启动命令触发的每个 pod 重新启动之间引入时间间隔。

  • #11124 发布了适用于 Amazon Linux 2023 的软件包。

  • #11289 发布了适用于 Debian 12 的软件包。

  • #11290 更新了 jq 依赖项至版本 0.3.10,其引用的 oniguruma 库更新至版本 6.9.8,修复了一些小的安全问题。

  • #11291 通过 ekka 更新至版本 0.15.6,将 RocksDB 版本更新至 1.8.0-emqx-1。

  • #11390 向 EMQX 配置添加了 node.broker_pool_sizenode.generic_pool_sizenode.channel_cleanup_batch_size 选项。如果集群互连网络延迟较高,调整这些选项可以显著提高性能。

  • #11429 在 MondoDB 连接和桥接中添加了配置检测遗留协议的选项。

  • #11436 添加了新的 REST API DELETE /banned,用于清除所有黑名单数据。

  • #11438mqtt.max_packet_size 的类型从字符串更改为 byteSize,以更好地表示有效的数字范围。仍然支持字符串以确保向后兼容性。

  • #11469 支持在 Redis 认证中指定用户名。

  • #11496 默认情况下禁用 Erlang VM Prometheus 导出器,以提高性能和安全性。

  • #11497 通过添加新的消息、过载保护、授权、身份验证指标,改进 OpenTelemetry 的命名一致性,增强了指标可观测性。

  • #10647 新增了 GreptimeDB 数据集成。

  • #11261 新增了 Amazon Kinesis Data Streams 生产者数据集成。

  • #11329 新增了 Azure Event Hub 生产者数据集成。

  • #11363 为 RabbitMQ 桥接添加了 TLS 连接支持。

  • #11367 从 EMQX 4.4 迁移了 GCP IoT Hub 认证支持。

  • #11386 认证器新增了 LDAP 数据源。

  • #11392 授权管理器新增了 LDAP 数据源。

  • #11402 Kafka 消费者桥接支持使用占位符动态设置 MQTT 主题。

  • #11403 添加了支持定义 GCP PubSub 生产者桥接的消息属性和排序键模板。还更新了我们的 HOCON 库,以修复一个问题,即数组中的对象即使位于不同的行上也会被串联在一起。

  • #11459 添加了配置 Kafka 桥接的健康检查间隔的选项。

  • #11478 添加了对 HStreamDB 桥接的支持(允许 TCP 和 TLS 连接),并适配了 HStreamDB v0.16.1

    PR#11530 中更新了驱动程序至 0.4.5+v0.16.1

  • #11389 通过利用 Mria 0.6.0 中引入的新 API 将多个索引更新操作合并为单个 Mnesia 事务来提高保留消息发布的速度。

  • #11396 为规则引擎运行时引入了主题索引,提高了消息主题与规则 SQL 中的主题过滤器匹配的速度,避免了对规则集的全面扫描,大幅提升了 EMQX 在处理大量规则时的性能。

  • #11399 改进了规则引擎中的占位符语法。发布操作支持使用占位符语法动态填充 payload 变量中的内容。 占位符语法的格式为 ${key}。 在此改进之前,${key} 中只能包含字母、数字和下划线。现在,${key} 支持任何 UTF8 字符。

  • #11405 改进了 date_to_unix_ts 的错误原因以便理解。

  • #11490 为各种认证后端添加了未定义密码的快速错误处理。这提高了认证过程的一致性和用户友好性。

修复

  • #11065 修复了在 EMQX 关闭过程中防止日志记录无关错误消息的问题。
  • #11279 修复了当在 EMQX 启用了 debug/trace 日志记录时客户端无法发送包含大型 payload 消息的问题。
  • #11296 添加了从 EMQX 备份文件中使用 emqx ctl import 命令导入附加配置的支持:
    • rule_engine(以前由于错误而未导入)
    • topic_metrics(以前未实现)
    • slow_subs(以前未实现)
  • #11327 更新了 ekka 到版本 0.15.8,mria 到版本 0.15.8,以及 optvar 到 1.0.5。 这修复了偶发的断言失败问题: {{badmatch,noproc},[{optvar,read,2,[{file,"optvar.erl"},{line,140}]},{optvar,read,1,[{file,"optvar.erl"},{line,124}]},...
  • #11346 更新了 ekka 到版本 0.15.9。 这修复了在获取锁定超时时出现的悬挂的 etcd 锁定问题。
  • #11347 确保 OCSP 请求路径正确进行了 URL 编码。
  • #11352 修复了在 Windows 或其他不支持 RocksDB 的平台上启动时出现的崩溃问题。
  • #11388 增加了 emqx_router_sup 重启强度,以提高对在正常情况下发生偶发崩溃的容忍度,而无需关闭整个 EMQX 应用程序。 例如, 如果核心节点正在停止、重新启动或处于不可用状态,从复制节点委派给 emqx_router_helper 的 mria 写入/删除调用可能会失败。修改后的重启强度确保系统保持稳定运行。
  • #11424 添加了对 API 中时间戳的最大值的检查,以确保它是有效的 Unix 时间戳。
  • #11445 删除了 Windows 平台上的 os_mon 应用程序监控支持,以防止虚拟机崩溃。 该功能仍然适用于非 Windows 平台。
  • #11454 修复了在调试/跟踪大型 payload 时出现的崩溃问题(在 #11279 中引入)。
  • #11456 移除了对 CA 证书文件强制要求非空 PEM 的验证,允许 CA 证书文件 PEM 为空。
  • #11466 修复了将 ssl_options.ciphers 配置选项设置为空字符串("")时出现崩溃的问题。
  • #11480 改进了规则引擎中当规则函数接收到错误参数时的错误处理和 SQL 函数测试。
  • #11520 修复了在发送带有非零 ack_flag 的 CONNACK 数据包时未增加 packets_connack_sent 指标的问题。
  • #11523 更正了在为 /configs API 指定无效证书/密钥时出现的令人误解的提示。
  • #11534 修复了当桥接状态不健康时数据桥接统计数据的增量。现在,发送到不健康桥接的消息将被计算为丢弃的消息。
  • #11540 在尝试创建具有无效名称的桥接时,改进了 HTTP 响应。
  • #11548 修复了在整个集群中更新插件顺序的问题。
  • #11366 修复了在使用 EMQX Operator 在 bootstrapConfig 中指定一些桥接配置时可能会阻止 pod 启动的问题。
  • #11453 修复了测试 InfluxDB 桥接的连接时可能产生虚假负面结果的问题。
  • #11461 将测试桥接连接的超时更加紧密地与配置的健康检查超时保持一致。
  • #11492 修复了测试 GreptimeDB 桥接的连接时可能产生虚假负面结果的问题。
  • #11508 修复了 Kafka 桥接中将 header 翻译为无效值时的错误处理。
  • #11513 修复了一个错误,该错误导致 Kafka 生产者桥接无法使用正确的模板的来处理 timestamp 字段。
  • #11527 修复了与 Kafka header 模板处理相关的问题。该问题发生在占位符解析为键值对数组时(例如:[{"key": "foo", "value": "bar"}])。