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 2022/03/25 04:07:46 UTC

[apisix] branch master updated: feat: release 2.13.0 (#6716)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 52bbd18  feat: release 2.13.0 (#6716)
52bbd18 is described below

commit 52bbd18aa37059421198a83a092dba11d7559969
Author: 罗泽轩 <sp...@gmail.com>
AuthorDate: Fri Mar 25 12:07:38 2022 +0800

    feat: release 2.13.0 (#6716)
    
    Co-authored-by: zhixiongdu <ro...@libssl.com>
    Co-authored-by: tzssangglass <tz...@gmail.com>
---
 .asf.yaml                         |   4 ++
 .github/workflows/centos7-ci.yml  |   2 +-
 CHANGELOG.md                      |  49 +++++++++++++++++++
 apisix/core/version.lua           |   2 +-
 apisix/utils/batch-processor.lua  |   2 +-
 docs/en/latest/config.json        |   2 +-
 docs/en/latest/how-to-build.md    |   8 +--
 docs/zh/latest/CHANGELOG.md       |  49 +++++++++++++++++++
 docs/zh/latest/config.json        |   2 +-
 docs/zh/latest/how-to-build.md    |   6 +--
 rockspec/apisix-2.13.0-0.rockspec | 100 ++++++++++++++++++++++++++++++++++++++
 11 files changed, 214 insertions(+), 12 deletions(-)

diff --git a/.asf.yaml b/.asf.yaml
index 51a6b73..78b072f 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -48,6 +48,10 @@ github:
           dismiss_stale_reviews: true
           require_code_owner_reviews: true
           required_approving_review_count: 2
+      release/2.13:
+        required_pull_request_reviews:
+          require_code_owner_reviews: true
+          required_approving_review_count: 2
       release/2.12:
         required_pull_request_reviews:
           require_code_owner_reviews: true
diff --git a/.github/workflows/centos7-ci.yml b/.github/workflows/centos7-ci.yml
index 2eed2c6..d9a3292 100644
--- a/.github/workflows/centos7-ci.yml
+++ b/.github/workflows/centos7-ci.yml
@@ -51,7 +51,7 @@ jobs:
       run: |
         export VERSION=${{ steps.branch_env.outputs.version }}
         sudo gem install --no-document fpm
-        git clone -b v2.7.0 https://github.com/api7/apisix-build-tools.git
+        git clone --depth 1 https://github.com/api7/apisix-build-tools.git
 
         # move codes under build tool
         mkdir ./apisix-build-tools/apisix
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6efaf0f..701f0ff 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ title: Changelog
 
 ## Table of Contents
 
+- [2.13.0](#2130)
 - [2.12.1](#2121)
 - [2.12.0](#2120)
 - [2.11.0](#2110)
@@ -53,6 +54,54 @@ title: Changelog
 - [0.7.0](#070)
 - [0.6.0](#060)
 
+## 2.13.0
+
+### Change
+
+- change(syslog): correct the configuration [#6551](https://github.com/apache/apisix/pull/6551)
+- change(server-info): use a new approach(keepalive) to report DP info [#6202](https://github.com/apache/apisix/pull/6202)
+- change(admin): empty nodes should be encoded as array [#6384](https://github.com/apache/apisix/pull/6384)
+- change(prometheus): replace wrong apisix_nginx_http_current_connections{state="total"} label [#6327](https://github.com/apache/apisix/pull/6327)
+- change: don't expose public API by default & remove plugin interceptor [#6196](https://github.com/apache/apisix/pull/6196)
+
+### Core
+
+- :sunrise: feat: add delayed_body_filter phase [#6605](https://github.com/apache/apisix/pull/6605)
+- :sunrise: feat: support for reading environment variables from yaml configuration files [#6505](https://github.com/apache/apisix/pull/6505)
+- :sunrise: feat: rerun rewrite phase for newly added plugins in consumer [#6502](https://github.com/apache/apisix/pull/6502)
+- :sunrise: feat: add config to control write all status to x-upsream-apisix-status [#6392](https://github.com/apache/apisix/pull/6392)
+- :sunrise: feat: add kubernetes discovery module [#4880](https://github.com/apache/apisix/pull/4880)
+- :sunrise: feat(graphql): support http get and post json request [#6343](https://github.com/apache/apisix/pull/6343)
+
+### Plugin
+
+- :sunrise: feat: jwt-auth support custom parameters [#6561](https://github.com/apache/apisix/pull/6561)
+- :sunrise: feat: set cors allow origins by plugin metadata [#6546](https://github.com/apache/apisix/pull/6546)
+- :sunrise: feat: support post_logout_redirect_uri config in openid-connect plugin [#6455](https://github.com/apache/apisix/pull/6455)
+- :sunrise: feat: mocking plugin [#5940](https://github.com/apache/apisix/pull/5940)
+- :sunrise: feat(error-log-logger): add clickhouse for error-log-logger [#6256](https://github.com/apache/apisix/pull/6256)
+- :sunrise: feat: clickhouse logger [#6215](https://github.com/apache/apisix/pull/6215)
+- :sunrise: feat(grpc-transcode): support .pb file [#6264](https://github.com/apache/apisix/pull/6264)
+- :sunrise: feat: development of Loggly logging plugin [#6113](https://github.com/apache/apisix/pull/6113)
+- :sunrise: feat: add opentelemetry plugin [#6119](https://github.com/apache/apisix/pull/6119)
+- :sunrise: feat: add public api plugin [#6145](https://github.com/apache/apisix/pull/6145)
+- :sunrise: feat: add CSRF plugin [#5727](https://github.com/apache/apisix/pull/5727)
+
+### Bugfix
+
+- fix(skywalking,opentelemetry): trace request rejected by auth [#6617](https://github.com/apache/apisix/pull/6617)
+- fix(log-rotate): should rotate logs strictly hourly(or minutely) [#6521](https://github.com/apache/apisix/pull/6521)
+- fix: deepcopy doesn't copy the metatable [#6623](https://github.com/apache/apisix/pull/6623)
+- fix(request-validate): handle duplicate key in JSON [#6625](https://github.com/apache/apisix/pull/6625)
+- fix(prometheus): conflict between global rule and route configure [#6579](https://github.com/apache/apisix/pull/6579)
+- fix(proxy-rewrite): when conf.headers are missing,conf.method can make effect [#6300](https://github.com/apache/apisix/pull/6300)
+- fix(traffic-split): failed to match rule when the first rule failed [#6292](https://github.com/apache/apisix/pull/6292)
+- fix(config_etcd): skip resync_delay while etcd watch timeout [#6259](https://github.com/apache/apisix/pull/6259)
+- fix(proto): avoid sharing state [#6199](https://github.com/apache/apisix/pull/6199)
+- fix(limit-count): keep the counter if the plugin conf is the same [#6151](https://github.com/apache/apisix/pull/6151)
+- fix(admin): correct the count field of plugin-metadata/global-rule [#6155](https://github.com/apache/apisix/pull/6155)
+- fix: add missing labels after merging route and service [#6177](https://github.com/apache/apisix/pull/6177)
+
 ## 2.12.1
 
 **This is an LTS maintenance release and you can see the CHANGELOG in `release/2.12` branch.**
diff --git a/apisix/core/version.lua b/apisix/core/version.lua
index ae8e4f9..e5a2a92 100644
--- a/apisix/core/version.lua
+++ b/apisix/core/version.lua
@@ -20,5 +20,5 @@
 -- @module core.version
 
 return {
-    VERSION = "2.12.0"
+    VERSION = "2.13.0"
 }
diff --git a/apisix/utils/batch-processor.lua b/apisix/utils/batch-processor.lua
index dcd3d59..6d3bf53 100644
--- a/apisix/utils/batch-processor.lua
+++ b/apisix/utils/batch-processor.lua
@@ -148,7 +148,7 @@ function batch_processor:new(func, config)
         return nil, err
     end
 
-    if not(type(func) == "function") then
+    if type(func) ~= "function" then
         return nil, "Invalid argument, arg #1 must be a function"
     end
 
diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json
index 5c03681..f4d1e5a 100644
--- a/docs/en/latest/config.json
+++ b/docs/en/latest/config.json
@@ -1,5 +1,5 @@
 {
-  "version": "2.12.0",
+  "version": "2.13.0",
   "sidebar": [
     {
       "type": "category",
diff --git a/docs/en/latest/how-to-build.md b/docs/en/latest/how-to-build.md
index b151a26..0b9c877 100644
--- a/docs/en/latest/how-to-build.md
+++ b/docs/en/latest/how-to-build.md
@@ -97,10 +97,10 @@ Follow the steps below to install Apache APISIX via the source release package.
   curl https://raw.githubusercontent.com/apache/apisix/master/utils/install-dependencies.sh -sL | bash -
   ```
 
-2. Create a directory named `apisix-2.12.0`.
+2. Create a directory named `apisix-2.13.0`.
 
   ```shell
-  APISIX_VERSION='2.12.0'
+  APISIX_VERSION='2.13.0'
   mkdir apisix-${APISIX_VERSION}
   ```
 
@@ -158,9 +158,9 @@ Follow the steps below to install Apache APISIX via the source release package.
 
 #### LTS version installation via Source Release Package
 
-The [current LTS version](https://apisix.apache.org/downloads/) of Apache APISIX is `2.10.4`.
+The [current LTS version](https://apisix.apache.org/downloads/) of Apache APISIX is `2.13.0`.
 
-To install this version, set `APISIX_VERSION` in [Installation via Source Release Package](#installation-via-source-release-package) to `2.10.4` and continue with the other steps.
+To install this version, set `APISIX_VERSION` in [Installation via Source Release Package](#installation-via-source-release-package) to this version and continue with the other steps.
 
 ## Step 2: Install etcd
 
diff --git a/docs/zh/latest/CHANGELOG.md b/docs/zh/latest/CHANGELOG.md
index ee2f99d..f55dc00 100644
--- a/docs/zh/latest/CHANGELOG.md
+++ b/docs/zh/latest/CHANGELOG.md
@@ -23,6 +23,7 @@ title: CHANGELOG
 
 ## Table of Contents
 
+- [2.13.0](#2130)
 - [2.12.1](#2121)
 - [2.12.0](#2120)
 - [2.11.0](#2110)
@@ -53,6 +54,54 @@ title: CHANGELOG
 - [0.7.0](#070)
 - [0.6.0](#060)
 
+## 2.13.0
+
+### Change
+
+- 更正 syslog 插件的配置 [#6551](https://github.com/apache/apisix/pull/6551)
+- server-info 插件使用新方法来上报 DP 面信息 [#6202](https://github.com/apache/apisix/pull/6202)
+- Admin API 返回的空 nodes 应当被编码为数组 [#6384](https://github.com/apache/apisix/pull/6384)
+- 更正 prometheus 统计指标 apisix_nginx_http_current_connections{state="total"} [#6327](https://github.com/apache/apisix/pull/6327)
+- 不再默认暴露 public API 并移除 plugin interceptor [#6196](https://github.com/apache/apisix/pull/6196)
+
+### Core
+
+- :sunrise: 新增 delayed_body_filter 阶段 [#6605](https://github.com/apache/apisix/pull/6605)
+- :sunrise: standalone 模式的配置支持环境变量 [#6505](https://github.com/apache/apisix/pull/6505)
+- :sunrise: consumer 新增的插件都能被执行 [#6502](https://github.com/apache/apisix/pull/6502)
+- :sunrise: 添加配置项来控制是否在 x-upsream-apisix-status 中记录所有状态码 [#6392](https://github.com/apache/apisix/pull/6392)
+- :sunrise: 新增 kubernetes 服务发现 [#4880](https://github.com/apache/apisix/pull/4880)
+- :sunrise: graphql 路由支持 JSON 类型和 GET 方法 [#6343](https://github.com/apache/apisix/pull/6343)
+
+### Plugin
+
+- :sunrise: jwt-auth 支持自定义参数名 [#6561](https://github.com/apache/apisix/pull/6561)
+- :sunrise: cors 参数支持通过 plugin metadata 配置 [#6546](https://github.com/apache/apisix/pull/6546)
+- :sunrise: openid-connect 支持 post_logout_redirect_uri [#6455](https://github.com/apache/apisix/pull/6455)
+- :sunrise: mocking 插件 [#5940](https://github.com/apache/apisix/pull/5940)
+- :sunrise: error-log-logger 新增 clickhouse 支持 [#6256](https://github.com/apache/apisix/pull/6256)
+- :sunrise: clickhouse 日志插件 [#6215](https://github.com/apache/apisix/pull/6215)
+- :sunrise: grpc-transcode 支持处理 .pb 文件 [#6264](https://github.com/apache/apisix/pull/6264)
+- :sunrise: loggly 日志插件 [#6113](https://github.com/apache/apisix/pull/6113)
+- :sunrise: opentelemetry 日志插件 [#6119](https://github.com/apache/apisix/pull/6119)
+- :sunrise: public api 插件 [#6145](https://github.com/apache/apisix/pull/6145)
+- :sunrise: CSRF 插件 [#5727](https://github.com/apache/apisix/pull/5727)
+
+### Bugfix
+
+- 修复 skywalking,opentelemetry 没有追踪认证失败的问题 [#6617](https://github.com/apache/apisix/pull/6617)
+- log-rotate 切割日志时按整点完成 [#6521](https://github.com/apache/apisix/pull/6521)
+- deepcopy 没有复制 metatable [#6623](https://github.com/apache/apisix/pull/6623)
+- request-validate 修复对 JSON 里面重复键的处理 [#6625](https://github.com/apache/apisix/pull/6625)
+- prometheus 避免重复计算指标 [#6579](https://github.com/apache/apisix/pull/6579)
+- 修复 proxy-rewrite 中,当 conf.headers 缺失时,conf.method 不生效的问题 [#6300](https://github.com/apache/apisix/pull/6300)
+- 修复 traffic-split 首条规则失败时无法匹配的问题 [#6292](https://github.com/apache/apisix/pull/6292)
+- etcd 超时不应触发 resync_delay [#6259](https://github.com/apache/apisix/pull/6259)
+- 解决 proto 定义冲突 [#6199](https://github.com/apache/apisix/pull/6199)
+- limit-count 配置不变,不应重置计数器 [#6151](https://github.com/apache/apisix/pull/6151)
+- Admin API 的 plugin-metadata 和 global-rule 计数有误 [#6155](https://github.com/apache/apisix/pull/6155)
+- 解决合并 route 和 service 时 labels 丢失问题 [#6177](https://github.com/apache/apisix/pull/6177)
+
 ## 2.12.1
 
 **这是一个 LTS 维护版本,您可以在 `release/2.12` 分支中看到 CHANGELOG。**
diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json
index ac2e7cf..b592384 100644
--- a/docs/zh/latest/config.json
+++ b/docs/zh/latest/config.json
@@ -1,5 +1,5 @@
 {
-  "version": "2.12.0",
+  "version": "2.13.0",
   "sidebar": [
     {
       "type": "category",
diff --git a/docs/zh/latest/how-to-build.md b/docs/zh/latest/how-to-build.md
index 3dd6a4b..54bcaaa 100644
--- a/docs/zh/latest/how-to-build.md
+++ b/docs/zh/latest/how-to-build.md
@@ -93,10 +93,10 @@ sudo yum install ./apisix/*.rpm
   curl https://raw.githubusercontent.com/apache/apisix/master/utils/install-dependencies.sh -sL | bash -
   ```
 
-2. 创建一个名为 `apisix-2.12.0` 的目录。
+2. 创建一个名为 `apisix-2.13.0` 的目录。
 
   ```shell
-  APISIX_VERSION='2.12.0'
+  APISIX_VERSION='2.13.0'
   mkdir apisix-${APISIX_VERSION}
   ```
 
@@ -154,7 +154,7 @@ sudo yum install ./apisix/*.rpm
 
 #### 通过源码包安装 LTS 版本
 
-目前 Apache APISIX 的 LTS 版本为 `2.10.4`,将“[通过源码包安装](#通过源码包安装)”中的 `APISIX_VERSION` 设置成 `2.10.4` ,其他步骤按顺序进行即可。
+目前 Apache APISIX 的 LTS 版本为 `2.13.0`,将“[通过源码包安装](#通过源码包安装)”中的 `APISIX_VERSION` 设置成该版本号,其他步骤按顺序进行即可。
 
 ## 步骤 2 安装 etcd
 
diff --git a/rockspec/apisix-2.13.0-0.rockspec b/rockspec/apisix-2.13.0-0.rockspec
new file mode 100644
index 0000000..2884e16
--- /dev/null
+++ b/rockspec/apisix-2.13.0-0.rockspec
@@ -0,0 +1,100 @@
+--
+-- 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.13.0-0"
+supported_platforms = {"linux", "macosx"}
+
+source = {
+    url = "git://github.com/apache/apisix",
+    branch = "2.13.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 = 6.0.2",
+    "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.4",
+    "lua-resty-openidc = 1.7.2-1",
+    "luafilesystem = 1.7.0-2",
+    "api7-lua-tinyyaml = 0.4.2",
+    "nginx-lua-prometheus = 0.20220127",
+    "jsonschema = 0.9.8",
+    "lua-resty-ipmatcher = 0.6.1",
+    "lua-resty-kafka = 0.07",
+    "lua-resty-logger-socket = 2.0-0",
+    "skywalking-nginx-lua = 0.6.0",
+    "base64 = 1.5-2",
+    "binaryheap = 0.4",
+    "api7-dkjson = 0.1.1",
+    "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.4.0",
+    "casbin = 1.26.0",
+    "api7-snowflake = 2.0-1",
+    "inspect == 3.1.1",
+    "lualdap = 1.2.6-1",
+    "lua-resty-rocketmq = 0.3.0-0",
+    "opentelemetry-lua = 0.1-3",
+    "net-url = 0.9-1",
+    "xml2lua = 1.5-2",
+}
+
+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)",
+    },
+}