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)",
+ },
+}