From 78b3880a5698f5ee345079aebfbb7711b198a45a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E6=B3=BD=E8=BD=A9?= Date: Mon, 29 Nov 2021 11:46:48 +0800 Subject: [PATCH] feat: release 2.11.0 (#5567) Signed-off-by: spacewander Co-authored-by: litesun <7sunmiao@gmail.com> --- .asf.yaml | 4 ++ .github/workflows/build.yml | 7 --- CHANGELOG.md | 31 ++++++++++ apisix/core/version.lua | 2 +- docs/en/latest/config.json | 2 +- docs/en/latest/how-to-build.md | 14 ++--- docs/zh/latest/CHANGELOG.md | 31 ++++++++++ docs/zh/latest/config.json | 2 +- docs/zh/latest/how-to-build.md | 14 ++--- rockspec/apisix-2.11.0-0.rockspec | 96 +++++++++++++++++++++++++++++++ 10 files changed, 179 insertions(+), 24 deletions(-) create mode 100644 rockspec/apisix-2.11.0-0.rockspec diff --git a/.asf.yaml b/.asf.yaml index 152a7207..0b980d90 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.11: + required_pull_request_reviews: + require_code_owner_reviews: true + required_approving_review_count: 2 release/2.10: required_pull_request_reviews: require_code_owner_reviews: true diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5de3073e..825c6ddd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -107,10 +107,3 @@ jobs: - name: Linux Script run: sudo ./ci/${{ matrix.os_name }}_runner.sh script - - - name: Publish Artifact - if: ${{ startsWith(github.ref, 'refs/heads/release/') && matrix.os_name == 'linux_openresty' }} - uses: actions/upload-artifact@v2.2.4 - with: - name: ${{ steps.branch_env.outputs.fullname }} - path: ${{ steps.branch_env.outputs.fullname }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 752cb0e9..dc4f86aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ title: Changelog ## Table of Contents +- [2.11.0](#2110) - [2.10.2](#2102) - [2.10.1](#2101) - [2.10.0](#2100) @@ -48,6 +49,36 @@ title: Changelog - [0.7.0](#070) - [0.6.0](#060) +## 2.11.0 + +### Change + +- change(wolf-rbac): change default port number and add `authType` parameter to documentation [#5477](https://github.com/apache/apisix/pull/5477) + +### Core + +- :sunrise: feat: support advanced matching based on post form [#5409](https://github.com/apache/apisix/pull/5409) +- :sunrise: feat: initial wasm support [#5288](https://github.com/apache/apisix/pull/5288) +- :sunrise: feat(control): expose services[#5271](https://github.com/apache/apisix/pull/5271) +- :sunrise: feat(control): add dump upstream api [#5259](https://github.com/apache/apisix/pull/5259) +- :sunrise: feat: etcd cluster single node failure APISIX startup failure [#5158](https://github.com/apache/apisix/pull/5158) +- :sunrise: feat: support specify custom sni in etcd conf [#5206](https://github.com/apache/apisix/pull/5206) + +### Plugin + +- :sunrise: feat(plugin): azure serverless functions [#5479](https://github.com/apache/apisix/pull/5479) +- :sunrise: feat(kafka-logger): supports logging request body [#5501](https://github.com/apache/apisix/pull/5501) +- :sunrise: feat: provide skywalking logger plugin [#5478](https://github.com/apache/apisix/pull/5478) +- :sunrise: feat(plugins): Datadog for metrics collection [#5372](https://github.com/apache/apisix/pull/5372) +- :sunrise: feat(limit-* plugin): fallback to remote_addr when key is missing [#5422](https://github.com/apache/apisix/pull/5422) +- :sunrise: feat(limit-count): support multiple variables as key [#5378](https://github.com/apache/apisix/pull/5378) +- :sunrise: feat(limit-conn): support multiple variables as key [#5354](https://github.com/apache/apisix/pull/5354) +- :sunrise: feat(proxy-rewrite): rewrite method [#5292](https://github.com/apache/apisix/pull/5292) +- :sunrise: feat(limit-req): support multiple variables as key [#5302](https://github.com/apache/apisix/pull/5302) +- :sunrise: feat(proxy-cache): support memory-based strategy [#5028](https://github.com/apache/apisix/pull/5028) +- :sunrise: feat(ext-plugin): avoid sending conf request more times [#5183](https://github.com/apache/apisix/pull/5183) +- :sunrise: feat: Add ldap-auth plugin [#3894](https://github.com/apache/apisix/pull/3894) + ## 2.10.2 ### Bugfix diff --git a/apisix/core/version.lua b/apisix/core/version.lua index 1761fb51..9ac6caae 100644 --- a/apisix/core/version.lua +++ b/apisix/core/version.lua @@ -15,5 +15,5 @@ -- limitations under the License. -- return { - VERSION = "2.10.2" + VERSION = "2.11.0" } diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json index 68631c16..d40a0ded 100644 --- a/docs/en/latest/config.json +++ b/docs/en/latest/config.json @@ -1,5 +1,5 @@ { - "version": "2.10.2", + "version": "2.11.0", "sidebar": [ { "type": "category", diff --git a/docs/en/latest/how-to-build.md b/docs/en/latest/how-to-build.md index ff8ea580..2cabe4c2 100644 --- a/docs/en/latest/how-to-build.md +++ b/docs/en/latest/how-to-build.md @@ -58,7 +58,7 @@ sudo yum install -y https://repos.apiseven.com/packages/centos/apache-apisix-rep This installation method is suitable for CentOS 7, please run the following command to install Apache APISIX. ```shell -sudo yum install -y https://repos.apiseven.com/packages/centos/7/x86_64/apisix-2.10.2-0.el7.x86_64.rpm +sudo yum install -y https://repos.apiseven.com/packages/centos/7/x86_64/apisix-2.11.0-0.el7.x86_64.rpm ``` ### Installation via Docker @@ -71,16 +71,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.10.2`. +1. Create a directory named `apisix-2.11.0`. ```shell - mkdir apisix-2.10.2 + mkdir apisix-2.11.0 ``` 2. Download Apache APISIX Release source package. ```shell - wget https://downloads.apache.org/apisix/2.10.2/apache-apisix-2.10.2-src.tgz + wget https://downloads.apache.org/apisix/2.11.0/apache-apisix-2.11.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. @@ -88,14 +88,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.10.2-src.tgz -C apisix-2.10.2 + tar zxvf apache-apisix-2.11.0-src.tgz -C apisix-2.11.0 ``` 4. Install the runtime dependent Lua libraries. ```shell - # Switch to the apisix-2.10.2 directory - cd apisix-2.10.2 + # Switch to the apisix-2.11.0 directory + cd apisix-2.11.0 # Create dependencies make deps # Install apisix command diff --git a/docs/zh/latest/CHANGELOG.md b/docs/zh/latest/CHANGELOG.md index 031cd233..1de0c071 100644 --- a/docs/zh/latest/CHANGELOG.md +++ b/docs/zh/latest/CHANGELOG.md @@ -23,6 +23,7 @@ title: CHANGELOG ## Table of Contents +- [2.11.0](#2110) - [2.10.2](#2102) - [2.10.1](#2101) - [2.10.0](#2100) @@ -48,6 +49,36 @@ title: CHANGELOG - [0.7.0](#070) - [0.6.0](#060) +## 2.11.0 + +### Change + +- wolf-rbac 插件变更默认端口,并在文档中增加 authType 参数 [#5477](https://github.com/apache/apisix/pull/5477) + +### Core + +- :sunrise: 支持基于 POST 表单的高级路由匹配 [#5409](https://github.com/apache/apisix/pull/5409) +- :sunrise: 初步的 WASM 支持 [#5288](https://github.com/apache/apisix/pull/5288) +- :sunrise: control API 暴露 service 配置 [#5271](https://github.com/apache/apisix/pull/5271) +- :sunrise: control API 暴露 upstream 配置 [#5259](https://github.com/apache/apisix/pull/5259) +- :sunrise: 支持在 etcd 少于半数节点不可用时成功启动 [#5158](https://github.com/apache/apisix/pull/5158) +- :sunrise: 支持 etcd 配置里面自定义 SNI [#5206](https://github.com/apache/apisix/pull/5206) + +### Plugin + +- :sunrise: 新增 Azure-functions 插件 [#5479](https://github.com/apache/apisix/pull/5479) +- :sunrise: kafka-logger 支持动态记录请求体 [#5501](https://github.com/apache/apisix/pull/5501) +- :sunrise: 新增 skywalking-logger 插件 [#5478](https://github.com/apache/apisix/pull/5478) +- :sunrise: 新增 datadog 插件 [#5372](https://github.com/apache/apisix/pull/5372) +- :sunrise: limit-* 系列插件,在 key 对应的值不存在时,回退到用客户端地址作为限流的 key [#5422](https://github.com/apache/apisix/pull/5422) +- :sunrise: limit-count 支持使用多个变量作为 key [#5378](https://github.com/apache/apisix/pull/5378) +- :sunrise: limit-conn 支持使用多个变量作为 key [#5354](https://github.com/apache/apisix/pull/5354) +- :sunrise: proxy-rewrite 支持改写 HTTP method [#5292](https://github.com/apache/apisix/pull/5292) +- :sunrise: limit-req 支持使用多个变量作为 key [#5302](https://github.com/apache/apisix/pull/5302) +- :sunrise: proxy-cache 支持基于内存的缓存机制 [#5028](https://github.com/apache/apisix/pull/5028) +- :sunrise: ext-plugin 避免发送重复的 conf 请求 [#5183](https://github.com/apache/apisix/pull/5183) +- :sunrise: 新增 ldap-auth 插件 [#3894](https://github.com/apache/apisix/pull/3894) + ## 2.10.2 ### Bugfix diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json index 7e413887..9a2eef66 100644 --- a/docs/zh/latest/config.json +++ b/docs/zh/latest/config.json @@ -1,5 +1,5 @@ { - "version": "2.10.2", + "version": "2.11.0", "sidebar": [ { "type": "category", diff --git a/docs/zh/latest/how-to-build.md b/docs/zh/latest/how-to-build.md index b1116e04..520f80d3 100644 --- a/docs/zh/latest/how-to-build.md +++ b/docs/zh/latest/how-to-build.md @@ -58,7 +58,7 @@ sudo yum install -y https://repos.apiseven.com/packages/centos/apache-apisix-rep 这种安装方式适用于 CentOS 7 操作系统,请运行以下命令安装 Apache APISIX。 ```shell -sudo yum install -y https://repos.apiseven.com/packages/centos/7/x86_64/apisix-2.10.2-0.el7.x86_64.rpm +sudo yum install -y https://repos.apiseven.com/packages/centos/7/x86_64/apisix-2.11.0-0.el7.x86_64.rpm ``` ### 通过 Docker 安装 @@ -71,16 +71,16 @@ sudo yum install -y https://repos.apiseven.com/packages/centos/7/x86_64/apisix-2 ### 通过源码包安装 -1. 创建一个名为 `apisix-2.10.2` 的目录。 +1. 创建一个名为 `apisix-2.11.0` 的目录。 ```shell - mkdir apisix-2.10.2 + mkdir apisix-2.11.0 ``` 2. 下载 Apache APISIX Release 源码包: ```shell - wget https://downloads.apache.org/apisix/2.10.2/apache-apisix-2.10.2-src.tgz + wget https://downloads.apache.org/apisix/2.11.0/apache-apisix-2.11.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)。 @@ -88,14 +88,14 @@ sudo yum install -y https://repos.apiseven.com/packages/centos/7/x86_64/apisix-2 3. 解压 Apache APISIX Release 源码包: ```shell - tar zxvf apache-apisix-2.10.2-src.tgz -C apisix-2.10.2 + tar zxvf apache-apisix-2.11.0-src.tgz -C apisix-2.11.0 ``` 4. 安装运行时依赖的 Lua 库: ```shell - # 切换到 apisix-2.10.2 目录 - cd apisix-2.10.2 + # 切换到 apisix-2.11.0 目录 + cd apisix-2.11.0 # 安装依赖 LUAROCKS_SERVER=https://luarocks.cn make deps # 安装 apisix 命令 diff --git a/rockspec/apisix-2.11.0-0.rockspec b/rockspec/apisix-2.11.0-0.rockspec new file mode 100644 index 00000000..06ea8ea9 --- /dev/null +++ b/rockspec/apisix-2.11.0-0.rockspec @@ -0,0 +1,96 @@ +-- +-- 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.11.0-0" +supported_platforms = {"linux", "macosx"} + +source = { + url = "git://github.com/apache/apisix", + branch = "2.11.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.6.0", + "api7-lua-resty-http = 0.2.0", + "lua-resty-balancer = 0.04", + "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.5.0", + "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", + "lualdap = 1.2.6-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 = { + ENV_INST_PREFIX="$(PREFIX)", + ENV_INST_BINDIR="$(BINDIR)", + ENV_INST_LIBDIR="$(LIBDIR)", + ENV_INST_LUADIR="$(LUADIR)", + ENV_INST_CONFDIR="$(CONFDIR)", + }, +}