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/02/01 05:36:36 UTC

[apisix] 01/01: feat: release 2.3

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

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

commit 40baa3804015648231059641e35b1d7349628611
Author: spacewander <sp...@gmail.com>
AuthorDate: Mon Feb 1 13:35:37 2021 +0800

    feat: release 2.3
    
    Signed-off-by: spacewander <sp...@gmail.com>
---
 CHANGELOG.md                   | 39 +++++++++++++++++++
 CHANGELOG_CN.md                | 39 +++++++++++++++++++
 README.md                      |  8 ++--
 README_CN.md                   |  8 ++--
 apisix/core/version.lua        |  2 +-
 doc/how-to-build.md            | 16 ++++----
 doc/zh-cn/how-to-build.md      | 16 ++++----
 rockspec/apisix-2.3-0.rockspec | 85 ++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 188 insertions(+), 25 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index b44d358..8dcbd36 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,6 +19,7 @@
 
 # Table of Contents
 
+- [2.3.0](#230)
 - [2.2.0](#220)
 - [2.1.0](#210)
 - [2.0.0](#200)
@@ -34,6 +35,44 @@
 - [0.7.0](#070)
 - [0.6.0](#060)
 
+## 2.3.0
+
+### Change
+
+- fix: use luajit by default when run apisix [#3335](https://github.com/apache/apisix/pull/3335)
+- feat: use luasocket instead of curl in etcd.lua [#2965](https://github.com/apache/apisix/pull/2965)
+
+### Core
+
+- :sunrise: feat: support to communicate with etcd by TLS without verification in command line [#3415](https://github.com/apache/apisix/pull/3415)
+- :sunrise: feat: chaos test on route could still works when etcd is down [#3404](https://github.com/apache/apisix/pull/3404)
+- :sunrise: feat: ewma use p2c to improve performance [#3300](https://github.com/apache/apisix/pull/3300)
+- :sunrise: feat: support specifying https in upstream to talk with https backend [#3430](https://github.com/apache/apisix/pull/3430)
+- :sunrise: feat: allow customizing lua_package_path & lua_package_cpath [#3417](https://github.com/apache/apisix/pull/3417)
+- :sunrise: feat: allow to pass SNI in HTTPS proxy [#3420](https://github.com/apache/apisix/pull/3420)
+- :sunrise: feat: support gRPCS [#3411](https://github.com/apache/apisix/pull/3411)
+- :sunrise: feat: allow getting health check status via control API [#3345](https://github.com/apache/apisix/pull/3345)
+- :sunrise: feat: support dubbo [#3224](https://github.com/apache/apisix/pull/3224)
+- :sunrise: feat: load balance by least connections [#3304](https://github.com/apache/apisix/pull/3304)
+
+### Plugin
+
+- :sunrise: feat: kafka-logger implemented reuse kafka producer [#3429](https://github.com/apache/apisix/pull/3429)
+- :sunrise: feat(authz-keycloak): dynamic scope and resource mapping. [#3308](https://github.com/apache/apisix/pull/3308)
+- :sunrise: feat: proxy-rewrite host support host with port [#3428](https://github.com/apache/apisix/pull/3428)
+- :sunrise: feat(fault-injection): support conditional fault injection using nginx variables [#3363](https://github.com/apache/apisix/pull/3363)
+
+### Bugfix
+
+- fix(standalone): require consumer's id to be the same as username [#3394](https://github.com/apache/apisix/pull/3394)
+- fix: support upstream_id & consumer with grpc [#3387](https://github.com/apache/apisix/pull/3387)
+- fix: set conf info when global rule is hit without matched rule [#3332](https://github.com/apache/apisix/pull/3332)
+- fix: avoid caching outdated discovery upstream nodes [#3295](https://github.com/apache/apisix/pull/3295)
+- fix: create the health checker in `access` phase [#3240](https://github.com/apache/apisix/pull/3240)
+- fix: make set_more_retries() work when upstream_type is chash [#2676](https://github.com/apache/apisix/pull/2676)
+
+For more changes, please refer to [Milestone](https://github.com/apache/apisix/milestone/12)
+
 ## 2.2.0
 
 ### Change
diff --git a/CHANGELOG_CN.md b/CHANGELOG_CN.md
index a14ebc7..e7b450a 100644
--- a/CHANGELOG_CN.md
+++ b/CHANGELOG_CN.md
@@ -19,6 +19,7 @@
 
 # Table of Contents
 
+- [2.3.0](#230)
 - [2.2.0](#220)
 - [2.1.0](#210)
 - [2.0.0](#200)
@@ -34,6 +35,44 @@
 - [0.7.0](#070)
 - [0.6.0](#060)
 
+## 2.3.0
+
+### Change
+
+- 默认使用 LuaJIT 运行命令行 [#3335](https://github.com/apache/apisix/pull/3335)
+- 命令行采用 luasocket 而不是 curl 访问 etcd [#2965](https://github.com/apache/apisix/pull/2965)
+
+### Core
+
+- :sunrise: 命令行中访问 etcd 可以禁用 HTTPS 检验 [#3415](https://github.com/apache/apisix/pull/3415)
+- :sunrise: 添加 etcd 无法连接时的 Chaos 测试 [#3404](https://github.com/apache/apisix/pull/3404)
+- :sunrise: ewma 负载均衡算法更新 [#3300](https://github.com/apache/apisix/pull/3300)
+- :sunrise: 允许在 Upstream 中配置 HTTPS scheme 来跟 HTTPS 后端通信 [#3430](https://github.com/apache/apisix/pull/3430)
+- :sunrise: 允许自定义 lua_package_path & lua_package_cpath [#3417](https://github.com/apache/apisix/pull/3417)
+- :sunrise: HTTPS 代理时传递 SNI [#3420](https://github.com/apache/apisix/pull/3420)
+- :sunrise: 支持 gRPCS [#3411](https://github.com/apache/apisix/pull/3411)
+- :sunrise: 支持通过 control API 获得健康检查状态 [#3345](https://github.com/apache/apisix/pull/3345)
+- :sunrise: 支持代理 HTTP 到 dubbo 后端 [#3224](https://github.com/apache/apisix/pull/3224)
+- :sunrise: 支持最少连接负载均衡算法 [#3304](https://github.com/apache/apisix/pull/3304)
+
+### Plugin
+
+- :sunrise: kafka-logger 支持复用 kafka 生产者对象 [#3429](https://github.com/apache/apisix/pull/3429)
+- :sunrise: authz-keycloak 支持动态 scope & resource 映射 [#3308](https://github.com/apache/apisix/pull/3308)
+- :sunrise: proxy-rewrite 支持在域名中带端口 [#3428](https://github.com/apache/apisix/pull/3428)
+- :sunrise: fault-injection 支持通过变量条件动态做错误注入 [#3363](https://github.com/apache/apisix/pull/3363)
+
+### Bugfix
+
+- 修复 standalone 下 consumer 的 id 跟 username 可以不一致的问题 [#3394](https://github.com/apache/apisix/pull/3394)
+- gRPC 中可以用 upstream_id & consumer [#3387](https://github.com/apache/apisix/pull/3387)
+- 修复没有匹配规则时命中 global rule 报错的问题 [#3332](https://github.com/apache/apisix/pull/3332)
+- 避免缓存过期的服务发现得到的节点 [#3295](https://github.com/apache/apisix/pull/3295)
+- 应该在 access 阶段创建 health checker [#3240](https://github.com/apache/apisix/pull/3240)
+- 修复 chash 负载均衡算法时重试的问题 [#2676](https://github.com/apache/apisix/pull/2676)
+
+更多的变动可以参考[里程碑](https://github.com/apache/apisix/milestone/12)
+
 ## 2.2.0
 
 ### Change
diff --git a/README.md b/README.md
index 13e1c50..a148c7a 100644
--- a/README.md
+++ b/README.md
@@ -148,9 +148,9 @@ There are several ways to install the Apache Release version of APISIX:
    - Download the latest source code release package:
 
      ```shell
-     $ mkdir apisix-2.2
-     $ wget https://downloads.apache.org/apisix/2.2/apache-apisix-2.2-src.tgz
-     $ tar zxvf apache-apisix-2.2-src.tgz -C apisix-2.2
+     $ mkdir apisix-2.3
+     $ wget https://downloads.apache.org/apisix/2.3/apache-apisix-2.3-src.tgz
+     $ tar zxvf apache-apisix-2.3-src.tgz -C apisix-2.3
      ```
 
    - Install the dependencies:
@@ -186,7 +186,7 @@ There are several ways to install the Apache Release version of APISIX:
    - install APISIX:
 
    ```shell
-   $ sudo yum install -y https://github.com/apache/apisix/releases/download/2.2/apisix-2.2-0.x86_64.rpm
+   $ sudo yum install -y https://github.com/apache/apisix/releases/download/2.3/apisix-2.3-0.x86_64.rpm
    ```
 
    - check version of APISIX:
diff --git a/README_CN.md b/README_CN.md
index 9407d85..23f70a7 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -146,9 +146,9 @@ CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, **ARM64** Ubun
    - 下载最新的源码发布包:
 
      ```shell
-     $ mkdir apisix-2.2
-     $ wget https://downloads.apache.org/apisix/2.2/apache-apisix-2.2-src.tgz
-     $ tar zxvf apache-apisix-2.2-src.tgz -C apisix-2.2
+     $ mkdir apisix-2.3
+     $ wget https://downloads.apache.org/apisix/2.3/apache-apisix-2.3-src.tgz
+     $ tar zxvf apache-apisix-2.3-src.tgz -C apisix-2.3
      ```
 
    - 安装运行时依赖的 Lua 库:
@@ -184,7 +184,7 @@ CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, **ARM64** Ubun
    - 安装 APISIX:
 
    ```shell
-   $ sudo yum install -y https://github.com/apache/apisix/releases/download/2.2/apisix-2.2-0.x86_64.rpm
+   $ sudo yum install -y https://github.com/apache/apisix/releases/download/2.3/apisix-2.3-0.x86_64.rpm
    ```
 
    - 检查 APISIX 的版本号:
diff --git a/apisix/core/version.lua b/apisix/core/version.lua
index d7b6941..e419532 100644
--- a/apisix/core/version.lua
+++ b/apisix/core/version.lua
@@ -15,5 +15,5 @@
 -- limitations under the License.
 --
 return {
-    VERSION = "2.2"
+    VERSION = "2.3"
 }
diff --git a/doc/how-to-build.md b/doc/how-to-build.md
index 0f1c33e..cf9562c 100644
--- a/doc/how-to-build.md
+++ b/doc/how-to-build.md
@@ -34,22 +34,22 @@ You can install Apache APISIX in a variety of ways, including source code packag
 You need to download the Apache source release first:
 
 ```shell
-$ mkdir apisix-2.2
-$ wget https://downloads.apache.org/apisix/2.2/apache-apisix-2.2-src.tgz
-$ tar zxvf apache-apisix-2.2-src.tgz -C apisix-2.2
+$ mkdir apisix-2.3
+$ wget https://downloads.apache.org/apisix/2.3/apache-apisix-2.3-src.tgz
+$ tar zxvf apache-apisix-2.3-src.tgz -C apisix-2.3
 ```
 
 Install the Lua libraries that the runtime depends on:
 
 ```shell
-cd apache-apisix-2.2
+cd apache-apisix-2.3
 make deps
 ```
 
 ### Installation via RPM package (CentOS 7)
 
 ```shell
-sudo yum install -y https://github.com/apache/apisix/releases/download/2.2/apisix-2.2-0.x86_64.rpm
+sudo yum install -y https://github.com/apache/apisix/releases/download/2.3/apisix-2.3-0.x86_64.rpm
 ```
 
 ### Installation via Luarocks (macOS not supported)
@@ -65,11 +65,11 @@ sudo sh -c "$(curl -fsSL https://raw.githubusercontent.com/apache/apisix/master/
 > Install the specified version via Luarocks:
 
 ```shell
-# Install version 2.2
-sudo luarocks install --lua-dir=/path/openresty/luajit apisix 2.2
+# Install version 2.3
+sudo luarocks install --lua-dir=/path/openresty/luajit apisix 2.3
 
 # old luarocks not support the `lua-dir` parameter, you can remove this option
-sudo luarocks install apisix 2.2
+sudo luarocks install apisix 2.3
 ```
 
 ## 3. Manage (start/stop) APISIX Server
diff --git a/doc/zh-cn/how-to-build.md b/doc/zh-cn/how-to-build.md
index 3badf4a..497f588 100644
--- a/doc/zh-cn/how-to-build.md
+++ b/doc/zh-cn/how-to-build.md
@@ -34,22 +34,22 @@ Apache APISIX 的运行环境需要 Nginx 和 etcd,
 你需要先下载 Apache Release 源码包:
 
 ```shell
-$ mkdir apisix-2.2
-$ wget https://downloads.apache.org/apisix/2.2/apache-apisix-2.2-src.tgz
-$ tar zxvf apache-apisix-2.2-src.tgz -C apisix-2.2
+$ mkdir apisix-2.3
+$ wget https://downloads.apache.org/apisix/2.3/apache-apisix-2.3-src.tgz
+$ tar zxvf apache-apisix-2.3-src.tgz -C apisix-2.3
 ```
 
 安装运行时依赖的 Lua 库:
 
 ```
-cd apache-apisix-2.2
+cd apache-apisix-2.3
 make deps
 ```
 
 ### 通过 RPM 包安装(CentOS 7)
 
 ```shell
-sudo yum install -y https://github.com/apache/apisix/releases/download/2.2/apisix-2.2-0.x86_64.rpm
+sudo yum install -y https://github.com/apache/apisix/releases/download/2.3/apisix-2.3-0.x86_64.rpm
 ```
 
 ### 通过 Luarocks 安装 (不支持 macOS)
@@ -65,11 +65,11 @@ sudo sh -c "$(curl -fsSL https://raw.githubusercontent.com/apache/apisix/master/
 > 通过 Luarocks 安装指定的版本:
 
 ```shell
-# 安装 apisix 的 2.2 版本
-sudo luarocks install --lua-dir=/path/openresty/luajit apisix 2.2
+# 安装 apisix 的 2.3 版本
+sudo luarocks install --lua-dir=/path/openresty/luajit apisix 2.3
 
 # 老版本 luarocks 可能不支持 `lua-dir` 参数,可以删除该选项
-sudo luarocks install apisix 2.2
+sudo luarocks install apisix 2.3
 ```
 
 ## 3. 管理(启动、关闭等)APISIX 服务
diff --git a/rockspec/apisix-2.3-0.rockspec b/rockspec/apisix-2.3-0.rockspec
new file mode 100644
index 0000000..97d11ec
--- /dev/null
+++ b/rockspec/apisix-2.3-0.rockspec
@@ -0,0 +1,85 @@
+--
+-- 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.3-0"
+supported_platforms = {"linux", "macosx"}
+
+source = {
+    url = "git://github.com/apache/apisix",
+    branch = "2.3",
+}
+
+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-template = 1.9",
+    "lua-resty-etcd = 1.4.3",
+    "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.6.1",
+    "lua-protobuf = 0.3.1",
+    "lua-resty-openidc = 1.7.2-1",
+    "luafilesystem = 1.7.0-2",
+    "lua-tinyyaml = 1.0",
+    "nginx-lua-prometheus = 0.20201218",
+    "jsonschema = 0.9.3",
+    "lua-resty-ipmatcher = 0.6",
+    "lua-resty-kafka = 0.07",
+    "lua-resty-logger-socket = 2.0-0",
+    "skywalking-nginx-lua = 0.3-0",
+    "base64 = 1.5-2",
+    "binaryheap = 0.4",
+    "dkjson = 2.5-2",
+    "resty-redis-cluster = 1.02-4",
+    "lua-resty-expr = 1.1.0",
+    "graphql = 0.0.2",
+    "argparse = 0.7.1-1",
+    "luasocket = 3.0rc1-2",
+    "luasec = 0.9-1",
+}
+
+build = {
+    type = "make",
+    build_variables = {
+        CFLAGS="$(CFLAGS)",
+        LIBFLAG="$(LIBFLAG)",
+        LUA_LIBDIR="$(LUA_LIBDIR)",
+        LUA_BINDIR="$(LUA_BINDIR)",
+        LUA_INCDIR="$(LUA_INCDIR)",
+        LUA="$(LUA)",
+    },
+    install_variables = {
+        INST_PREFIX="$(PREFIX)",
+        INST_BINDIR="$(BINDIR)",
+        INST_LIBDIR="$(LIBDIR)",
+        INST_LUADIR="$(LUADIR)",
+        INST_CONFDIR="$(CONFDIR)",
+    },
+}