You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by sp...@apache.org on 2021/09/24 03:56:14 UTC

[apisix] 01/01: feat: release 2.10.0

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

spacewander pushed a commit to branch release/2.10.0
in repository https://gitbox.apache.org/repos/asf/apisix.git

commit b3d0d7c4f2428fb2bc9b632abfdbe0beec3e4a06
Author: spacewander <sp...@gmail.com>
AuthorDate: Fri Sep 24 11:55:45 2021 +0800

    feat: release 2.10.0
    
    Signed-off-by: spacewander <sp...@gmail.com>
---
 .asf.yaml                         |  4 ++
 .gitignore                        |  2 +
 CHANGELOG.md                      | 40 +++++++++++++++++
 apisix/core/version.lua           |  2 +-
 docs/en/latest/config.json        |  2 +-
 docs/en/latest/how-to-build.md    | 14 +++---
 docs/zh/latest/CHANGELOG.md       | 40 +++++++++++++++++
 docs/zh/latest/config.json        |  2 +-
 docs/zh/latest/how-to-build.md    | 14 +++---
 rockspec/apisix-2.10.0-0.rockspec | 95 +++++++++++++++++++++++++++++++++++++++
 10 files changed, 198 insertions(+), 17 deletions(-)

diff --git a/.asf.yaml b/.asf.yaml
index b7af3ec..2662325 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -47,6 +47,10 @@ github:
         required_pull_request_reviews:
           require_code_owner_reviews: true
           required_approving_review_count: 2
+      release/2.10.0:
+        required_pull_request_reviews:
+          require_code_owner_reviews: true
+          required_approving_review_count: 2
       release/2.9:
         required_pull_request_reviews:
           require_code_owner_reviews: true
diff --git a/.gitignore b/.gitignore
index 6a8c7dc..d5a7d93 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,6 +42,8 @@ luac.out
 # develop
 *.log
 *.pid
+*.orig
+*.rej
 t/servroot
 conf/apisix.uid
 conf/nginx.conf
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2b7e4db..3cb40fc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ title: Changelog
 
 ## Table of Contents
 
