This is an automated email from the ASF dual-hosted git repository.

traky pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 311cb9ae9af docs: add release notes 3.9.0 (#1777)
311cb9ae9af is described below

commit 311cb9ae9af42ed737d5f7ceba4289dcdec2832c
Author: Traky Deng <[email protected]>
AuthorDate: Mon Apr 1 15:47:20 2024 +0800

    docs: add release notes 3.9.0 (#1777)
---
 .../blog/2024/03/29/release-apache-apisix-3.9.0.md | 178 +++++++++++++++++++++
 .../blog/2024/03/29/release-apache-apisix-3.9.0.md | 178 +++++++++++++++++++++
 2 files changed, 356 insertions(+)

diff --git a/blog/en/blog/2024/03/29/release-apache-apisix-3.9.0.md 
b/blog/en/blog/2024/03/29/release-apache-apisix-3.9.0.md
new file mode 100644
index 00000000000..857572c61bb
--- /dev/null
+++ b/blog/en/blog/2024/03/29/release-apache-apisix-3.9.0.md
@@ -0,0 +1,178 @@
+---
+title: "Release Apache APISIX 3.9.0"
+authors:
+  - name: "Abhishek Choudhary"
+    title: "Author"
+    url: "https://github.com/shreemaan-abhishek";
+    image_url: "https://github.com/shreemaan-abhishek.png";
+  - name: "Traky Deng"
+    title: "Technical Writer"
+    url: "https://github.com/kayx23";
+    image_url: "https://github.com/kayx23.png";
+keywords:
+- Apache APISIX
+- API Gateway
+- API Management Platform
+- New Release
+- Cloud Native
+description: The Apache APISIX 3.9.0 version is released on March 29, 2024. 
This release includes a few new features, bug fixes, and other improvements to 
user experiences.
+tags: [Community]
+---
+
+We are glad to present Apache APISIX 3.9.0 with exciting new features, bug 
fixes, and other improvements to user experiences.
+
+<!--truncate-->
+
+This new release adds a number of new features, including the support for 
HTTP/3 between client and APISIX, the addition of plugin reload endpoint to 
Control API, the configuration of Prometheus metrics expiration, and more.
+
+There are a few important changes included in this release. Should you find 
these changes impacting your operations, please plan accordingly for a seamless 
upgrade.
+
+## Breaking Changes
+
+### Enable HTTP/2
+
+In the earlier versions, HTTP/2 can be enabled by setting 
`apisix.node_listen.enable_http2` and `apisix.ssl.listen.enable_http2` to 
`true` in the configuration file. These options have been deprecated in this 
release. Starting from 3.9.0, HTTP/2 can be enabled with `apisix.enable_http2`:
+
+```yaml title="config.yaml"
+apisix:
+  enable_http2: true
+```
+
+For more information, see [PR 
#11032](https://github.com/apache/apisix/pull/11032).
+
+### Consolidate `keyring` and `key_encrypt_salt` fields
+
+In the earlier versions, `key_encrypt_salt` and `keyring` are two 
configuration options both used for data encryption and decryption in a similar 
manner. This release removes `key_encrypt_salt` as it is redundant, and you 
should only configure `keyring`:
+
+```yaml title="config.yaml"
+apisix:
+  data_encryption:
+    keyring:
+      - qeddd145sfvddff3
+```
+
+For more information, see [PR 
#10771](https://github.com/apache/apisix/pull/10771).
+
+## New Features
+
+### Support HTTP/3 between client and APISIX
+
+Support HTTP/3 between clients and APISIX as an experimental feature. HTTP/3 
with upstream services is not yet supported.
+
+HTTP/3 requires TLS v1.3. To enable HTTP/3 on a given port in APISIX, update 
the configuration file as such:
+
+```yaml title="config.yaml"
+apisix:
+  ssl:
+    listen:
+      - port: 9443
+        enable_http3: true
+```
+
+Next, configure TLS certificates between client and APISIX:
+
+```shell
+curl "http://127.0.0.1:9180/apisix/admin/ssls"; -X PUT \
+  -H "X-API-KEY: ${ADMIN_API_KEY}" \
+  -d '{
+    "id": "tls-client-ssl",
+    "sni": "example.com",
+    "cert": "'"${server_cert}"'",
+    "key": "'"${server_key}"'"
+  }'
+ ```
+
+For more information, see [PR 
#10989](https://github.com/apache/apisix/pull/10989), [PR 
#11010](https://github.com/apache/apisix/pull/11010), and [PR 
#11027](https://github.com/apache/apisix/pull/11027).
+
+### Add plugin reload endpoint to Control API
+
+The plugin reload endpoint, which previously existed in Admin API to hot 
reload all plugins, is now added to [Control 
API](https://apisix.apache.org/docs/apisix/next/control-api/#put-v1pluginsreload),
 such that the plugin reload can be called from control plane:
+
+```shell
+curl "http://127.0.0.1:9090/v1/plugins/reload"; -X PUT
+```
+
+For backward compatibility, the plugin reload endpoint in Admin API is 
retained.
+
+For more information, see [PR 
#10905](https://github.com/apache/apisix/pull/10905).
+
+### Support setting session cookie lifetime in `openid-connect` plugin
+
+You can now configure the session cookie lifetime in the `openid-connect` 
plugin as such:
+
+```shell
+curl "http://127.0.0.1:9180/apisix/admin/routes"; -X PUT -d '
+{
+  "id": "auth-with-oidc",
+  "uri":"/anything/*",
+  "plugins": {
+    "openid-connect": {
+      "client_id": "'"$OIDC_CLIENT_ID"'",
+      "client_secret": "'"$OIDC_CLIENT_SECRET"'",
+      "discovery": "'"$OIDC_DISCOVERY"'",
+      "session": {
+        "secret": "6S8IO+Pydgb33LIor8T9ClER0T/sglFAjClFeAF3RsY=",
+        "cookie" : {
+          "lifetime": 86400
+        }
+      },
+      "redirect_uri": "http://localhost:9080/anything/callback";
+    }
+  },
+  "upstream":{
+    "type":"roundrobin",
+    "nodes":{
+      "httpbin.org:80":1
+    }
+  }
+}'
+```
+
+This is to address the issue where the lifetime of the access token is longer 
than the session lifetime.
+
+For more information, see [PR 
#10919](https://github.com/apache/apisix/pull/10919).
+
+### Support setting expiration time for Prometheus metrics
+
+You can now set the expiration time in seconds after Prometheus metrics have 
become inactive to reduce resource consumption:
+
+```yaml title="config.yaml"
+plugin_attr:
+  prometheus:
+    expire: 0    # time in seconds. 0 means the metrics will not expire.
+```
+
+For more information, see [PR 
#10869](https://github.com/apache/apisix/pull/10869).
+
+### Support `redis` and `redis-cluster` policies in `limit-req` and 
`limit-conn` plugins
+
+Support `redis` and `redis-cluster` policies in `limit-req` and `limit-conn` 
plugins, so that rate limiting counters can be shared among APISIX instances.
+
+For more information, see [PR 
#10874](https://github.com/apache/apisix/pull/10874) and [PR 
#10866](https://github.com/apache/apisix/pull/10866).
+
+### Support OCSP Stapling
+
+Support OCSP stapling using the `ocsp-stapling` plugin.
+
+For more information, see [plugin 
doc](https://github.com/apache/apisix/blob/master/docs/en/latest/plugins/ocsp-stapling.md)
 and [PR #10817](https://github.com/apache/apisix/pull/10817).
+
+### Support transforming between HTTP and Dubbo
+
+Support transforming between HTTP and Dubbo with the `http-dubbo` plugin.
+
+For more information, see [PR 
#10703](https://github.com/apache/apisix/pull/10703).
+
+## Other Updates
+
+- Support EndpointSlice in Kubernetes service discovery ([PR 
#10916](https://github.com/apache/apisix/pull/10916))
+- Add `cors_allow_headers` attribute to the `grpc-web` plugin to allow 
cross-origin resources ([PR 
#10904](https://github.com/apache/apisix/pull/10904))
+- Allow customization of the error response code in the `forward-auth` plugin 
([PR #10898](https://github.com/apache/apisix/pull/10898))
+- Support the inclusion of request and response bodies in loggers ([PR 
#10888](https://github.com/apache/apisix/pull/10888))
+- Support compressed responses in loggers ([PR 
#10884](https://github.com/apache/apisix/pull/10884))
+- Support built-in variables in `response_headers` in the `mocking` plugin 
([PR #10872](https://github.com/apache/apisix/pull/10872))
+- Fix for unnecessary YAML config reloads ([PR 
#9065](https://github.com/apache/apisix/pull/9065))
+- Prevent real payload to be overridden by malicious payload in the `jwt-auth` 
plugin ([PR #10982](https://github.com/apache/apisix/pull/10982))
+
+## Changelog
+
+For a complete list of changes in this release, please see 
[CHANGELOG](https://github.com/apache/apisix/blob/master/CHANGELOG.md#390).
diff --git a/blog/zh/blog/2024/03/29/release-apache-apisix-3.9.0.md 
b/blog/zh/blog/2024/03/29/release-apache-apisix-3.9.0.md
new file mode 100644
index 00000000000..3d4024ccb91
--- /dev/null
+++ b/blog/zh/blog/2024/03/29/release-apache-apisix-3.9.0.md
@@ -0,0 +1,178 @@
+---
+title: "Apache APISIX 3.9.0 正式发布"
+authors:
+  - name: "Abhishek Choudhary"
+    title: "Author"
+    url: "https://github.com/shreemaan-abhishek";
+    image_url: "https://github.com/shreemaan-abhishek.png";
+  - name: "Traky Deng"
+    title: "Technical Writer"
+    url: "https://github.com/kayx23";
+    image_url: "https://github.com/kayx23.png";
+keywords:
+- Apache APISIX
+- API Gateway
+- API Management Platform
+- New Release
+- Cloud Native
+description: Apache APISIX 3.9.0 版本于 2024 年 3 月 29 
日发布。该版本带来了一系列新功能、修复、以及相关用户体验优化。
+tags: [Community]
+---
+
+我们很高兴地宣布 Apache APISIX 3.9.0 版本已经发布,带来了一系列新功能、修复、以及相关用户体验优化。
+
+<!--truncate-->
+
+这个新版本添加了许多新功能,包括客户端和 APISIX 之间对 HTTP/3 的支持、向 Control API 添加插件重新加载端点、Prometheus 
指标过期的配置等。
+
+此外,该版本还包含了一些重要的变更。如果您发现这些变更会对您的使用产生影响,请进行相应的计划升级。
+
+## 重大变更
+
+### 开启 HTTP/2
+
+在早期版本中,可以通过在配置文件中将 `apisix.node_listen.enable_http2` 和 
`apisix.ssl.listen.enable_http2` 设置为 `true` 来启用 HTTP/2。 这些选项在此版本中已被弃用。 从 3.9.0 
开始,应当使用 `apisix.enable_http2` 启用 HTTP/2:
+
+```yaml title="config.yaml"
+apisix:
+  enable_http2: true
+```
+
+详情请参考 [PR #11032](https://github.com/apache/apisix/pull/11032)。
+
+### 整合 `keyring` 和 `key_encrypt_salt` 配置项
+
+在早期版本中,`key_encrypt_salt` 和 `keyring` 是两个分开的配置选项,都以类似的方式用于数据加密和解密。 
此版本删除了`key_encrypt_salt`,只需配置 `keyring`:
+
+```yaml title="config.yaml"
+apisix:
+  data_encryption:
+    keyring:
+      - qeddd145sfvddff3
+```
+
+详情请参考 [PR #10771](https://github.com/apache/apisix/pull/10771)。
+
+## 新功能
+
+### 支持客户端和 APISIX 之间的 HTTP/3
+
+支持客户端和 APISIX 之间的 HTTP/3 作为实验性功能。尚不支持具有上游服务的 HTTP/3。
+
+HTTP/3 需要 TLS v1.3。要在 APISIX 中的给定端口上启用 HTTP/3,请更新配置文件,如下所示:
+
+```yaml title="config.yaml"
+apisix:
+  ssl:
+    listen:
+      - port: 9443
+        enable_http3: true
+```
+
+接下来,在客户端和 APISIX 之间配置 TLS 证书:
+
+```shell
+curl "http://127.0.0.1:9180/apisix/admin/ssls"; -X PUT \
+  -H "X-API-KEY: ${ADMIN_API_KEY}" \
+  -d '{
+    "id": "tls-client-ssl",
+    "sni": "example.com",
+    "cert": "'"${server_cert}"'",
+    "key": "'"${server_key}"'"
+  }'
+ ```
+
+详情请参考 [PR #10989](https://github.com/apache/apisix/pull/10989),[PR 
#11010](https://github.com/apache/apisix/pull/11010),和 [PR 
#11027](https://github.com/apache/apisix/pull/11027)。
+
+### 将插件重新加载端点添加到 Control API
+
+插件重新加载端点以前存在于 Admin API 中,用于热重新加载所有插件,现在已添加到 [Control 
API](https://apisix.apache.org/docs/apisix/next/control-api/#put-v1pluginsreload),这样可以从控制平面调用插件重新加载:
+
+```shell
+curl "http://127.0.0.1:9090/v1/plugins/reload"; -X PUT
+```
+
+为了兼容,Admin API 中的插件重新加载端点被保留。
+
+详情请参考 [PR #10905](https://github.com/apache/apisix/pull/10905)。
+
+### 支持在 `openid-connect` 插件中设置 session cookie 生命周期
+
+您现在可以在 `openid-connect` 插件中配置 session cookie 生命周期,如下所示:
+
+```shell
+curl "http://127.0.0.1:9180/apisix/admin/routes"; -X PUT -d '
+{
+  "id": "auth-with-oidc",
+  "uri":"/anything/*",
+  "plugins": {
+    "openid-connect": {
+      "client_id": "'"$OIDC_CLIENT_ID"'",
+      "client_secret": "'"$OIDC_CLIENT_SECRET"'",
+      "discovery": "'"$OIDC_DISCOVERY"'",
+      "session": {
+        "secret": "6S8IO+Pydgb33LIor8T9ClER0T/sglFAjClFeAF3RsY=",
+        "cookie" : {
+          "lifetime": 86400
+        }
+      },
+      "redirect_uri": "http://localhost:9080/anything/callback";
+    }
+  },
+  "upstream":{
+    "type":"roundrobin",
+    "nodes":{
+      "httpbin.org:80":1
+    }
+  }
+}'
+```
+
+这是为了解决 access token 的生命周期长于 session cookie 生命周期的问题。
+
+详情请参考 [PR #10919](https://github.com/apache/apisix/pull/10919)。
+
+### 支持设置 Prometheus 指标的过期时间
+
+现在,您可以在 Prometheus 指标变为非活动状态后设置过期时间(以秒为单位),以减少资源消耗:
+
+```yaml title="config.yaml"
+plugin_attr:
+  prometheus:
+    expire: 0    # time in seconds. 0 means the metrics will not expire.
+```
+
+详情请参考 [PR #10869](https://github.com/apache/apisix/pull/10869)。
+
+### 在 `limit-req` 和 `limit-conn` 插件中支持 `redis` 和 `redis-cluster`
+
+在 `limit-req` 和 `limit-conn` 插件中支持 `redis` 和 `redis-cluster` 策略,以便速率限制计数器可以在 
APISIX 实例之间共享。
+
+详情请参考 [PR #10874](https://github.com/apache/apisix/pull/10874) 和 [PR 
#10866](https://github.com/apache/apisix/pull/10866)。
+
+### 支持 OCSP Stapling
+
+新增 `ocsp-stapling` 插件,以支持 OCSP stapling。
+
+详情请参考 
[插件文档](https://github.com/apache/apisix/blob/master/docs/zh/latest/plugins/ocsp-stapling.md)
 和 [PR #10817](https://github.com/apache/apisix/pull/10817)。
+
+### 支持 HTTP 与 Dubbo 的转换
+
+新增 `http-dubbo` 插件,以支持 HTTP 与 Dubbo 之间的转换。
+
+详情请参考 [PR #10703](https://github.com/apache/apisix/pull/10703)。
+
+## 其他更新
+
+- 在 Kubernetes 服务发现中支持 EndpointSlice ([PR 
#10916](https://github.com/apache/apisix/pull/10916))
+- 在 `grpc-web` 插件中支持 `cors_allow_headers` 属性,以允许跨域资源访问([PR 
#10904](https://github.com/apache/apisix/pull/10904))
+- 允许在 `forward-auth` 插件中自定义错误响应代码([PR 
#10898](https://github.com/apache/apisix/pull/10898))
+- 支持在日志插件中包含请求和响应主体([PR #10888](https://github.com/apache/apisix/pull/10888))
+- 支持日志插件中的压缩响应([PR #10884](https://github.com/apache/apisix/pull/10884))
+- 在 `mocking` 插件中 `response_headers` 支持内置变量([PR 
#10872](https://github.com/apache/apisix/pull/10872))
+- 修复了不必要的 YAML 配置重新加载([PR #9065](https://github.com/apache/apisix/pull/9065))
+- 修复 `jwt-auth` 插件中 payload 被恶意篡改的可能性([PR 
#10982](https://github.com/apache/apisix/pull/10982))
+
+## 变更日志
+
+有关此版本中更改的完整列表,请参阅 
[变更日志](https://github.com/apache/apisix/blob/master/CHANGELOG.md#390)。

Reply via email to