|
1 | 1 | # Releases |
2 | 2 |
|
| 3 | +## e4.4.33 |
| 4 | + |
| 5 | +*Release Date: 2025-11-26* |
| 6 | + |
| 7 | +## Enhancements |
| 8 | + |
| 9 | +- Added rate limiting based on Tag. |
| 10 | + |
| 11 | + Users can now use Tags returned by the HTTP authentication service to categorize clients and apply rate limits based on these categories. |
| 12 | + |
| 13 | +- Reduced memory consumption of the ACL cache feature. |
| 14 | + |
| 15 | + Previously, when MQTT message payloads were large, the ACL cache feature consumed significant memory, with usage proportional to the number of MQTT sessions. |
| 16 | + |
| 17 | +- The username quota module now supports kicking all client connections for a specified username. |
| 18 | + |
| 19 | +- Improved user experience on the "Usage" page of the username quota module. |
| 20 | + |
| 21 | + Previously, the "Usage" page automatically sorted usernames by session count, displaying those with the most sessions at the top. However, when there were many usernames, sorting caused long page load times and affected user experience. Now, a sort button has been added to the page, and sorting is only performed when the button is clicked. |
| 22 | + |
| 23 | +- Reduced system resource consumption of the username quota module during cluster node changes. |
| 24 | + |
| 25 | + This optimization reduces unnecessary data synchronization operations when the module detects other nodes going offline, thereby lowering system resource usage. |
| 26 | + |
| 27 | +## Fixes |
| 28 | + |
| 29 | +- Fixed an issue where SQL multi-row insert syntax could not be used in MySQL and PostgreSQL actions. The following error message would appear in the logs: |
| 30 | + |
| 31 | + ``` |
| 32 | + ... Not an INSERT statement or incorrect SQL syntax |
| 33 | + ``` |
| 34 | + |
| 35 | +- Fixed an issue where the LwM2M module failed to start during rolling upgrades. The following error message would appear in the logs: |
| 36 | + |
| 37 | + ``` |
| 38 | + [error] init_module_failure, module: emqx_module_proto_lwm2m, reason: {badkey,<<"coap_max_block_size">>}, ... |
| 39 | + ``` |
| 40 | + |
| 41 | +- Fixed the default XML path error for the LwM2M module in EMQX environments installed via binary packages. |
| 42 | + |
| 43 | +- Fixed an issue where cached messages in Kafka Producer could not be sent after Kafka service recovery. The following error message would appear in the logs: |
| 44 | + |
| 45 | + ``` |
| 46 | + [warning] your-kafka-topic replayq_overflow_dropped_number_of_requests 2444 |
| 47 | + ``` |
| 48 | + |
| 49 | +- Fixed an issue where the log tracing feature could become unusable after upgrading EMQX versions due to the loss of the `emqx_trace` remote table. |
| 50 | + |
| 51 | + In certain upgrade scenarios, users might add a new-version EMQX node to a running cluster that includes older-version nodes, and later remove the old nodes. If an old node is stopped (e.g., using the `emqx stop` command) before being removed via the CLI or API, and if log tracing was previously enabled on that node, the log tracing module on the new node may fail due to missing access to the `emqx_trace` remote table. |
| 52 | + |
| 53 | + This issue can also cause the `emqx ctl cluster force-leave <node>` command to fail. |
| 54 | + |
| 55 | + This fix ensures that the log tracing module automatically restores the `emqx_trace` table during startup. Once the module is initialized, the `force-leave` command will also function correctly. |
| 56 | + |
| 57 | +- Fixed inaccurate rate limiting. |
| 58 | + |
| 59 | + Corrected the implementation of the token bucket algorithm in rate limiting. Before the fix, the actual maximum achievable rate was always slightly higher than the configured value. |
| 60 | + |
3 | 61 | ## e4.4.32 |
4 | 62 |
|
5 | 63 | *Release Date: 2025-07-30* |
|
0 commit comments