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 <[email protected]> AuthorDate: Mon Feb 1 13:35:37 2021 +0800 feat: release 2.3 Signed-off-by: spacewander <[email protected]> --- 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)", + }, +}
