diff --git a/.asf.yaml b/.asf.yaml index d6369bc80dc5..d5fbaa2ab21b 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -53,6 +53,10 @@ github: dismiss_stale_reviews: true require_code_owner_reviews: true required_approving_review_count: 2 + release/3.8: + required_pull_request_reviews: + require_code_owner_reviews: true + required_approving_review_count: 2 release/3.7: required_pull_request_reviews: require_code_owner_reviews: true diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d639193e91d..8c72b0ca2ba0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ title: Changelog ## Table of Contents +- [3.8.0](#380) - [3.7.0](#370) - [3.6.0](#360) - [3.5.0](#350) @@ -74,6 +75,48 @@ title: Changelog - [0.7.0](#070) - [0.6.0](#060) +## 3.8.0 + +### Core + +- :sunrise: Support the use of lua-resty-events module for better performance: + - [#10550](https://github.com/apache/apisix/pull/10550) + - [#10558](https://github.com/apache/apisix/pull/10558) +- :sunrise: Upgrade OpenSSL 1.1.1 to OpenSSL 3: [#10724](https://github.com/apache/apisix/pull/10724) + +### Plugins + +- :sunrise: Add jwe-decrypt plugin: [#10252](https://github.com/apache/apisix/pull/10252) +- :sunrise: Support brotli when use filters.regex option (response-rewrite): [#10733](https://github.com/apache/apisix/pull/10733) +- :sunrise: Add multi-auth plugin: [#10482](https://github.com/apache/apisix/pull/10482) +- :sunrise: Add `required scopes` configuration property to `openid-connect` plugin: [#10493](https://github.com/apache/apisix/pull/10493) +- :sunrise: Support for the Timing-Allow-Origin header (cors): [#9365](https://github.com/apache/apisix/pull/9365) +- :sunrise: Add brotli plugin: [#10515](https://github.com/apache/apisix/pull/10515) +- :sunrise: Body-transformer plugin enhancement(#10472): [#10496](https://github.com/apache/apisix/pull/10496) +- :sunrise: Set minLength of redis_cluster_nodes to 1 for limit-count plugin: [#10612](https://github.com/apache/apisix/pull/10612) +- :sunrise: Allow to use environment variables for limit-count plugin settings: [#10607](https://github.com/apache/apisix/pull/10607) + +### Bugfixes + +- Fix: When the upstream nodes are of array type, the port should be an optional field: [#10477](https://github.com/apache/apisix/pull/10477) +- Fix: Incorrect variable extraction in fault-injection plugin: [#10485](https://github.com/apache/apisix/pull/10485) +- Fix: All consumers should share the same counter (limit-count): [#10541](https://github.com/apache/apisix/pull/10541) +- Fix: Safely remove upstream when sending route to opa plugin: [#10552](https://github.com/apache/apisix/pull/10552) +- Fix: Missing etcd init_dir and unable to list resource: [#10569](https://github.com/apache/apisix/pull/10569) +- Fix: Forward-auth request body is too large: [#10589](https://github.com/apache/apisix/pull/10589) +- Fix: Memory leak caused by timer that never quit: [#10614](https://github.com/apache/apisix/pull/10614) +- Fix: Do not invoke add_header if value resolved as nil in proxy-rewrite plugin: [#10619](https://github.com/apache/apisix/pull/10619) +- Fix: Frequent traversal of all keys in etcd leads to high CPU usage: [#10671](https://github.com/apache/apisix/pull/10671) +- Fix: For prometheus upstream_status metrics, mostly_healthy is healthy: [#10639](https://github.com/apache/apisix/pull/10639) +- Fix: Avoid getting a nil value in log phase in zipkin: [#10666](https://github.com/apache/apisix/pull/10666) +- Fix: Enable openid-connect plugin without redirect_uri got 500 error: [#7690](https://github.com/apache/apisix/pull/7690) +- Fix: Add redirect_after_logout_uri for ODIC that do not have an end_session_endpoint: [#10653](https://github.com/apache/apisix/pull/10653) +- Fix: Response-rewrite filters.regex does not apply when content-encoding is gzip: [#10637](https://github.com/apache/apisix/pull/10637) +- Fix: The leak of prometheus metrics: [#10655](https://github.com/apache/apisix/pull/10655) +- Fix: Authz-keycloak add return detail err: [#10691](https://github.com/apache/apisix/pull/10691) +- Fix: upstream nodes was not updated correctly by service discover: [#10722](https://github.com/apache/apisix/pull/10722) +- Fix: apisix restart failed: [#10696](https://github.com/apache/apisix/pull/10696) + ## 3.7.0 ### Change diff --git a/apisix/core/version.lua b/apisix/core/version.lua index 31df8d61d525..d3519aeee624 100644 --- a/apisix/core/version.lua +++ b/apisix/core/version.lua @@ -20,5 +20,5 @@ -- @module core.version return { - VERSION = "3.7.0" + VERSION = "3.8.0" } diff --git a/docs/en/latest/building-apisix.md b/docs/en/latest/building-apisix.md index a2bf1604aa78..1c5206ad3e99 100644 --- a/docs/en/latest/building-apisix.md +++ b/docs/en/latest/building-apisix.md @@ -48,7 +48,7 @@ To build and package APISIX for a specific platform, see [apisix-build-tools](ht First of all, we need to specify the version `APISIX_VERSION` to be installed: ```shell -APISIX_VERSION='3.7.0' +APISIX_VERSION='3.8.0' ``` Then, you can run the following command to clone the APISIX source code from Github: diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json index 1d52f675474a..480f63489e52 100644 --- a/docs/en/latest/config.json +++ b/docs/en/latest/config.json @@ -1,5 +1,5 @@ { - "version": "3.7.0", + "version": "3.8.0", "sidebar": [ { "type": "category", diff --git a/docs/zh/latest/CHANGELOG.md b/docs/zh/latest/CHANGELOG.md index ee21babb5a44..49d475dd8ded 100644 --- a/docs/zh/latest/CHANGELOG.md +++ b/docs/zh/latest/CHANGELOG.md @@ -23,6 +23,7 @@ title: CHANGELOG ## Table of Contents +- [3.8.0](#380) - [3.7.0](#370) - [3.6.0](#360) - [3.5.0](#350) @@ -74,6 +75,48 @@ title: CHANGELOG - [0.7.0](#070) - [0.6.0](#060) +## 3.8.0 + +### Core + +- :sunrise: 支持使用 lua-resty-events 模块以提高性能: + - [#10550](https://github.com/apache/apisix/pull/10550) + - [#10558](https://github.com/apache/apisix/pull/10558) +- :sunrise: 将 OpenSSL 1.1.1 升级到 OpenSSL 3:[#10724](https://github.com/apache/apisix/pull/10724) + +### Plugins + +- :sunrise: 添加 jwe-decryp 插件:[#10252](https://github.com/apache/apisix/pull/10252) +- :sunrise: response-rewrite 插件使用 filters.regex 选项时支持 brotli:[#10733](https://github.com/apache/apisix/pull/10733) +- :sunrise: 添加多重认证插件:[#10482](https://github.com/apache/apisix/pull/10482) +- :sunrise: 在 `openid-connect` 插件中添加 `required scopes` 配置属性:[#10493](https://github.com/apache/apisix/pull/10493) +- :sunrise: cors 插件支持 Timing-Allow-Origin 头:[#9365](https://github.com/apache/apisix/pull/9365) +- :sunrise: 添加 brotli 插件:[#10515](https://github.com/apache/apisix/pull/10515) +- :sunrise: body-transformer 插件增强:[#10496](https://github.com/apache/apisix/pull/10496) +- :sunrise: limit-count 插件设置 redis_cluster_nodes 的最小长度为 1:[#10612](https://github.com/apache/apisix/pull/10612) +- :sunrise: 允许通过环境变量配置 limit-count 插件:[#10607](https://github.com/apache/apisix/pull/10607) + +### Bugfixes + +- 修复:upstream nodes 为数组类型时,port 应为可选字段:[#10477](https://github.com/apache/apisix/pull/10477) +- 修复:fault-injection 插件中变量提取不正确:[#10485](https://github.com/apache/apisix/pull/10485) +- 修复:所有消费者应共享同一计数器 (limit-count):[#10541](https://github.com/apache/apisix/pull/10541) +- 修复:在向 opa 插件发送路由时安全地删除上游:[#10552](https://github.com/apache/apisix/pull/10552) +- 修复:缺少 etcd init_dir 和无法列出资源:[#10569](https://github.com/apache/apisix/pull/10569) +- 修复:Forward-auth 请求体过大:[#10589](https://github.com/apache/apisix/pull/10589) +- 修复:永不退出的定时器导致的内存泄漏:[#10614](https://github.com/apache/apisix/pull/10614) +- 修复:如果在 proxy-rewrite 插件中解析的值为 nil,则不调用 add_header:[#10619](https://github.com/apache/apisix/pull/10619) +- 修复:频繁遍历 etcd 所有的键,导致 cpu 使用率高:[#10671](https://github.com/apache/apisix/pull/10671) +- 修复:对于 prometheus 的 upstream_status 指标,mostly_healthy 是健康的:[#10639](https://github.com/apache/apisix/pull/10639) +- 修复:在 zipkin 中避免在日志阶段获取 nil 值:[#10666](https://github.com/apache/apisix/pull/10666) +- 修复:启用 openid-connect 插件而没有 redirect_uri 导致 500 错误:[#7690](https://github.com/apache/apisix/pull/7690) +- 修复:为没有 end_session_endpoint 的 ODIC 添加 redirect_after_logout_uri:[#10653](https://github.com/apache/apisix/pull/10653) +- 修复:当 content-encoding 为 gzip 时,response-rewrite 的 filters.regex 不适用:[#10637](https://github.com/apache/apisix/pull/10637) +- 修复:prometheus 指标的泄漏:[#10655](https://github.com/apache/apisix/pull/10655) +- 修复:Authz-keycloak 添加返回详细错误:[#10691](https://github.com/apache/apisix/pull/10691) +- 修复:服务发现未正确更新上游节点:[#10722](https://github.com/apache/apisix/pull/10722) +- 修复:apisix 重启失败:[#10696](https://github.com/apache/apisix/pull/10696) + ## 3.7.0 ### Change diff --git a/docs/zh/latest/building-apisix.md b/docs/zh/latest/building-apisix.md index 0d39b6870de3..e27fc1176826 100644 --- a/docs/zh/latest/building-apisix.md +++ b/docs/zh/latest/building-apisix.md @@ -47,7 +47,7 @@ import TabItem from '@theme/TabItem'; 首先,我们需要指定需要安装的版本`APISIX_VERSION`: ```shell -APISIX_VERSION='3.7.0' +APISIX_VERSION='3.8.0' ``` 然后,你可以运行以下命令,从 Github 克隆 APISIX 源码: diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json index f8328e6854c6..2f8c3852527e 100644 --- a/docs/zh/latest/config.json +++ b/docs/zh/latest/config.json @@ -1,5 +1,5 @@ { - "version": "3.7.0", + "version": "3.8.0", "sidebar": [ { "type": "category",