Merge pull request #11580 from zmstone/0908-release-v5.2.0
0908 release v5.2.0
This commit is contained in:
commit
2691d275bd
|
@ -32,7 +32,7 @@
|
|||
%% `apps/emqx/src/bpapi/README.md'
|
||||
|
||||
%% Opensource edition
|
||||
-define(EMQX_RELEASE_CE, "5.1.6").
|
||||
-define(EMQX_RELEASE_CE, "5.2.0").
|
||||
|
||||
%% Enterprise edition
|
||||
-define(EMQX_RELEASE_EE, "5.2.0").
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
开始发布Rocky Linux 9(与Enterprise Linux 9兼容)和 MacOS 12 软件包。
|
|
@ -1,2 +0,0 @@
|
|||
Add support for QUIC TLS password protected certificate file.
|
||||
|
|
@ -1 +0,0 @@
|
|||
增加对 QUIC TLS 密码保护证书文件的支持。
|
|
@ -1 +0,0 @@
|
|||
Add support for OCSP stapling for SSL MQTT listeners.
|
|
@ -1,2 +0,0 @@
|
|||
Add `extraVolumeMounts` to EMQX Helm Chart, it will have the ability to mount the user-own files into the EMQX instance, for example, ACL rule files as mentioned in [#9052](https://github.com/emqx/emqx/issues/9052)
|
||||
Done of [#10116](https://github.com/emqx/emqx/issues/10116)
|
|
@ -1,2 +0,0 @@
|
|||
将 `extraVolumeMounts` 添加到 EMQX Helm Chart 中,它将能够挂载用户自己的文件到 EMQX 实例中,例如在 [#9052](https://github.com/emqx/emqx/issues/9052) 中提到的 ACL 规则文件。
|
||||
修复了 issue [#10116](https://github.com/emqx/emqx/issues/10116)
|
|
@ -1,7 +0,0 @@
|
|||
Change the priority of the configuration:
|
||||
1. If it is a new installation of EMQX, the priority of configuration is `ENV > emqx.conf > HTTP API`.
|
||||
2. If EMQX is upgraded from an old version (i.e., the cluster-override.conf file still exists in EMQX's data directory), then the configuration priority remains the same as before. That is, `HTTP API > ENV > emqx.conf`.
|
||||
|
||||
Deprecated data/configs/local-override.conf.
|
||||
|
||||
Stabilizing the HTTP API for hot updates.
|
|
@ -1 +0,0 @@
|
|||
Add CRL check support for TLS MQTT listeners.
|
|
@ -1,7 +0,0 @@
|
|||
Decouple the query mode from the underlying call mode for buffer
|
||||
workers.
|
||||
|
||||
Prior to this change, setting the query mode of a resource
|
||||
such as a bridge to `sync` would force the buffer to call the
|
||||
underlying connector in a synchronous way, even if it supports async
|
||||
calls.
|
|
@ -1 +0,0 @@
|
|||
Use 'label' from i18n file as 'summary' in OpenAPI spec.
|
|
@ -1,4 +0,0 @@
|
|||
Unregister Mnesia post commit hook when Mria is being stopped.
|
||||
This fixes hook failures occasionally occurring on stopping/restarting Mria.
|
||||
|
||||
[Mria PR](https://github.com/emqx/mria/pull/133)
|
|
@ -1 +0,0 @@
|
|||
Add the option to customize `clusterIP` in Helm chart, so that a user may set it to a fixed IP.
|
|
@ -1 +0,0 @@
|
|||
Add command 'eval-ex' for Elixir expression evaluation.
|
|
@ -1 +0,0 @@
|
|||
Refactor the directory structure of all gateways.
|
|
@ -1 +0,0 @@
|
|||
重构所有网关的源码目录结构。
|
|
@ -1,3 +0,0 @@
|
|||
Add support for `async` query mode for most bridges.
|
||||
|
||||
Before this change, some bridges (Cassandra, MongoDB, MySQL, Postgres, Redis, RocketMQ, TDengine) were only allowed to be created with a `sync` query mode.
|
|
@ -1 +0,0 @@
|
|||
Now, the rule engine language's FROM clause supports both strings enclosed in double quotes (") and single quotes (').
|
|
@ -1 +0,0 @@
|
|||
现在,规则引擎语言的 FROM 子句支持使用双引号(")和单引号(')括起来的字符串。
|
|
@ -1 +0,0 @@
|
|||
Add `/rule_engine` API endpoint to manage configuration of rule engine.
|
|
@ -1,2 +0,0 @@
|
|||
More specific error messages when configure with bad max_heap_size value.
|
||||
Log current value and the max value when the `message_queue_too_long` error is thrown.
|
|
@ -1 +0,0 @@
|
|||
Metrics now are not implicitly collected in places where API handlers don't make any use of them. Instead, a separate backplane RPC gathers cluster-wide metrics.
|
|
@ -1,2 +0,0 @@
|
|||
Deprecate the trace.payload_encode configuration.
|
||||
Add payload_encode=[text,hidden,hex] option when creating a trace via HTTP API.
|
|
@ -1,2 +0,0 @@
|
|||
Unify the config formats for `cluster.core_nodes` and `cluster.statics.seeds`.
|
||||
Now they both support formats in array `["emqx1@127.0.0.1", "emqx2@127.0.0.1"]` or semicolon-separated string `"emqx1@127.0.0.1,emqx2@127.0.0.1"`.
|
|
@ -1,7 +0,0 @@
|
|||
Hide a large number of advanced options to simplify the configuration file.
|
||||
|
||||
That includes `rewrite`, `topic_metric`, `persistent_session_store`, `overload_protection`,
|
||||
`flapping_detect`, `conn_congestion`, `stats,auto_subscribe`, `broker_perf`,
|
||||
`shared_subscription_group`, `slow_subs`, `ssl_options.user_lookup_fun` and some advance items
|
||||
in `node` and `dashboard` section, [#10358](https://github.com/emqx/emqx/pull/10358),
|
||||
[#10381](https://github.com/emqx/emqx/pull/10381), [#10385](https://github.com/emqx/emqx/pull/10385).
|
|
@ -1 +0,0 @@
|
|||
A new function to convert a formatted date to an integer timestamp has been added: date_to_unix_ts/3
|
|
@ -1,2 +0,0 @@
|
|||
Change the default queue mode for buffer workers to `memory_only`.
|
||||
Before this change, the default queue mode was `volatile_offload`. When under high message rate pressure and when the resource is not keeping up with such rate, the buffer performance degraded a lot due to the constant disk operations.
|
|
@ -1,4 +0,0 @@
|
|||
Optimize the configuration priority mechanism to fix the issue where the configuration
|
||||
changes made to `etc/emqx.conf` do not take effect after restarting EMQX.
|
||||
|
||||
More introduction about the new mechanism: [Configure Override Rules](https://www.emqx.io/docs/en/v5.0/configuration/configuration.html#configure-override-rules)
|
|
@ -1,4 +0,0 @@
|
|||
Deprecates the integration with StatsD.
|
||||
|
||||
There seemd to be no user using StatsD integration, so we have decided to hide this feature
|
||||
for now. We will either remove or revive it based on requirements in the future.
|
|
@ -1,3 +0,0 @@
|
|||
Set the level of plugin configuration options to low level,
|
||||
in most cases, users only need to manage plugins on the dashboard
|
||||
without the need for manual modification, so we lowered the level.
|
|
@ -1 +0,0 @@
|
|||
Rename `etcd.ssl` to `etcd.ssl_options` to keep all of SSL options consistent in the configuration file.
|
|
@ -1,3 +0,0 @@
|
|||
Improved the storage format of Unicode characters in data files,
|
||||
Now we can store Unicode characters normally.
|
||||
For example: "SELECT * FROM \"t/1\" WHERE clientid = \"-测试专用-\""
|
|
@ -1 +0,0 @@
|
|||
Add shutdown counter information to `emqx ctl listeners` command
|
|
@ -1,2 +0,0 @@
|
|||
Do not emit useless crash report when EMQX stops.
|
||||
Previously, when EMQX (and `emqx_topic_metrics` in particular) stopped and removed underlying tables, some messages were still being handled and crashed.
|
|
@ -1 +0,0 @@
|
|||
Add log level configuration to SSL communication
|
|
@ -1,2 +0,0 @@
|
|||
Increase the time precision of trace logs from second to microsecond.
|
||||
For example, change from `2023-05-02T08:43:50+00:00` to `2023-05-02T08:43:50.237945+00:00`.
|
|
@ -1 +0,0 @@
|
|||
Provide a callback method of Unary type in ExProto to avoid possible message disorder issues.
|
|
@ -1 +0,0 @@
|
|||
Renamed `max_message_queue_len` to `max_mailbox_size` in the `force_shutdown` configuration. Old name is kept as an alias, so this change is backward compatible.
|
|
@ -1 +0,0 @@
|
|||
The MongoDB connector and bridge have been refactored to a separate app to improve code structure.
|
|
@ -1,4 +0,0 @@
|
|||
Implement configuration and user data import/export CLI.
|
||||
|
||||
The `emqx ctl export` and `emqx ctl import` commands allow to export configuration and built-in database
|
||||
data from a running EMQX cluster and later import it to the same or another running EMQX cluster.
|
|
@ -1 +0,0 @@
|
|||
This change allows to set the minReadySeconds for the StatefulSet. This allows to add a gap between the restarts of each pod by upgrade or restart command.
|
|
@ -1,4 +0,0 @@
|
|||
Introduce a more straightforward configuration option `keepalive_multiplier` and
|
||||
deprecate the old `keepalive_backoff` configuration.
|
||||
After this enhancement, EMQX checks the client's keepalive timeout status
|
||||
period by multiplying the "Client Requested Keepalive Interval" with `keepalive_multiplier`.
|
|
@ -1,3 +0,0 @@
|
|||
We hide the request_timeout in resource_option of the webhook to keep it consistent with the http request_timeout of the webhook.
|
||||
From now on, when configuring a webhook through API or configuration files,
|
||||
it is no longer necessary to configure the request_timeout of the resource. Only configuring the http request_timeout is sufficient, and the request_timeout in the resource will automatically be consistent with the http request_timeout.
|
|
@ -1,2 +0,0 @@
|
|||
Added a new `deliver_rate` option to the retainer configuration, which can limit the maximum delivery rate per session in the retainer.
|
||||
|
|
@ -1 +0,0 @@
|
|||
A new utility function timezone_to_offset_seconds/1 has been added to the rule engine SQL language. This function converts a timezone string (for example, "+02:00", "Z" and "local") to the corresponding offset in seconds.
|
|
@ -1 +0,0 @@
|
|||
Remove the deprecated HTTP APIs for gateways
|
|
@ -1,3 +0,0 @@
|
|||
The data bridge resource option `auto_restart_interval` was deprecated in favor of `health_check_interval`, and `request_timeout` was renamed to `request_ttl`. Also, the default `request_ttl` value went from 15 seconds to 45 seconds.
|
||||
|
||||
The previous existence of both `auto_restart_interval` and `health_check_interval` was a source of confusion, as both parameters influenced the recovery of data bridges under failures. An inconsistent configuration of those two parameters could lead to messages being expired without a chance to retry. Now, `health_check_interval` is used both to control the periodicity of health checks that may transition the data bridge into `disconnected` or `connecting` states, as well as recovering from `disconnected`.
|
|
@ -1,5 +0,0 @@
|
|||
Allow 'enable' as well as 'enabled' as the state flag for listeners.
|
||||
|
||||
Prior to this change, listener can be enable/disabled by setting the 'true' or 'false' on the 'enabled' config.
|
||||
This is slightly different naming comparing to other state flags in the system.
|
||||
No the 'enable' flag is added as an aliase on listeners.
|
|
@ -1 +0,0 @@
|
|||
Upgrade Erlang/OTP to 25.3.2-1
|
|
@ -1 +0,0 @@
|
|||
Add support for configuring TCP keep-alive in MQTT/TCP and MQTT/SSL listeners
|
|
@ -1,4 +0,0 @@
|
|||
Add `live_connections` field for some HTTP APIs, i.e:
|
||||
- `/monitor_current`, `/monitor_current/nodes/{node}`
|
||||
- `/monitor/nodes/{node}`, `/monitor`
|
||||
- `/node/{node}`, `/nodes`
|
|
@ -1,3 +0,0 @@
|
|||
Adds support for unlimited max connections for gateway listeners by allowing
|
||||
infinity as a valid value for the `max_connections` field in the configuration
|
||||
and HTTP API
|
|
@ -1,2 +0,0 @@
|
|||
Renamed emqx ctl command 'cluster_call' to 'conf cluster_sync'.
|
||||
The old command 'cluster_call' is still a valid command, but not included in usage info.
|
|
@ -1 +0,0 @@
|
|||
Hide the broker and move the `broker.shared_subscription_strategy` to `mqtt.shared_subscription_strategy` as it belongs to `mqtt`.
|
|
@ -1 +0,0 @@
|
|||
The listener's authentication and zone related apis have been officially removed in version `5.1.0`.
|
|
@ -1 +0,0 @@
|
|||
Rename `log.file.to` to `log.file.path`.
|
|
@ -1 +0,0 @@
|
|||
Added info logs to indicate when buffered messages are dropped due to time-to-live (TTL) expiration.
|
|
@ -1 +0,0 @@
|
|||
Release packages for Amazon Linux 2023
|
|
@ -1 +0,0 @@
|
|||
Rename `deliver_rate` to `delivery_rate` in the configuration of `retainer`.
|
|
@ -1 +0,0 @@
|
|||
Refactors the dashboard listener configuration to use a nested `ssl_options` field for ssl settings.
|
|
@ -1,4 +0,0 @@
|
|||
- Change k8s `api_server` default value from `http://127.0.0.1:9091` to `https://kubernetes.default.svc:443`
|
||||
- `emqx_ctl conf show cluster` no longer displays irrelevant configuration items, such as when `discovery_strategy=static`,
|
||||
it will not display configuration information related to `etcd/k8s/dns`.
|
||||
- Remove `zones`(deprecated config key) from `emqx_ctl conf show_keys`
|
|
@ -1,2 +0,0 @@
|
|||
Remove `/configs/limiter` api from `swagger.json`, only the api documentation was removed,
|
||||
and the `/configs/limiter` api functionalities have not been changed.
|
|
@ -1,4 +0,0 @@
|
|||
Added 3 random SQL functions to the rule engine.
|
||||
- random(): Generates a random number between 0 and 1 (0.0 =< X < 1.0).
|
||||
- uuid_v4(): Generates a random UUID (version 4) string.
|
||||
- uuid_v4_no_hyphen(): Generates a random UUID (version 4) string without hyphens.
|
|
@ -1 +0,0 @@
|
|||
Adding a new configuration API `/configs`(GET/PUT) that supports to reload the hocon format configuration file.
|
|
@ -1 +0,0 @@
|
|||
Unify the listener switch to `enable`, while being compatible with the previous `enabled`.
|
|
@ -1 +0,0 @@
|
|||
Support HTTP API for setting alarm watermark of license.
|
|
@ -1,3 +0,0 @@
|
|||
Add `/cluster/topology` HTTP API endpoint
|
||||
|
||||
`GET` request to the endpoint returns the cluster topology: connections between RLOG core and replicant nodes.
|
|
@ -1 +0,0 @@
|
|||
The Webhook/HTTP bridge has been refactored to its own Erlang application. This allows for more flexibility in the future, and also allows for the bridge to be run as a standalone application.
|
|
@ -1 +0,0 @@
|
|||
Release packages for Debian 12.
|
|
@ -1 +0,0 @@
|
|||
Updated `jq` dependency to version 0.3.10 which includes `oniguruma` library update to version 6.9.8 with few minor security fixes.
|
|
@ -1 +0,0 @@
|
|||
Updated RocksDB version to 1.8.0-emqx-1 via ekka update to 0.15.6.
|
|
@ -1,3 +0,0 @@
|
|||
Add `node.broker_pool_size`, `node.generic_pool_size`, `node.channel_cleanup_batch_size` options to EMQX configuration.
|
||||
|
||||
Tuning these options can significantly improve performance if cluster interconnect network latency is high.
|
|
@ -1 +0,0 @@
|
|||
Added option to configure detection of legacy protocol in MondoDB connectors and bridges.
|
|
@ -1 +0,0 @@
|
|||
Add a new API endpoint `DELETE /banned` to clear all `banned` data.
|
|
@ -1,2 +0,0 @@
|
|||
Changed the type of the `mqtt.mqx_packet_size` from string to byteSize to better represent the valid numeric range.
|
||||
Strings will still be accepted for backwards compatibility.
|
|
@ -1 +0,0 @@
|
|||
Refactored datetime-related modules and functions to simplify the code.
|
|
@ -1 +0,0 @@
|
|||
Added support for specifying username in Redis authentication.
|
|
@ -1,2 +0,0 @@
|
|||
The bcrypt work factor is limited to the range 5-10, because higher values consume too much CPU resources.
|
||||
Bcrypt library is updated to allow parallel hash evaluation.
|
|
@ -1 +0,0 @@
|
|||
Disabled the Erlang VM Prometheus exporter by default to improve performance and security.
|
|
@ -1,2 +0,0 @@
|
|||
Enhanced broker metrics collection and export by adding new metrics for messages, overload protection, authorization, authentication,
|
||||
and improving naming consistency for OpenTelemetry.
|
|
@ -1 +0,0 @@
|
|||
Add MQTT ingress to helm charts and update helm charts documentation
|
|
@ -1 +0,0 @@
|
|||
Ensure Monitor API `/monitor(_current)/nodes/:node` returns `404` instead of `400` if node does not exist.
|
|
@ -1 +0,0 @@
|
|||
如果 API 查询的节点不存在,将会返回 `404` 而不再是 `400`。
|
|
@ -1 +0,0 @@
|
|||
Metrics are now only exposed via the /bridges/:id/metrics endpoint. Metrics are no longer returned in other API operations such as getting the list of all bridges, or in the response when a bridge has been created.
|
|
@ -1 +0,0 @@
|
|||
现在只有显式调用 `/bridges/:id/metrics` 接口时才可以获得指标数据,而其他 API 接口将不再返回相关数据。
|
|
@ -1 +0,0 @@
|
|||
The configuration parameter `mqtt.max_awaiting_rel` was not functional and has now been corrected.
|
|
@ -1 +0,0 @@
|
|||
修复配置项 `mqtt.max_awaiting_rel` 更新不生效问题。
|
|
@ -1 +0,0 @@
|
|||
当 MongoDB 授权模块查询数据库时,在日志文件中发生的崩溃与错误已经被修复。
|
|
@ -1,9 +0,0 @@
|
|||
For operations on Bridges API if `bridge-id` is unknown we now return `404`
|
||||
instead of `400`. Also a bug was fixed that caused a crash if that was a node
|
||||
operation. Additionally we now also check if the given bridge is enabled when
|
||||
doing the cluster operation `start` . Affected endpoints:
|
||||
* [cluster] `/bridges/:id/:operation`,
|
||||
* [node] `/nodes/:node/bridges/:id/:operation`, where `operation` is one of
|
||||
`[start|stop|restart]`.
|
||||
Moreover, for a node operation, EMQX checks if node name is in our cluster and
|
||||
return `404` instead of `501`.
|
|
@ -1,2 +0,0 @@
|
|||
Fix an error occurring when a joining node doesn't have plugins that are installed on other nodes in the cluster.
|
||||
After this fix, the joining node will copy all the necessary plugins from other nodes.
|
|
@ -1,2 +0,0 @@
|
|||
修复节点加入集群时,由于缺少集其它节点已安装的插件所导致的错误。
|
||||
在此修复后,加入集群的节点将从其它节点复制所有必须的插件。
|
|
@ -1 +0,0 @@
|
|||
增加了 MongoDB 的默认心跳周期,以减少 MongoDB 日志文件记录过多的风险。
|
|
@ -1,2 +0,0 @@
|
|||
Fix some error logs generated by `systemctl stop emqx` command.
|
||||
Prior to the fix, the command was not stopping jq and os_mon applications properly.
|
|
@ -1 +0,0 @@
|
|||
修复 `systemctl stop emqx` 命令没有正常停止 jq、os_mon 组件所产生一些错误日志。
|
|
@ -1 +0,0 @@
|
|||
Add `-setcookie` emulator flag when invoking `emqx ctl` to prevent problems with emqx cli when home directory is read only. Fixes [#10142](https://github.com/emqx/emqx/issues/10142).
|
|
@ -1 +0,0 @@
|
|||
为 emqx 可执行文件加入 `-setcookie` 标志,以避免由于 home 目录只读,导致 emqx cli 所提供的 `emqx ctl` 等命令在执行时出现的一些问题。修复 [#10142](https://github.com/emqx/emqx/issues/10142)。
|
|
@ -1,3 +0,0 @@
|
|||
Fix `bridges` API to report error conditions for a failing bridge as
|
||||
`status_reason`. Also when creating an alarm for a failing resource we include
|
||||
this error condition with the alarm's message.
|
|
@ -1,8 +0,0 @@
|
|||
Change the default `resume_interval` for bridges and connectors to be
|
||||
the minimum of `health_check_interval` and `request_timeout / 3`.
|
||||
Also exposes it as a hidden configuration to allow fine tuning.
|
||||
|
||||
Before this change, the default values for `resume_interval` meant
|
||||
that, if a buffer ever got blocked due to resource errors or high
|
||||
message volumes, then, by the time the buffer would try to resume its
|
||||
normal operations, almost all requests would have timed out.
|
|
@ -1 +0,0 @@
|
|||
将数据桥接和连接器的 resume_interval 参数值设为 health_check_interval 和 request_timeout / 3 中的较小值,以解决请求超时的问题。
|
|
@ -1 +0,0 @@
|
|||
Fixed default rate limit configuration not being applied correctly when creating a new listener.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue