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/05/17 03:08:58 UTC

[apisix] 01/01: feat: release 2.14.0

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

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

commit dee97448b756ffa0a3b88697704a5dcbfa48bd84
Author: spacewander <sp...@gmail.com>
AuthorDate: Tue May 17 11:08:16 2022 +0800

    feat: release 2.14.0
    
    Signed-off-by: spacewander <sp...@gmail.com>
---
 .asf.yaml                         |   4 ++
 CHANGELOG.md                      |  56 +++++++++++++++++++++
 apisix/core/version.lua           |   2 +-
 docs/en/latest/config.json        |   2 +-
 docs/zh/latest/CHANGELOG.md       |  56 +++++++++++++++++++++
 docs/zh/latest/config.json        |   2 +-
 rockspec/apisix-2.14.0-0.rockspec | 102 ++++++++++++++++++++++++++++++++++++++
 7 files changed, 221 insertions(+), 3 deletions(-)

diff --git a/.asf.yaml b/.asf.yaml
index 78b072fa3..65ad127cf 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.14:
+        required_pull_request_reviews:
+          require_code_owner_reviews: true
+          required_approving_review_count: 2
       release/2.13:
         required_pull_request_reviews:
           require_code_owner_reviews: true
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 094d6eb3d..60bbda5f3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@ title: Changelog
 
 ## Table of Contents
 
