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: 罗泽轩 <spacewander...@gmail.com> AuthorDate: Fri Mar 25 12:07:38 2022 +0800 feat: release 2.13.0 (#6716) Co-authored-by: zhixiongdu <r...@libssl.com> Co-authored-by: tzssangglass <tzssanggl...@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)", + }, +}