From af7b2215caec1dd89c073bd58837d3dea9bc30cc Mon Sep 17 00:00:00 2001 From: Andrew Mayorov Date: Tue, 21 Mar 2023 15:23:50 +0300 Subject: [PATCH 01/16] fix(bridge-api): unflatten nodes' bridge lists back Bridge lists were erroneously flattened in cad6492c. This causes bridge listing fail in emqx clusters consisting of more than 1 node. --- apps/emqx_bridge/src/emqx_bridge_api.erl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/emqx_bridge/src/emqx_bridge_api.erl b/apps/emqx_bridge/src/emqx_bridge_api.erl index 93b6cbf5a..b9a6d4c06 100644 --- a/apps/emqx_bridge/src/emqx_bridge_api.erl +++ b/apps/emqx_bridge/src/emqx_bridge_api.erl @@ -56,8 +56,8 @@ -define(BRIDGE_NOT_FOUND(BridgeType, BridgeName), ?NOT_FOUND( - <<"Bridge lookup failed: bridge named '", BridgeName/binary, "' of type ", - (atom_to_binary(BridgeType))/binary, " does not exist.">> + <<"Bridge lookup failed: bridge named '", (BridgeName)/binary, "' of type ", + (bin(BridgeType))/binary, " does not exist.">> ) ). @@ -475,10 +475,10 @@ schema("/bridges_probe") -> case is_ok(NodeReplies) of {ok, NodeBridges} -> AllBridges = [ - format_resource(Data, Node) - || {Node, Bridges} <- lists:zip(Nodes, NodeBridges), Data <- Bridges + [format_resource(Data, Node) || Data <- Bridges] + || {Node, Bridges} <- lists:zip(Nodes, NodeBridges) ], - {200, zip_bridges([AllBridges])}; + {200, zip_bridges(AllBridges)}; {error, Reason} -> {500, error_msg('INTERNAL_ERROR', Reason)} end. From 28544e62df42128f8217a1869ebe7d7141915dda Mon Sep 17 00:00:00 2001 From: Kinplemelon Date: Thu, 16 Mar 2023 11:39:29 +0800 Subject: [PATCH 02/16] docs: correct the chinese label for the `socket_nodelay` field --- lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf b/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf index a126a0b37..00f1f1031 100644 --- a/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf +++ b/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf @@ -224,7 +224,7 @@ emqx_ee_bridge_kafka { } label { en: "No Delay" - zh: "是否延迟发送" + zh: "是否关闭延迟发送" } } kafka_topic { From 64e810956c1de0457bf50d87f200a19279545312 Mon Sep 17 00:00:00 2001 From: Kinplemelon Date: Thu, 23 Mar 2023 17:59:33 +0800 Subject: [PATCH 03/16] chore: upgrade dashboard to e1.0.5-beta.2 for ee --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index fe4e6fc68..40d8fe28d 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ export EMQX_DEFAULT_RUNNER = debian:11-slim export OTP_VSN ?= $(shell $(CURDIR)/scripts/get-otp-vsn.sh) export ELIXIR_VSN ?= $(shell $(CURDIR)/scripts/get-elixir-vsn.sh) export EMQX_DASHBOARD_VERSION ?= v1.1.9 -export EMQX_EE_DASHBOARD_VERSION ?= e1.0.5-beta.1 +export EMQX_EE_DASHBOARD_VERSION ?= e1.0.5-beta.2 export EMQX_REL_FORM ?= tgz export QUICER_DOWNLOAD_FROM_RELEASE = 1 ifeq ($(OS),Windows_NT) From 1574b54666b91ba8035a76c924897936ae1376e4 Mon Sep 17 00:00:00 2001 From: JimMoen Date: Tue, 21 Mar 2023 18:29:36 +0800 Subject: [PATCH 04/16] chore: refine change for merged PRs --- changes/ce/fix-10098.zh.md | 2 +- changes/ce/fix-10117.en.md | 2 +- changes/ce/fix-10117.zh.md | 2 ++ changes/ce/fix-10124.zh.md | 2 +- changes/ce/fix-10132.en.md | 2 +- changes/ce/fix-10132.zh.md | 2 +- changes/ce/fix-10144.en.md | 2 +- changes/ce/fix-10144.zh.md | 1 + changes/ce/fix-10157.en.md | 1 + changes/ce/fix-10157.zh.md | 1 + changes/ce/perf-10123.en.md | 2 ++ changes/ce/perf-10123.zh.md | 2 ++ changes/ee/fix-10095.zh.md | 2 +- 13 files changed, 16 insertions(+), 7 deletions(-) create mode 100644 changes/ce/fix-10117.zh.md create mode 100644 changes/ce/fix-10144.zh.md create mode 100644 changes/ce/fix-10157.en.md create mode 100644 changes/ce/fix-10157.zh.md create mode 100644 changes/ce/perf-10123.en.md create mode 100644 changes/ce/perf-10123.zh.md diff --git a/changes/ce/fix-10098.zh.md b/changes/ce/fix-10098.zh.md index 6b6d86159..d8a50e43c 100644 --- a/changes/ce/fix-10098.zh.md +++ b/changes/ce/fix-10098.zh.md @@ -1 +1 @@ -当MongoDB授权模块查询数据库时,在日志文件中发生的崩溃与错误已经被修复。 +当 MongoDB 授权模块查询数据库时,在日志文件中发生的崩溃与错误已经被修复。 diff --git a/changes/ce/fix-10117.en.md b/changes/ce/fix-10117.en.md index 711d739ca..a2d305db3 100644 --- a/changes/ce/fix-10117.en.md +++ b/changes/ce/fix-10117.en.md @@ -1,2 +1,2 @@ Fix an error occurring when a joining node doesn't have plugins that are installed on other nodes in the cluster. -After this change, the joining node will copy all the necessary plugins from other nodes. +After this fix, the joining node will copy all the necessary plugins from other nodes. diff --git a/changes/ce/fix-10117.zh.md b/changes/ce/fix-10117.zh.md new file mode 100644 index 000000000..a56f1a962 --- /dev/null +++ b/changes/ce/fix-10117.zh.md @@ -0,0 +1,2 @@ +修复节点加入集群时,由于缺少集其它节点已安装的插件所导致的错误。 +在此修复后,加入集群的节点将从其它节点复制所有必须的插件。 diff --git a/changes/ce/fix-10124.zh.md b/changes/ce/fix-10124.zh.md index 7605f2da3..0e4bd596a 100644 --- a/changes/ce/fix-10124.zh.md +++ b/changes/ce/fix-10124.zh.md @@ -1 +1 @@ -增加了MongoDB的默认心跳周期,以减少对MongoDB日志文件的过多记录的风险。 +增加了 MongoDB 的默认心跳周期,以减少 MongoDB 日志文件记录过多的风险。 diff --git a/changes/ce/fix-10132.en.md b/changes/ce/fix-10132.en.md index ceb617d11..17eaaa3e8 100644 --- a/changes/ce/fix-10132.en.md +++ b/changes/ce/fix-10132.en.md @@ -1 +1 @@ -Fix `systemctl stop emqx` command not stopping jq, os_mon application properly, generating some error logs. +Fix some error logs generated by `systemctl stop emqx` command. The command havn't stopping jq, os_mon application properly. diff --git a/changes/ce/fix-10132.zh.md b/changes/ce/fix-10132.zh.md index 36811e1bf..a24558246 100644 --- a/changes/ce/fix-10132.zh.md +++ b/changes/ce/fix-10132.zh.md @@ -1 +1 @@ -修复`systemctl stop emqx` 命令没有正常停止 jq, os_mon 组件,产生一些错误日志。 +修复 `systemctl stop emqx` 命令没有正常停止 jq、os_mon 组件所产生一些错误日志。 diff --git a/changes/ce/fix-10144.en.md b/changes/ce/fix-10144.en.md index d5a84b24c..02bfdd527 100644 --- a/changes/ce/fix-10144.en.md +++ b/changes/ce/fix-10144.en.md @@ -1 +1 @@ -Add -setcookie emulator flag when invoking emqx ctl to prevent problems with emqx cli when home directory is read only. Fixes [#10142](https://github.com/emqx/emqx/issues/10142) +Add `-setcookie` emulator flag when invoking `emqx ctl` to prevent problems with emqx cli when home directory is read only. Fixes [#10142](https://github.com/emqx/emqx/issues/10142). diff --git a/changes/ce/fix-10144.zh.md b/changes/ce/fix-10144.zh.md new file mode 100644 index 000000000..063ed0923 --- /dev/null +++ b/changes/ce/fix-10144.zh.md @@ -0,0 +1 @@ +为 emqx 可执行文件加入 `-setcookie` 标志,以避免由于 home 目录只读,导致 emqx cli 所提供的 `emqx ctl` 等命令在执行时出现的一些问题。修复 [#10142](https://github.com/emqx/emqx/issues/10142)。 diff --git a/changes/ce/fix-10157.en.md b/changes/ce/fix-10157.en.md new file mode 100644 index 000000000..80d3443d0 --- /dev/null +++ b/changes/ce/fix-10157.en.md @@ -0,0 +1 @@ +Fixed default rate limit configuration not being applied correctly when creating a new listener. diff --git a/changes/ce/fix-10157.zh.md b/changes/ce/fix-10157.zh.md new file mode 100644 index 000000000..5c5601ce4 --- /dev/null +++ b/changes/ce/fix-10157.zh.md @@ -0,0 +1 @@ +修复在创建新的监听器时,没有正确应用速率限制默认配置的问题。 diff --git a/changes/ce/perf-10123.en.md b/changes/ce/perf-10123.en.md new file mode 100644 index 000000000..dbe1b288e --- /dev/null +++ b/changes/ce/perf-10123.en.md @@ -0,0 +1,2 @@ +Improve the performance of `/bridegs` API. +Earlier, when the number of nodes in the cluster was large or the node was busy, the API may have a request timeout. diff --git a/changes/ce/perf-10123.zh.md b/changes/ce/perf-10123.zh.md new file mode 100644 index 000000000..b772b8913 --- /dev/null +++ b/changes/ce/perf-10123.zh.md @@ -0,0 +1,2 @@ +改进 `/bridegs` API 的性能。 +此前,当集群中节点数目较多或节点忙时,该 API 可能出现请求超时的情况。 diff --git a/changes/ee/fix-10095.zh.md b/changes/ee/fix-10095.zh.md index 5a62ccfca..5c8d107b5 100644 --- a/changes/ee/fix-10095.zh.md +++ b/changes/ee/fix-10095.zh.md @@ -1 +1 @@ -优化 MySQL 桥接在批量模式下能更高效的使用预处理语句 ,减少了对 MySQL 服务器的查询压力, 并确保对 SQL 语句进行更安全和谨慎的转义。 +优化 MySQL 桥接在批量模式下能更高效的使用预处理语句 ,减少了对 MySQL 服务器的写入压力, 并确保对 SQL 语句进行更安全和谨慎的转义。 From 0208fc8296872ec2ad8343500518759136bf1a9b Mon Sep 17 00:00:00 2001 From: Ivan Dyachkov Date: Fri, 24 Mar 2023 08:55:31 +0100 Subject: [PATCH 05/16] chore: e5.0.2-rc.1 --- apps/emqx/include/emqx_release.hrl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/emqx/include/emqx_release.hrl b/apps/emqx/include/emqx_release.hrl index 1783e7c05..fb8b19b69 100644 --- a/apps/emqx/include/emqx_release.hrl +++ b/apps/emqx/include/emqx_release.hrl @@ -35,7 +35,7 @@ -define(EMQX_RELEASE_CE, "5.0.21"). %% Enterprise edition --define(EMQX_RELEASE_EE, "5.0.2-alpha.2"). +-define(EMQX_RELEASE_EE, "5.0.2-rc.1"). %% the HTTP API version -define(EMQX_API_VERSION, "5.0"). From 1b83a88393addf464f6fa81150cc1bf00e5721e3 Mon Sep 17 00:00:00 2001 From: Kinplemelon Date: Fri, 24 Mar 2023 17:49:27 +0800 Subject: [PATCH 06/16] chore: upgrade dashboard to e1.0.5-beta.3 for ee and v1.2.0 for ce --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 40d8fe28d..d4b5b5593 100644 --- a/Makefile +++ b/Makefile @@ -6,8 +6,8 @@ export EMQX_DEFAULT_BUILDER = ghcr.io/emqx/emqx-builder/5.0-28:1.13.4-24.3.4.2-2 export EMQX_DEFAULT_RUNNER = debian:11-slim export OTP_VSN ?= $(shell $(CURDIR)/scripts/get-otp-vsn.sh) export ELIXIR_VSN ?= $(shell $(CURDIR)/scripts/get-elixir-vsn.sh) -export EMQX_DASHBOARD_VERSION ?= v1.1.9 -export EMQX_EE_DASHBOARD_VERSION ?= e1.0.5-beta.2 +export EMQX_DASHBOARD_VERSION ?= v1.2.0 +export EMQX_EE_DASHBOARD_VERSION ?= e1.0.5-beta.3 export EMQX_REL_FORM ?= tgz export QUICER_DOWNLOAD_FROM_RELEASE = 1 ifeq ($(OS),Windows_NT) From 5bdc71af6fe34eb82a5c08a75f492da86cb125f5 Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Fri, 24 Mar 2023 09:08:27 -0300 Subject: [PATCH 07/16] docs(kafka_consumer): make specific labels for key/value encoding modes https://emqx.atlassian.net/browse/EMQX-9312 --- .../i18n/emqx_ee_bridge_kafka.conf | 29 +++++++++++++++---- .../src/emqx_ee_bridge_kafka.erl | 4 +-- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf b/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf index 00f1f1031..abf1c34b7 100644 --- a/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf +++ b/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf @@ -629,20 +629,37 @@ emqx_ee_bridge_kafka { zh: "主题映射关系" } } - consumer_encoding_mode { + consumer_key_encoding_mode { desc { - en: "Defines how the key or value from the Kafka message is" + en: "Defines how the key from the Kafka message is" " dealt with before being forwarded via MQTT.\n" - "none Uses the key or value from the Kafka message unchanged." - " Note: in this case, then the key or value must be a valid UTF-8 string.\n" - "base64 Uses base-64 encoding on the received key or value." + "none Uses the key from the Kafka message unchanged." + " Note: in this case, then the key must be a valid UTF-8 string.\n" + "base64 Uses base-64 encoding on the received key." zh: "定义了在通过MQTT转发之前如何处理Kafka消息的键或值。" "none 使用Kafka消息中的键或值,不改变。" " 注意:在这种情况下,那么键或值必须是一个有效的UTF-8字符串。\n" "base64 对收到的密钥或值使用base-64编码。" } label { - en: "Encoding Mode" + en: "Key Encoding Mode" + zh: "编码模式" + } + } + consumer_value_encoding_mode { + desc { + en: "Defines how the value from the Kafka message is" + " dealt with before being forwarded via MQTT.\n" + "none Uses the value from the Kafka message unchanged." + " Note: in this case, then the value must be a valid UTF-8 string.\n" + "base64 Uses base-64 encoding on the received value." + zh: "定义了在通过MQTT转发之前如何处理Kafka消息的键或值。" + "none 使用Kafka消息中的键或值,不改变。" + " 注意:在这种情况下,那么键或值必须是一个有效的UTF-8字符串。\n" + "base64 对收到的密钥或值使用base-64编码。" + } + label { + en: "Value Encoding Mode" zh: "编码模式" } } diff --git a/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge_kafka.erl b/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge_kafka.erl index 30a58e4e0..3db8dd5f1 100644 --- a/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge_kafka.erl +++ b/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge_kafka.erl @@ -338,11 +338,11 @@ fields(consumer_opts) -> )}, {key_encoding_mode, mk(enum([none, base64]), #{ - default => none, desc => ?DESC(consumer_encoding_mode) + default => none, desc => ?DESC(consumer_key_encoding_mode) })}, {value_encoding_mode, mk(enum([none, base64]), #{ - default => none, desc => ?DESC(consumer_encoding_mode) + default => none, desc => ?DESC(consumer_value_encoding_mode) })} ]; fields(consumer_topic_mapping) -> From ca820dfefc02ae0b47abb461f443525c3ad8331c Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Fri, 24 Mar 2023 09:21:08 -0300 Subject: [PATCH 08/16] docs: improve descriptions Co-authored-by: Zaiming (Stone) Shi --- lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf b/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf index abf1c34b7..f93aef3c2 100644 --- a/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf +++ b/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf @@ -636,14 +636,14 @@ emqx_ee_bridge_kafka { "none Uses the key from the Kafka message unchanged." " Note: in this case, then the key must be a valid UTF-8 string.\n" "base64 Uses base-64 encoding on the received key." - zh: "定义了在通过MQTT转发之前如何处理Kafka消息的键或值。" - "none 使用Kafka消息中的键或值,不改变。" + zh: "定义了在通过MQTT转发之前如何处理Kafka消息的 Key。" + "none 使用Kafka消息中的 Key 原始值,不进行编码。” " 注意:在这种情况下,那么键或值必须是一个有效的UTF-8字符串。\n" "base64 对收到的密钥或值使用base-64编码。" } label { en: "Key Encoding Mode" - zh: "编码模式" + zh: "Key 编码模式" } } consumer_value_encoding_mode { @@ -653,8 +653,8 @@ emqx_ee_bridge_kafka { "none Uses the value from the Kafka message unchanged." " Note: in this case, then the value must be a valid UTF-8 string.\n" "base64 Uses base-64 encoding on the received value." - zh: "定义了在通过MQTT转发之前如何处理Kafka消息的键或值。" - "none 使用Kafka消息中的键或值,不改变。" + zh: "定义了在通过MQTT转发之前如何处理Kafka消息的 Value。" + "none 使用Kafka消息中的 Value 原始值,不进行编码。" " 注意:在这种情况下,那么键或值必须是一个有效的UTF-8字符串。\n" "base64 对收到的密钥或值使用base-64编码。" } From a239f0523aeab6456a3647e8c7e44698926663ae Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Fri, 24 Mar 2023 09:23:06 -0300 Subject: [PATCH 09/16] docs: improve descriptions Co-authored-by: Zaiming (Stone) Shi --- lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf b/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf index f93aef3c2..28bfe7140 100644 --- a/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf +++ b/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf @@ -638,7 +638,7 @@ emqx_ee_bridge_kafka { "base64 Uses base-64 encoding on the received key." zh: "定义了在通过MQTT转发之前如何处理Kafka消息的 Key。" "none 使用Kafka消息中的 Key 原始值,不进行编码。” - " 注意:在这种情况下,那么键或值必须是一个有效的UTF-8字符串。\n" + " 注意:在这种情况下,Key 必须是一个有效的UTF-8字符串。\n" "base64 对收到的密钥或值使用base-64编码。" } label { @@ -655,12 +655,12 @@ emqx_ee_bridge_kafka { "base64 Uses base-64 encoding on the received value." zh: "定义了在通过MQTT转发之前如何处理Kafka消息的 Value。" "none 使用Kafka消息中的 Value 原始值,不进行编码。" - " 注意:在这种情况下,那么键或值必须是一个有效的UTF-8字符串。\n" - "base64 对收到的密钥或值使用base-64编码。" + " 注意:在这种情况下,Value 必须是一个有效的UTF-8字符串。\n" + "base64 对收到的 Value 使用base-64编码。" } label { en: "Value Encoding Mode" - zh: "编码模式" + zh: "Value 编码模式" } } } From c92af4f763d8686332e5ced2d1e63dc6bbaf1fb4 Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Fri, 24 Mar 2023 09:48:35 -0300 Subject: [PATCH 10/16] docs: fix quote --- lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf b/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf index 28bfe7140..39b9d48f4 100644 --- a/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf +++ b/lib-ee/emqx_ee_bridge/i18n/emqx_ee_bridge_kafka.conf @@ -637,7 +637,7 @@ emqx_ee_bridge_kafka { " Note: in this case, then the key must be a valid UTF-8 string.\n" "base64 Uses base-64 encoding on the received key." zh: "定义了在通过MQTT转发之前如何处理Kafka消息的 Key。" - "none 使用Kafka消息中的 Key 原始值,不进行编码。” + "none 使用Kafka消息中的 Key 原始值,不进行编码。" " 注意:在这种情况下,Key 必须是一个有效的UTF-8字符串。\n" "base64 对收到的密钥或值使用base-64编码。" } From 166191abd6ef013bfd8aa923bf2972e59b1dd063 Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Fri, 17 Mar 2023 09:02:23 -0300 Subject: [PATCH 11/16] chore(ocsp): hide ocsp from schema for now We're going to release it in a later version. So, for now, we'll just hide it. --- apps/emqx/rebar.config | 2 +- apps/emqx/src/emqx_schema.erl | 6 +++++- apps/emqx/test/emqx_ocsp_cache_SUITE.erl | 12 +++--------- mix.exs | 2 +- rebar.config | 2 +- 5 files changed, 11 insertions(+), 13 deletions(-) diff --git a/apps/emqx/rebar.config b/apps/emqx/rebar.config index 229979f6c..a781a8a5a 100644 --- a/apps/emqx/rebar.config +++ b/apps/emqx/rebar.config @@ -29,7 +29,7 @@ {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.9.4"}}}, {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.14.5"}}}, {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.8.1"}}}, - {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.37.0"}}}, + {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.37.2"}}}, {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.2"}}}, {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}}, {recon, {git, "https://github.com/ferd/recon", {tag, "2.5.1"}}}, diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl index b18534a42..23583ead4 100644 --- a/apps/emqx/src/emqx_schema.erl +++ b/apps/emqx/src/emqx_schema.erl @@ -1285,6 +1285,8 @@ fields("listener_wss_opts") -> ); fields("listener_quic_ssl_opts") -> %% Mark unsupported TLS options deprecated. + Schema0 = server_ssl_opts_schema(#{}, false), + Schema1 = lists:keydelete("ocsp", 1, Schema0), lists:map( fun({Name, Schema}) -> case is_quic_ssl_opts(Name) of @@ -1294,7 +1296,7 @@ fields("listener_quic_ssl_opts") -> {Name, Schema#{deprecated => {since, "5.0.20"}}} end end, - server_ssl_opts_schema(#{}, false) + Schema1 ); fields("ssl_client_opts") -> client_ssl_opts_schema(#{}); @@ -2258,6 +2260,8 @@ server_ssl_opts_schema(Defaults, IsRanchListener) -> ref("ocsp"), #{ required => false, + %% TODO: remove after e5.0.2 + hidden => true, validator => fun ocsp_inner_validator/1 } )} diff --git a/apps/emqx/test/emqx_ocsp_cache_SUITE.erl b/apps/emqx/test/emqx_ocsp_cache_SUITE.erl index c45bc15ef..235734e9f 100644 --- a/apps/emqx/test/emqx_ocsp_cache_SUITE.erl +++ b/apps/emqx/test/emqx_ocsp_cache_SUITE.erl @@ -677,15 +677,9 @@ do_t_update_listener(Config) -> %% no ocsp at first ListenerId = "ssl:default", {ok, {{_, 200, _}, _, ListenerData0}} = get_listener_via_api(ListenerId), - ?assertMatch( - #{ - <<"ssl_options">> := - #{ - <<"ocsp">> := - #{<<"enable_ocsp_stapling">> := false} - } - }, - ListenerData0 + ?assertEqual( + undefined, + emqx_map_lib:deep_get([<<"ssl_options">>, <<"ocsp">>], ListenerData0, undefined) ), assert_no_http_get(), diff --git a/mix.exs b/mix.exs index 42354f8dc..6d76e23af 100644 --- a/mix.exs +++ b/mix.exs @@ -69,7 +69,7 @@ defmodule EMQXUmbrella.MixProject do # in conflict by emqtt and hocon {:getopt, "1.0.2", override: true}, {:snabbkaffe, github: "kafka4beam/snabbkaffe", tag: "1.0.7", override: true}, - {:hocon, github: "emqx/hocon", tag: "0.37.0", override: true}, + {:hocon, github: "emqx/hocon", tag: "0.37.2", override: true}, {:emqx_http_lib, github: "emqx/emqx_http_lib", tag: "0.5.2", override: true}, {:esasl, github: "emqx/esasl", tag: "0.2.0"}, {:jose, github: "potatosalad/erlang-jose", tag: "1.11.2"}, diff --git a/rebar.config b/rebar.config index 5ce9138ce..4ef9852b4 100644 --- a/rebar.config +++ b/rebar.config @@ -69,7 +69,7 @@ , {system_monitor, {git, "https://github.com/ieQu1/system_monitor", {tag, "3.0.3"}}} , {getopt, "1.0.2"} , {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "1.0.7"}}} - , {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.37.0"}}} + , {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.37.2"}}} , {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.2"}}} , {esasl, {git, "https://github.com/emqx/esasl", {tag, "0.2.0"}}} , {jose, {git, "https://github.com/potatosalad/erlang-jose", {tag, "1.11.2"}}} From a3f60367215c20b40cb50972da54805716be5881 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Fri, 24 Mar 2023 16:46:05 +0100 Subject: [PATCH 12/16] build: fix changelog format in cut.sh --- scripts/rel/cut.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/rel/cut.sh b/scripts/rel/cut.sh index 08fa37192..71033035a 100755 --- a/scripts/rel/cut.sh +++ b/scripts/rel/cut.sh @@ -246,8 +246,8 @@ generate_changelog () { fi ./scripts/rel/format-changelog.sh -b "${from_tag}" -l 'en' -v "$TAG" > "changes/${TAG}.en.md" ./scripts/rel/format-changelog.sh -b "${from_tag}" -l 'zh' -v "$TAG" > "changes/${TAG}.zh.md" - if [ -n "$(git diff --stat)" ]; then - git add changes/"${TAG}".*.md + git add changes/"${TAG}".*.md + if [ -n "$(git diff --staged --stat)" ]; then git commit -m "docs: Generate changelog for ${TAG}" else logmsg "No changelog update." From bdc9ed849a5c572764c2fd6114e3bc74e605136d Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Fri, 24 Mar 2023 16:46:51 +0100 Subject: [PATCH 13/16] docs: Generate changelog for v5.0.21 --- changes/v5.0.21.en.md | 96 +++++++++++++++++++++++++++++++++++++++++++ changes/v5.0.21.zh.md | 95 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 191 insertions(+) create mode 100644 changes/v5.0.21.en.md create mode 100644 changes/v5.0.21.zh.md diff --git a/changes/v5.0.21.en.md b/changes/v5.0.21.en.md new file mode 100644 index 000000000..548f3332b --- /dev/null +++ b/changes/v5.0.21.en.md @@ -0,0 +1,96 @@ +# v5.0.21 + +## Enhancements + +- [#10022](https://github.com/emqx/emqx/pull/10022) Start releasing Rocky Linux 9 (compatible with Enterprise Linux 9) and MacOS 12 packages + +- [#10139](https://github.com/emqx/emqx/pull/10139) Add `extraVolumeMounts` to EMQX Helm Chart, it will have the ability to mount the user-own files into the EMQX instance, for example, ACL rule files as mentioned in [#9052](https://github.com/emqx/emqx/issues/9052) + + Done of [#10116](https://github.com/emqx/emqx/issues/10116) + +- [#9893](https://github.com/emqx/emqx/pull/9893) When connecting with the flag `clean_start=false`, EMQX will filter out messages that published by banned clients. + Previously, the messages sent by banned clients may still be delivered to subscribers in this scenario. + +- [#9986](https://github.com/emqx/emqx/pull/9986) For helm charts, add MQTT ingress bridge; and removed stale `mgmt` references. + +- [#10123](https://github.com/emqx/emqx/pull/10123) Improve the performance of `/bridegs` API. + Earlier, when the number of nodes in the cluster was large or the node was busy, the API may have a request timeout. + +- [#9998](https://github.com/emqx/emqx/pull/9998) Redact the HTTP request body in the authentication error logs for security reasons. + +## Bug Fixes + +- [#10013](https://github.com/emqx/emqx/pull/10013) Fix return type structure for error case in API schema for `/gateways/:name/clients`. + +- [#10014](https://github.com/emqx/emqx/pull/10014) In dashboard API for `/monitor(_current)/nodes/:node` return `404` instead of `400` if node does not exist. + +- [#10026](https://github.com/emqx/emqx/pull/10026) Metrics are now only exposed via the /bridges/:id/metrics endpoint. Metrics are no longer returned in other API operations such as getting the list of all bridges, or in the response when a bridge has been created. + +- [#10027](https://github.com/emqx/emqx/pull/10027) Allow setting node name from `EMQX_NODE__NAME` when running in docker. + Prior to this fix, only `EMQX_NODE_NAME` is allowed. + +- [#10050](https://github.com/emqx/emqx/pull/10050) Ensure Bridge API returns `404` status code consistently for resources that don't exist. + +- [#10052](https://github.com/emqx/emqx/pull/10052) Improve daemon mode startup failure logs. + + Before this change, it was difficult for users to understand the reason for EMQX 'start' command failed to boot the node. + The only information they received was that the node did not start within the expected time frame, + and they were instructed to boot the node with 'console' command in the hope of obtaining some logs. + However, the node might actually be running, which could cause 'console' mode to fail for a different reason. + + With this new change, when daemon mode fails to boot, a diagnosis is issued. Here are the possible scenarios: + + * If the node cannot be found from `ps -ef`, the user is instructed to find information in log files `erlang.log.*`. + * If the node is found to be running but not responding to pings, the user is advised to check if the host name is resolvable and reachable. + * If the node is responding to pings, but the EMQX app is not running, it is likely a bug. In this case, the user is advised to report a Github issue. + +- [#10055](https://github.com/emqx/emqx/pull/10055) Fix `mqtt.max_awaiting_rel` change does not work. + +- [#10056](https://github.com/emqx/emqx/pull/10056) Fix `/bridges` API status code. + - Return `400` instead of `403` in case of removing a data bridge that is dependent on an active rule. + - Return `400` instead of `403` in case of calling operations (start|stop|restart) when Data-Bridging is not enabled. + +- [#10066](https://github.com/emqx/emqx/pull/10066) Improve error messages for `/briges_probe` and `[/node/:node]/bridges/:id/:operation` API calls to make them more readable. And set HTTP status code to `400` instead of `500`. + +- [#10074](https://github.com/emqx/emqx/pull/10074) Check if type in `PUT /authorization/sources/:type` matches `type` given in body of request. + +- [#10079](https://github.com/emqx/emqx/pull/10079) Fix description of `shared_subscription_strategy`. + +- [#10085](https://github.com/emqx/emqx/pull/10085) Consistently return `404` for all requests on non existent source in `/authorization/sources/:source[/*]`. + +- [#10098](https://github.com/emqx/emqx/pull/10098) A crash with an error in the log file that happened when the MongoDB authorization module queried the database has been fixed. + +- [#10100](https://github.com/emqx/emqx/pull/10100) Fix channel crash for slow clients with enhanced authentication. + Previously, when the client was using enhanced authentication, but the Auth message was sent slowly or the Auth message was lost, the client process would crash. + +- [#10107](https://github.com/emqx/emqx/pull/10107) For operations on `bridges API` if `bridge-id` is unknown we now return `404` + instead of `400`. Also a bug was fixed that caused a crash if that was a node + operation. Additionally we now also check if the given bridge is enabled when + doing the cluster operation `start` . Affected endpoints: + * [cluster] `/bridges/:id/:operation`, + * [node] `/nodes/:node/bridges/:id/:operation`, where `operation` is one of + `[start|stop|restart]`. + Moreover, for a node operation, EMQX checks if node name is in our cluster and + return `404` instead of `501`. + +- [#10117](https://github.com/emqx/emqx/pull/10117) Fix an error occurring when a joining node doesn't have plugins that are installed on other nodes in the cluster. + After this fix, the joining node will copy all the necessary plugins from other nodes. + +- [#10118](https://github.com/emqx/emqx/pull/10118) Fix problems related to manual joining of EMQX replicant nodes to the cluster. + Previously, after manually executing joining and then leaving the cluster, the `replicant` node can only run normally after restarting the node after joining the cluster again. + + [Mria PR](https://github.com/emqx/mria/pull/128) + +- [#10119](https://github.com/emqx/emqx/pull/10119) Fix crash when `statsd.server` is set to an empty string. + +- [#10124](https://github.com/emqx/emqx/pull/10124) The default heartbeat period for MongoDB has been increased to reduce the risk of too excessive logging to the MongoDB log file. + +- [#10130](https://github.com/emqx/emqx/pull/10130) Fix garbled config display in dashboard when the value is originally from environment variables. + For example, `env EMQX_STATSD__SERVER='127.0.0.1:8124' . /bin/emqx start` results in unreadable string (not '127.0.0.1:8124') displayed in Dashboard's Statsd settings page. + Related PR: [HOCON#234](https://github.com/emqx/hocon/pull/234). + +- [#10132](https://github.com/emqx/emqx/pull/10132) Fix some error logs generated by `systemctl stop emqx` command. The command havn't stopping jq, os_mon application properly. + +- [#10144](https://github.com/emqx/emqx/pull/10144) Add `-setcookie` emulator flag when invoking `emqx ctl` to prevent problems with emqx cli when home directory is read only. Fixes [#10142](https://github.com/emqx/emqx/issues/10142). + +- [#10157](https://github.com/emqx/emqx/pull/10157) Fixed default rate limit configuration not being applied correctly when creating a new listener. diff --git a/changes/v5.0.21.zh.md b/changes/v5.0.21.zh.md new file mode 100644 index 000000000..4f6e012a3 --- /dev/null +++ b/changes/v5.0.21.zh.md @@ -0,0 +1,95 @@ +# v5.0.21 + +## 增强 + +- [#10022](https://github.com/emqx/emqx/pull/10022) 开始发布Rocky Linux 9(与Enterprise Linux 9兼容)和MacOS 12软件包。 + +- [#10139](https://github.com/emqx/emqx/pull/10139) 将 `extraVolumeMounts` 添加到 EMQX Helm Chart 中,它将能够挂载用户自己的文件到 EMQX 实例中,例如在 [#9052](https://github.com/emqx/emqx/issues/9052) 中提到的 ACL 规则文件。 + + 完成了 [#10116](https://github.com/emqx/emqx/issues/10116) + +- [#9893](https://github.com/emqx/emqx/pull/9893) 当使用 `clean_start=false` 标志连接时,EMQX 将会从消息队列中过滤出被封禁客户端发出的消息,使它们不能被下发给订阅者。 + 此前被封禁客户端发出的消息仍可能在这一场景下被下发给订阅者。 + +- [#9986](https://github.com/emqx/emqx/pull/9986) 在 helm chart 中新增了 MQTT 桥接 ingress 的配置参数;并删除了旧版本遗留的 `mgmt` 配置。 + +- [#10123](https://github.com/emqx/emqx/pull/10123) 改进 `/bridegs` API 的性能。 + 此前,当集群中节点数目较多或节点忙时,该 API 可能出现请求超时的情况。 + +- [#9998](https://github.com/emqx/emqx/pull/9998) 出于安全原因,在身份验证错误日志中模糊 HTTP 请求正文。 + +## 修复 + +- [#10013](https://github.com/emqx/emqx/pull/10013) 修复 API `/gateways/:name/clients` 返回值的类型结构错误。 + +- [#10014](https://github.com/emqx/emqx/pull/10014) 如果 API 查询的节点不存在,将会返回 404 而不再是 400。 + +- [#10026](https://github.com/emqx/emqx/pull/10026) 现在只有显式调用 `/bridges/:id/metrics` 接口时才可以获得指标数据,而其他 API 接口将不再返回相关数据。 + +- [#10027](https://github.com/emqx/emqx/pull/10027) 在 docker 中启动时,允许使用 `EMQX_NODE__NAME` 环境变量来配置节点名。 + 在此修复前,只能使 `EMQX_NODE_NAME`。 + +- [#10050](https://github.com/emqx/emqx/pull/10050) 确保 Bridge API 对不存在的资源一致返回 `404` 状态代码。 + +- [#10052](https://github.com/emqx/emqx/pull/10052) 优化 EMQX daemon 模式启动启动失败的日志。 + + 在进行此更改之前,当 EMQX 用 `start` 命令启动失败时,用户很难理解出错的原因。 + 所知道的仅仅是节点未能在预期时间内启动,然后被指示以 `console` 式引导节点以获取一些日志。 + 然而,节点实际上可能正在运行,这可能会导致 `console` 模式因不同的原因而失败。 + + 此次修复后,启动脚本会发出诊断: + + * 如果无法从 `ps -ef` 中找到节点,则指示用户在 `erlang.log.*` 中查找信息。 + * 如果发现节点正在运行但不响应 ping,则建议用户检查节点主机名是否有效并可达。 + * 如果节点响应 ping 但 EMQX 应用程序未运行,则很可能是一个错误。在这种情况下,建议用户报告一个Github issue。 + +- [#10055](https://github.com/emqx/emqx/pull/10055) 修复 `mqtt.max_awaiting_rel` 更新不生效问题。 + +- [#10056](https://github.com/emqx/emqx/pull/10056) 修复 `/bridges` API 的 HTTP 状态码。 + - 当删除被活动中的规则依赖的数据桥接时,将返回 `400` 而不是 `403` 。 + - 当数据桥接未启用时,调用操作(启动|停止|重启)将返回 `400` 而不是 `403`。 + +- [#10066](https://github.com/emqx/emqx/pull/10066) 改进 `/briges_probe` 和 `[/node/:node]/bridges/:id/:operation` API 调用的错误信息,使之更加易读。并将 HTTP 状态代码设置为 `400` 而不是 `500`。 + +- [#10074](https://github.com/emqx/emqx/pull/10074) 检查 `PUT /authorization/sources/:type` 中的类型是否与请求正文中的 `type` 相符。 + +- [#10079](https://github.com/emqx/emqx/pull/10079) 修正对 `shared_subscription_strategy` 的描述。 + + +- [#10085](https://github.com/emqx/emqx/pull/10085) 如果向 `/authorization/sources/:source[/*]` 请求的 `source` 不存在,将一致地返回 `404`。 + +- [#10098](https://github.com/emqx/emqx/pull/10098) 当 MongoDB 授权模块查询数据库时,在日志文件中发生的崩溃与错误已经被修复。 + +- [#10100](https://github.com/emqx/emqx/pull/10100) 修复响应较慢的客户端在使用增强认证时可能出现崩溃的问题。 + 此前,当客户端使用增强认证功能,但发送 Auth 报文较慢或 Auth 报文丢失时会导致客户端进程崩溃。 + +- [#10107](https://github.com/emqx/emqx/pull/10107) 现在对桥接的 API 进行调用时,如果 `bridge-id` 不存在,将会返回 `404`,而不再是`400`。 + 然后,还修复了这种情况下,在节点级别上进行 API 调用时,可能导致崩溃的问题。 + 另外,在启动某个桥接时,会先检查指定桥接是否已启用。 + 受影响的接口有: + * [cluster] `/bridges/:id/:operation`, + * [node] `/nodes/:node/bridges/:id/:operation`, + 其中 `operation` 是 `[start|stop|restart]` 之一。 + 此外,对于节点操作,EMQX 将检查节点是否存在于集群中,如果不在,则会返回`404`,而不再是`501`。 + +- [#10117](https://github.com/emqx/emqx/pull/10117) 修复节点加入集群时,由于缺少集其它节点已安装的插件所导致的错误。 + 在此修复后,加入集群的节点将从其它节点复制所有必须的插件。 + +- [#10118](https://github.com/emqx/emqx/pull/10118) 修复 `replicant` 节点因为手动加入 EMQX 集群导致的相关问题。 + 此前,手动执行 `加入集群-离开集群` 后,`replicant` 节点再次加入集群后只有重启节点才能正常运行。 + + [Mria PR](https://github.com/emqx/mria/pull/128) + +- [#10119](https://github.com/emqx/emqx/pull/10119) 修复 `statsd.server` 配置为空字符串时启动崩溃的问题。 + +- [#10124](https://github.com/emqx/emqx/pull/10124) 增加了 MongoDB 的默认心跳周期,以减少 MongoDB 日志文件记录过多的风险。 + +- [#10130](https://github.com/emqx/emqx/pull/10130) 修复通过环境变量配置启动的 EMQX 节点无法通过HTTP API获取到正确的配置信息。 + 比如:`EMQX_STATSD__SERVER='127.0.0.1:8124' ./bin/emqx start` 后通过 Dashboard看到的 Statsd 配置信息是乱码。 + 相关 PR: [HOCON:234](https://github.com/emqx/hocon/pull/234). + +- [#10132](https://github.com/emqx/emqx/pull/10132) 修复 `systemctl stop emqx` 命令没有正常停止 jq、os_mon 组件所产生一些错误日志。 + +- [#10144](https://github.com/emqx/emqx/pull/10144) 为 emqx 可执行文件加入 `-setcookie` 标志,以避免由于 home 目录只读,导致 emqx cli 所提供的 `emqx ctl` 等命令在执行时出现的一些问题。修复 [#10142](https://github.com/emqx/emqx/issues/10142)。 + +- [#10157](https://github.com/emqx/emqx/pull/10157) 修复在创建新的监听器时,没有正确应用速率限制默认配置的问题。 From 3490a7dc1dfd1924d2d7e834306f78b5bfa027e3 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Fri, 24 Mar 2023 16:56:22 +0100 Subject: [PATCH 14/16] docs: fix a few zh version change log wording --- changes/v5.0.21.en.md | 9 +++++---- changes/v5.0.21.zh.md | 8 ++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/changes/v5.0.21.en.md b/changes/v5.0.21.en.md index 548f3332b..3171d401c 100644 --- a/changes/v5.0.21.en.md +++ b/changes/v5.0.21.en.md @@ -13,7 +13,7 @@ - [#9986](https://github.com/emqx/emqx/pull/9986) For helm charts, add MQTT ingress bridge; and removed stale `mgmt` references. -- [#10123](https://github.com/emqx/emqx/pull/10123) Improve the performance of `/bridegs` API. +- [#10123](https://github.com/emqx/emqx/pull/10123) Improve the performance of `/bridges` API. Earlier, when the number of nodes in the cluster was large or the node was busy, the API may have a request timeout. - [#9998](https://github.com/emqx/emqx/pull/9998) Redact the HTTP request body in the authentication error logs for security reasons. @@ -21,7 +21,7 @@ ## Bug Fixes - [#10013](https://github.com/emqx/emqx/pull/10013) Fix return type structure for error case in API schema for `/gateways/:name/clients`. - +u - [#10014](https://github.com/emqx/emqx/pull/10014) In dashboard API for `/monitor(_current)/nodes/:node` return `404` instead of `400` if node does not exist. - [#10026](https://github.com/emqx/emqx/pull/10026) Metrics are now only exposed via the /bridges/:id/metrics endpoint. Metrics are no longer returned in other API operations such as getting the list of all bridges, or in the response when a bridge has been created. @@ -44,7 +44,7 @@ * If the node is found to be running but not responding to pings, the user is advised to check if the host name is resolvable and reachable. * If the node is responding to pings, but the EMQX app is not running, it is likely a bug. In this case, the user is advised to report a Github issue. -- [#10055](https://github.com/emqx/emqx/pull/10055) Fix `mqtt.max_awaiting_rel` change does not work. +- [#10055](https://github.com/emqx/emqx/pull/10055) Fix: configuration parameter `mqtt.max_awaiting_rel` had no effect. - [#10056](https://github.com/emqx/emqx/pull/10056) Fix `/bridges` API status code. - Return `400` instead of `403` in case of removing a data bridge that is dependent on an active rule. @@ -89,7 +89,8 @@ For example, `env EMQX_STATSD__SERVER='127.0.0.1:8124' . /bin/emqx start` results in unreadable string (not '127.0.0.1:8124') displayed in Dashboard's Statsd settings page. Related PR: [HOCON#234](https://github.com/emqx/hocon/pull/234). -- [#10132](https://github.com/emqx/emqx/pull/10132) Fix some error logs generated by `systemctl stop emqx` command. The command havn't stopping jq, os_mon application properly. +- [#10132](https://github.com/emqx/emqx/pull/10132) Fix some error logs generated by `systemctl stop emqx` command. + Prior to the fix, the command was not stopping jq and os_mon applications properly. - [#10144](https://github.com/emqx/emqx/pull/10144) Add `-setcookie` emulator flag when invoking `emqx ctl` to prevent problems with emqx cli when home directory is read only. Fixes [#10142](https://github.com/emqx/emqx/issues/10142). diff --git a/changes/v5.0.21.zh.md b/changes/v5.0.21.zh.md index 4f6e012a3..7695eeb84 100644 --- a/changes/v5.0.21.zh.md +++ b/changes/v5.0.21.zh.md @@ -2,18 +2,18 @@ ## 增强 -- [#10022](https://github.com/emqx/emqx/pull/10022) 开始发布Rocky Linux 9(与Enterprise Linux 9兼容)和MacOS 12软件包。 +- [#10022](https://github.com/emqx/emqx/pull/10022) 开始发布Rocky Linux 9(与Enterprise Linux 9兼容)和 MacOS 12 软件包。 - [#10139](https://github.com/emqx/emqx/pull/10139) 将 `extraVolumeMounts` 添加到 EMQX Helm Chart 中,它将能够挂载用户自己的文件到 EMQX 实例中,例如在 [#9052](https://github.com/emqx/emqx/issues/9052) 中提到的 ACL 规则文件。 - 完成了 [#10116](https://github.com/emqx/emqx/issues/10116) + 修复了 issue [#10116](https://github.com/emqx/emqx/issues/10116) - [#9893](https://github.com/emqx/emqx/pull/9893) 当使用 `clean_start=false` 标志连接时,EMQX 将会从消息队列中过滤出被封禁客户端发出的消息,使它们不能被下发给订阅者。 此前被封禁客户端发出的消息仍可能在这一场景下被下发给订阅者。 - [#9986](https://github.com/emqx/emqx/pull/9986) 在 helm chart 中新增了 MQTT 桥接 ingress 的配置参数;并删除了旧版本遗留的 `mgmt` 配置。 -- [#10123](https://github.com/emqx/emqx/pull/10123) 改进 `/bridegs` API 的性能。 +- [#10123](https://github.com/emqx/emqx/pull/10123) 改进 `/bridges` API 的性能。 此前,当集群中节点数目较多或节点忙时,该 API 可能出现请求超时的情况。 - [#9998](https://github.com/emqx/emqx/pull/9998) 出于安全原因,在身份验证错误日志中模糊 HTTP 请求正文。 @@ -43,7 +43,7 @@ * 如果发现节点正在运行但不响应 ping,则建议用户检查节点主机名是否有效并可达。 * 如果节点响应 ping 但 EMQX 应用程序未运行,则很可能是一个错误。在这种情况下,建议用户报告一个Github issue。 -- [#10055](https://github.com/emqx/emqx/pull/10055) 修复 `mqtt.max_awaiting_rel` 更新不生效问题。 +- [#10055](https://github.com/emqx/emqx/pull/10055) 修复配置项 `mqtt.max_awaiting_rel` 更新不生效问题。 - [#10056](https://github.com/emqx/emqx/pull/10056) 修复 `/bridges` API 的 HTTP 状态码。 - 当删除被活动中的规则依赖的数据桥接时,将返回 `400` 而不是 `403` 。 From e59362a3325144cbacd8413b45ae4fef6dca4056 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Fri, 24 Mar 2023 21:39:04 +0100 Subject: [PATCH 15/16] docs: fix both original and merged change logs --- changes/ce/feat-10022.zh.md | 2 +- changes/ce/feat-10139.en.md | 1 - changes/ce/feat-10139.zh.md | 3 +-- changes/ce/fix-10055.en.md | 2 +- changes/ce/fix-10055.zh.md | 2 +- changes/ce/fix-10132.en.md | 3 ++- changes/ce/perf-10123.en.md | 2 +- changes/ce/perf-10123.zh.md | 2 +- changes/v5.0.21.en.md | 2 +- changes/v5.0.21.zh.md | 1 - 10 files changed, 9 insertions(+), 11 deletions(-) diff --git a/changes/ce/feat-10022.zh.md b/changes/ce/feat-10022.zh.md index 970704f55..dbae1af77 100644 --- a/changes/ce/feat-10022.zh.md +++ b/changes/ce/feat-10022.zh.md @@ -1 +1 @@ -开始发布Rocky Linux 9(与Enterprise Linux 9兼容)和MacOS 12软件包。 +开始发布Rocky Linux 9(与Enterprise Linux 9兼容)和 MacOS 12 软件包。 diff --git a/changes/ce/feat-10139.en.md b/changes/ce/feat-10139.en.md index 3c49ceac3..e2ec5f863 100644 --- a/changes/ce/feat-10139.en.md +++ b/changes/ce/feat-10139.en.md @@ -1,3 +1,2 @@ Add `extraVolumeMounts` to EMQX Helm Chart, it will have the ability to mount the user-own files into the EMQX instance, for example, ACL rule files as mentioned in [#9052](https://github.com/emqx/emqx/issues/9052) - Done of [#10116](https://github.com/emqx/emqx/issues/10116) diff --git a/changes/ce/feat-10139.zh.md b/changes/ce/feat-10139.zh.md index f7920a127..936db78c8 100644 --- a/changes/ce/feat-10139.zh.md +++ b/changes/ce/feat-10139.zh.md @@ -1,3 +1,2 @@ 将 `extraVolumeMounts` 添加到 EMQX Helm Chart 中,它将能够挂载用户自己的文件到 EMQX 实例中,例如在 [#9052](https://github.com/emqx/emqx/issues/9052) 中提到的 ACL 规则文件。 - -完成了 [#10116](https://github.com/emqx/emqx/issues/10116) +修复了 issue [#10116](https://github.com/emqx/emqx/issues/10116) diff --git a/changes/ce/fix-10055.en.md b/changes/ce/fix-10055.en.md index 4ffaae195..15237c135 100644 --- a/changes/ce/fix-10055.en.md +++ b/changes/ce/fix-10055.en.md @@ -1 +1 @@ -Fix `mqtt.max_awaiting_rel` change does not work. +Fix: configuration parameter `mqtt.max_awaiting_rel` had no effect. diff --git a/changes/ce/fix-10055.zh.md b/changes/ce/fix-10055.zh.md index 4da371c51..35469af57 100644 --- a/changes/ce/fix-10055.zh.md +++ b/changes/ce/fix-10055.zh.md @@ -1 +1 @@ -修复 `mqtt.max_awaiting_rel` 更新不生效问题。 +修复配置项 `mqtt.max_awaiting_rel` 更新不生效问题。 diff --git a/changes/ce/fix-10132.en.md b/changes/ce/fix-10132.en.md index 17eaaa3e8..937c579a4 100644 --- a/changes/ce/fix-10132.en.md +++ b/changes/ce/fix-10132.en.md @@ -1 +1,2 @@ -Fix some error logs generated by `systemctl stop emqx` command. The command havn't stopping jq, os_mon application properly. +Fix some error logs generated by `systemctl stop emqx` command. +Prior to the fix, the command was not stopping jq and os_mon applications properly. diff --git a/changes/ce/perf-10123.en.md b/changes/ce/perf-10123.en.md index dbe1b288e..13a7deee8 100644 --- a/changes/ce/perf-10123.en.md +++ b/changes/ce/perf-10123.en.md @@ -1,2 +1,2 @@ -Improve the performance of `/bridegs` API. +Improve the performance of `/bridges` API. Earlier, when the number of nodes in the cluster was large or the node was busy, the API may have a request timeout. diff --git a/changes/ce/perf-10123.zh.md b/changes/ce/perf-10123.zh.md index b772b8913..17ee0ad9e 100644 --- a/changes/ce/perf-10123.zh.md +++ b/changes/ce/perf-10123.zh.md @@ -1,2 +1,2 @@ -改进 `/bridegs` API 的性能。 +改进 `/bridges` API 的性能。 此前,当集群中节点数目较多或节点忙时,该 API 可能出现请求超时的情况。 diff --git a/changes/v5.0.21.en.md b/changes/v5.0.21.en.md index 3171d401c..ca8043e3f 100644 --- a/changes/v5.0.21.en.md +++ b/changes/v5.0.21.en.md @@ -21,7 +21,7 @@ ## Bug Fixes - [#10013](https://github.com/emqx/emqx/pull/10013) Fix return type structure for error case in API schema for `/gateways/:name/clients`. -u + - [#10014](https://github.com/emqx/emqx/pull/10014) In dashboard API for `/monitor(_current)/nodes/:node` return `404` instead of `400` if node does not exist. - [#10026](https://github.com/emqx/emqx/pull/10026) Metrics are now only exposed via the /bridges/:id/metrics endpoint. Metrics are no longer returned in other API operations such as getting the list of all bridges, or in the response when a bridge has been created. diff --git a/changes/v5.0.21.zh.md b/changes/v5.0.21.zh.md index 7695eeb84..2de7e8a56 100644 --- a/changes/v5.0.21.zh.md +++ b/changes/v5.0.21.zh.md @@ -5,7 +5,6 @@ - [#10022](https://github.com/emqx/emqx/pull/10022) 开始发布Rocky Linux 9(与Enterprise Linux 9兼容)和 MacOS 12 软件包。 - [#10139](https://github.com/emqx/emqx/pull/10139) 将 `extraVolumeMounts` 添加到 EMQX Helm Chart 中,它将能够挂载用户自己的文件到 EMQX 实例中,例如在 [#9052](https://github.com/emqx/emqx/issues/9052) 中提到的 ACL 规则文件。 - 修复了 issue [#10116](https://github.com/emqx/emqx/issues/10116) - [#9893](https://github.com/emqx/emqx/pull/9893) 当使用 `clean_start=false` 标志连接时,EMQX 将会从消息队列中过滤出被封禁客户端发出的消息,使它们不能被下发给订阅者。 From dd996ad1dcd25ff8aede5613649fb9b94544dbe1 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Fri, 24 Mar 2023 21:46:26 +0100 Subject: [PATCH 16/16] chore: bump app vsns --- apps/emqx/src/emqx.app.src | 2 +- apps/emqx_bridge/src/emqx_bridge.app.src | 2 +- apps/emqx_dashboard/src/emqx_dashboard.app.src | 2 +- apps/emqx_gateway/src/emqx_gateway.app.src | 2 +- apps/emqx_management/src/emqx_management.app.src | 2 +- apps/emqx_resource/src/emqx_resource.app.src | 2 +- apps/emqx_rule_engine/src/emqx_rule_engine.app.src | 2 +- lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.app.src | 2 +- lib-ee/emqx_ee_connector/src/emqx_ee_connector.app.src | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/emqx/src/emqx.app.src b/apps/emqx/src/emqx.app.src index d2831b74d..1cecd7b61 100644 --- a/apps/emqx/src/emqx.app.src +++ b/apps/emqx/src/emqx.app.src @@ -3,7 +3,7 @@ {id, "emqx"}, {description, "EMQX Core"}, % strict semver, bump manually! - {vsn, "5.0.20"}, + {vsn, "5.0.21"}, {modules, []}, {registered, []}, {applications, [ diff --git a/apps/emqx_bridge/src/emqx_bridge.app.src b/apps/emqx_bridge/src/emqx_bridge.app.src index 99a49f8fd..f5bcb23e2 100644 --- a/apps/emqx_bridge/src/emqx_bridge.app.src +++ b/apps/emqx_bridge/src/emqx_bridge.app.src @@ -1,7 +1,7 @@ %% -*- mode: erlang -*- {application, emqx_bridge, [ {description, "EMQX bridges"}, - {vsn, "0.1.13"}, + {vsn, "0.1.14"}, {registered, [emqx_bridge_sup]}, {mod, {emqx_bridge_app, []}}, {applications, [ diff --git a/apps/emqx_dashboard/src/emqx_dashboard.app.src b/apps/emqx_dashboard/src/emqx_dashboard.app.src index 3970d76e4..8a4764c84 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard.app.src +++ b/apps/emqx_dashboard/src/emqx_dashboard.app.src @@ -2,7 +2,7 @@ {application, emqx_dashboard, [ {description, "EMQX Web Dashboard"}, % strict semver, bump manually! - {vsn, "5.0.15"}, + {vsn, "5.0.16"}, {modules, []}, {registered, [emqx_dashboard_sup]}, {applications, [kernel, stdlib, mnesia, minirest, emqx, emqx_ctl]}, diff --git a/apps/emqx_gateway/src/emqx_gateway.app.src b/apps/emqx_gateway/src/emqx_gateway.app.src index 59eed7f3f..ced013497 100644 --- a/apps/emqx_gateway/src/emqx_gateway.app.src +++ b/apps/emqx_gateway/src/emqx_gateway.app.src @@ -1,7 +1,7 @@ %% -*- mode: erlang -*- {application, emqx_gateway, [ {description, "The Gateway management application"}, - {vsn, "0.1.13"}, + {vsn, "0.1.14"}, {registered, []}, {mod, {emqx_gateway_app, []}}, {applications, [kernel, stdlib, grpc, emqx, emqx_authn, emqx_ctl]}, diff --git a/apps/emqx_management/src/emqx_management.app.src b/apps/emqx_management/src/emqx_management.app.src index 966358f47..9863f5cf6 100644 --- a/apps/emqx_management/src/emqx_management.app.src +++ b/apps/emqx_management/src/emqx_management.app.src @@ -2,7 +2,7 @@ {application, emqx_management, [ {description, "EMQX Management API and CLI"}, % strict semver, bump manually! - {vsn, "5.0.16"}, + {vsn, "5.0.17"}, {modules, []}, {registered, [emqx_management_sup]}, {applications, [kernel, stdlib, emqx_plugins, minirest, emqx, emqx_ctl]}, diff --git a/apps/emqx_resource/src/emqx_resource.app.src b/apps/emqx_resource/src/emqx_resource.app.src index 7be1bcb1c..fbfe8c1fa 100644 --- a/apps/emqx_resource/src/emqx_resource.app.src +++ b/apps/emqx_resource/src/emqx_resource.app.src @@ -1,7 +1,7 @@ %% -*- mode: erlang -*- {application, emqx_resource, [ {description, "Manager for all external resources"}, - {vsn, "0.1.10"}, + {vsn, "0.1.11"}, {registered, []}, {mod, {emqx_resource_app, []}}, {applications, [ diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine.app.src b/apps/emqx_rule_engine/src/emqx_rule_engine.app.src index 1681297ec..8d50f60e3 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine.app.src +++ b/apps/emqx_rule_engine/src/emqx_rule_engine.app.src @@ -2,7 +2,7 @@ {application, emqx_rule_engine, [ {description, "EMQX Rule Engine"}, % strict semver, bump manually! - {vsn, "5.0.11"}, + {vsn, "5.0.12"}, {modules, []}, {registered, [emqx_rule_engine_sup, emqx_rule_engine]}, {applications, [kernel, stdlib, rulesql, getopt, emqx_ctl]}, diff --git a/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.app.src b/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.app.src index 6647ec212..156c3eeac 100644 --- a/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.app.src +++ b/lib-ee/emqx_ee_bridge/src/emqx_ee_bridge.app.src @@ -1,6 +1,6 @@ {application, emqx_ee_bridge, [ {description, "EMQX Enterprise data bridges"}, - {vsn, "0.1.7"}, + {vsn, "0.1.8"}, {registered, [emqx_ee_bridge_kafka_consumer_sup]}, {applications, [ kernel, diff --git a/lib-ee/emqx_ee_connector/src/emqx_ee_connector.app.src b/lib-ee/emqx_ee_connector/src/emqx_ee_connector.app.src index d8921198c..6a9f8f924 100644 --- a/lib-ee/emqx_ee_connector/src/emqx_ee_connector.app.src +++ b/lib-ee/emqx_ee_connector/src/emqx_ee_connector.app.src @@ -1,6 +1,6 @@ {application, emqx_ee_connector, [ {description, "EMQX Enterprise connectors"}, - {vsn, "0.1.7"}, + {vsn, "0.1.8"}, {registered, []}, {applications, [ kernel,