chore: Generate changelog for e5.0.1 and v5.0.20
This commit is contained in:
parent
5bdb85b04f
commit
f231042e76
|
@ -1 +1 @@
|
|||
在舵手图中添加吊舱干扰预算。
|
||||
在 Helm chart 中添加干扰预算 (disruption budget)。
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
# e5.0.1
|
||||
|
||||
## Enhancements
|
||||
|
||||
- [#10019](https://github.com/emqx/emqx/pull/10019) Add low level tuning settings for QUIC listeners.
|
||||
|
||||
- [#10059](https://github.com/emqx/emqx/pull/10059) Errors returned by rule engine API are formatted in a more human readable way rather than dumping the raw error including the stacktrace.
|
||||
|
||||
- [#9213](https://github.com/emqx/emqx/pull/9213) Add pod disruption budget to helm chart
|
||||
|
||||
- [#9949](https://github.com/emqx/emqx/pull/9949) QUIC transport Multistreams support and QUIC TLS cacert support.
|
||||
|
||||
|
||||
- [#9932](https://github.com/emqx/emqx/pull/9932) Integrate `TDengine` into `bridges` as a new backend.
|
||||
|
||||
- [#9967](https://github.com/emqx/emqx/pull/9967) New common TLS option 'hibernate_after' to reduce memory footprint per idle connecion, default: 5s.
|
||||
|
||||
## Bug Fixes
|
||||
|
||||
- [#10009](https://github.com/emqx/emqx/pull/10009) Validate `bytes` param to `GET /trace/:name/log` to not exceed signed 32bit integer.
|
||||
|
||||
- [#10015](https://github.com/emqx/emqx/pull/10015) To prevent errors caused by an incorrect EMQX node cookie provided from an environment variable,
|
||||
we have implemented a fail-fast mechanism.
|
||||
Previously, when an incorrect cookie was provided, the command would still attempt to ping the node,
|
||||
leading to the error message 'Node xxx not responding to pings'.
|
||||
With the new implementation, if a mismatched cookie is detected,
|
||||
a message will be logged to indicate that the cookie is incorrect,
|
||||
and the command will terminate with an error code of 1 without trying to ping the node.
|
||||
|
||||
- [#10020](https://github.com/emqx/emqx/pull/10020) Fix bridge metrics when running in async mode with batching enabled (`batch_size` > 1).
|
||||
|
||||
- [#10021](https://github.com/emqx/emqx/pull/10021) Fix error message when the target node of `emqx_ctl cluster join` command is not running.
|
||||
|
||||
- [#10032](https://github.com/emqx/emqx/pull/10032) When resources on some nodes in the cluster are still in the 'initializing/connecting' state, the `bridges/` API will crash due to missing Metrics information for those resources. This fix will ignore resources that do not have Metrics information.
|
||||
|
||||
- [#10037](https://github.com/emqx/emqx/pull/10037) Fix Swagger API doc rendering crash.
|
||||
In version 5.0.18, a bug was introduced that resulted in duplicated field names in the configuration schema. This, in turn, caused the Swagger schema generated to become invalid.
|
||||
|
||||
- [#10041](https://github.com/emqx/emqx/pull/10041) For influxdb bridge, added integer value placeholder annotation hint to `write_syntax` documentation.
|
||||
Also supported setting a constant value for the `timestamp` field.
|
||||
|
||||
- [#10042](https://github.com/emqx/emqx/pull/10042) Improve behavior of the `replicant` nodes when the `core` cluster becomes partitioned (for example when a core node leaves the cluster).
|
||||
Previously, the replicant nodes were unable to rebalance connections to the core nodes, until the core cluster became whole again.
|
||||
This was indicated by the error messages: `[error] line: 182, mfa: mria_lb:list_core_nodes/1, msg: mria_lb_core_discovery divergent cluster`.
|
||||
|
||||
[Mria PR](https://github.com/emqx/mria/pull/123/files)
|
||||
|
||||
- [#10043](https://github.com/emqx/emqx/pull/10043) Fixed two bugs introduced in v5.0.18.
|
||||
* The environment varialbe `SSL_DIST_OPTFILE` was not set correctly for non-boot commands.
|
||||
* When cookie is overridden from environment variable, EMQX node is unable to start.
|
||||
|
||||
- [#10044](https://github.com/emqx/emqx/pull/10044) Fix node information formatter for stopped nodes in the cluster. The bug was introduced by v5.0.18.
|
||||
|
||||
- [#10054](https://github.com/emqx/emqx/pull/10054) Fix the problem that the obfuscated password is used when using the `/bridges_probe` API to test the connection in Data-Bridge.
|
||||
|
||||
- [#10058](https://github.com/emqx/emqx/pull/10058) Deprecate unused QUIC TLS options.
|
||||
Only following TLS options are kept for the QUIC listeners:
|
||||
|
||||
- cacertfile
|
||||
- certfile
|
||||
- keyfile
|
||||
- verify
|
||||
|
||||
- [#10076](https://github.com/emqx/emqx/pull/10076) Fix webhook bridge error handling: connection timeout should be a retriable error.
|
||||
Prior to this fix, connection timeout was classified as unrecoverable error and led to request being dropped.
|
||||
|
||||
- [#10078](https://github.com/emqx/emqx/pull/10078) Fix an issue that invalid QUIC listener setting could casue segfault.
|
||||
|
||||
|
||||
- [#10084](https://github.com/emqx/emqx/pull/10084) Fix problem when joining core nodes running different EMQX versions into a cluster.
|
||||
|
||||
[Mria PR](https://github.com/emqx/mria/pull/127)
|
||||
|
||||
- [#10086](https://github.com/emqx/emqx/pull/10086) Upgrade HTTP client ehttpc to `0.4.7`.
|
||||
Prior to this upgrade, HTTP clients for authentication, authorization and webhook may crash
|
||||
if `body` is empty but content-type HTTP header is set.
|
||||
For more details see [ehttpc PR#44](https://github.com/emqx/ehttpc/pull/44).
|
||||
|
||||
- [#9939](https://github.com/emqx/emqx/pull/9939) Allow 'emqx ctl cluster' command to be issued before Mnesia starts.
|
||||
Prior to this change, EMQX `replicant` could not use `manual` discovery strategy.
|
||||
Now it's possible to join cluster using 'manual' strategy.
|
||||
|
||||
- [#9958](https://github.com/emqx/emqx/pull/9958) Fix bad http response format when client ID is not found in `clients` APIs
|
||||
|
||||
- [#9961](https://github.com/emqx/emqx/pull/9961) Avoid parsing config files for node name and cookie when executing non-boot commands in bin/emqx.
|
||||
|
||||
- [#9974](https://github.com/emqx/emqx/pull/9974) Report memory usage to statsd and prometheus using the same data source as dashboard.
|
||||
Prior to this fix, the memory usage data source was collected from an outdated source which did not work well in containers.
|
||||
|
||||
- [#9978](https://github.com/emqx/emqx/pull/9978) Fixed configuration issue when choosing to use SSL for a Postgres connection (`authn`, `authz` and bridge).
|
||||
The connection could fail to complete with a previously working configuration after an upgrade from 5.0.13 to newer EMQX versions.
|
||||
|
||||
- [#9997](https://github.com/emqx/emqx/pull/9997) Fix Swagger API schema generation. `deprecated` metadata field is now always boolean, as [Swagger specification](https://swagger.io/specification/) suggests.
|
||||
|
||||
- [#10007](https://github.com/emqx/emqx/pull/10007) Change Kafka bridge's config `memory_overload_protection` default value from `true` to `false`.
|
||||
EMQX logs cases when messages get dropped due to overload protection, and this is also reflected in counters.
|
||||
However, since there is by default no alerting based on the logs and counters,
|
||||
setting it to `true` may cause messages being dropped without noticing.
|
||||
At the time being, the better option is to let sysadmin set it explicitly so they are fully aware of the benefits and risks.
|
||||
|
||||
- [#10087](https://github.com/emqx/emqx/pull/10087) Use default template `${timestamp}` if the `timestamp` config is empty (undefined) when inserting data in InfluxDB.
|
||||
Prior to this change, InfluxDB bridge inserted a wrong timestamp when template is not provided.
|
|
@ -0,0 +1,96 @@
|
|||
# e5.0.1
|
||||
|
||||
## 增强
|
||||
|
||||
- [#10019](https://github.com/emqx/emqx/pull/10019) 为 QUIC 监听器添加更多底层调优选项。
|
||||
|
||||
- [#10059](https://github.com/emqx/emqx/pull/10059) 规则引擎 API 返回用户可读的错误信息而不是原始的栈追踪信息。
|
||||
|
||||
- [#9213](https://github.com/emqx/emqx/pull/9213) 在 Helm chart 中添加干扰预算 (disruption budget)。
|
||||
|
||||
- [#9949](https://github.com/emqx/emqx/pull/9949) QUIC 传输多流支持和 QUIC TLS cacert 支持。
|
||||
|
||||
- [#9932](https://github.com/emqx/emqx/pull/9932) 在 `桥接` 中集成 `TDengine`。
|
||||
|
||||
- [#9967](https://github.com/emqx/emqx/pull/9967) 新的通用 TLS 选项 'hibernate_after', 以减少空闲连接的内存占用,默认: 5s 。
|
||||
|
||||
## 修复
|
||||
|
||||
- [#10009](https://github.com/emqx/emqx/pull/10009) 验证 `GET /trace/:name/log` 的 `bytes` 参数,使其不超过有符号的32位整数。
|
||||
|
||||
- [#10015](https://github.com/emqx/emqx/pull/10015) 在 cookie 给错时,快速失败。
|
||||
在此修复前,即使 cookie 配置错误,emqx 命令仍然会尝试去 ping EMQX 节点,
|
||||
并得到一个 "Node xxx not responding to pings" 的错误。
|
||||
修复后,如果发现 cookie 不一致,立即打印不一致的错误信息并退出。
|
||||
|
||||
- [#10020](https://github.com/emqx/emqx/pull/10020) 修复使用异步和批量配置的桥接计数不准确的问题。
|
||||
|
||||
- [#10021](https://github.com/emqx/emqx/pull/10021) 修正当`emqx_ctl cluster join`命令的目标节点未运行时的错误信息。
|
||||
|
||||
- [#10032](https://github.com/emqx/emqx/pull/10032) 当集群中某些节点上的资源仍处于 '初始化/连接中' 状态时,`bridges/` API 将由于缺少这些资源的 Metrics 信息而崩溃。此修复后将忽略没有 Metrics 信息的资源。
|
||||
|
||||
- [#10037](https://github.com/emqx/emqx/pull/10037) 修复 Swagger API 文档渲染崩溃。
|
||||
在版本 5.0.18 中,引入了一个错误,导致配置 schema 中出现了重复的配置名称,进而导致生成了无效的 Swagger spec。
|
||||
|
||||
- [#10041](https://github.com/emqx/emqx/pull/10041) 为 influxdb 桥接的配置项 `write_syntax` 描述文档增加了类型标识符的提醒。
|
||||
另外在配置中支持 `timestamp` 使用一个常量。
|
||||
|
||||
- [#10042](https://github.com/emqx/emqx/pull/10042) 改进 `core` 集群被分割时 `replicant`节点的行为。
|
||||
修复前,如果 `core` 集群分裂成两个小集群(例如一个节点离开集群)时,`replicant` 节点无法重新平衡与核心节点的连接,直到核心集群再次变得完整。
|
||||
这种个问题会导致 replicant 节点出现如下日志:
|
||||
`[error] line: 182, mfa: mria_lb:list_core_nodes/1, msg: mria_lb_core_discovery divergent cluster`。
|
||||
|
||||
[Mria PR](https://github.com/emqx/mria/pull/123/files)
|
||||
|
||||
- [#10043](https://github.com/emqx/emqx/pull/10043) 修复 v5.0.18 引入的 2 个bug。
|
||||
* 环境变量 `SSL_DIST_OPTFILE` 的值设置错误导致节点无法为 Erlang distribution 启用 SSL。
|
||||
* 当节点的 cookie 从环境变量重载 (而不是设置在配置文件中时),节点无法启动的问题。
|
||||
|
||||
- [#10044](https://github.com/emqx/emqx/pull/10044) 修复集群中已停止节点的信息序列化问题,该错误由 v5.0.18 引入。
|
||||
|
||||
- [#10054](https://github.com/emqx/emqx/pull/10054) 修复数据桥接中使用 `/bridges_probe` API 进行测试连接时密码被混淆的问题。
|
||||
|
||||
- [#10058](https://github.com/emqx/emqx/pull/10058) 废弃未使用的 QUIC TLS 选项。
|
||||
QUIC 监听器只保留以下 TLS 选项:
|
||||
|
||||
- cacertfile
|
||||
- certfile
|
||||
- keyfile
|
||||
- verify
|
||||
|
||||
|
||||
- [#10076](https://github.com/emqx/emqx/pull/10076) 修复 HTTP 桥接的一个异常处理:连接超时错误发生后,发生错误的请求可以被重试。
|
||||
在此修复前,连接超时后,被当作不可重试类型的错误处理,导致请求被丢弃。
|
||||
|
||||
- [#10078](https://github.com/emqx/emqx/pull/10078) 修复了无效的 QUIC 监听器设置可能导致 segfault 的问题。
|
||||
|
||||
|
||||
- [#10084](https://github.com/emqx/emqx/pull/10084) 修正将运行不同 EMQX 版本的核心节点加入集群的问题。
|
||||
|
||||
[Mria PR](https://github.com/emqx/mria/pull/127)
|
||||
|
||||
- [#10086](https://github.com/emqx/emqx/pull/10086) HTTP 客户端库 `ehttpc` 升级到 0.4.7。
|
||||
在升级前,如果 HTTP 客户端,例如 认证,授权,webhook 等配置中使用了content-type HTTP 头,但是没有配置 body,则可能会发生异常。
|
||||
详情见 [ehttpc PR#44](https://github.com/emqx/ehttpc/pull/44)。
|
||||
|
||||
- [#9939](https://github.com/emqx/emqx/pull/9939) 允许 'emqx ctl cluster join' 命令在 Mnesia 启动前就可以调用。
|
||||
在此修复前, EMQX 的 `replicant` 类型节点无法使用 `manual` 集群发现策略。
|
||||
|
||||
- [#9958](https://github.com/emqx/emqx/pull/9958) 修复 `clients` API 在 Client ID 不存在时返回的错误的 HTTP 应答格式。
|
||||
|
||||
- [#9961](https://github.com/emqx/emqx/pull/9961) 在 bin/emqx 脚本中,避免在运行非启动命令时解析 emqx.conf 来获取节点名称和 cookie。
|
||||
|
||||
- [#9974](https://github.com/emqx/emqx/pull/9974) Statsd 和 prometheus 使用跟 Dashboard 相同的内存用量数据源。
|
||||
在此修复前,内存的总量和用量统计使用了过时的(在容器环境中不准确)的数据源。
|
||||
|
||||
- [#9978](https://github.com/emqx/emqx/pull/9978) 修正了在Postgres连接中选择使用SSL时的配置问题(`authn`, `authz` 和 bridge)。
|
||||
从5.0.13升级到较新的EMQX版本后,连接可能无法完成之前的配置。
|
||||
|
||||
- [#9997](https://github.com/emqx/emqx/pull/9997) 修复 Swagger API 生成时,`deprecated` 元数据字段未按照[标准](https://swagger.io/specification/)建议的那样始终为布尔值的问题。
|
||||
|
||||
- [#10007](https://github.com/emqx/emqx/pull/10007) Kafka 桥接的配置参数 `memory_overload_protection` 默认值从 `true` 改成了 `false`。
|
||||
尽管内存过载后消息被丢弃会产生日志和计数,如果没有基于这些日志或计数的告警,系统管理员可能无法及时发现消息被丢弃。
|
||||
当前更好的选择是:让管理员显式的配置该项,迫使他们理解这个配置的好处以及风险。
|
||||
|
||||
- [#10087](https://github.com/emqx/emqx/pull/10087) 在 InfluxDB 中插入数据时,如果时间戳为空(未定义),则使用默认的占位符 `${timestamp}`。
|
||||
在此修复前,如果时间戳字段没有设置,InfluxDB 桥接使用了一个错误的时间戳。
|
|
@ -1 +0,0 @@
|
|||
Add pod disruption budget to helm chart
|
|
@ -1 +0,0 @@
|
|||
在舵手图中添加吊舱干扰预算。
|
|
@ -0,0 +1,38 @@
|
|||
# v5.0.20
|
||||
|
||||
## Enhancements
|
||||
|
||||
- [#10059](https://github.com/emqx/emqx/pull/10059) Errors returned by rule engine API are formatted in a more human readable way rather than dumping the raw error including the stacktrace.
|
||||
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
|
||||
- [#10032](https://github.com/emqx/emqx/pull/10032) When resources on some nodes in the cluster are still in the 'initializing/connecting' state, the `bridges/` API will crash due to missing Metrics information for those resources. This fix will ignore resources that do not have Metrics information.
|
||||
|
||||
- [#10044](https://github.com/emqx/emqx/pull/10044) Fix node information formatter for stopped nodes in the cluster. The bug was introduced by v5.0.18.
|
||||
|
||||
- [#10054](https://github.com/emqx/emqx/pull/10054) Fix the problem that the obfuscated password is used when using the `/bridges_probe` API to test the connection in Data-Bridge.
|
||||
|
||||
- [#10058](https://github.com/emqx/emqx/pull/10058) Deprecate unused QUIC TLS options.
|
||||
Only following TLS options are kept for the QUIC listeners:
|
||||
|
||||
- cacertfile
|
||||
- certfile
|
||||
- keyfile
|
||||
- verify
|
||||
|
||||
- [#10076](https://github.com/emqx/emqx/pull/10076) Fix webhook bridge error handling: connection timeout should be a retriable error.
|
||||
Prior to this fix, connection timeout was classified as unrecoverable error and led to request being dropped.
|
||||
|
||||
- [#10078](https://github.com/emqx/emqx/pull/10078) Fix an issue that invalid QUIC listener setting could casue segfault.
|
||||
|
||||
|
||||
- [#10084](https://github.com/emqx/emqx/pull/10084) Fix problem when joining core nodes running different EMQX versions into a cluster.
|
||||
|
||||
[Mria PR](https://github.com/emqx/mria/pull/127)
|
||||
|
||||
- [#10086](https://github.com/emqx/emqx/pull/10086) Upgrade HTTP client ehttpc to `0.4.7`.
|
||||
Prior to this upgrade, HTTP clients for authentication, authorization and webhook may crash
|
||||
if `body` is empty but content-type HTTP header is set.
|
||||
For more details see [ehttpc PR#44](https://github.com/emqx/ehttpc/pull/44).
|
|
@ -0,0 +1,40 @@
|
|||
# v5.0.20
|
||||
|
||||
## 增强
|
||||
|
||||
- [#10059](https://github.com/emqx/emqx/pull/10059) 规则引擎 API 返回用户可读的错误信息而不是原始的栈追踪信息。
|
||||
|
||||
- [#9213](https://github.com/emqx/emqx/pull/9213) 在 Helm chart 中添加干扰预算 (disruption budget)。
|
||||
|
||||
|
||||
|
||||
## 修复
|
||||
|
||||
- [#10032](https://github.com/emqx/emqx/pull/10032) 当集群中某些节点上的资源仍处于 '初始化/连接中' 状态时,`bridges/` API 将由于缺少这些资源的 Metrics 信息而崩溃。此修复后将忽略没有 Metrics 信息的资源。
|
||||
|
||||
- [#10044](https://github.com/emqx/emqx/pull/10044) 修复集群中已停止节点的信息序列化问题,该错误由 v5.0.18 引入。
|
||||
|
||||
- [#10054](https://github.com/emqx/emqx/pull/10054) 修复数据桥接中使用 `/bridges_probe` API 进行测试连接时密码被混淆的问题。
|
||||
|
||||
- [#10058](https://github.com/emqx/emqx/pull/10058) 废弃未使用的 QUIC TLS 选项。
|
||||
QUIC 监听器只保留以下 TLS 选项:
|
||||
|
||||
- cacertfile
|
||||
- certfile
|
||||
- keyfile
|
||||
- verify
|
||||
|
||||
|
||||
- [#10076](https://github.com/emqx/emqx/pull/10076) 修复 HTTP 桥接的一个异常处理:连接超时错误发生后,发生错误的请求可以被重试。
|
||||
在此修复前,连接超时后,被当作不可重试类型的错误处理,导致请求被丢弃。
|
||||
|
||||
- [#10078](https://github.com/emqx/emqx/pull/10078) 修复了无效的 QUIC 监听器设置可能导致 segfault 的问题。
|
||||
|
||||
|
||||
- [#10084](https://github.com/emqx/emqx/pull/10084) 修正将运行不同 EMQX 版本的核心节点加入集群的问题。
|
||||
|
||||
[Mria PR](https://github.com/emqx/mria/pull/127)
|
||||
|
||||
- [#10086](https://github.com/emqx/emqx/pull/10086) HTTP 客户端库 `ehttpc` 升级到 0.4.7。
|
||||
在升级前,如果 HTTP 客户端,例如 认证,授权,webhook 等配置中使用了content-type HTTP 头,但是没有配置 body,则可能会发生异常。
|
||||
详情见 [ehttpc PR#44](https://github.com/emqx/ehttpc/pull/44)。
|
|
@ -91,7 +91,11 @@ format_one_pr() {
|
|||
fi
|
||||
indent="- [#${pr_num}](https://github.com/emqx/emqx/pull/${pr_num}) "
|
||||
while read -r line; do
|
||||
echo "${indent}${line}"
|
||||
if [ "${line}" != '' ]; then
|
||||
echo "${indent}${line}"
|
||||
else
|
||||
echo ''
|
||||
fi
|
||||
indent=" "
|
||||
done < "${filename}"
|
||||
echo
|
||||
|
|
Loading…
Reference in New Issue