Skip to content

Commit

Permalink
feat: release 2.8 (#4658)
Browse files Browse the repository at this point in the history
* feat: release 2.8

Signed-off-by: spacewander <spacewanderlzx@gmail.com>

* docs: fix section titles' links (#4671)

Co-authored-by: yilinzeng <36651058+yzeng25@users.noreply.github.com>
  • Loading branch information
spacewander and yzeng25 authored Jul 27, 2021
1 parent e3e0183 commit 20df784
Show file tree
Hide file tree
Showing 11 changed files with 187 additions and 26 deletions.
34 changes: 34 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.8.0](#280)
- [2.7.0](#270)
- [2.6.0](#260)
- [2.5.0](#250)
Expand All @@ -43,6 +44,39 @@ title: Changelog
- [0.7.0](#070)
- [0.6.0](#060)

## 2.8.0

### Change

- change: enable stream proxy only by default [#4580](https://github.com/apache/apisix/pull/4580)

### Core

- :sunrise: feat: allow user-defined balancer with metadata in node [#4605](https://github.com/apache/apisix/pull/4605)
- :sunrise: feat: Add option retry_timeout that like nginx's proxy_next_upstream_timeout [#4574](https://github.com/apache/apisix/pull/4574)
- :sunrise: feat: enable balancer phase for plugins [#4549](https://github.com/apache/apisix/pull/4549)
- :sunrise: feat: allow setting separate keepalive pool [#4506](https://github.com/apache/apisix/pull/4506)
- :sunrise: feat: enable etcd health-check [#4191](https://github.com/apache/apisix/pull/4191)

### Plugin

- :sunrise: feat: add gzip plugin [#4640](https://github.com/apache/apisix/pull/4640)
- :sunrise: feat(plugin): Add new plugin ua-restriction for bot spider restriction [#4587](https://github.com/apache/apisix/pull/4587)
- :sunrise: feat(stream): add ip-restriction [#4602](https://github.com/apache/apisix/pull/4602)
- :sunrise: feat(stream): add limit-conn [#4515](https://github.com/apache/apisix/pull/4515)
- :sunrise: feat: increase ext-plugin timeout to 60s [#4557](https://github.com/apache/apisix/pull/4557)
- :sunrise: feat(key-auth): supporting key-auth plugin to get key from query string [#4490](https://github.com/apache/apisix/pull/4490)
- :sunrise: feat(kafka-logger): support for specified the log formats via admin API. [#4483](https://github.com/apache/apisix/pull/4483)

### Bugfix

- fix(stream): sni router is broken when session reuses [#4607](https://github.com/apache/apisix/pull/4607)
- fix: the limit-conn plugin cannot effectively intercept requests in special scenarios [#4585](https://github.com/apache/apisix/pull/4585)
- fix: ref check while deleting proto via Admin API [#4575](https://github.com/apache/apisix/pull/4575)
- fix(skywalking): handle conflict between global rule and route [#4589](https://github.com/apache/apisix/pull/4589)
- fix: `ctx.var.cookie_*` cookie not found log [#4564](https://github.com/apache/apisix/pull/4564)
- fix(request-id): we can use different ids with the same request [#4479](https://github.com/apache/apisix/pull/4479)

## 2.7.0

### Change
Expand Down
2 changes: 1 addition & 1 deletion apisix/core/version.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@
-- limitations under the License.
--
return {
VERSION = "2.7"
VERSION = "2.8"
}
8 changes: 4 additions & 4 deletions docs/ar/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,9 +158,9 @@ CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, **ARM64** Ubun
- قم بتنزيل أحدث حزمة إصدار لشفرة المصدر:

```shell
$ mkdir apisix-2.7
$ wget https://downloads.apache.org/apisix/2.7/apache-apisix-2.7-src.tgz
$ tar zxvf apache-apisix-2.7-src.tgz -C apisix-2.7
$ mkdir apisix-2.8
$ wget https://downloads.apache.org/apisix/2.8/apache-apisix-2.8-src.tgz
$ tar zxvf apache-apisix-2.8-src.tgz -C apisix-2.8
```

- تثبيت التبعيات :
Expand Down Expand Up @@ -197,7 +197,7 @@ CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, **ARM64** Ubun
- تثبيت أبيسكس:

```shell
$ sudo yum install -y https://github.com/apache/apisix/releases/download/2.7/apisix-2.7-0.x86_64.rpm
$ sudo yum install -y https://github.com/apache/apisix/releases/download/2.8/apisix-2.8-0.x86_64.rpm
```

- تحقق من إصدار أبيسكس:
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.7,
"version": 2.8,
"sidebar": [
{
"type": "category",
Expand Down
14 changes: 7 additions & 7 deletions docs/en/latest/how-to-build.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ You can install Apache APISIX via RPM package, Docker, Helm Chart, and source re
This installation method is suitable for CentOS 7, please run the following command to install Apache APISIX.

```shell
sudo yum install -y https://github.com/apache/apisix/releases/download/2.7/apisix-2.7-0.x86_64.rpm
sudo yum install -y https://github.com/apache/apisix/releases/download/2.8/apisix-2.8-0.x86_64.rpm
```

### Installation via Docker
Expand All @@ -49,31 +49,31 @@ Please refer to: [Installing Apache APISIX with Helm Chart](https://github.com/a

### Installation via Source Release Package

1. Create a directory named `apisix-2.7`.
1. Create a directory named `apisix-2.8`.

```shell
mkdir apisix-2.7
mkdir apisix-2.8
```

2. Download Apache APISIX Release source package.

```shell
wget https://downloads.apache.org/apisix/2.7/apache-apisix-2.7-src.tgz
wget https://downloads.apache.org/apisix/2.8/apache-apisix-2.8-src.tgz
```

You can also download the Apache APISIX Release source package from the Apache APISIX website. The [Apache APISIX Official Website - Download Page](https://apisix.apache.org/downloads/) also provides source packages for Apache APISIX, APISIX Dashboard and APISIX Ingress Controller.

3. Unzip the Apache APISIX Release source package.

```shell
tar zxvf apache-apisix-2.7-src.tgz -C apisix-2.7
tar zxvf apache-apisix-2.8-src.tgz -C apisix-2.8
```

4. Install the runtime dependent Lua libraries.

```shell
# Switch to the apisix-2.7 directory
cd apisix-2.7
# Switch to the apisix-2.8 directory
cd apisix-2.8
# Create dependencies
make deps
```
Expand Down
8 changes: 4 additions & 4 deletions docs/es/latest/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,9 +155,9 @@ Hay varias maneras de instalar la versión publicada Apache de APISIX:
- Bajar el paquete de publicación más reciente de código fuente:

```shell
$ mkdir apisix-2.7
$ wget https://downloads.apache.org/apisix/2.7/apache-apisix-2.7-src.tgz
$ tar zxvf apache-apisix-2.7-src.tgz -C apisix-2.7
$ mkdir apisix-2.8
$ wget https://downloads.apache.org/apisix/2.8/apache-apisix-2.8-src.tgz
$ tar zxvf apache-apisix-2.8-src.tgz -C apisix-2.8
```

- Instalar las dependencias:
Expand Down Expand Up @@ -194,7 +194,7 @@ Hay varias maneras de instalar la versión publicada Apache de APISIX:
- Instalar APISIX:

```shell
$ sudo yum install -y https://github.com/apache/apisix/releases/download/2.7/apisix-2.7-0.x86_64.rpm
$ sudo yum install -y https://github.com/apache/apisix/releases/download/2.8/apisix-2.8-0.x86_64.rpm
```

- Chequear versión de APISIX:
Expand Down
2 changes: 1 addition & 1 deletion docs/es/latest/config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"version": 2.7,
"version": 2.8,
"sidebar": []
}
36 changes: 36 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.8.0](#280)
- [2.7.0](#270)
- [2.6.0](#260)
- [2.5.0](#250)
Expand All @@ -43,8 +44,43 @@ title: CHANGELOG
- [0.7.0](#070)
- [0.6.0](#060)

## 2.8.0

### Change

- 如果启用 stream proxy,默认将不再一并启用 HTTP proxy 功能 [#4580](https://github.com/apache/apisix/pull/4580)

### Core

- :sunrise: 允许用户自定义 balancer [#4605](https://github.com/apache/apisix/pull/4605)
- :sunrise: upstream 中添加 retry_timeout,类似于 Nginx 的 proxy_next_upstream_timeout [#4574](https://github.com/apache/apisix/pull/4574)
- :sunrise: 允许在 balancer_by_lua 中运行插件 [#4549](https://github.com/apache/apisix/pull/4549)
- :sunrise: 允许给 upstream 指定单独的连接池 [#4506](https://github.com/apache/apisix/pull/4506)
- :sunrise: etcd 连接开启健康检查 [#4191](https://github.com/apache/apisix/pull/4191)

### Plugin

- :sunrise: 增加 gzip 插件 [#4640](https://github.com/apache/apisix/pull/4640)
- :sunrise: 增加 ua-restriction 插件来拒绝爬虫请求 [#4587](https://github.com/apache/apisix/pull/4587)
- :sunrise: stream 模块增加 ip-restriction 插件 [#4602](https://github.com/apache/apisix/pull/4602)
- :sunrise: stream 模块增加 limit-conn 插件 [#4515](https://github.com/apache/apisix/pull/4515)
- :sunrise: 将 ext-plugin 的超时提升到 60s [#4557](https://github.com/apache/apisix/pull/4557)
- :sunrise: key-auth 支持从 query string 中获取 key [#4490](https://github.com/apache/apisix/pull/4490)
- :sunrise: kafka-logger 支持通过 admin API 设置日志格式 [#4483](https://github.com/apache/apisix/pull/4483)

### Bugfix

- 修复 stream proxy 的 SNI router 在 session 复用中不可用的问题 [#4607](https://github.com/apache/apisix/pull/4607)
- 修复 limit-conn 同时在全局和 route 中指定会出错的问题 [#4585](https://github.com/apache/apisix/pull/4585)
- 修复 Admin API 中检查 proto 引用关系的错误 [#4575](https://github.com/apache/apisix/pull/4575)
- 修复 skywalking 同时在全局和 route 中指定会出错的问题 [#4589](https://github.com/apache/apisix/pull/4589)
- 调用 `ctx.var.cookie_*` 时如果没有找到 cookie 不再报错 [#4564](https://github.com/apache/apisix/pull/4564)
- 修复 request-id 同时在全局和 route 中指定会出错的问题 [#4479](https://github.com/apache/apisix/pull/4479)

## 2.7.0

### Change

- 修改 metadata_schema 校验方式,让它跟其他 schema 一致 [#4381](https://github.com/apache/apisix/pull/4381)
- 移除 echo 插件的 auth_value 字段 [#4055](https://github.com/apache/apisix/pull/4055)
- 更正 Admin API count 字段的计算,并把它的类型变成 integer [#4385](https://github.com/apache/apisix/pull/4385)
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.7,
"version": 2.8,
"sidebar": [
{
"type": "category",
Expand Down
14 changes: 7 additions & 7 deletions docs/zh/latest/how-to-build.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Apache APISIX 的运行环境需要依赖 NGINX 和 etcd,所以在安装 Apach
这种安装方式适用于 CentOS 7 操作系统,请运行以下命令安装 Apache APISIX。

```shell
sudo yum install -y https://github.com/apache/apisix/releases/download/2.7/apisix-2.7-0.x86_64.rpm
sudo yum install -y https://github.com/apache/apisix/releases/download/2.8/apisix-2.8-0.x86_64.rpm
```

### 通过 Docker 安装
Expand All @@ -49,31 +49,31 @@ sudo yum install -y https://github.com/apache/apisix/releases/download/2.7/apisi

### 通过源码包安装

1. 创建一个名为 `apisix-2.7` 的目录。
1. 创建一个名为 `apisix-2.8` 的目录。

```shell
mkdir apisix-2.7
mkdir apisix-2.8
```

2. 下载 Apache APISIX Release 源码包:

```shell
wget https://downloads.apache.org/apisix/2.7/apache-apisix-2.7-src.tgz
wget https://downloads.apache.org/apisix/2.8/apache-apisix-2.8-src.tgz
```

您也可以通过 Apache APISIX 官网下载 Apache APISIX Release 源码包。 Apache APISIX 官网也提供了 Apache APISIX、APISIX Dashboard 和 APISIX Ingress Controller 的源码包,详情请参考[Apache APISIX 官网-下载页](https://apisix.apache.org/zh/downloads)

3. 解压 Apache APISIX Release 源码包:

```shell
tar zxvf apache-apisix-2.7-src.tgz -C apisix-2.7
tar zxvf apache-apisix-2.8-src.tgz -C apisix-2.8
```

4. 安装运行时依赖的 Lua 库:

```shell
# 切换到 apisix-2.7 目录
cd apisix-2.7
# 切换到 apisix-2.8 目录
cd apisix-2.8
# 创建依赖
make deps
```
Expand Down
91 changes: 91 additions & 0 deletions rockspec/apisix-2.8-0.rockspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
--
-- 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.8-0"
supported_platforms = {"linux", "macosx"}

source = {
url = "git://github.com/apache/apisix",
branch = "2.8",
}

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 = 5.2.0",
"lua-resty-template = 2.0",
"lua-resty-etcd = 1.5.3",
"lua-resty-balancer = 0.02rc5",
"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.2",
"lua-resty-openidc = 1.7.2-1",
"luafilesystem = 1.7.0-2",
"api7-lua-tinyyaml = 0.3.0",
"nginx-lua-prometheus = 0.20210206",
"jsonschema = 0.9.5",
"lua-resty-ipmatcher = 0.6",
"lua-resty-kafka = 0.07",
"lua-resty-logger-socket = 2.0-0",
"skywalking-nginx-lua = 0.4-1",
"base64 = 1.5-2",
"binaryheap = 0.4",
"dkjson = 2.5-2",
"resty-redis-cluster = 1.02-4",
"lua-resty-expr = 1.3.0",
"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.1.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 = {
INST_PREFIX="$(PREFIX)",
INST_BINDIR="$(BINDIR)",
INST_LIBDIR="$(LIBDIR)",
INST_LUADIR="$(LUADIR)",
INST_CONFDIR="$(CONFDIR)",
},
}

0 comments on commit 20df784

Please sign in to comment.