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 <[email protected]> AuthorDate: Tue May 17 11:08:16 2022 +0800 feat: release 2.14.0 Signed-off-by: spacewander <[email protected]> --- .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)", + }, +}
