You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: en_US/changes/breaking-changes-ee-5.9.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,9 @@
1
1
# Incompatible Changes in EMQX 5.9
2
2
3
+
## 5.9.1
4
+
5
+
-[#15156](https://github.com/emqx/emqx/pull/15156) Added strict schema validation for the `dashboard.sso.oidc.issuer` field. This field must now contain a valid URL. Previously, invalid configurations could be accepted by the API without errors but would cause EMQX to fail to restart, potentially resulting in a crash (`erl_crash.dump`).
6
+
3
7
## 5.9.0
4
8
5
9
-[#14865](https://github.com/emqx/emqx/pull/14865) Dropped old LDAP authentication config layout (deprecated since v5.4).
Copy file name to clipboardExpand all lines: en_US/changes/changes-ce-v5.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,13 @@
1
1
# EMQX Open Source Version 5
2
2
3
+
## 5.8.7
4
+
5
+
*Release Date: 2025-07-02*
6
+
7
+
### Bug Fixes
8
+
9
+
-[#15383](https://github.com/emqx/emqx/pull/15383) Fixed a potential resource leak in the MQTT bridge. When the bridge failed to start, the topic index table was not properly cleaned up. This fix ensures that the index table is correctly deleted to prevent resource leaks.
Copy file name to clipboardExpand all lines: en_US/changes/changes-ee-v5.md
+107Lines changed: 107 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -202,6 +202,78 @@ Make sure to check the breaking changes and known issues before upgrading to EMQ
202
202
203
203
-[#15216](https://github.com/emqx/emqx/pull/15216) Fixed a crash of `emqx_telemetry` process when there are plugins activated.
204
204
205
+
## 5.9.1
206
+
207
+
*Release Date: 2025-07-02*
208
+
209
+
Make sure to check the breaking changes and known issues before upgrading to EMQX 5.9.1.
210
+
211
+
### Enhancements
212
+
213
+
-[#15364](https://github.com/emqx/emqx/pull/15364) Added support for custom HTTP headers in the OpenTelemetry gRPC (over HTTP/2) integration. This enhancement enables compatibility with collectors that require HTTP authentication.
214
+
215
+
-[#15160](https://github.com/emqx/emqx/pull/15160) Added the `DELETE /mt/bulk_delete_ns` API for multi-tenancy management, which allows deleting namespaces in bulk.
216
+
217
+
-[#15158](https://github.com/emqx/emqx/pull/15158) Added new `emqx ctl conf remove x.y.z` command, which removes the configuration key path `x.y.z` from the existing configuration.
218
+
219
+
-[#15157](https://github.com/emqx/emqx/pull/15157) Added support for specifying private key file path for Snowflake Connector instead of using password.
220
+
221
+
Users should either use password, private key, or neither (set parameters in `/etc/odbc.ini`).
222
+
223
+
-[#15043](https://github.com/emqx/emqx/pull/15043) Instrument the DS Raft backend with basic metrics to provide insights into cluster status, database overview, shard replication, and replica transitions.
224
+
225
+
### Bug Fixes
226
+
227
+
#### Data Integration
228
+
229
+
-[#15331](https://github.com/emqx/emqx/pull/15331) Fixed an issue in the InfluxDB action where line protocol conversion failed if the `timestamp` in `WriteSyntax` was left blank and no timestamp field was provided in the rule.
230
+
Now the system's current millisecond value is used instead, and millisecond precision is enforced.
231
+
232
+
-[#15274](https://github.com/emqx/emqx/pull/15274) Improved the resilience of Postgres, Matrix, and TimescaleDB connectors by triggering a full reconnection on any health check failure. Previously, failed health checks could leave the connection in a broken state, causing operations to hang and potentially leading to out-of-memory issues.
233
+
234
+
-[#15154](https://github.com/emqx/emqx/pull/15154) Fixed a rare race condition in Actions running in aggregated mode (e.g., S3, Azure Blob Storage, Snowflake) that could lead to a crash with errors like:
-[#15147](https://github.com/emqx/emqx/pull/15147) Fixed an issue where some Actions failed to emit trace events during rule testing with simulated input data, even after request rendering.
242
+
243
+
Affected Actions:
244
+
245
+
- Couchbase
246
+
- Snowflake
247
+
- IoTDB (Thrift driver)
248
+
249
+
-[#15383](https://github.com/emqx/emqx/pull/15383) Fixed a potential resource leak in the MQTT bridge. When the bridge failed to start, the topic index table was not properly cleaned up. This fix ensures that the index table is correctly deleted to prevent resource leaks.
250
+
251
+
#### Smart Data Hub
252
+
253
+
-[#15224](https://github.com/emqx/emqx/pull/15224) Fixed an issue where updating an External Schema Registry via the Dashboard would unintentionally overwrite the existing password with `******`. The password is now correctly preserved during updates.
254
+
-[#15190](https://github.com/emqx/emqx/pull/15190) Enhanced Message Transformation by allowing hard-coded values for QoS and topic.
255
+
256
+
#### Observability
257
+
258
+
-[#15299](https://github.com/emqx/emqx/pull/15299) Fixed a `badarg` error that occurred when exporting OpenTelemetry metrics.
259
+
260
+
#### Telemetry
261
+
262
+
-[#15216](https://github.com/emqx/emqx/pull/15216) Fixed a crash in the `emqx_telemetry` process that could occur when plugins were activated.
263
+
264
+
#### Access Control
265
+
266
+
-[#15184](https://github.com/emqx/emqx/pull/15184) Fixed the formatting of error messages returned when creating a blacklist fails.
267
+
268
+
#### Clustering
269
+
270
+
-[#15180](https://github.com/emqx/emqx/pull/15180) Reduced the risk of deadlocks during channel registration by fixing improper handling of `badrpc` errors in the `ekka_locker` module. These errors previously led to false positives in lock operations, potentially causing inconsistent cluster state and deadlocks.
271
+
272
+
#### Security
273
+
274
+
275
+
-[#15159](https://github.com/emqx/emqx/pull/15159) Improved handling of Certificate Revocation List (CRL) Distribution Point URLs by stopping their refresh after repeated failures (default: 60 seconds). This prevents excessive error logs from unreachable URLs and improves overall system stability.
276
+
205
277
## 5.9.0
206
278
207
279
*Release Date: 2025-05-02*
@@ -636,6 +708,41 @@ Make sure to check the breaking changes and known issues before upgrading to EMQ
636
708
637
709
-[#14775](https://github.com/emqx/emqx/pull/14775) QUIC Listener: Fixed issue where zone configurations are not applied after a config reload.
638
710
711
+
## 5.8.7
712
+
713
+
*Release Date: 2025-07-02*
714
+
715
+
### Enhancements
716
+
717
+
-[#15364](https://github.com/emqx/emqx/pull/15364) Added support for custom HTTP headers in the OpenTelemetry gRPC (over HTTP/2) integration. This enhancement enables compatibility with collectors that require HTTP authentication.
718
+
719
+
### Bug Fixes
720
+
721
+
-[#15383](https://github.com/emqx/emqx/pull/15383) Fixed a potential resource leak in the MQTT bridge. When the bridge failed to start, the topic index table was not properly cleaned up. This fix ensures that the index table is correctly deleted to prevent resource leaks.
722
+
-[#15331](https://github.com/emqx/emqx/pull/15331) Fixed an issue in the InfluxDB action where line protocol conversion failed if the `timestamp` in `WriteSyntax` was left blank and no timestamp field was provided in the rule. Now the system's current millisecond value is used instead, and millisecond precision is enforced.
723
+
-[#15274](https://github.com/emqx/emqx/pull/15274) Improved the resilience of Postgres, Matrix, and TimescaleDB connectors by triggering a full reconnection on any health check failure. Previously, failed health checks could leave the connection in a broken state, causing operations to hang and potentially leading to out-of-memory issues.
724
+
-[#15224](https://github.com/emqx/emqx/pull/15224) Fixed an issue where updating an External Schema Registry via the Dashboard would unintentionally overwrite the existing password with `******`. The password is now correctly preserved during updates.
725
+
-[#14989](https://github.com/emqx/emqx/pull/14989) Optimized the Kinesis Connector and Action to significantly reduce the number of AWS API calls during startup and health checks. This change helps prevent exceeding AWS Kinesis API rate limits (e.g., `ListStreams` and `DescribeStream`), which previously led to frequent health check failures when using larger connection pools or multiple connectors.
726
+
-[#15299](https://github.com/emqx/emqx/pull/15299) Fixed a `badarg` error that occurred when exporting OpenTelemetry metrics.
727
+
728
+
## 5.8.7
729
+
730
+
*Release Date: 2025-07-02*
731
+
732
+
### Enhancements
733
+
734
+
-[#15364](https://github.com/emqx/emqx/pull/15364) Added support for custom HTTP headers in the OpenTelemetry gRPC (over HTTP/2) integration. This enhancement enables compatibility with collectors that require HTTP authentication.
735
+
736
+
### Bug Fixes
737
+
738
+
-[#15383](https://github.com/emqx/emqx/pull/15383) Fixed a potential resource leak in the MQTT bridge. When the bridge failed to start, the topic index table was not properly cleaned up. This fix ensures that the index table is correctly deleted to prevent resource leaks.
739
+
-[#15331](https://github.com/emqx/emqx/pull/15331) Fixed an issue in the InfluxDB action where line protocol conversion failed if the `timestamp` in `WriteSyntax` was left blank and no timestamp field was provided in the rule.
740
+
Now the system's current millisecond value is used instead, and millisecond precision is enforced.
741
+
-[#15274](https://github.com/emqx/emqx/pull/15274) Improved the resilience of Postgres, Matrix, and TimescaleDB connectors by triggering a full reconnection on any health check failure. Previously, failed health checks could leave the connection in a broken state, causing operations to hang and potentially leading to out-of-memory issues.
742
+
-[#15224](https://github.com/emqx/emqx/pull/15224) Fixed an issue where updating an External Schema Registry via the Dashboard would unintentionally overwrite the existing password with `******`. The password is now correctly preserved during updates.
743
+
-[#14989](https://github.com/emqx/emqx/pull/14989) Optimized the Kinesis Connector and Action to significantly reduce the number of AWS API calls during startup and health checks. This change helps prevent exceeding AWS Kinesis API rate limits (e.g., `ListStreams` and `DescribeStream`), which previously led to frequent health check failures when using larger connection pools or multiple connectors.
744
+
-[#15299](https://github.com/emqx/emqx/pull/15299) Fixed a `badarg` error that occurred when exporting OpenTelemetry metrics.
Copy file name to clipboardExpand all lines: en_US/dashboard/introduction.md
+39Lines changed: 39 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,6 +58,45 @@ For users who have installed EMQX for the first time, you can use the default us
58
58
59
59
After logging in for the first time, the system will automatically detect that you are logging in with the default username and password. It will force you to change the default password, which is good for the security of accessing the Dashboard. Note that the changed password cannot be the same as the original password, and it is not recommended to use `public` as the login password again.
60
60
61
+
### Token-Based Login via URL
62
+
63
+
Starting from EMQX 5.6.0, the Dashboard supports a token-based login method that allows users to log in directly by embedding authentication information in the URL.
64
+
65
+
This feature is particularly useful for seamless redirection and integration scenarios where a user should be logged in automatically without entering credentials manually.
66
+
67
+
#### How To Use This Login Method
68
+
69
+
1. Use the `/login` endpoint to obtain an authentication token. Since the response does not include the username, you will need to manually add it before encoding the full JSON payload.
70
+
71
+
You can perform all steps, including requesting the token, injecting the username, and encoding the result in Base64, in a single command, as shown below:
72
+
73
+
```
74
+
curl -s -X POST "http://127.0.0.1:18083/api/v5/login" \
This allows specifying the target page after login.
97
+
98
+
This method provides a smooth, pre-authenticated user experience for accessing the EMQX Dashboard. Make sure to handle the token securely and ensure it has appropriate expiration and scope limits.
99
+
61
100
### Reset Password
62
101
63
102
You can reset your Dashboard login password via the `admins` command. For details, see [CLI - admins](../admin/cli.md#admins).
Copy file name to clipboardExpand all lines: en_US/data-integration/snowflake.md
+60-7Lines changed: 60 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,18 +50,71 @@ For more information, refer to the official [ODBC Driver](https://docs.snowflake
50
50
51
51
#### Linux
52
52
53
-
Run the following script to install the Snowflake ODBC driver and configure the `odbc.ini` file:
54
-
55
-
```
56
-
scripts/install-snowflake-driver.sh
57
-
```
53
+
EMQX provides an [installation script](https://github.com/emqx/emqx/blob/master/scripts/install-snowflake-driver.sh) designed specifically for the quick deployment of the Snowflake ODBC driver on Debian-based systems (such as Ubuntu), along with the required system configuration.
58
54
59
55
::: tip Note
60
56
61
57
This script is for testing only, not a recommendation on how to set up the ODBC driver in production environments. You can refer to the official [installation instructions for Linux](https://docs.snowflake.com/en/developer-guide/odbc/odbc-linux).
62
58
63
59
:::
64
60
61
+
**Run the Installation Script**
62
+
63
+
Copy the `scripts/install-snowflake-driver.sh` script to your local machine. Run `chmod a+x` to make the script executable, and run it with `sudo`:
64
+
65
+
```bash
66
+
chmod a+x scripts/install-snowflake-driver.sh
67
+
sudo ./scripts/install-snowflake-driver.sh
68
+
```
69
+
70
+
The script automatically downloads the Snowflake ODBC `.deb` installation package (e.g., `snowflake-odbc-3.4.1.x86_64.deb`) to the current working directory. It then installs the driver and updates the following system configuration files:
71
+
72
+
-`/etc/odbc.ini`: Adds the Snowflake data source configuration
73
+
-`/etc/odbcinst.ini`: Registers the Snowflake driver path
74
+
75
+
**Sample Configuration**
76
+
77
+
Run the following command to view the configurations in the `/etc/odbc.ini` file:
78
+
79
+
```
80
+
emqx@emqx-0:~$ cat /etc/odbc.ini
81
+
82
+
[snowflake]
83
+
Description=SnowflakeDB
84
+
Driver=SnowflakeDSIIDriver
85
+
Locale=en-US
86
+
PORT=443
87
+
SSL=on
88
+
89
+
[ODBC Data Sources]
90
+
snowflake = SnowflakeDSIIDriver
91
+
```
92
+
93
+
Run the following command to view the configurations in the `/etc/odbcinst.ini` file:
94
+
95
+
```
96
+
emqx@emqx-0:~$ cat /etc/odbcinst.ini
97
+
98
+
[ODBC Driver 18 for SQL Server]
99
+
Description=Microsoft ODBC Driver 18 for SQL Server
To install and configure the Snowflake ODBC driver on macOS, follow these steps:
@@ -108,7 +161,7 @@ To install and configure the Snowflake ODBC driver on macOS, follow these steps:
108
161
109
162
### Create a User Account and Database
110
163
111
-
Once the Snowflake ODBC driver is installed, you need to set up a user account, database, and related resources fordata ingestion. The following credentials will be required later for configuring the connector and Sinkin EMQX:
164
+
Once the Snowflake ODBC driver is installed, you need to set up a user account, database, and related resources fordata ingestion. The following credentials will be required later for configuring the Connector and Sinkin EMQX:
@@ -364,4 +417,4 @@ This section delves into the advanced configuration options available for the Sn
364
417
| **Inflight Window** | "In-flight queue requests" refer to requests that have been initiated but have not yet received a response or acknowledgment. This setting controls the maximum number of in-flight queue requests that can exist simultaneously during Sink communication with Snowflake. <br/>When **Request Mode** is set to `asynchronous`, the "Request In-flight Queue Window" parameter becomes particularly important. If strict sequential processing of messages from the same MQTT client is crucial, then this value should be set to `1`. | `100` |
365
418
| **Connect Timeout** | This specifies the time (in seconds) the system will wait for a connection to Snowflake before timing out. For example, you can set this to `30` seconds. If the connection cannot be established within this time, EMQX will attempt to retry (based on your **Max Retries** setting) or raise an error. This setting is useful for managing network latency or connection reliability. | `15` |
366
419
| **HTTP Pipelining ** | Specifies the maximum number of HTTP requests that can be sent out before waiting for responses. | `100` |
367
-
| **Connection Pool Size** | Defines how many connections EMQX can maintain simultaneously to Snowflake. A larger pool size allows for more concurrent requests, which is important in high-load scenarios, but it also consumes more system resources. | `8` |
420
+
| **Connection Pool Size** | Defines how many connections EMQX can maintain simultaneously to Snowflake. A larger pool size allows for more concurrent requests, which is important in high-load scenarios, but it also consumes more system resources. | `8` |
0 commit comments