Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v5.0.26
->v5.1.0
Release Notes
emqx/emqx
v5.1.0
: EMQX v5.1.0Compare Source
v5.1.0
Enhancements
As a consequence, single MQTT bridge now uses a pool of
clientid
s to connect to the remote broker.deliver_rate
option to the retainer configuration, which can limit the maximum delivery rate per session in the retainer.auto_restart_interval
was deprecated in favor ofhealth_check_interval
, andrequest_timeout
was renamed torequest_ttl
. Also, the defaultrequest_ttl
value went from 15 seconds to 45 seconds.The previous existence of both
auto_restart_interval
andhealth_check_interval
was a source of confusion, as both parameters influenced the recovery of data bridges under failures. An inconsistent configuration of those two parameters could lead to messages being expired without a chance to retry. Now,health_check_interval
is used both to control the periodicity of health checks that may transition the data bridge intodisconnected
orconnecting
states, as well as recovering fromdisconnected
.live_connections
field for some HTTP APIs, i.e:/monitor_current
,/monitor_current/nodes/{node}
/monitor/nodes/{node}
,/monitor
/node/{node}
,/nodes
prometheus.vm_dist_collector=disabled
and metricerlang_vm_statistics_run_queues_length_total
is renamed toerlang_vm_statistics_run_queues_length
emqx ctl
commandcluster_call
toconf cluster_sync
. The old commandcluster_call
is still a valid command, but not included in usage info.enable
as well asenabled
as the state flag for listeners.Prior to this change, listener can be enable/disabled by setting the
true
orfalse
on theenabled
config. This is slightly different naming comparing to other state flags in the system. Now theenable
flag is added as an alias in listener config.emqx ctl export
andemqx ctl import
for importing/exporting configuration and user data. This allows exporting configurations and built-in database data from a running EMQX cluster and importing them into the same or another running EMQX cluster.max_connections
field in the configuration and HTTP API.broker.shared_subscription_strategy
tomqtt.shared_subscription_strategy
as it belongs tomqtt
.5.1.0
.log.file.to
tolog.file.path
.Bug Fixes
#11018 Fixed multiple issues with the Stomp gateway, including:
is_superuser
was not working correctly.immediately after replying with an ERROR message.
#11051 Added validation to ensure that certificate
depth
(listener SSL option) is a non negative integer.#10884 Fixed an issue where trying to get rule info or metrics could result in a crash when a node is joining a cluster.
#10887 Fixed a potential issue where requests to bridges might take a long time to be retried.
This only affected low throughput scenarios, where the buffering layer could take a long time to detect connectivity and driver problems.
#10871 Fixed an issue where the Dashboard shows that the connection still exists after a CoAP connection is disconnected, but deletion and message posting requests do not take effect.
#10880 Added a new REST API
POST /clients/kickout/bulk
for kicking out multiple clients in bulk.#10923 Fixed a race-condition in channel info registration.
Prior to this fix, when system is under heavy load, it might happen that a client is disconnected (or has its session expired) but still can be found in the clients page in dashboard. One of the possible reasons is a race condition fixed in this PR: the connection is killed in the middle of channel data registration.
#10930 Added a schema validation for duration data type to avoid invalid values.
Before this fix, it was possible to use absurd values in the schema that would exceed the system limit, causing a crash.
#10952 Disallow enabling
fail_if_no_peer_cert
in listener SSL options ifverify = verify_none
is set.Setting
fail_if_no_peer_cert = true
andverify = verify_none
caused connection errors due to incompatible options. This fix validates the options when creating or updating a listener to avoid these errors.Note: any old listener configuration with
fail_if_no_peer_cert = true
andverify = verify_none
that was previously allowed will fail to load after applying this fix and must be manually fixed.#10951 Fixed the issue in MQTT-SN gateway where the
mountpoint
does not take effect on message publishing.#10943 Deprecated UDP mcast mechanism for cluster discovery.
This feature has been planed for deprecation since 5.0 mainly due to the lack of actual production use. This feature code is not yet removed in 5.1, but the document interface is demoted.
#10902 Avoid syncing cluser.hocon file from the nodes running a newer version than the self-node.
During cluster rolling upgrade, if an older version node has to restart due to whatever reason, if it copies the
cluster.hocon
file from a newer version node, it may fail to start. After this fix, the older version node will not copy thecluster.hocon
file from a newer, so it will use its owncluster.hocon
file to start.#10911 The error message and log entry that appear when one tries to create a bridge with a name the exceeds 255 bytes is now easier to understand.
#10983 Fixed the issue when mqtt clients could not connect over TLS if the listener was configured to use TLS v1.3 only.
The problem was that TLS connection was trying to use options incompatible with TLS v1.3.
#10977 Fixed the delay in updating subscription count metric and corrected configuration issues in Stomp gateway.
#10950 Fixed the issue where the
enable_qos
option does not take effect in the MQTT-SN gateway.#10994 Redacted
proxy-authorization
headers as used by HTTP connector to avoid leaking secrets into log files.#10996 For any unknown HTTP/API request, the default response is a 404 error rather than the dashboard's index.html.
#11005 Fixed the issue where the
method
field cannot be correctly printed in the trace logs of AuthN HTTP.#10955 Fixed the issue in MQTT-SN gateway where deleting Predefined Topics configuration does not work.
#11030 Improved error messages when a validation error occurs while using the Listeners HTTP API.
#11033 Deprecated the
mountpoint
field inAuthenticateRequest
in ExProto gateway.This field was introduced in e4.x, but in fact, in e5.0 we have provided
gateway.exproto.mountpoint
for configuration, so there is no need to overrideit through the Authenticate request.
Additionally, updates the default value of
subscriptions_max
,inflight_max
,mqueue_max
toinfinity
.#11042 Fixed crash on REST API
GET /listeners
when listener'smax_connections
is set to a string.#11028 Disallowed using multiple TLS versions in the listener config that include tlsv1.3 but exclude tlsv1.2.
Using TLS configuration with such version gap caused connection errors.
Additionally, drop and log TLS options that are incompatible with the selected TLS version(s).
Note: any old listener configuration with the version gap described above will fail to load
after applying this fix and must be manually fixed.
#11056 Fixed the issue where newly created listeners sometimes do not start properly.
When you delete a system default listener and add a new one named 'default', it will not start correctly.
#11070 Fixed the problem that the
cluster.autoclean
configuration item does not take effect.#11092 and #11100 Fixed problem when replicant nodes were unable to connect to the core node due to timeout in
mria_lb:core_nodes()
call.Relevant mria pull request: emqx/mria#143
Breaking Changes
Known Issues
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.