+- [2.14.0](#2140)
 - [2.13.1](#2131)
 - [2.13.0](#2130)
 - [2.12.1](#2121)
@@ -56,6 +57,61 @@ title: Changelog
 - [0.7.0](#070)
 - [0.6.0](#060)
 
+## 2.14.0
+
+### Change
+
+- To adapt the change of OpenTelemetry spec, the default port of OTLP/HTTP is changed to 4318: [#7007](https://github.com/apache/apisix/pull/7007)
+
+### Core
+
+- Introduce an experimental feature to allow subscribing Kafka message via APISIX. This feature is based on the pubsub framework running above websocket:
+    - [#7028](https://github.com/apache/apisix/pull/7028)
+    - [#7032](https://github.com/apache/apisix/pull/7032)
+- Introduce an experimental framework called xRPC to manage non-HTTP L7 traffic:
+    - [#6885](https://github.com/apache/apisix/pull/6885)
+    - [#6901](https://github.com/apache/apisix/pull/6901)
+    - [#6919](https://github.com/apache/apisix/pull/6919)
+    - [#6960](https://github.com/apache/apisix/pull/6960)
+    - [#6965](https://github.com/apache/apisix/pull/6965)
+    - [#7040](https://github.com/apache/apisix/pull/7040)
+- Now we support adding delay according to the command & key during proxying Redistraffic, which is built above xRPC:
+    - [#6999](https://github.com/apache/apisix/pull/6999)
+- Introduce an experimental support to configure APISIX via xDS:
+    - [#6614](https://github.com/apache/apisix/pull/6614)
+    - [#6759](https://github.com/apache/apisix/pull/6759)
+- Add an option to normalize uri like servlet: [#6984](https://github.com/apache/apisix/pull/6984)
+- Zookeeper service discovery via apisix-seed: [#6751](https://github.com/apache/apisix/pull/6751)
+
+### Plugin
+
+- The real-ip plugin supports recursive IP search like `real_ip_recursive`: [#6988](https://github.com/apache/apisix/pull/6988)
+- The api-breaker plugin allows configuring response: [#6949](https://github.com/apache/apisix/pull/6949)
+- The response-rewrite plugin supports body filters: [#6750](https://github.com/apache/apisix/pull/6750)
+- The request-id plugin adds nanoid algorithm to generate ID: [#6779](https://github.com/apache/apisix/pull/6779)
+- The file-logger plugin can cache & reopen file handler: [#6721](https://github.com/apache/apisix/pull/6721)
+- Add casdoor plugin: [#6382](https://github.com/apache/apisix/pull/6382)
+- The authz-keycloak plugin supports password grant: [#6586](https://github.com/apache/apisix/pull/6586)
+
+### Bugfix
+
+- Upstream keepalive should consider TLS param: [#7054](https://github.com/apache/apisix/pull/7054)
+- Do not expose internal error message to the client:
+    - [#6982](https://github.com/apache/apisix/pull/6982)
+    - [#6859](https://github.com/apache/apisix/pull/6859)
+    - [#6854](https://github.com/apache/apisix/pull/6854)
+    - [#6853](https://github.com/apache/apisix/pull/6853)
+    - [#6846](https://github.com/apache/apisix/pull/6846)
+- DNS supports SRV record with port 0: [#6739](https://github.com/apache/apisix/pull/6739)
+- client mTLS was ignored sometimes in TLS session reuse: [#6906](https://github.com/apache/apisix/pull/6906)
+- The grpc-web plugin doesn't override Access-Control-Allow-Origin header in response: [#6842](https://github.com/apache/apisix/pull/6842)
+- The syslog plugin's default timeout is corrected: [#6807](https://github.com/apache/apisix/pull/6807)
+- The authz-keycloak plugin's `access_denied_redirect_uri` was bypassed sometimes: [#6794](https://github.com/apache/apisix/pull/6794)
+- Handle `USR2` signal properly: [#6758](https://github.com/apache/apisix/pull/6758)
+- The redirect plugin set a correct port during redirecting HTTP to HTTPS:
+    - [#6686](https://github.com/apache/apisix/pull/6686)
+- Admin API rejects unknown stream plugin: [#6813](https://github.com/apache/apisix/pull/6813)
+
 ## 2.13.1
 
 **This is an LTS maintenance release and you can see the CHANGELOG in `release/2.13` branch.**
diff --git a/apisix/core/version.lua b/apisix/core/version.lua
index e5a2a92d1..675282615 100644
--- a/apisix/core/version.lua
+++ b/apisix/core/version.lua
@@ -20,5 +20,5 @@
 -- @module core.version
 
 return {
-    VERSION = "2.13.0"
+    VERSION = "2.14.0"
 }
diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json
index 5e18f58a5..cceda22a2 100644
--- a/docs/en/latest/config.json
+++ b/docs/en/latest/config.json
@@ -1,5 +1,5 @@
 {
-  "version": "2.13.0",
+  "version": "2.14.0",
   "sidebar": [
     {
       "type": "category",
diff --git a/docs/zh/latest/CHANGELOG.md b/docs/zh/latest/CHANGELOG.md
index e3e447c72..a8f809c4b 100644
--- a/docs/zh/latest/CHANGELOG.md
+++ b/docs/zh/latest/CHANGELOG.md
@@ -23,6 +23,7 @@ title: CHANGELOG
 
 ## Table of Contents
 
+- [2.14.0](#2140)
 - [2.13.1](#2131)
 - [2.13.0](#2130)
 - [2.12.1](#2121)
@@ -56,6 +57,61 @@ title: CHANGELOG
 - [0.7.0](#070)
 - [0.6.0](#060)
 
+## 2.14.0
+
+### 改变
+
+- 为了适应 OpenTelemetry 规范的变化,OTLP/HTTP 的默认端口改为 4318: [#7007](https://github.com/apache/apisix/pull/7007)
+
+### 核心
+
+- 引入一个实验性功能,允许通过 APISIX 订阅 Kafka 消息。这个功能是基于 websocket 上面运行的 pubsub 框架。
+    - [#7028](https://github.com/apache/apisix/pull/7028)
+    - [#7032](https://github.com/apache/apisix/pull/7032)
+- 引入一个名为 xRPC 的实验性框架来管理非 HTTP 的 L7 流量。
+    - [#6885](https://github.com/apache/apisix/pull/6885)
+    - [#6901](https://github.com/apache/apisix/pull/6901)
+    - [#6919](https://github.com/apache/apisix/pull/6919)
+    - [#6960](https://github.com/apache/apisix/pull/6960)
+    - [#6965](https://github.com/apache/apisix/pull/6965)
+    - [#7040](https://github.com/apache/apisix/pull/7040)
+- 现在我们支持在代理 Redistraffic 过程中根据命令和键添加延迟,它建立在 xRPC 之上。
+    - [#6999](https://github.com/apache/apisix/pull/6999)
+- 引入实验性支持,通过 xDS 配置 APISIX。
+    - [#6614](https://github.com/apache/apisix/pull/6614)
+    - [#6759](https://github.com/apache/apisix/pull/6759)
+- 增加一个选项,像 servlet 一样规范化 URI。[#6984](https://github.com/apache/apisix/pull/6984)
+- 通过 apisix-seed 实现 Zookeeper 服务发现:[#6751](https://github.com/apache/apisix/pull/6751)
+
+### 插件
+
+- real-ip 插件支持像`real_ip_recursive`那样的递归 IP 搜索。[#6988](https://github.com/apache/apisix/pull/6988)
+- api-breaker 插件允许配置响应。[#6949](https://github.com/apache/apisix/pull/6949)
+- response-rewrite 插件支持正文过滤器。[#6750](https://github.com/apache/apisix/pull/6750)
+- request-id 插件增加了 nanoid 算法来生成 ID:[#6779](https://github.com/apache/apisix/pull/6779)
+- file-logger 插件可以缓存和重开 file handler。[#6721](https://github.com/apache/apisix/pull/6721)
+- 增加 casdoor 插件。[#6382](https://github.com/apache/apisix/pull/6382)
+- authz-keycloak 插件支持 password grant:[#6586](https://github.com/apache/apisix/pull/6586)
+
+### Bugfix
+
+- 上游 keepalive 应考虑 TLS 参数:[#7054](https://github.com/apache/apisix/pull/7054)
+- 不要将内部错误信息暴露给客户端。
+    - [#6982](https://github.com/apache/apisix/pull/6982)
+    - [#6859](https://github.com/apache/apisix/pull/6859)
+    - [#6854](https://github.com/apache/apisix/pull/6854)
+    - [#6853](https://github.com/apache/apisix/pull/6853)
+    - [#6846](https://github.com/apache/apisix/pull/6846)
+- DNS 支持端口为 0 的 SRV 记录:[#6739](https://github.com/apache/apisix/pull/6739)
+- 修复客户端 mTLS 在 TLS 会话重用中有时不生效的问题:[#6906](https://github.com/apache/apisix/pull/6906)
+- grpc-web 插件不会在响应中覆盖 Access-Control-Allow-Origin 头。[#6842](https://github.com/apache/apisix/pull/6842)
+- syslog 插件的默认超时已被纠正。[#6807](https://github.com/apache/apisix/pull/6807)
+- 修复 authz-keycloak 插件的 `access_denied_redirect_uri` 的设置有时不生效的问题。[#6794](https://github.com/apache/apisix/pull/6794)
+- 正确处理`USR2`信号。[#6758](https://github.com/apache/apisix/pull/6758)
+- 重定向插件在将 HTTP 重定向到 HTTPS 时设置了正确的端口。
+    - [#6686](https://github.com/apache/apisix/pull/6686)
+- Admin API 拒绝未知的 stream 插件。[#6813](https://github.com/apache/apisix/pull/6813)
+
 ## 2.13.1
 
 **这是一个 LTS 维护版本,您可以在 `release/2.13` 分支中看到 CHANGELOG。**
diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json
index 99b3c7c41..b0f5abbe5 100644
--- a/docs/zh/latest/config.json
+++ b/docs/zh/latest/config.json
@@ -1,5 +1,5 @@
 {
-  "version": "2.13.0",
+  "version": "2.14.0",
   "sidebar": [
     {
       "type": "category",
diff --git a/rockspec/apisix-2.14.0-0.rockspec b/rockspec/apisix-2.14.0-0.rockspec
new file mode 100644
index 000000000..278ba2f20
--- /dev/null
+++ b/rockspec/apisix-2.14.0-0.rockspec
@@ -0,0 +1,102 @@
+--
+-- 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.14.0-0"
+supported_platforms = {"linux", "macosx"}
+
+source = {
+    url = "git://github.com/apache/apisix",
+    branch = "2.14.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.2",
+    "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",
+    "api7-lua-resty-jwt = 0.2.4",
+    "lua-resty-hmac-ffi = 0.05",
+    "lua-resty-cookie = 0.1.0",
+    "lua-resty-session = 3.10",
+    "opentracing-openresty = 0.1",
+    "lua-resty-radixtree = 2.8.2",
+    "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.20-0",
+    "lua-resty-logger-socket = 2.0.1-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.5.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",
+    "nanoid = 0.1-1",
+    "lua-resty-mediador = 0.1.2-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)",
+    },
+}