There seemd to be no user using StatsD integration, so we have decided to hide this feature for now. We will either remove or revive it based on requirements in the future.
#10458 Set the level of plugin configuration options to low level, in most cases, users only need to manage plugins on the dashboard without the need for manual modification, so we lowered the level.
#10491 Rename etcd.ssl to etcd.ssl_options to keep all of SSL options consistent in the configuration file.
#10512 Improved the storage format of Unicode characters in data files, Now we can store Unicode characters normally. For example: "SELECT * FROM \"t/1\" WHERE clientid = \"-测试专用-\""
#10487 Optimize the instance of limiter for whose rate is infinity to reduce memory and CPU usage.
#10490 Remove the default limit of connect rate which used to be 1000/s
#10407 Improve 'emqx_alarm' performance by using Mnesia dirty operations and avoiding unnecessary calls from 'emqx_resource_manager' to reactivate alarms that have been already activated. Use new safe 'emqx_alarm' API to activate/deactivate alarms to ensure that emqx_resource_manager doesn't crash because of alarm timeouts. The crashes were possible when the following conditions co-occurred:
#10420 Fix HTTP path handling when composing the URL for the HTTP requests in authentication and authorization modules.
#10422 Fixed a bug where external plugins could not be configured via environment variables in a lone-node cluster.
#10448 Fix a compatibility issue of limiter configuration introduced by v5.0.23 which broke the upgrade from previous versions if the capacity is infinity.
In v5.0.23 we have replaced capacity with burst. After this fix, a capacity = infinity config will be automatically converted to equivalent burst = 0.
#10449 Validate the ssl_options and header configurations when creating authentication http (authn_http).
Prior to this, incorrect ssl configuration could result in successful creation but the entire authn being unusable.
#10455 Fixed an issue that could cause (otherwise harmless) noise in the logs.
During some particularly slow synchronous calls to bridges, some late replies could be sent to connections processes that were no longer expecting a reply, and then emit an error log like:
2023-04-19T18:24:35.350233+00:00 [error] msg: unexpected_info, mfa: emqx_channel:handle_info/2, line: 1278, peername: 172.22.0.1:36384, clientid: caribdis_bench_sub_1137967633_4788, info: {#Ref<0.408802983.1941504010.189402>,{ok,200,[{<<"cache-control">>,<<"max-age=0, ...">>}}
Those logs are harmless, but they could flood and worry the users without need.
#10462 Deprecate config broker.shared_dispatch_ack_enabled.
This was designed to avoid dispatching messages to a shared-subscription session which has the client disconnected.
However since v5.0.9, this feature is no longer useful because the shared-subscrption messages in a expired session will be redispatched to other sessions in the group.
See also: https://github.com/emqx/emqx/pull/9104
#10463 Improve bridges API error handling. If Webhook bridge URL is not valid, bridges API will return '400' error instead of '500'.
#10484 Fix the issue that the priority of the configuration cannot be set during rolling upgrade. For example, when authorization is modified in v5.0.21 and then upgraded v5.0.23 through rolling upgrade, the authorization will be restored to the default.
#10495 Add the limiter API /configs/limiter which was deleted by mistake back.
#10500 Add several fixes, enhancements and features in Mria:
mria:join/1,2 with a global lock to prevent conflicts between
two nodes trying to join each other simultaneously
Mria PRmria:sync_transaction/4,3,2, which blocks the caller until
a transaction is imported to the local node (if the local node is a replicant, otherwise,
it behaves exactly the same as mria:transaction/3,2)
Mria PRmria:running_nodes/0
Mria PRmria:ro_transaction/2 when called on a replicant node
Mria PR.#10518 Add the following fixes and features in Mria: