Incompatible Changes in EMQX 5.8
e5.8.2
#14004 Fixed an issue in Cluster Linking where overlapping topic filters in the
topics
configuration caused inconsistent and incomplete cross-cluster message routing. Each topic filter is now handled individually. Therefore, redundant topic filters (e.g.t/1
andt/+
) in thetopics
configuration are now considered invalid. The link will fail to start if such a configuration is detected.#14015 Kafka/Confluent/Azure Event Hub Producers with a dynamic topic (i.e., a topic that contains placeholders) no longer support disk buffering. Only memory and hybrid modes are now supported.
#14106 Added a validation that forbids a single Kafka Consumer connector from containing sources with repeated Kafka topics. If you want to repeat topics, create a new connector and source(s).
e5.8.1
#13792 The default expiration time for a banned item that is created without an
until
value is nowinfinity
(previsouly capped at 1 year limit).#13742 Fixed an issue when a client would receive retained messages for a topic starting with
$
when it subscribed to topic#
or+
.This fix satisfies the requirement of MQTT-4.7.2-1.
e5.8.0
#13080 Updated the default value of the
mqtt.retry_interval
configuration from 30 seconds toinfinity
.Previously, EMQX would automatically retry message deliveries every 30 seconds by default. With the new default set to
infinity
, EMQX will no longer retry message deliveries automatically. This change aligns with MQTT specification standards, which generally do not recommend in-session message delivery retries.We understand that some users rely on the retry feature, so the ability to configure a specific retry interval is still available for backward compatibility.
#13190 Discontinued support for releases on CentOS 7 and Ubuntu 18. EMQX will no longer provide builds for these operating systems due to their end-of-life status.
#13248 Replaced the
builtin
durable storage backend with two new backends to provide better flexibility and scalability:builtin_local
: A durable storage backend that does not support replication, making it suitable for single-node deployments. This backend is available in both the open-source and enterprise editions of EMQX but is not compatible with multi-node clusters.builtin_raft
: A durable storage backend utilizing the Raft consensus algorithm for data replication across multiple nodes. This backend is exclusively available in the enterprise edition of EMQX, providing enhanced data durability and fault tolerance.
Additionally, several Prometheus metrics have been renamed to better reflect their functions:
emqx_ds_egress_batches
has been renamed toemqx_ds_buffer_batches
emqx_ds_egress_batches_retry
has been renamed toemqx_ds_buffer_batches_retry
emqx_ds_egress_batches_failed
has been renamed toemqx_ds_buffer_batches_failed
emqx_ds_egress_messages
has been renamed toemqx_ds_buffer_messages
emqx_ds_egress_bytes
has been renamed toemqx_ds_buffer_bytes
emqx_ds_egress_flush_time
has been renamed toemqx_ds_buffer_flush_time
#13526 Removed the Core-replicant feature from the Open-Source Edition. Starting from release 5.8, all nodes running the Open-Source Edition will operate in the Core role. This change does not impact Enterprise Edition users, who will continue to have access to the Core-replicant functionality. Additionally, the obsolete
cluster.core_nodes
configuration parameter has been removed as it is no longer needed.#13372 Now the number of connections accepted by gateways is governed by the licensing terms, ensuring compliance with the allowed connection limits.