v5.0.23
Enhancements
#10156 Change the priority of the configuration:
- If it is a new installation of EMQX, the priority of configuration is
ENV > emqx.conf > HTTP API
. - If EMQX is upgraded from an old version (i.e., the cluster-override.conf file still exists in EMQX's data directory), then the configuration priority remains the same as before. That is,
HTTP API > ENV > emqx.conf
.
Deprecated data/configs/local-override.conf.
Stabilizing the HTTP API for hot updates.
- If it is a new installation of EMQX, the priority of configuration is
#10354 More specific error messages when configure with bad max_heap_size value. Log current value and the max value when the
message_queue_too_long
error is thrown.#10359 Metrics now are not implicitly collected in places where API handlers don't make any use of them. Instead, a separate backplane RPC gathers cluster-wide metrics.
#10373 Deprecate the trace.payload_encode configuration. Add payload_encode=[text,hidden,hex] option when creating a trace via HTTP API.
#10389 Unify the config formats for
cluster.core_nodes
andcluster.statics.seeds
. Now they both support formats in array["emqx1@127.0.0.1", "emqx2@127.0.0.1"]
or semicolon-separated string"emqx1@127.0.0.1,emqx2@127.0.0.1"
.#10391 Hide a large number of advanced options to simplify the configuration file.
That includes
rewrite
,topic_metric
,persistent_session_store
,overload_protection
,flapping_detect
,conn_congestion
,stats,auto_subscribe
,broker_perf
,shared_subscription_group
,slow_subs
,ssl_options.user_lookup_fun
and some advance items innode
anddashboard
section, #10358, #10381, #10385.#10392 A new function to convert a formatted date to an integer timestamp has been added: date_to_unix_ts/3
#10404 Change the default queue mode for buffer workers to
memory_only
. Before this change, the default queue mode wasvolatile_offload
. When under high message rate pressure and when the resource is not keeping up with such rate, the buffer performance degraded a lot due to the constant disk operations.#10426 Optimize the configuration priority mechanism to fix the issue where the configuration changes made to
etc/emqx.conf
do not take effect after restarting EMQX.More introduction about the new mechanism: Configure Override Rules
#10376 Simplify the configuration of the limiter feature and optimize some codes
- Rename
message_in
tomessages
- Rename
bytes_in
tobytes
- Use
burst
instead ofcapacity
- Hide non-importance fields
- Optimize limiter instances in different rate settings
- Rename
#10430 Simplify the configuration of the
retainer
feature.- Mark
flow_control
as non-importance field.
- Mark
Bug Fixes
#10369 Fix error in
/api/v5/monitor_current
API endpoint that happens when some EMQX nodes are down.Prior to this fix, sometimes the request returned HTTP code 500 and the following message:
{"code":"INTERNAL_ERROR","message":"error, badarg, [{erlang,'++',[{error,nodedown},[{node,'emqx@10.42.0.150'}]], ...
#10410 Fix config check failed when gateways are configured in emqx.conf. This issue was first introduced in v5.0.22 via #10278, the boot-time config check was missing.