Merge pull request #8025 from emqx/copy-of_main-v4.3

merge main-v4.3 to main-v4.4
This commit is contained in:
Xinyu Liu 2022-05-23 23:25:20 +08:00 committed by GitHub
commit e5098869c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 26 additions and 18 deletions

View File

@ -14,6 +14,8 @@ File format:
### Enhancements
* Refactored `bin/emqx` help messages.
* Upgrade script refuses upgrade from incompatible versions. (e.g. hot upgrade from 4.3 to 4.4 will fail fast).
* Made possible for EMQX to boot from a Linux directory which has white spaces in its path.
* Add support for JWT authorization [#7596]
Now MQTT clients may be authorized with respect to a specific claim containing publish/subscribe topic whitelists.
@ -24,14 +26,14 @@ File format:
* Mnesia auth/acl http api support multiple condition queries.
* Inflight QoS1 Messages for shared topics are now redispatched to another alive subscribers upon chosen subscriber session termination.
* Make auth metrics name more understandable.
* Allow emqx_management http listener binding to specific interface [#8005]
* Add rule-engine function float2str/2, user can specify the float output precision [#7991]
### Bug fixes
* List subscription topic (/api/v4/subscriptions), the result do not match with multiple conditions.
* SSL closed error bug fixed for redis client.
* Fix mqtt-sn client disconnected due to re-send a duplicated qos2 message
* Rule-engine function hexstr2bin/1 support half byte [#7977]
* Add rule-engine function float2str/2, user can specify the float output precision [#7991]
* Improved resilience against autocluster partitioning during cluster
startup. [#7876]
[ekka-158](https://github.com/emqx/ekka/pull/158)

View File

@ -2,14 +2,14 @@
%% Unless you know what you are doing, DO NOT edit manually!!
{VSN,
[{<<"4\\.4\\.[0-2]">>,
%% epgsql 4.4.0 -> 4.6.0.
%% epgsql has no appup, so we can only restart it.
[{restart_application,epgsql},
{restart_application,emqx_auth_pgsql}]},
%% restart it due to epgsql upgraded from 4.4.0 to 4.6.0
%% in emqx_auth_pgsql:v4.3.3
[{load_module,emqx_auth_pgsql,brutal_purge,soft_purge,[]},
{load_module,emqx_auth_pgsql_app,brutal_purge,soft_purge,[]}
]},
{<<".*">>,[]}],
[{<<"4\\.4\\.[0-2]">>,
%% epgsql 4.4.0 -> 4.6.0.
%% epgsql has no appup, so we can only restart it.
[{restart_application,epgsql},
{restart_application,emqx_auth_pgsql}]},
[{load_module,emqx_auth_pgsql,brutal_purge,soft_purge,[]},
{load_module,emqx_auth_pgsql_app,brutal_purge,soft_purge,[]}
]},
{<<".*">>,[]}]}.

View File

@ -227,6 +227,13 @@ end}.
Prefix = "management.listener." ++ atom_to_list(Proto),
case cuttlefish:conf_get(Prefix, Conf, undefined) of
undefined -> Acc;
{IPStr, Port} ->
{ok, IP} = inet:parse_address(IPStr),
[{Proto, Port, [{ip, IP}] ++ TcpOpts(Prefix) ++ Opts(Prefix)
++ case Proto of
http -> [];
https -> SslOpts(Prefix)
end} | Acc];
Port ->
[{Proto, Port, TcpOpts(Prefix) ++ Opts(Prefix)
++ case Proto of
@ -236,4 +243,3 @@ end}.
end
end, [], [http, https])
end}.

View File

@ -42,15 +42,15 @@ assert_node_alive() {
fi
}
check_eralng_start() {
"$BINDIR/$PROGNAME" -noshell -boot "$REL_DIR/start_clean" -s crypto start -s init stop
check_erlang_start() {
"$BINDIR/$PROGNAME" -boot "$REL_DIR/start_clean" -eval "crypto:start(),halt()"
}
if ! check_eralng_start >/dev/null 2>&1; then
if ! check_erlang_start >/dev/null 2>&1; then
BUILT_ON="$(head -1 "${REL_DIR}/BUILT_ON")"
## failed to start, might be due to missing libs, try to be portable
export LD_LIBRARY_PATH="$DYNLIBS_DIR:$LD_LIBRARY_PATH"
if ! check_eralng_start; then
if ! check_erlang_start; then
## it's hopeless
echoerr "FATAL: Unable to start Erlang."
echoerr "Please make sure openssl-1.1.1 (libcrypto) and libncurses are installed."

View File

@ -29,7 +29,7 @@
-ifndef(EMQX_ENTERPRISE).
-define(EMQX_RELEASE, {opensource, "4.4.4-beta.1"}).
-define(EMQX_RELEASE, {opensource, "4.4.4-rc.1"}).
-else.

View File

@ -9,12 +9,12 @@ PKG_VSN="${PKG_VSN:-$(./pkg-vsn.sh)}"
case "${PKG_VSN}" in
4.3*)
EMQX_CE_DASHBOARD_VERSION='v4.3.7'
EMQX_EE_DASHBOARD_VERSION='v4.3.18'
EMQX_EE_DASHBOARD_VERSION='v4.3.19'
;;
4.4*)
# keep the above 4.3 untouched, otherwise conflicts!
EMQX_CE_DASHBOARD_VERSION='v4.4.2'
EMQX_EE_DASHBOARD_VERSION='v4.4.9'
EMQX_EE_DASHBOARD_VERSION='v4.4.10'
;;
*)
echo "Unsupported version $PKG_VSN" >&2