EMQX 4.4.4 Changelogs

Enhancement

  • Add more time transformation functions to the SQL of rule engine
  • Add the float2str/2 function to the SQL of rule engine to support specifying the output precision of floating point numbers
  • Support for using JWT for authorization, now MQTT clients can authorize using specific claims that include a pub-sub whitelist
  • Improved authentication related metrics to make it easier to understand, now client.authenticate = client.auth.success + client.auth.failure
  • Support binding the listener of the REST API to a specified network interface
  • Support multi-condition query and fuzzy query for user data in authentication and authorization using built-in database as data source
  • Supports querying clients using the length of the message queue and the number of dropped messages as conditions
  • Support to configure the log time format to be compatible with the time format in older versions
  • When use_username_as_clientid is configured to true and the client connects without specifying a username, the connection is now rejected with a reason code 0x85
  • Full randomisation of app secrets (previously partially randomised)
  • When using CLI for backup and recovery, it is no longer required that the backup file must be located in the backup folder of the EMQX data directory
  • Hot upgrades between incompatible versions will now be rejected
  • Allow white spaces in EMQX's installation path
  • Boot script fail fast on invalid node name (improve error message readability)

Bug fixes

  • Fix the issue that rule engine's SQL function hexstr_to_bin/1 could not handle half-byte
  • Fix the issue that the alarm was not cleared when the rule engine resource was deleted
  • Fix Dashboard HTTPS listener's verify option not taking effect
  • Fix the issue that messages were lost when the peer session was terminated during the delivery of QoS 1 messages through shared subscriptions
  • Fix the issue that when the log tracer encounters large packets, the heap size grows too fast and triggers the policy of forcibly closeing the connection process
  • Fix the issue that the MQTT-SN client would be disconnected when retransmitting QoS 2 messages
  • Fix the issue that the subscriber's connection was disconnected due to the wrong user properties type in the message publishing API api/v4/mqtt/publish
  • Fix the issue that some authentication algorithms were unavailable due to the PostgreSQL driver not adapting to OTP 24
  • Fix the issue that the returned results did not match the query conditions when querying subscriptions with multiple conditions
  • Fix rule engine resource connection test not working
  • Fix multiple Dashboard display issues