emqx/changes/v5.0.14-zh.md

69 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# v5.0.14
## 增强
- [#9593](https://github.com/emqx/emqx/pull/9593) 通过 API 查询 `bridges` 信息时将混淆响应中的敏感数据。
- [#9614](https://github.com/emqx/emqx/pull/9614) 允许环境变量重载 `host:port` 值时不使用引号。
在此修复前,环境变量中使用 `host:port` 这种配置时,用户必须使用引号,例如:
`env EMQX_BRIDGES__MQTT__XYZ__SERVER='"localhost:1883"'`
此修复后,可以不使用引号,例如 `env EMQX_BRIDGES__MQTT__XYZ__SERVER='localhost:1883'`
- [#9642](https://github.com/emqx/emqx/pull/9642) 废弃了桥接的 `enable_batch``enable_queue` 配置项 。在这一改变之后,桥接的工作进程总是启用缓存队列,而批处理由 `batch_size` 选项控制:`batch_size > 1` 则意味着启用批处理。
- [#9671](https://github.com/emqx/emqx/pull/9671) 实施滑动窗口平均度量。
- [#9674](https://github.com/emqx/emqx/pull/9674) 使得规则引擎的行为与桥梁的指标行为更加一致:如果一个规则引擎被禁用,其指标现在会被重置。
- [#9675](https://github.com/emqx/emqx/pull/9675) HTTP 客户端库 `ehttpc``0.4.2` 升级到 `0.4.3`
Redis cluster 客户端库 `eredis_cluster``0.7.1` 升级到 `0.7.5`.
- [#9691](https://github.com/emqx/emqx/pull/9691) MongoDB 的驱动现在已经升级到 MongoDB 5.1+ 了。
- [#9713](https://github.com/emqx/emqx/pull/9713) 引入 `api_key.bootstrap_file`用于启动时初始化api密钥。
废弃 `dashboard.boostrap_users_file`
将 API 密钥的最大数量限制提升为 100原来为30
## 修复
- [#9637](https://github.com/emqx/emqx/pull/9637) 修复 clients HTTP API 下的 expiry_interval 字段的时间单位为秒。
- [#9638](https://github.com/emqx/emqx/pull/9638) 修复 MySQL 驱动断开连接时出现的数据丢失和匹配错误的问题。
- [#9641](https://github.com/emqx/emqx/pull/9641) 修复了测试GCP PubSub可能泄露内存的问题以及其JWT令牌第二次刷新失败的问题。
- [#9642](https://github.com/emqx/emqx/pull/9642) 修复一些可能导致错误桥接指标的问题。
修复当Kafka或其连接中断时可能导致Kafka Producer桥的消息丢失和错误指标的问题。
修复一些问题,这些问题可能导致在为桥接使用批处理时,同一消息被多次传递,以及批处理被重试时。
- [#9667](https://github.com/emqx/emqx/pull/9667) 从 HTTP API /publish 和 /publish/bulk 中移除 clientid, 降低安全风险
- [#9672](https://github.com/emqx/emqx/pull/9672) 修复 MQTT 桥接中 Payload 模板为空时桥接不可用的问题。
- [#9678](https://github.com/emqx/emqx/pull/9678) 修复了当通过 API 删除一个不存在的桥接时,服务器会返回操作成功的问题,现在将会返回操作失败的信息。
- [#9687](https://github.com/emqx/emqx/pull/9687) 修复由于某些数据桥接未配置 `local_topic` 字段,导致的所有数据桥接无法发送消息。
在此改动之前,如果有些桥接设置了 `local_topic` 字段而有些没有设置,数据桥接转发消息时会出现 `function_clause` 的错误。
- [#9689](https://github.com/emqx/emqx/pull/9689) 修正当请求失败HTTP资源关闭会导致`function_clause`错误时对HTTP授权结果的处理。
- [#9703](https://github.com/emqx/emqx/pull/9703) 将 HTTP 接口 `/clients/:clientid/subscribe``qos` 字段的默认值设置为 0。
在此修复之前,`qos` 字段没有默认值,调用订阅接口的时候将导致 `function_clause` 错误。
- [#9705](https://github.com/emqx/emqx/pull/9705) 删除 Webhook 的默认值。
在此修复之前Webhook 的 `body` 字段的默认值为 `${payload}`,但规则中除了消息发布之外的其他事件的可用字段中
都没有 `payload` 字段,所以这种情况下 Webhook 将发送消息正文为 "undefined" 的字符串到 HTTP 服务。
此修复移除了 `body` 字段的默认值,当未配置 `body` 字段的时候Webhook 将以 JSON object 的格式发送
当前事件的全部可用字段。
- [#9712](https://github.com/emqx/emqx/pull/9712) 修复了监听 `client.connected` 事件的插件和数据桥接在调用 `/clients/:clientid/subscribe/bulk`
HTTP 接口时报 `404 Not Found` 的问题。
- [#9714](https://github.com/emqx/emqx/pull/9714) 修复 `/mqtt/auto_subscribe` API 错误的 swagger 格式,并且保证 swagger 总是检查格式是否正确。
- [#9716](https://github.com/emqx/emqx/pull/9716) 修复 v5.0.12 之前的 MQTT 桥接配置在 升级到 v5.0.13 后 HTTP API 查询 桥接配置时的一个兼容性问题。
- [#9717](https://github.com/emqx/emqx/pull/9717) 修复已禁用的桥接资源服务器连接超时的情况下不能修改其他配置参数的问题。
- [#9730](https://github.com/emqx/emqx/pull/9730) 如果创建了大量的资源,可能会导致崩溃的潜在的原子泄漏已经被删除。