diff --git a/apps/emqx/include/emqx_release.hrl b/apps/emqx/include/emqx_release.hrl index 4e4066eef..80dafdb54 100644 --- a/apps/emqx/include/emqx_release.hrl +++ b/apps/emqx/include/emqx_release.hrl @@ -32,7 +32,7 @@ %% `apps/emqx/src/bpapi/README.md' %% Community edition --define(EMQX_RELEASE_CE, "5.0.16"). +-define(EMQX_RELEASE_CE, "5.0.17"). %% Enterprise edition -define(EMQX_RELEASE_EE, "5.0.0"). diff --git a/changes/v5.0.17-en.md b/changes/v5.0.17-en.md new file mode 100644 index 000000000..ebdc3bff1 --- /dev/null +++ b/changes/v5.0.17-en.md @@ -0,0 +1,43 @@ +# v5.0.17 + +## Enhancements + +- [#9802](https://github.com/emqx/emqx/pull/9802) Support HAProxy protocol for HTTP API. + +- [#9871](https://github.com/emqx/emqx/pull/9871) Allow the placeholder to be anywhere in the topic for `authz` rules. + e.g: + `{allow, {username, "who"}, publish, ["t/foo${username}boo/${clientid}xxx"]}.` + +- [#9910](https://github.com/emqx/emqx/pull/9910) Add `start` operation to bridges API to allow manual reconnect after failure. + +- [#9917](https://github.com/emqx/emqx/pull/9917) Stop building -alpine docker image because it's size is larger than the regular one based on debian slim + +- [#9930](https://github.com/emqx/emqx/pull/9930) Expose the stats `live_connections.count` and `live_connections.max` to Prometheus. + +- [#9936](https://github.com/emqx/emqx/pull/9936) Disable disksup (part of os_mon) in releases by default, no warnings are issued when a disk error occurs. + +- [#9954](https://github.com/emqx/emqx/pull/9954) Improve bridge performance + +## Bug fixes + +- [#9864](https://github.com/emqx/emqx/pull/9864) Fix the exclusive topics aren't removed when the session has already been cleaned. + +- [#9875](https://github.com/emqx/emqx/pull/9875) Return `400` if a broken plugin package is uploaded from HTTP API, also cleanup if plugin is not accepted. + +- [#9916](https://github.com/emqx/emqx/pull/9916) Fix MQTT bridge fails to verify TLS wildcard server certificate. + + +- [#9922](https://github.com/emqx/emqx/pull/9922) Fix the issue with the bridge resource buffer where it might become stuck if enough async queries fill the inflight window full before failing with retryable errors. + +- [#9923](https://github.com/emqx/emqx/pull/9923) Fix REPORT_CB/2 CRASH error logs when errors happen during boot-up or shutdown. + +- [#9938](https://github.com/emqx/emqx/pull/9938) Report some egress MQTT bridge errors as recoverable, and thus retryable. + +- [#9946](https://github.com/emqx/emqx/pull/9946) Add back `reconnect_interval` as deprecated field for MQTT bridge. + The field was removed from v5.0.16/e5.0.0 by mistake, caused new version unable to start on old config. + Now it's added back as deprecated (config value is ignored if provided). + +- [#9951](https://github.com/emqx/emqx/pull/9951) Propagate errors from operations (`start|stop|restart`) on bridges API if called for all nodes. + +- [#9952](https://github.com/emqx/emqx/pull/9952) Disallow subscribing with QoS 2 for ingress MQTT bridges. + Allow user to configure `clean_start` option for ingress MQTT bridges, however. diff --git a/changes/v5.0.17-zh.md b/changes/v5.0.17-zh.md new file mode 100644 index 000000000..85276ee71 --- /dev/null +++ b/changes/v5.0.17-zh.md @@ -0,0 +1,40 @@ +# v5.0.17 + +## 增强 + +- [#9802](https://github.com/emqx/emqx/pull/9802) 现在 HTTP API 增加对 `HAProxy protocol` 的支持。 + +- [#9871](https://github.com/emqx/emqx/pull/9871) 允许占位符出现在 `authz` 规则中的主题里的任意位置。 + 例如: + `{allow, {username, "who"}, publish, ["t/foo${username}boo/${clientid}xxx"]}.` + +- [#9910](https://github.com/emqx/emqx/pull/9910) 桥接 API 中增加 `start` 操作,允许失败后手动重新连接。 + +- [#9917](https://github.com/emqx/emqx/pull/9917) 停止构建 -alpine docker 镜像,因为它的大小比基于 debian slim 的普通镜像要大。 + +- [#9930](https://github.com/emqx/emqx/pull/9930) Prometheus 统计指标增加 `live_connections.count` 和 `live_connections.max` 指标。 + +- [#9936](https://github.com/emqx/emqx/pull/9936) 默认禁用 diskup( os_mon 的一部分),不会在磁盘出现错误时发出警告。 + +- [#9954](https://github.com/emqx/emqx/pull/9954) 提升大并发下桥接性能。 + +## 修复 + +- [#9864](https://github.com/emqx/emqx/pull/9864) 修复会话清除后相关的排他订阅主题没有被清理的问题。 + +- [#9875](https://github.com/emqx/emqx/pull/9875) 当通过 HTTP API 上传一个损坏的插件包时,返回 `400`,且删除该插件包。 + +- [#9916](https://github.com/emqx/emqx/pull/9916) 修复 MQTT 桥接器无法验证 TLS 通配符服务器证书的问题。 + +- [#9922](https://github.com/emqx/emqx/pull/9922) 修复桥接资源缓冲区问题,如果大量异步查询失败将 inflight window 填满,则可能会卡住。 + +- [#9923](https://github.com/emqx/emqx/pull/9923) 修复在启动和关闭过程中发生错误时,日志中的 REPORT_CB/2 CRASH 错误。 + +- [#9938](https://github.com/emqx/emqx/pull/9938) 将一些 egress MQTT 桥接错误报告为 recoverable,便于稍后重试。 + +- [#9946](https://github.com/emqx/emqx/pull/9946) MQTT 桥接配置参数 `reconnect_interval` 在 v5.0.16/e5.0.0 中被误删, + 导致旧版本配置格式在升级后无法通过校验。此修复把配置格式还原,但是会忽略配置值。 + +- [#9951](https://github.com/emqx/emqx/pull/9951) 返回桥接 API 操作(`start|stop|restart`) 的多节点远程调用的错误信息。 + +- [#9952](https://github.com/emqx/emqx/pull/9952) 不允许对 ingress MQTT 桥接的 QoS 2 进行订阅。 但允许用户为 ingress MQTT 桥接配置 "clean_start" 选项。 diff --git a/changes/v5.0.17/feat-9802.en.md b/changes/v5.0.17/feat-9802.en.md deleted file mode 100644 index ac314879a..000000000 --- a/changes/v5.0.17/feat-9802.en.md +++ /dev/null @@ -1 +0,0 @@ -Support HAProxy protocol for dashboard API. diff --git a/changes/v5.0.17/feat-9802.zh.md b/changes/v5.0.17/feat-9802.zh.md deleted file mode 100644 index 9afcd8f17..000000000 --- a/changes/v5.0.17/feat-9802.zh.md +++ /dev/null @@ -1 +0,0 @@ -现在 dashboard 增加了对 `HAProxy` 协议的支持。 diff --git a/changes/v5.0.17/feat-9871.en.md b/changes/v5.0.17/feat-9871.en.md deleted file mode 100644 index b907aa3f1..000000000 --- a/changes/v5.0.17/feat-9871.en.md +++ /dev/null @@ -1,3 +0,0 @@ -Allow the placeholder to be anywhere in the topic for `authz` rules. -e.g: -`{allow, {username, "who"}, publish, ["t/foo${username}boo/${clientid}xxx"]}.` diff --git a/changes/v5.0.17/feat-9871.zh.md b/changes/v5.0.17/feat-9871.zh.md deleted file mode 100644 index ecd526a93..000000000 --- a/changes/v5.0.17/feat-9871.zh.md +++ /dev/null @@ -1,3 +0,0 @@ -允许占位符出现在 `authz` 规则中的主题里的任意位置。 -例如: -`{allow, {username, "who"}, publish, ["t/foo${username}boo/${clientid}xxx"]}.` diff --git a/changes/v5.0.17/feat-9910.en.md b/changes/v5.0.17/feat-9910.en.md deleted file mode 100644 index bf8e0e1b4..000000000 --- a/changes/v5.0.17/feat-9910.en.md +++ /dev/null @@ -1 +0,0 @@ -Add `start` operation to bridges API to allow manual reconnect after failure. diff --git a/changes/v5.0.17/feat-9910.zh.md b/changes/v5.0.17/feat-9910.zh.md deleted file mode 100644 index 3e35fff19..000000000 --- a/changes/v5.0.17/feat-9910.zh.md +++ /dev/null @@ -1 +0,0 @@ -在桥接 API 中增加 `start` 操作,允许失败后手动重新连接。 diff --git a/changes/v5.0.17/feat-9917.en.md b/changes/v5.0.17/feat-9917.en.md deleted file mode 100644 index dfc00649e..000000000 --- a/changes/v5.0.17/feat-9917.en.md +++ /dev/null @@ -1 +0,0 @@ -Stop building -alpine docker image because it's size is larger than the regular one based on debian slim diff --git a/changes/v5.0.17/feat-9917.zh.md b/changes/v5.0.17/feat-9917.zh.md deleted file mode 100644 index 797062b60..000000000 --- a/changes/v5.0.17/feat-9917.zh.md +++ /dev/null @@ -1 +0,0 @@ -停止构建-alpine docker镜像,因为它的大小比基于debian slim的普通镜像要大。 diff --git a/changes/v5.0.17/feat-9930.en.md b/changes/v5.0.17/feat-9930.en.md deleted file mode 100644 index 1747bb23e..000000000 --- a/changes/v5.0.17/feat-9930.en.md +++ /dev/null @@ -1 +0,0 @@ -Expose the stats `live_connections.count` and `live_connections.max` to Prometheus. diff --git a/changes/v5.0.17/feat-9930.zh.md b/changes/v5.0.17/feat-9930.zh.md deleted file mode 100644 index d17c1cf68..000000000 --- a/changes/v5.0.17/feat-9930.zh.md +++ /dev/null @@ -1 +0,0 @@ -将统计数据 `live_connections.count` 和 `live_connections.max` 公开给 Prometheus. diff --git a/changes/v5.0.17/feat-9936.en.md b/changes/v5.0.17/feat-9936.en.md deleted file mode 100644 index 3010e6fed..000000000 --- a/changes/v5.0.17/feat-9936.en.md +++ /dev/null @@ -1 +0,0 @@ -Disable disksup (part of os_mon) in releases by default. diff --git a/changes/v5.0.17/feat-9936.zh.md b/changes/v5.0.17/feat-9936.zh.md deleted file mode 100644 index f459f9e52..000000000 --- a/changes/v5.0.17/feat-9936.zh.md +++ /dev/null @@ -1 +0,0 @@ -在发行版中默认禁用diskup(os_mon的一部分)。 diff --git a/changes/v5.0.17/fix-9864.en.md b/changes/v5.0.17/fix-9864.en.md deleted file mode 100644 index ad5cd53c9..000000000 --- a/changes/v5.0.17/fix-9864.en.md +++ /dev/null @@ -1 +0,0 @@ -Fix the exclusive topics aren't removed when the session has already been cleaned. diff --git a/changes/v5.0.17/fix-9864.zh.md b/changes/v5.0.17/fix-9864.zh.md deleted file mode 100644 index b79d81988..000000000 --- a/changes/v5.0.17/fix-9864.zh.md +++ /dev/null @@ -1 +0,0 @@ -修复会话清除后相关的排他订阅主题没有被清理的问题。 diff --git a/changes/v5.0.17/fix-9875.en.md b/changes/v5.0.17/fix-9875.en.md deleted file mode 100644 index ca2d4094a..000000000 --- a/changes/v5.0.17/fix-9875.en.md +++ /dev/null @@ -1 +0,0 @@ -Return `400` if a broken plugin package is uploaded from HTTP API. Also cleanup if plugin is not accepted. diff --git a/changes/v5.0.17/fix-9875.zh.md b/changes/v5.0.17/fix-9875.zh.md deleted file mode 100644 index 6e1230f3a..000000000 --- a/changes/v5.0.17/fix-9875.zh.md +++ /dev/null @@ -1 +0,0 @@ -当通过 HTTP API 上传一个损坏的插件包时,返回 `400`,且删除该插件包。 diff --git a/changes/v5.0.17/fix-9916.en.md b/changes/v5.0.17/fix-9916.en.md deleted file mode 100644 index dd6de13e5..000000000 --- a/changes/v5.0.17/fix-9916.en.md +++ /dev/null @@ -1,2 +0,0 @@ -Fix MQTT bridge fails to verify TLS wildcard server certificate. - diff --git a/changes/v5.0.17/fix-9916.zh.md b/changes/v5.0.17/fix-9916.zh.md deleted file mode 100644 index 3bed13e4c..000000000 --- a/changes/v5.0.17/fix-9916.zh.md +++ /dev/null @@ -1 +0,0 @@ -修复MQTT桥接器无法验证TLS通配符服务器证书的问题。 diff --git a/changes/v5.0.17/fix-9922.en.md b/changes/v5.0.17/fix-9922.en.md deleted file mode 100644 index b58a8a766..000000000 --- a/changes/v5.0.17/fix-9922.en.md +++ /dev/null @@ -1 +0,0 @@ -Fix the issue with the bridge resource buffer where it might become stuck if enough async queries fill the inflight window full before failing with retryable errors. diff --git a/changes/v5.0.17/fix-9922.zh.md b/changes/v5.0.17/fix-9922.zh.md deleted file mode 100644 index cf50b55e4..000000000 --- a/changes/v5.0.17/fix-9922.zh.md +++ /dev/null @@ -1 +0,0 @@ -修复桥接资源缓冲区的问题,如果足够多的异步查询在失败并出现可重试错误之前将机上窗口填满,则可能会卡住。 diff --git a/changes/v5.0.17/fix-9923.en.md b/changes/v5.0.17/fix-9923.en.md deleted file mode 100644 index fa6926893..000000000 --- a/changes/v5.0.17/fix-9923.en.md +++ /dev/null @@ -1 +0,0 @@ -Fix REPORT_CB/2 CRASH error logs when erros happen during boot-up or shutdown. diff --git a/changes/v5.0.17/fix-9923.zh.md b/changes/v5.0.17/fix-9923.zh.md deleted file mode 100644 index 610b14b96..000000000 --- a/changes/v5.0.17/fix-9923.zh.md +++ /dev/null @@ -1 +0,0 @@ -修复在启动和关闭过程中发生错误时,日志中的 REPORT_CB/2 CRASH 错误。 diff --git a/changes/v5.0.17/fix-9938.en.md b/changes/v5.0.17/fix-9938.en.md deleted file mode 100644 index 54de76fd7..000000000 --- a/changes/v5.0.17/fix-9938.en.md +++ /dev/null @@ -1 +0,0 @@ -Report some egress MQTT bridge errors as recoverable, and thus retryable. diff --git a/changes/v5.0.17/fix-9938.zh.md b/changes/v5.0.17/fix-9938.zh.md deleted file mode 100644 index f8bd41cf0..000000000 --- a/changes/v5.0.17/fix-9938.zh.md +++ /dev/null @@ -1 +0,0 @@ -将一些出口 MQTT 网桥错误报告为可恢复,因此可重试。 diff --git a/changes/v5.0.17/fix-9946.en.md b/changes/v5.0.17/fix-9946.en.md deleted file mode 100644 index ba6f768fa..000000000 --- a/changes/v5.0.17/fix-9946.en.md +++ /dev/null @@ -1,3 +0,0 @@ -Add back `reconnect_interval` as deprecated field for MQTT bridge. -The field was removed from v5.0.16/e5.0.0 by mistake, caused new version unable to start on old config. -Now it's added back as deprecated (config value is ignored if provided). diff --git a/changes/v5.0.17/fix-9946.zh.md b/changes/v5.0.17/fix-9946.zh.md deleted file mode 100644 index be071e470..000000000 --- a/changes/v5.0.17/fix-9946.zh.md +++ /dev/null @@ -1,2 +0,0 @@ -MQTT 桥接配置参数 `reconnect_interval` 在 v5.0.16/e5.0.0 中被错误删除, -导致旧版本配置在升级后无法使用。此修复把配置加回,但是值会忽略。 diff --git a/changes/v5.0.17/fix-9951.en.md b/changes/v5.0.17/fix-9951.en.md deleted file mode 100644 index e2439cf01..000000000 --- a/changes/v5.0.17/fix-9951.en.md +++ /dev/null @@ -1 +0,0 @@ -Propagate errors from operations (`start|stop|restart`) on bridges API if called for all nodes. diff --git a/changes/v5.0.17/fix-9951.zh.md b/changes/v5.0.17/fix-9951.zh.md deleted file mode 100644 index aa540740c..000000000 --- a/changes/v5.0.17/fix-9951.zh.md +++ /dev/null @@ -1 +0,0 @@ -返回桥接 API 操作(`start|stop|restart`) 的多节点远程调用的错误信息。 diff --git a/changes/v5.0.17/fix-9952.en.md b/changes/v5.0.17/fix-9952.en.md deleted file mode 100644 index 3a951b423..000000000 --- a/changes/v5.0.17/fix-9952.en.md +++ /dev/null @@ -1,2 +0,0 @@ -Disallow subscribing with QoS 2 for ingress MQTT bridges. -Allow user to configure `clean_start` option for ingress MQTT bridges however. diff --git a/changes/v5.0.17/fix-9952.zh.md b/changes/v5.0.17/fix-9952.zh.md deleted file mode 100644 index 1b9064c7d..000000000 --- a/changes/v5.0.17/fix-9952.zh.md +++ /dev/null @@ -1,2 +0,0 @@ -不允许对 ingress MQTT 网桥的 QoS 2 进行订阅。 -但允许用户为 ingress MQTT 桥配置 "clean_start" 选项。 diff --git a/changes/v5.0.17/perf-9954.en.md b/changes/v5.0.17/perf-9954.en.md deleted file mode 100644 index d816c2096..000000000 --- a/changes/v5.0.17/perf-9954.en.md +++ /dev/null @@ -1 +0,0 @@ -Improve bridge performance diff --git a/changes/v5.0.17/perf-9954.zh.md b/changes/v5.0.17/perf-9954.zh.md deleted file mode 100644 index df1dabedd..000000000 --- a/changes/v5.0.17/perf-9954.zh.md +++ /dev/null @@ -1 +0,0 @@ -优化桥接性能 diff --git a/deploy/charts/emqx/Chart.yaml b/deploy/charts/emqx/Chart.yaml index 2208f3019..377d61985 100644 --- a/deploy/charts/emqx/Chart.yaml +++ b/deploy/charts/emqx/Chart.yaml @@ -14,8 +14,8 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 5.0.16 +version: 5.0.17 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. -appVersion: 5.0.16 +appVersion: 5.0.17 diff --git a/scripts/format-changelog.sh b/scripts/format-changelog.sh index 23f801f2b..c7b413cc8 100755 --- a/scripts/format-changelog.sh +++ b/scripts/format-changelog.sh @@ -39,6 +39,7 @@ if [ "${language}" = "en" ]; then ## Enhancements $(section feat) + $(section perf) ## Bug fixes @@ -53,6 +54,8 @@ elif [ "${language}" = "zh" ]; then $(section feat) +$(section perf) + ## 修复 $(section fix)