From 66f06c3ab7c82a4ab808652640ece7a532a623e8 Mon Sep 17 00:00:00 2001 From: firest Date: Tue, 16 Aug 2022 14:00:20 +0800 Subject: [PATCH 01/13] fix(dashboard): change `bootstrap_user` to `bootstrap_user_file` --- apps/emqx_dashboard/i18n/emqx_dashboard_i18n.conf | 2 +- apps/emqx_dashboard/src/emqx_dashboard_admin.erl | 9 +++++++-- apps/emqx_dashboard/src/emqx_dashboard_schema.erl | 3 ++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/emqx_dashboard/i18n/emqx_dashboard_i18n.conf b/apps/emqx_dashboard/i18n/emqx_dashboard_i18n.conf index e404b54b4..0dbed7c47 100644 --- a/apps/emqx_dashboard/i18n/emqx_dashboard_i18n.conf +++ b/apps/emqx_dashboard/i18n/emqx_dashboard_i18n.conf @@ -197,7 +197,7 @@ its own from which a browser should permit loading resources.""" zh: "多语言支持" } } - bootstrap_user { + bootstrap_user_file { desc { en: "Initialize users file." zh: "初始化用户文件" diff --git a/apps/emqx_dashboard/src/emqx_dashboard_admin.erl b/apps/emqx_dashboard/src/emqx_dashboard_admin.erl index 7f5c31771..76bcf384e 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard_admin.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard_admin.erl @@ -87,7 +87,7 @@ add_default_user() -> -spec add_bootstrap_user() -> ok | {error, _}. add_bootstrap_user() -> - case emqx:get_config([dashboard, bootstrap_user], undefined) of + case emqx:get_config([dashboard, bootstrap_user_file], undefined) of undefined -> ok; File -> @@ -324,7 +324,12 @@ add_bootstrap_user(File) -> after file:close(Dev) end; - Error -> + {error, Reason} = Error -> + ?SLOG(error, #{ + msg => "failed to open the dashboard bootstrap users file", + file => File, + reason => Reason + }), Error end. diff --git a/apps/emqx_dashboard/src/emqx_dashboard_schema.erl b/apps/emqx_dashboard/src/emqx_dashboard_schema.erl index 4bb9fb6af..17c5a72f4 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard_schema.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard_schema.erl @@ -55,7 +55,8 @@ fields("dashboard") -> )}, {cors, fun cors/1}, {i18n_lang, fun i18n_lang/1}, - {bootstrap_user, ?HOCON(binary(), #{desc => ?DESC(bootstrap_user), required => false})} + {bootstrap_user_file, + ?HOCON(binary(), #{desc => ?DESC(bootstrap_user_file), required => false})} ]; fields("listeners") -> [ From 7ffdd95aa33d598a76f882c9b4e895379e39d17e Mon Sep 17 00:00:00 2001 From: JianBo He Date: Fri, 19 Aug 2022 11:10:05 +0800 Subject: [PATCH 02/13] chore: bind option support `:1883` style config see: https://github.com/emqx/emqx/pull/8571 --- apps/emqx/src/emqx_schema.erl | 4 ++++ .../src/emqx_mgmt_api_listeners.erl | 17 ++++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl index ed9821eac..94ce36c9a 100644 --- a/apps/emqx/src/emqx_schema.erl +++ b/apps/emqx/src/emqx_schema.erl @@ -2162,8 +2162,12 @@ to_bar_separated_list(Str) -> %% - 127.0.0.1:1883 %% - ::1:1883 %% - [::1]:1883 +%% - :1883 +%% - :::1883 to_ip_port(Str) -> case split_ip_port(Str) of + {"", Port} -> + {ok, {{0, 0, 0, 0}, list_to_integer(Port)}}; {Ip, Port} -> PortVal = list_to_integer(Port), case inet:parse_address(Ip) of diff --git a/apps/emqx_management/src/emqx_mgmt_api_listeners.erl b/apps/emqx_management/src/emqx_mgmt_api_listeners.erl index 24fe710c7..31678e0f6 100644 --- a/apps/emqx_management/src/emqx_mgmt_api_listeners.erl +++ b/apps/emqx_management/src/emqx_mgmt_api_listeners.erl @@ -342,11 +342,18 @@ list_listeners(get, #{query_string := Query}) -> {200, listener_status_by_id(NodeL)}. crud_listeners_by_id(get, #{bindings := #{id := Id0}}) -> - Listeners = [ - Conf#{<<"id">> => Id, <<"type">> => Type} - || {Id, Type, Conf} <- emqx_listeners:list_raw(), - Id =:= Id0 - ], + Listeners = + [ + Conf#{ + <<"id">> => Id, + <<"type">> => Type, + <<"bind">> := iolist_to_binary( + emqx_listeners:format_bind(maps:get(<<"bind">>, Conf)) + ) + } + || {Id, Type, Conf} <- emqx_listeners:list_raw(), + Id =:= Id0 + ], case Listeners of [] -> {404, #{code => 'BAD_LISTENER_ID', message => ?LISTENER_NOT_FOUND}}; [L] -> {200, L} From f612908b176b9b192c09e9b4f5d586d60fef41e3 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Fri, 19 Aug 2022 11:15:19 +0800 Subject: [PATCH 03/13] chore: update changes --- CHANGES-5.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES-5.0.md b/CHANGES-5.0.md index 734b88515..885e0a4c1 100644 --- a/CHANGES-5.0.md +++ b/CHANGES-5.0.md @@ -13,6 +13,7 @@ * Updated `/nodes` API node_status from `Running/Stopped` to `running/stopped`. [#8642](https://github.com/emqx/emqx/pull/8642) * Improve handling of placeholder interpolation errors [#8635](https://github.com/emqx/emqx/pull/8635) * Better logging on unknown object IDs. [#8670](https://github.com/emqx/emqx/pull/8670) +* The bind option support `:1883` style. [#8758](https://github.com/emqx/emqx/pull/8758) # 5.0.4 From d1c676a1c5a41278c685e3c713553f47d1379069 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Fri, 19 Aug 2022 14:08:09 +0800 Subject: [PATCH 04/13] chore: bump vsn --- 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 3bf2aabb6..972111a44 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.5-beta.1"). +-define(EMQX_RELEASE_CE, "5.0.5"). %% Enterprise edition -define(EMQX_RELEASE_EE, "5.0.0-alpha.1"). From 3874f14f8c00ba785121aea117a19f3a60ebb1e1 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Fri, 19 Aug 2022 14:51:41 +0800 Subject: [PATCH 05/13] chore: rename bootstrap_user to bootstrap_users --- apps/emqx_dashboard/i18n/emqx_dashboard_i18n.conf | 2 +- apps/emqx_dashboard/src/emqx_dashboard_admin.erl | 12 ++++++------ apps/emqx_dashboard/src/emqx_dashboard_app.erl | 2 +- apps/emqx_dashboard/src/emqx_dashboard_schema.erl | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/emqx_dashboard/i18n/emqx_dashboard_i18n.conf b/apps/emqx_dashboard/i18n/emqx_dashboard_i18n.conf index 0dbed7c47..e6758d0de 100644 --- a/apps/emqx_dashboard/i18n/emqx_dashboard_i18n.conf +++ b/apps/emqx_dashboard/i18n/emqx_dashboard_i18n.conf @@ -197,7 +197,7 @@ its own from which a browser should permit loading resources.""" zh: "多语言支持" } } - bootstrap_user_file { + bootstrap_users_file { desc { en: "Initialize users file." zh: "初始化用户文件" diff --git a/apps/emqx_dashboard/src/emqx_dashboard_admin.erl b/apps/emqx_dashboard/src/emqx_dashboard_admin.erl index 76bcf384e..b3b9c1023 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard_admin.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard_admin.erl @@ -52,7 +52,7 @@ -export([ add_default_user/0, default_username/0, - add_bootstrap_user/0 + add_bootstrap_users/0 ]). -type emqx_admin() :: #?ADMIN{}. @@ -85,16 +85,16 @@ mnesia(boot) -> add_default_user() -> add_default_user(binenv(default_username), binenv(default_password)). --spec add_bootstrap_user() -> ok | {error, _}. -add_bootstrap_user() -> - case emqx:get_config([dashboard, bootstrap_user_file], undefined) of +-spec add_bootstrap_users() -> ok | {error, _}. +add_bootstrap_users() -> + case emqx:get_config([dashboard, bootstrap_users_file], undefined) of undefined -> ok; File -> case mnesia:table_info(?ADMIN, size) of 0 -> ?SLOG(debug, #{msg => "Add dashboard bootstrap users", file => File}), - add_bootstrap_user(File); + add_bootstrap_users(File); _ -> ok end @@ -312,7 +312,7 @@ add_default_user(Username, Password) -> _ -> {ok, default_user_exists} end. -add_bootstrap_user(File) -> +add_bootstrap_users(File) -> case file:open(File, [read]) of {ok, Dev} -> {ok, MP} = re:compile(<<"(\.+):(\.+$)">>, [ungreedy]), diff --git a/apps/emqx_dashboard/src/emqx_dashboard_app.erl b/apps/emqx_dashboard/src/emqx_dashboard_app.erl index 5084d76c4..b40f6f1f6 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard_app.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard_app.erl @@ -31,7 +31,7 @@ start(_StartType, _StartArgs) -> case emqx_dashboard:start_listeners() of ok -> emqx_dashboard_cli:load(), - case emqx_dashboard_admin:add_bootstrap_user() of + case emqx_dashboard_admin:add_bootstrap_users() of ok -> {ok, _} = emqx_dashboard_admin:add_default_user(), {ok, Sup}; diff --git a/apps/emqx_dashboard/src/emqx_dashboard_schema.erl b/apps/emqx_dashboard/src/emqx_dashboard_schema.erl index 17c5a72f4..306720e4d 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard_schema.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard_schema.erl @@ -55,8 +55,8 @@ fields("dashboard") -> )}, {cors, fun cors/1}, {i18n_lang, fun i18n_lang/1}, - {bootstrap_user_file, - ?HOCON(binary(), #{desc => ?DESC(bootstrap_user_file), required => false})} + {bootstrap_users_file, + ?HOCON(binary(), #{desc => ?DESC(bootstrap_users_file), required => false})} ]; fields("listeners") -> [ From 951aa4076fc75cc1da51b2ba6a4d8df384f7cc41 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Mon, 22 Aug 2022 12:20:04 +0800 Subject: [PATCH 06/13] fix: upgrade dasbhaord vsn Due to we changed the `node_status` of `/nodes` API in #8642, however, we did not update the correct dashboard version in v5.0.5. So, we release v5.0.6 to fix this issue --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 49c2b1ed7..c43635c93 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ export EMQX_DEFAULT_BUILDER = ghcr.io/emqx/emqx-builder/5.0-17:1.13.4-24.2.1-1-d 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.0.6 +export EMQX_DASHBOARD_VERSION ?= v1.0.7 export EMQX_REL_FORM ?= tgz export QUICER_DOWNLOAD_FROM_RELEASE = 1 ifeq ($(OS),Windows_NT) From ad96bb551e0a8e2f221a0e35a6cc2316ec07226b Mon Sep 17 00:00:00 2001 From: JianBo He Date: Mon, 22 Aug 2022 12:27:30 +0800 Subject: [PATCH 07/13] chore: update changes and release vsn --- CHANGES-5.0.md | 6 ++++++ apps/emqx/include/emqx_release.hrl | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGES-5.0.md b/CHANGES-5.0.md index 885e0a4c1..f0a3d7c09 100644 --- a/CHANGES-5.0.md +++ b/CHANGES-5.0.md @@ -1,3 +1,9 @@ +# 5.0.6 + +## Bug fixes + +* Upgrade Dashboard version to fix an issue where the node status was not displayed correctly. [#8771](https://github.com/emqx/emqx/pull/8771) + # 5.0.5 ## Bug fixes diff --git a/apps/emqx/include/emqx_release.hrl b/apps/emqx/include/emqx_release.hrl index 972111a44..eb8b08c03 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.5"). +-define(EMQX_RELEASE_CE, "5.0.6"). %% Enterprise edition -define(EMQX_RELEASE_EE, "5.0.0-alpha.1"). From 46f743d16bd8260d96f83c700463de7eafab3f7f Mon Sep 17 00:00:00 2001 From: JianBo He Date: Mon, 22 Aug 2022 14:37:16 +0800 Subject: [PATCH 08/13] chore: bump emqx vsn --- apps/emqx/src/emqx.app.src | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/emqx/src/emqx.app.src b/apps/emqx/src/emqx.app.src index b7e65a042..430e28efb 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.5"}, + {vsn, "5.0.6"}, {modules, []}, {registered, []}, {applications, [ From 9555401ce12a0713dcee33f6b5e3ef929acfda25 Mon Sep 17 00:00:00 2001 From: firest Date: Wed, 24 Aug 2022 17:08:55 +0800 Subject: [PATCH 09/13] fix(exhook): fix the error message of unknown hookpoint Now if there is an unknown hookpoint, the error message is actually `{unknown_hookpoint,{error,badarg}}`, the hookpoint name information is lost --- apps/emqx_exhook/src/emqx_exhook_server.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/emqx_exhook/src/emqx_exhook_server.erl b/apps/emqx_exhook/src/emqx_exhook_server.erl index 832915e3f..b15724ff2 100644 --- a/apps/emqx_exhook/src/emqx_exhook_server.erl +++ b/apps/emqx_exhook/src/emqx_exhook_server.erl @@ -231,7 +231,7 @@ resolve_hookspec(HookSpecs) when is_list(HookSpecs) -> end, case {lists:member(Name, AvailableHooks), lists:member(Name, MessageHooks)} of {false, _} -> - error({unknown_hookpoint, Name}); + error({unknown_hookpoint, Name0}); {true, false} -> Acc#{Name => #{}}; {true, true} -> From 611053b6ca6f7f88a3ea6d32836cb68f372b8783 Mon Sep 17 00:00:00 2001 From: firest Date: Thu, 25 Aug 2022 16:53:58 +0800 Subject: [PATCH 10/13] chore: bump exhook app version --- apps/emqx_exhook/src/emqx_exhook.app.src | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/emqx_exhook/src/emqx_exhook.app.src b/apps/emqx_exhook/src/emqx_exhook.app.src index 9c518f8e0..f10155f0e 100644 --- a/apps/emqx_exhook/src/emqx_exhook.app.src +++ b/apps/emqx_exhook/src/emqx_exhook.app.src @@ -1,7 +1,7 @@ %% -*- mode: erlang -*- {application, emqx_exhook, [ {description, "EMQX Extension for Hook"}, - {vsn, "5.0.2"}, + {vsn, "5.0.3"}, {modules, []}, {registered, []}, {mod, {emqx_exhook_app, []}}, From b0b8495551da5b69ba0c64ddaef251144302892d Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Fri, 26 Aug 2022 14:24:06 +0200 Subject: [PATCH 11/13] docs: fix change log for v5.0.7 --- CHANGES-5.0.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/CHANGES-5.0.md b/CHANGES-5.0.md index dacc71e84..1d1c15e1f 100644 --- a/CHANGES-5.0.md +++ b/CHANGES-5.0.md @@ -2,10 +2,13 @@ ## Bug fixes -* Remove the needless `will_msg` field from the client API. [#8721](https://github.com/emqx/emqx/pull/8721) +* Remove `will_msg` (not used) field from the client API. [#8721](https://github.com/emqx/emqx/pull/8721) * Fix `$queue` topic name error in management API return. [#8728](https://github.com/emqx/emqx/pull/8728) -* Fix sometimes `client.connected` and `client.disconnected` could be in wrong order. [#8625](https://github.com/emqx/emqx/pull/8625) +* Fix race condition which may cause `client.connected` and `client.disconnected` out of order. [#8625](https://github.com/emqx/emqx/pull/8625) +## Enhancements + +* Do not auto-populate default SSL cipher suites, so that the configs are less bloated. [#8769](https://github.com/emqx/emqx/pull/8769) # 5.0.6 @@ -13,10 +16,6 @@ * Upgrade Dashboard version to fix an issue where the node status was not displayed correctly. [#8771](https://github.com/emqx/emqx/pull/8771) -## Enhancements - -* Do not auto-populate default SSL cipher suites, so that the configs are less bloated. [#8769](https://github.com/emqx/emqx/pull/8769) - # 5.0.5 ## Bug fixes From 2eb078ff3bf6db58d55dc1c60531a0dbdb1dc914 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Fri, 26 Aug 2022 14:27:41 +0200 Subject: [PATCH 12/13] chore: bump changed app versions --- apps/emqx/src/emqx.app.src | 2 +- apps/emqx_authn/src/emqx_authn.app.src | 2 +- apps/emqx_connector/src/emqx_connector.app.src | 2 +- apps/emqx_gateway/src/emqx_gateway.app.src | 2 +- apps/emqx_management/src/emqx_management.app.src | 2 +- apps/emqx_retainer/src/emqx_retainer.app.src | 2 +- lib-ee/emqx_license/src/emqx_license.app.src | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/emqx/src/emqx.app.src b/apps/emqx/src/emqx.app.src index 430e28efb..9941a1a6a 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.6"}, + {vsn, "5.0.7"}, {modules, []}, {registered, []}, {applications, [ diff --git a/apps/emqx_authn/src/emqx_authn.app.src b/apps/emqx_authn/src/emqx_authn.app.src index ef67b9a14..4360a784d 100644 --- a/apps/emqx_authn/src/emqx_authn.app.src +++ b/apps/emqx_authn/src/emqx_authn.app.src @@ -1,7 +1,7 @@ %% -*- mode: erlang -*- {application, emqx_authn, [ {description, "EMQX Authentication"}, - {vsn, "0.1.4"}, + {vsn, "0.1.5"}, {modules, []}, {registered, [emqx_authn_sup, emqx_authn_registry]}, {applications, [kernel, stdlib, emqx_resource, ehttpc, epgsql, mysql, jose]}, diff --git a/apps/emqx_connector/src/emqx_connector.app.src b/apps/emqx_connector/src/emqx_connector.app.src index cce266966..1e66b8442 100644 --- a/apps/emqx_connector/src/emqx_connector.app.src +++ b/apps/emqx_connector/src/emqx_connector.app.src @@ -1,7 +1,7 @@ %% -*- mode: erlang -*- {application, emqx_connector, [ {description, "An OTP application"}, - {vsn, "0.1.3"}, + {vsn, "0.1.4"}, {registered, []}, {mod, {emqx_connector_app, []}}, {applications, [ diff --git a/apps/emqx_gateway/src/emqx_gateway.app.src b/apps/emqx_gateway/src/emqx_gateway.app.src index a740e29fc..9fb78c825 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.3"}, + {vsn, "0.1.4"}, {registered, []}, {mod, {emqx_gateway_app, []}}, {applications, [kernel, stdlib, grpc, emqx, emqx_authn]}, diff --git a/apps/emqx_management/src/emqx_management.app.src b/apps/emqx_management/src/emqx_management.app.src index 9de47ca50..df7aa36ec 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.3"}, + {vsn, "5.0.4"}, {modules, []}, {registered, [emqx_management_sup]}, {applications, [kernel, stdlib, emqx_plugins, minirest, emqx]}, diff --git a/apps/emqx_retainer/src/emqx_retainer.app.src b/apps/emqx_retainer/src/emqx_retainer.app.src index 5a823067a..c91ba0eec 100644 --- a/apps/emqx_retainer/src/emqx_retainer.app.src +++ b/apps/emqx_retainer/src/emqx_retainer.app.src @@ -2,7 +2,7 @@ {application, emqx_retainer, [ {description, "EMQX Retainer"}, % strict semver, bump manually! - {vsn, "5.0.3"}, + {vsn, "5.0.4"}, {modules, []}, {registered, [emqx_retainer_sup]}, {applications, [kernel, stdlib, emqx]}, diff --git a/lib-ee/emqx_license/src/emqx_license.app.src b/lib-ee/emqx_license/src/emqx_license.app.src index 9aba01e96..d39661bd3 100644 --- a/lib-ee/emqx_license/src/emqx_license.app.src +++ b/lib-ee/emqx_license/src/emqx_license.app.src @@ -1,6 +1,6 @@ {application, emqx_license, [ {description, "EMQX License"}, - {vsn, "5.0.1"}, + {vsn, "5.0.2"}, {modules, []}, {registered, [emqx_license_sup]}, {applications, [kernel, stdlib]}, From 80bdc2b8e8b4cd37453747ac294381e23edc8fb4 Mon Sep 17 00:00:00 2001 From: zhouzb Date: Tue, 30 Aug 2022 15:42:08 +0800 Subject: [PATCH 13/13] docs(changes): add changes for bootstrap users --- CHANGES-5.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES-5.0.md b/CHANGES-5.0.md index 3bd74e00b..5eca6a9a3 100644 --- a/CHANGES-5.0.md +++ b/CHANGES-5.0.md @@ -27,6 +27,7 @@ ## Enhancements +* Add `bootstrap_users_file` configuration to add default Dashboard username list, which is only added when EMQX is first started. * The license is now copied to all nodes in the cluster when it's reloaded. [#8598](https://github.com/emqx/emqx/pull/8598) * Added a HTTP API to manage licenses. [#8610](https://github.com/emqx/emqx/pull/8610) * Updated `/nodes` API node_status from `Running/Stopped` to `running/stopped`. [#8642](https://github.com/emqx/emqx/pull/8642)