Important changes
- For Docker images, the configuration directory
/opt/emqx/etc
has been removed from the VOLUME list, making it easier for users to rebuild images with changed configurations. - CentOS 7 Erlang runtime rebuilt on OpenSSL-1.1.1n (previously 1.0), prior to v4.3.13, EMQX will fail to handshake and trigger
malformed_handshake_data
exception when clients use certain cipher suites. - CentOS 8 Erlang runtime system rebuilt on RockyLinux 8.
centos8
will remain in the package name for backward compatibility.
Enhancement
- Windows package support for building on Erlang/OTP 24.
- Add command line interface
emqx_ctl pem_cache clean
to allow forcibly clear x509 certificate cache to reload immediately after certificate file update. - Refactored ExProto so that anonymous clients can also be displayed on Dashboard.
- Topic configuration items in bridges can now use
${node}
placeholders. - Add validation of UTF-8 strings in MQTT packets in strict mode. When set to
true
, invalid UTF-8 strings will cause the client to disconnect. - MQTT-SN gateway supports initiative to synchronize registered topics after session resumed.
- Improve the writing precision of rule engine floating point data from 10 decimal places to 17 decimal places.
- EMQX will prompt how to modify the initial password of Dashboard at startup.
Bug fixes
- Fix the issue that the el8 installation package cannot be started on Amazon Linux 2022, the error content is
errno=13 Permission denied
. - Fix an issue where the client could not reconnect if the connection process was blocked in some cases. Now waiting for more than 15 seconds without a response will force the old connection process to be closed.
- Fix the issue of query resource request timeout when rule engine resource is unavailable.
- Fix the issue of
{error, eexist}
error when re-run after hot upgrade failed. - Fix an issue where publishing to a non-existing topic alias would crash the connection.
- Fix 500 error when querying LwM2M client list on another node via HTTP API.
- Fix HTTP API for subscribing topics crashes when invalid QoS are passed in.
- Fix the issue that the connection count was not updated because the related resources were not released when the connection process accessed through the ExProto exited abnormally.
- Fix an issue where the value of
server_keepalive
configuration item would be incorrectly applied to MQTT v3.1.1 clients. - Fix Stomp client not firing
$event/client_connection
event messages. - Fix the issue that the system memory alarm was incorrectly activated when EMQX was started.
- Fixed an issue where messages that failed to be delivered due to unregistered topics were not retransmitted when topics were successfully registered with the MQTT-SN client.
- Fix EMQX startup output error log when duplicate plugins are configured in
loaded_plugins
file. - Fix MongoDB related features outputting excessive error logs when configured incorrectly.
- Add format check for Dashboard User and AppID, special characters such as
/
are not allowed. - Corrected the reason code in the DISCONNECT packet returned when kicking the client to
0x98
. - Auto subscriptions will ignore empty topics.