Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: release 2.14.0 #7057

Merged
merged 5 commits into from
May 22, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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.**
Expand Down
2 changes: 1 addition & 1 deletion apisix/core/version.lua
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@
-- @module core.version

return {
VERSION = "2.13.0"
VERSION = "2.14.0"
}
4 changes: 2 additions & 2 deletions ci/centos7-ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
install_dependencies() {
export_or_prefix

# install development tools
# install build & runtime deps
yum install -y wget tar gcc automake autoconf libtool make unzip \
git sudo openldap-devel
git sudo openldap-devel which

# curl with http2
wget https://github.com/moparisthebest/static-curl/releases/download/v7.79.1/curl-amd64 -O /usr/bin/curl
Expand Down
2 changes: 1 addition & 1 deletion docs/en/latest/config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "2.13.0",
"version": "2.14.0",
"sidebar": [
{
"type": "category",
Expand Down
56 changes: 56 additions & 0 deletions docs/zh/latest/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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。**
Expand Down
2 changes: 1 addition & 1 deletion docs/zh/latest/config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "2.13.0",
"version": "2.14.0",
"sidebar": [
{
"type": "category",
Expand Down
102 changes: 102 additions & 0 deletions rockspec/apisix-2.14.0-0.rockspec
Original file line number Diff line number Diff line change
@@ -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)",
},
}