feat: release APISIX 3.6.0 (#10283)
diff --git a/.asf.yaml b/.asf.yaml
index 010df03..69f3f2c 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -53,6 +53,10 @@
dismiss_stale_reviews: true
require_code_owner_reviews: true
required_approving_review_count: 2
+ release/3.6:
+ required_pull_request_reviews:
+ require_code_owner_reviews: true
+ required_approving_review_count: 2
release/3.5:
required_pull_request_reviews:
require_code_owner_reviews: true
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 92bd849..2aafe95 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@
## Table of Contents
+- [3.6.0](#360)
- [3.5.0](#350)
- [3.4.0](#340)
- [3.3.0](#330)
@@ -72,6 +73,35 @@
- [0.7.0](#070)
- [0.6.0](#060)
+## 3.6.0
+
+### Change
+
+- :warning: Remove the `etcd.use_grpc` and no longer support communication with ETCD using protocols with gRPC: [#10015](https://github.com/apache/apisix/pull/10015)
+- :warning: Removing conf server, the data plane no longer supports communication with the data plane, and needs to be adjusted from `config_provider: control_plane` to `config_provider: etcd`: [#10012](https://github.com/apache/apisix/pull/10012)
+
+### Core
+
+- :sunrise: support configuring the buffer size of the access log: [#10225](https://github.com/apache/apisix/pull/10225)
+- :sunrise: Support for passing resolv.conf in dns discovery: [#9770](https://github.com/apache/apisix/pull/9770)
+- :sunrise: No longer relying on trust: [#10121](https://github.com/apache/apisix/pull/10065)
+- :sunrise: Strictly validate the input of core resources: [#10233](https://github.com/apache/apisix/pull/10233)
+- :sunrise: Add dubbo protocols Support in the xrpc [#9660](https://github.com/apache/apisix/pull/9660)
+
+### Plugins
+
+- :sunrise: Support https in traffic-split plugin: [#9115](https://github.com/apache/apisix/pull/9115)
+- :sunrise: Support for passing resolv.conf in dns discovery: [#9770](https://github.com/apache/apisix/pull/9770)
+- :sunrise: Support rewrite request body in external plugin:[#9990](https://github.com/apache/apisix/pull/9990)
+- :sunrise: Support set nginx variables in opentelemetry plugin: [#8871](https://github.com/apache/apisix/pull/8871)
+- :sunrise: Support unix sock host pattern in the chaitin-waf plugin: [#10161](https://github.com/apache/apisix/pull/10161)
+
+### Bugfixes
+
+- Fix graphql post request route matching exception: [#10198](https://github.com/apache/apisix/pull/10198)
+- Fix error on array of multiline string in `apisix.yaml`: [#10193](https://github.com/apache/apisix/pull/10193)
+- Fix provide error instead of nil panic when cache_zone is missing in proxy-cache plugin: [#10138](https://github.com/apache/apisix/pull/10138)
+
## 3.5.0
### Change
diff --git a/apisix/core/version.lua b/apisix/core/version.lua
index 5fa6af1..ff16402 100644
--- a/apisix/core/version.lua
+++ b/apisix/core/version.lua
@@ -20,5 +20,5 @@
-- @module core.version
return {
- VERSION = "3.5.0"
+ VERSION = "3.6.0"
}
diff --git a/docs/en/latest/building-apisix.md b/docs/en/latest/building-apisix.md
index 31de4b0..e4804ea 100644
--- a/docs/en/latest/building-apisix.md
+++ b/docs/en/latest/building-apisix.md
@@ -54,7 +54,7 @@
Save the APISIX version to an environment variable to be used next:
```shell
-APISIX_VERSION='3.5.0'
+APISIX_VERSION='3.6.0'
```
Clone the APISIX source code of this version into a new directory `apisix-APISIX_VERSION`:
diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json
index bec485d..e1c8391 100644
--- a/docs/en/latest/config.json
+++ b/docs/en/latest/config.json
@@ -1,5 +1,5 @@
{
- "version": "3.5.0",
+ "version": "3.6.0",
"sidebar": [
{
"type": "category",
diff --git a/docs/zh/latest/CHANGELOG.md b/docs/zh/latest/CHANGELOG.md
index 92bd259..ffee1eb 100644
--- a/docs/zh/latest/CHANGELOG.md
+++ b/docs/zh/latest/CHANGELOG.md
@@ -23,6 +23,7 @@
## Table of Contents
+- [3.6.0](#360)
- [3.5.0](#350)
- [3.4.0](#340)
- [3.3.0](#330)
@@ -72,6 +73,35 @@
- [0.7.0](#070)
- [0.6.0](#060)
+## 3.6.0
+
+### Change
+
+- :warning: 移除 `etcd.use_grpc`,不再支持使用 gRPC 协议与 etcd 进行通信:[#10015](https://github.com/apache/apisix/pull/10015)
+- :warning: 移除 conf server,数据平面不再支持与数据平面进行通信,需要从 `config_provider: control_plane` 调整为 `config_provider: etcd`:[#10012](https://github.com/apache/apisix/pull/10012)
+
+### Core
+
+- :sunrise: 支持配置访问日志的缓冲区大小:[#10225](https://github.com/apache/apisix/pull/10225)
+- :sunrise: 支持在 DNS 发现中传递 resolv.conf:[#9770](https://github.com/apache/apisix/pull/9770)
+- :sunrise: 不再依赖 Rust:[#10121](https://github.com/apache/apisix/pull/10065)
+- :sunrise: 严格验证核心资源的输入:[#10233](https://github.com/apache/apisix/pull/10233)
+- :sunrise: 在 xrpc 中添加 dubbo 协议支持:[#9660](https://github.com/apache/apisix/pull/9660)
+
+### Plugins
+
+- :sunrise: 在 traffic-split 插件中支持 https:[#9115](https://github.com/apache/apisix/pull/9115)
+- :sunrise: 支持在 DNS 发现中传递 resolv.conf:[#9770](https://github.com/apache/apisix/pull/9770)
+- :sunrise: 在 ext-plugin 插件中支持重写请求体:[#9990](https://github.com/apache/apisix/pull/9990)
+- :sunrise: 在 opentelemetry 插件中支持设置 nginx 变量:[#8871](https://github.com/apache/apisix/pull/8871)
+- :sunrise: 在 chaitin-waf 插件中支持 unix sock 主机模式:[#10161](https://github.com/apache/apisix/pull/10161)
+
+### Bugfixes
+
+- 修复 GraphQL POST 请求路由匹配异常:[#10198](https://github.com/apache/apisix/pull/10198)
+- 修复 `apisix.yaml` 中多行字符串数组的错误:[#10193](https://github.com/apache/apisix/pull/10193)
+- 修复在 proxy-cache 插件中缺少 cache_zone 时提供错误而不是 nil panic:[#10138](https://github.com/apache/apisix/pull/10138)
+
## 3.5.0
### Change
diff --git a/docs/zh/latest/building-apisix.md b/docs/zh/latest/building-apisix.md
index 2f844d4..abeac20 100644
--- a/docs/zh/latest/building-apisix.md
+++ b/docs/zh/latest/building-apisix.md
@@ -53,7 +53,7 @@
然后,创建一个目录并设置环境变量 `APISIX_VERSION`:
```shell
-APISIX_VERSION='3.5.0'
+APISIX_VERSION='3.6.0'
mkdir apisix-${APISIX_VERSION}
```
diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json
index 136c40e..1ff81e6 100644
--- a/docs/zh/latest/config.json
+++ b/docs/zh/latest/config.json
@@ -1,5 +1,5 @@
{
- "version": "3.5.0",
+ "version": "3.6.0",
"sidebar": [
{
"type": "category",
diff --git a/rockspec/apisix-3.6.0-0.rockspec b/rockspec/apisix-3.6.0-0.rockspec
new file mode 100644
index 0000000..71b4c35
--- /dev/null
+++ b/rockspec/apisix-3.6.0-0.rockspec
@@ -0,0 +1,103 @@
+--
+-- Licensed to the Apache Software Foundation (ASF) under one or more
+-- contributor license agreements. See the NOTICE file distributed with
+-- this work for additional information regarding copyright ownership.
+-- The ASF licenses this file to You under the Apache License, Version 2.0
+-- (the "License"); you may not use this file except in compliance with
+-- the License. You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+package = "apisix"
+version = "3.6.0-0"
+supported_platforms = {"linux", "macosx"}
+
+source = {
+ url = "git://github.com/apache/apisix",
+ branch = "3.6.0",
+}
+
+description = {
+ summary = "Apache APISIX is a cloud-native microservices API gateway, delivering the ultimate performance, security, open source and scalable platform for all your APIs and microservices.",
+ homepage = "https://github.com/apache/apisix",
+ license = "Apache License 2.0",
+}
+
+dependencies = {
+ "lua-resty-ctxdump = 0.1-0",
+ "api7-lua-resty-dns-client = 7.0.1",
+ "lua-resty-template = 2.0",
+ "lua-resty-etcd = 1.10.5",
+ "api7-lua-resty-http = 0.2.2-0",
+ "lua-resty-balancer = 0.04",
+ "lua-resty-ngxvar = 0.5.2",
+ "lua-resty-jit-uuid = 0.0.7",
+ "lua-resty-healthcheck-api7 = 3.0.0",
+ "api7-lua-resty-jwt = 0.2.5",
+ "lua-resty-hmac-ffi = 0.06-1",
+ "lua-resty-cookie = 0.2.0-1",
+ "lua-resty-session = 3.10",
+ "opentracing-openresty = 0.1",
+ "lua-resty-radixtree = 2.8.2",
+ "lua-protobuf = 0.5.0-1",
+ "lua-resty-openidc = 1.7.6-3",
+ "luafilesystem = 1.7.0-2",
+ "api7-lua-tinyyaml = 0.4.4",
+ "nginx-lua-prometheus = 0.20230607-1",
+ "jsonschema = 0.9.8",
+ "lua-resty-ipmatcher = 0.6.1",
+ "lua-resty-kafka = 0.22-0",
+ "lua-resty-logger-socket = 2.0.1-0",
+ "skywalking-nginx-lua = 0.6.0",
+ "base64 = 1.5-2",
+ "binaryheap = 0.4",
+ "api7-dkjson = 0.1.1",
+ "resty-redis-cluster = 1.05-1",
+ "lua-resty-expr = 1.3.2",
+ "graphql = 0.0.2",
+ "argparse = 0.7.1-1",
+ "luasocket = 3.1.0-1",
+ "luasec = 0.9-1",
+ "lua-resty-consul = 0.3-2",
+ "penlight = 1.13.1",
+ "ext-plugin-proto = 0.6.1",
+ "casbin = 1.41.8-1",
+ "inspect == 3.1.1",
+ "lualdap = 1.2.6-1",
+ "lua-resty-rocketmq = 0.3.0-0",
+ "opentelemetry-lua = 0.2-3",
+ "net-url = 0.9-1",
+ "xml2lua = 1.5-2",
+ "nanoid = 0.1-1",
+ "lua-resty-mediador = 0.1.2-1",
+ "lua-resty-ldap = 0.1.0-0",
+ "lua-resty-t1k = 1.1.0"
+}
+
+build = {
+ type = "make",
+ build_variables = {
+ CFLAGS="$(CFLAGS)",
+ LIBFLAG="$(LIBFLAG)",
+ LUA_LIBDIR="$(LUA_LIBDIR)",
+ LUA_BINDIR="$(LUA_BINDIR)",
+ LUA_INCDIR="$(LUA_INCDIR)",
+ LUA="$(LUA)",
+ OPENSSL_INCDIR="$(OPENSSL_INCDIR)",
+ OPENSSL_LIBDIR="$(OPENSSL_LIBDIR)",
+ },
+ install_variables = {
+ ENV_INST_PREFIX="$(PREFIX)",
+ ENV_INST_BINDIR="$(BINDIR)",
+ ENV_INST_LIBDIR="$(LIBDIR)",
+ ENV_INST_LUADIR="$(LUADIR)",
+ ENV_INST_CONFDIR="$(CONFDIR)",
+ },
+}