e6.0.0-M1.202507
Enhancements
-
#15176 Upgrade the GreptimeDB connector client and support an optional new parameter
ttl
to set the default time-to-live for automatically created tables. -
#15294 Enhance LDAP authentication and authorization. LDAP authorization now supports extended ACL rules in JSON format. LDAP authenticaton now can fetch ACL rules from LDAP. These rules are cached in the client's metadata, so authorization is performed without additional LDAP queries.
-
#15349 Optimize external resource management for authentication and authorization. Previously, EMQX could remain connected to a resource configured for a disabled authentication or authorization provider.
-
#15360 Added support for writing data files in Parquet format for S3Tables Action.
-
#15364 Add HTTP header configuration items to the OpenTelemetry integration to adapt to collectors with HTTP authentication.
-
#15371 Added
tags
fields to the return ofGET /actions_summary
and to the fallback actions returned inGET /actions/:id
. -
#15387 Improved Kinesis Producer Connector and Action health checks to mitigate the occurrence of rate limiting when calling
ListStreams
andDescribeStream
APIs. Now, we limit the the calls per Connector to such APIs to 5/s and 10/s, respectively. If a Connector or Action cannot call their health check API before timing out, they will simply maintain their current status. If they receive a throttling response (e.g.:LimitExceededException
), they will also maintain their current status.
Introduced a new resource_opts.health_check_interval_jitter
configuration to add an uniform random delay to resource_opts.health_check_interval
, so that multiple Actions under the same Connector will seldom run their health checks simultaneously.
-
#15399 Now,
node_dump
will export the current system configuration in HOCON format with redacted secrets. -
#15401 Added support for Snowpipe Streaming upload mode for Snowflake Action. Note: this is currently a preview feature by Snowflake, and support for it is available to all accounts on AWS only.
-
#15418 Added new Connector and Action that appends data to BigQuery.
-
#15467 Expose transport options for AI Completion Providers. These options allow configuring connection timeouts and maximum connections to an AI Completion Provider.
Bug Fixes
-
#15342 Fixed NATS gateway crash when clientinfo override templates contain undefined packet fields by returning empty binary instead of undefined atom.
-
#15361 Fixed a function clause error when parsing a malformed
User-Property
pair where the pair length is wrong (too short). -
#15394 Fixed a very rare race condition in which Action metrics could end up in an inconsistent state.
-
#15396 Removed redundant cleanup operations for shared subscriptions of disconnected clients, which were prone to crashes under high disconnect volume, resulting in potential inconsistencies in the global broker state.
-
#15416 Fixed occasional warning-level log events and crashes during session expiration of WebSocket connections, introduced by recent WebSocket performance improvements. These had no impact on broker capacity, but produced log entries like the following:
error: {function_clause,[{gen_tcp,send,[closed,[]],[{file,“gen_tcp.erl”},{line,966}]},{cowboy_websocket_linger,commands,3,[{file,“cowboy_websocket_linger.erl”},{line,665}]},...
-
message: {tcp,#Port<0.364>,<<136,130,...>>}, msg: emqx_session_mem_unknown_message
-
#15476 When most of the Actions that use aggregated mode (Azure Blob Storage, Snowflake, S3Tables) had a delivery that failed, the following log would be printed:
"emqx_connector_aggreg_delivery:format_status/1 crashed"
This has been fixed, and more information about the delivery process will now be logged.
-
#15518 Resolve a race condition that may lead to accumulating inconsistencies in the routing table and shared subscriptions state in the cluster when a large number of shared subscribers disconnect simultaneously.
-
#15522 Fixed an issue where Snowflake Connector would fail to start correctly is
username
was not provided.