+- [2.10.0](#2100)
 - [2.9.0](#290)
 - [2.8.0](#280)
 - [2.7.0](#270)
@@ -45,6 +46,45 @@ title: Changelog
 - [0.7.0](#070)
 - [0.6.0](#060)
 
+## 2.10.0
+
+### Change
+
+- change(debug): move 'enable_debug' form config.yaml to debug.yaml [#5046](https://github.com/apache/apisix/pull/5046)
+- change: use a new name to customize lua_shared_dict in nginx.conf [#5030](https://github.com/apache/apisix/pull/5030)
+- change: drop the support of shell script installation [#4985](https://github.com/apache/apisix/pull/4985)
+
+### Core
+
+- :sunrise: feat(debug-mode): add dynamic debug mode [#5012](https://github.com/apache/apisix/pull/5012)
+- :sunrise: feat: allow injecting logic to APISIX's method [#5068](https://github.com/apache/apisix/pull/5068)
+- :sunrise: feat: allow configuring fallback SNI [#5000](https://github.com/apache/apisix/pull/5000)
+- :sunrise: feat(stream_route): support CIDR in ip match [#4980](https://github.com/apache/apisix/pull/4980)
+- :sunrise: feat: allow route to inherit hosts from service [#4977](https://github.com/apache/apisix/pull/4977)
+- :sunrise: feat: support configurating the node listening address[#4856](https://github.com/apache/apisix/pull/4856)
+
+### Plugin
+
+- :sunrise: feat(hmac-auth): Add validate request body for hmac auth plugin [#5038](https://github.com/apache/apisix/pull/5038)
+- :sunrise: feat(proxy-mirror): support mirror requests sample_ratio [#4965](https://github.com/apache/apisix/pull/4965)
+- :sunrise: feat(referer-restriction): add blacklist and message [#4916](https://github.com/apache/apisix/pull/4916)
+- :sunrise: feat(kafka-logger): add cluster name support [#4876](https://github.com/apache/apisix/pull/4876)
+- :sunrise: feat(kafka-logger): add required_acks option [#4878](https://github.com/apache/apisix/pull/4878)
+- :sunrise: feat(uri-blocker): add case insensitive switch [#4868](https://github.com/apache/apisix/pull/4868)
+
+### Bugfix
+
+- fix(radixtree_host_uri): correct matched host [#5124](https://github.com/apache/apisix/pull/5124)
+- fix(radixtree_host_uri): correct matched path [#5104](https://github.com/apache/apisix/pull/5104)
+- fix(nacos): distinguish services that has same name but in different groups or namespaces [#5083](https://github.com/apache/apisix/pull/5083)
+- fix(nacos): continue to process other services when request failed [#5112](https://github.com/apache/apisix/pull/5112)
+- fix(ssl): match sni in case-insensitive way [#5074](https://github.com/apache/apisix/pull/5074)
+- fix(upstream): should not override default keepalive value [#5054](https://github.com/apache/apisix/pull/5054)
+- fix(DNS): prefer SRV in service discovery [#4992](https://github.com/apache/apisix/pull/4992)
+- fix(consul): retry connecting after a delay [#4979](https://github.com/apache/apisix/pull/4979)
+- fix: avoid copying unwanted data when the domain's IP changed [#4952](https://github.com/apache/apisix/pull/4952)
+- fix(plugin_config): recover plugin when plugin_config changed [#4888](https://github.com/apache/apisix/pull/4888)
+
 ## 2.9.0
 
 ### Change
diff --git a/apisix/core/version.lua b/apisix/core/version.lua
index b448475..6217100 100644
--- a/apisix/core/version.lua
+++ b/apisix/core/version.lua
@@ -15,5 +15,5 @@
 -- limitations under the License.
 --
 return {
-    VERSION = "2.9"
+    VERSION = "2.10.0"
 }
diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json
index d609c35..e5a4bcc 100644
--- a/docs/en/latest/config.json
+++ b/docs/en/latest/config.json
@@ -1,5 +1,5 @@
 {
-  "version": 2.9,
+  "version": 2.10.0,
   "sidebar": [
     {
       "type": "category",
diff --git a/docs/en/latest/how-to-build.md b/docs/en/latest/how-to-build.md
index 95f9575..3598e64 100644
--- a/docs/en/latest/how-to-build.md
+++ b/docs/en/latest/how-to-build.md
@@ -36,7 +36,7 @@ You can install Apache APISIX via RPM package, Docker, Helm Chart, and source re
 This installation method is suitable for CentOS 7, please run the following command to install Apache APISIX.
 
 ```shell
-sudo yum install -y https://github.com/apache/apisix/releases/download/2.9/apisix-2.9-0.el7.x86_64.rpm
+sudo yum install -y https://github.com/apache/apisix/releases/download/2.10.0/apisix-2.10.0-0.el7.x86_64.rpm
 ```
 
 ### Installation via Docker
@@ -49,16 +49,16 @@ Please refer to: [Installing Apache APISIX with Helm Chart](https://github.com/a
 
 ### Installation via Source Release Package
 
-1. Create a directory named `apisix-2.9`.
+1. Create a directory named `apisix-2.10.0`.
 
   ```shell
-  mkdir apisix-2.9
+  mkdir apisix-2.10.0
   ```
 
 2. Download Apache APISIX Release source package.
 
   ```shell
-  wget https://downloads.apache.org/apisix/2.9/apache-apisix-2.9-src.tgz
+  wget https://downloads.apache.org/apisix/2.10.0/apache-apisix-2.10.0-src.tgz
   ```
 
   You can also download the Apache APISIX Release source package from the Apache APISIX website. The [Apache APISIX Official Website - Download Page](https://apisix.apache.org/downloads/) also provides source packages for Apache APISIX, APISIX Dashboard and APISIX Ingress Controller.
@@ -66,14 +66,14 @@ Please refer to: [Installing Apache APISIX with Helm Chart](https://github.com/a
 3. Unzip the Apache APISIX Release source package.
 
   ```shell
-  tar zxvf apache-apisix-2.9-src.tgz -C apisix-2.9
+  tar zxvf apache-apisix-2.10.0-src.tgz -C apisix-2.10.0
   ```
 
 4. Install the runtime dependent Lua libraries.
 
   ```shell
-  # Switch to the apisix-2.9 directory
-  cd apisix-2.9
+  # Switch to the apisix-2.10.0 directory
+  cd apisix-2.10.0
   # Create dependencies
   make deps
   ```
diff --git a/docs/zh/latest/CHANGELOG.md b/docs/zh/latest/CHANGELOG.md
index 34b111f..8546b34 100644
--- a/docs/zh/latest/CHANGELOG.md
+++ b/docs/zh/latest/CHANGELOG.md
@@ -23,6 +23,7 @@ title: CHANGELOG
 
 ## Table of Contents
 
+- [2.10.0](#2100)
 - [2.9.0](#290)
 - [2.8.0](#280)
 - [2.7.0](#270)
@@ -45,6 +46,45 @@ title: CHANGELOG
 - [0.7.0](#070)
 - [0.6.0](#060)
 
+## 2.10.0
+
+### Change
+
+- 将 enable_debug 配置从 config.yaml 移到 debug.yaml [#5046](https://github.com/apache/apisix/pull/5046)
+- 更改自定义 lua_shared_dict 配置的名称 [#5030](https://github.com/apache/apisix/pull/5030)
+- 不再提供 APISIX 安装 shell 脚本 [#4985](https://github.com/apache/apisix/pull/4985)
+
+### Core
+
+- :sunrise: debug-mode 支持动态请求过滤 [#5012](https://github.com/apache/apisix/pull/5012)
+- :sunrise: 支持注入逻辑到 APISIX 方法中 [#5068](https://github.com/apache/apisix/pull/5068)
+- :sunrise: 支持配置 fallback SNI [#5000](https://github.com/apache/apisix/pull/5000)
+- :sunrise: stream_route 支持在 IP 匹配中使用 CIDR [#4980](https://github.com/apache/apisix/pull/4980)
+- :sunrise: 支持 route 从 service 中继承 hosts [#4977](https://github.com/apache/apisix/pull/4977)
+- :sunrise: 改善数据面监听地址的配置 [#4856](https://github.com/apache/apisix/pull/4856)
+
+### Plugin
+
+- :sunrise: hmac-auth 支持校验请求体 [#5038](https://github.com/apache/apisix/pull/5038)
+- :sunrise: proxy-mirror 支持控制镜像流量的比例 [#4965](https://github.com/apache/apisix/pull/4965)
+- :sunrise: referer-restriction 增加黑名单和自定义信息 [#4916](https://github.com/apache/apisix/pull/4916)
+- :sunrise: kafka-logger 增加 cluster 支持 [#4876](https://github.com/apache/apisix/pull/4876)
+- :sunrise: kafka-logger 增加 required_acks 选项 [#4878](https://github.com/apache/apisix/pull/4878)
+- :sunrise: uri-blocker 支持大小写无关的匹配 [#4868](https://github.com/apache/apisix/pull/4868)
+
+### Bugfix
+
+- radixtree_host_uri 路由更正匹配结果的 host [#5124](https://github.com/apache/apisix/pull/5124)
+- radixtree_host_uri 路由更正匹配结果的 path [#5104](https://github.com/apache/apisix/pull/5104)
+- Nacos 服务发现,区分处于不同 group/namespace 的同名 service [#5083](https://github.com/apache/apisix/pull/5083)
+- Nacos 服务发现,当一个服务的地址获取失败后,继续处理剩下的服务 [#5112](https://github.com/apache/apisix/pull/5112)
+- 匹配 SNI 时需要大小写无关 [#5074](https://github.com/apache/apisix/pull/5074)
+- upstream 的 keepalive_pool 配置,缺省时不应覆盖默认的 keepalive 配置 [#5054](https://github.com/apache/apisix/pull/5054)
+- DNS 服务发现,优先查询 SRV 记录 [#4992](https://github.com/apache/apisix/pull/4992)
+- Consul 服务发现,重试前需等待一段时间 [#4979](https://github.com/apache/apisix/pull/4979)
+- 当 upstream domain 背后的 IP 改变时,避免复制多余数据 [#4952](https://github.com/apache/apisix/pull/4952)
+- 当 plugin_config 变化时,恢复之前被覆盖的配置 [#4888](https://github.com/apache/apisix/pull/4888)
+
 ## 2.9.0
 
 ### Change
diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json
index ff06009..f7aeaf4 100644
--- a/docs/zh/latest/config.json
+++ b/docs/zh/latest/config.json
@@ -1,5 +1,5 @@
 {
-  "version": 2.9,
+  "version": 2.10.0,
   "sidebar": [
     {
       "type": "category",
diff --git a/docs/zh/latest/how-to-build.md b/docs/zh/latest/how-to-build.md
index 0e9afa7..de08de0 100644
--- a/docs/zh/latest/how-to-build.md
+++ b/docs/zh/latest/how-to-build.md
@@ -36,7 +36,7 @@ Apache APISIX 的运行环境需要依赖 NGINX 和 etcd,所以在安装 Apach
 这种安装方式适用于 CentOS 7 操作系统,请运行以下命令安装 Apache APISIX。
 
 ```shell
-sudo yum install -y https://github.com/apache/apisix/releases/download/2.9/apisix-2.9-0.el7.x86_64.rpm
+sudo yum install -y https://github.com/apache/apisix/releases/download/2.10.0/apisix-2.10.0-0.el7.x86_64.rpm
 ```
 
 ### 通过 Docker 安装
@@ -49,16 +49,16 @@ sudo yum install -y https://github.com/apache/apisix/releases/download/2.9/apisi
 
 ### 通过源码包安装
 
-1. 创建一个名为 `apisix-2.9` 的目录。
+1. 创建一个名为 `apisix-2.10.0` 的目录。
 
   ```shell
-  mkdir apisix-2.9
+  mkdir apisix-2.10.0
   ```
 
 2. 下载 Apache APISIX Release 源码包:
 
   ```shell
-  wget https://downloads.apache.org/apisix/2.9/apache-apisix-2.9-src.tgz
+  wget https://downloads.apache.org/apisix/2.10.0/apache-apisix-2.10.0-src.tgz
   ```
 
   您也可以通过 Apache APISIX 官网下载 Apache APISIX Release 源码包。 Apache APISIX 官网也提供了 Apache APISIX、APISIX Dashboard 和 APISIX Ingress Controller 的源码包,详情请参考[Apache APISIX 官网-下载页](https://apisix.apache.org/zh/downloads)。
@@ -66,14 +66,14 @@ sudo yum install -y https://github.com/apache/apisix/releases/download/2.9/apisi
 3. 解压 Apache APISIX Release 源码包:
 
   ```shell
-  tar zxvf apache-apisix-2.9-src.tgz -C apisix-2.9
+  tar zxvf apache-apisix-2.10.0-src.tgz -C apisix-2.10.0
   ```
 
 4. 安装运行时依赖的 Lua 库:
 
   ```shell
-  # 切换到 apisix-2.9 目录
-  cd apisix-2.9
+  # 切换到 apisix-2.10.0 目录
+  cd apisix-2.10.0
   # 创建依赖
   make deps
   ```
diff --git a/rockspec/apisix-2.10.0-0.rockspec b/rockspec/apisix-2.10.0-0.rockspec
new file mode 100644
index 0000000..f6adf3b
--- /dev/null
+++ b/rockspec/apisix-2.10.0-0.rockspec
@@ -0,0 +1,95 @@
+--
+-- 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 = "2.10.0-0"
+supported_platforms = {"linux", "macosx"}
+
+source = {
+    url = "git://github.com/apache/apisix",
+    branch = "2.10.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",
+    "lua-resty-dns-client = 5.2.0",
+    "lua-resty-template = 2.0",
+    "lua-resty-etcd = 1.5.4",
+    "api7-lua-resty-http = 0.2.0",
+    "lua-resty-balancer = 0.02rc5",
+    "lua-resty-ngxvar = 0.5.2",
+    "lua-resty-jit-uuid = 0.0.7",
+    "lua-resty-healthcheck-api7 = 2.2.0",
+    "lua-resty-jwt = 0.2.0",
+    "lua-resty-hmac-ffi = 0.05",
+    "lua-resty-cookie = 0.1.0",
+    "lua-resty-session = 2.24",
+    "opentracing-openresty = 0.1",
+    "lua-resty-radixtree = 2.8.1",
+    "lua-protobuf = 0.3.3",
+    "lua-resty-openidc = 1.7.2-1",
+    "luafilesystem = 1.7.0-2",
+    "api7-lua-tinyyaml = 0.3.0",
+    "nginx-lua-prometheus = 0.20210206",
+    "jsonschema = 0.9.5",
+    "lua-resty-ipmatcher = 0.6.1",
+    "lua-resty-kafka = 0.07",
+    "lua-resty-logger-socket = 2.0-0",
+    "skywalking-nginx-lua = 0.4-1",
+    "base64 = 1.5-2",
+    "binaryheap = 0.4",
+    "dkjson = 2.5-2",
+    "resty-redis-cluster = 1.02-4",
+    "lua-resty-expr = 1.3.1",
+    "graphql = 0.0.2",
+    "argparse = 0.7.1-1",
+    "luasocket = 3.0rc1-2",
+    "luasec = 0.9-1",
+    "lua-resty-consul = 0.3-2",
+    "penlight = 1.9.2-1",
+    "ext-plugin-proto = 0.3.0",
+    "casbin = 1.26.0",
+    "api7-snowflake = 2.0-1",
+    "inspect == 3.1.1",
+}
+
+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 = {
+        INST_PREFIX="$(PREFIX)",
+        INST_BINDIR="$(BINDIR)",
+        INST_LIBDIR="$(LIBDIR)",
+        INST_LUADIR="$(LUADIR)",
+        INST_CONFDIR="$(CONFDIR)",
+    },
+}