Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
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
4 changes: 2 additions & 2 deletions docs/en/latest/admin-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -581,11 +581,11 @@ In addition to the basic complex equalization algorithm selection, APISIX's Upst

`tls.client_cert/key` can be used to communicate with upstream via mTLS.
Their formats are the same as SSL's `cert` and `key` fields.
This feature requires APISIX to run on [APISIX-OpenResty](./how-to-build.md#6-build-openresty-for-apisix).
This feature requires APISIX to run on [APISIX-OpenResty](./how-to-build.md#step-6-build-openresty-for-apache-apisix).

`keepalive_pool` allows the upstream to have its separate connection pool.
Its children fields, like `requests`, can be used to configure the upstream keepalive options.
This feature requires APISIX to run on [APISIX-OpenResty](./how-to-build.md#6-build-openresty-for-apisix).
This feature requires APISIX to run on [APISIX-OpenResty](./how-to-build.md#step-6-build-openresty-for-apache-apisix).

**Config Example:**

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
4 changes: 2 additions & 2 deletions docs/en/latest/mtls.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ curl --cacert /data/certs/mtls_ca.crt --key /data/certs/mtls_client.key --cert /

### How to configure

You need to [build APISIX-Openresty](./how-to-build.md#6-build-openresty-for-apisix) and configure `etcd.tls` section if you want APISIX to work on an etcd cluster with mTLS enabled.
You need to [build APISIX-Openresty](./how-to-build.md#step-6-build-openresty-for-apache-apisix) and configure `etcd.tls` section if you want APISIX to work on an etcd cluster with mTLS enabled.

```yaml
etcd:
Expand Down Expand Up @@ -146,7 +146,7 @@ Sometimes the upstream requires mTLS. In this situation, the APISIX acts as the

When configuring `upstreams`, we could use parameter `tls.client_cert` and `tls.client_key` to configure the client certificate APISIX used to communicate with upstreams. Please refer to [Admin API](./admin-api.md#upstream) for details.

This feature requires APISIX to run on [APISIX-OpenResty](./how-to-build.md#6-build-openresty-for-apisix).
This feature requires APISIX to run on [APISIX-OpenResty](./how-to-build.md#step-6-build-openresty-for-apache-apisix).

Here is a similar Python script to patch a existed upstream with mTLS (changes admin API url if needed):

Expand Down
2 changes: 1 addition & 1 deletion docs/en/latest/plugin-develop.md
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,7 @@ The above test case represents a simple scenario. Most scenarios will require mu

Additionally, there are some convenience testing endpoints which can be found [here](https://github.com/apache/apisix/blob/master/t/lib/server.lua#L36). For example, see [proxy-rewrite](https://github.com/apache/apisix/blob/master/t/plugin/proxy-rewrite.lua). In test 42, the upstream `uri` is made to redirect `/test?new_uri=hello` to `/hello` (which always returns `hello world`). In test 43, the response body is confirmed to equal `hello world`, meaning the proxy-rewrite configuration added with test 42 worked correctly.

Refer the following [document](how-to-build.md#4-test) to setup the testing framework.
Refer the following [document](how-to-build.md#Step-4-Run-Test-Cases) to setup the testing framework.

### Attach the test-nginx execution process:

Expand Down
2 changes: 1 addition & 1 deletion docs/en/latest/plugins/client-control.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ title: client-control
The `client-control` plugin dynamically controls the behavior of Nginx to
handle the client request.

This plugin requires APISIX to run on [APISIX-OpenResty](../how-to-build.md#6-build-openresty-for-apisix).
This plugin requires APISIX to run on [APISIX-OpenResty](../how-to-build.md#step-6-build-openresty-for-apache-apisix).

## Attributes

Expand Down
2 changes: 1 addition & 1 deletion docs/en/latest/plugins/dubbo-proxy.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ dubbo-proxy plugin allows you proxy HTTP request to [**dubbo**](http://dubbo.apa

## Requirement

If you are using OpenResty, you need to build it with dubbo support, see [how to build](../how-to-build.md#6-build-openresty-for-apisix)
If you are using OpenResty, you need to build it with dubbo support, see [how to build](../how-to-build.md#step-6-build-openresty-for-apache-apisix)

To make http2dubbo work in APISIX, we enhance the dubbo module based on Tengine's `mod_dubbo`. The modifications are contributed back to Tengine, but they are not included in the latest release version (Tengine-2.3.2) yet. So Tengine itself is unsupported.

Expand Down
2 changes: 1 addition & 1 deletion docs/en/latest/plugins/gzip.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ title: gzip

The `gzip` plugin dynamically set the gzip behavior of Nginx.

This plugin requires APISIX to run on [APISIX-OpenResty](../how-to-build.md#6-build-openresty-for-apisix).
This plugin requires APISIX to run on [APISIX-OpenResty](../how-to-build.md#step-6-build-openresty-for-apache-apisix).

## Attributes

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
4 changes: 2 additions & 2 deletions docs/zh/latest/admin-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -586,11 +586,11 @@ APISIX 的 Upstream 除了基本的负载均衡算法选择外,还支持对上

`tls.client_cert/key` 可以用来跟上游进行 mTLS 通信。
他们的格式和 SSL 对象的 `cert` 和 `key` 一样。
这个特性需要 APISIX 运行于 [APISIX-OpenResty](./how-to-build.md#6-为-apisix-构建-openresty)。
这个特性需要 APISIX 运行于 [APISIX-OpenResty](./how-to-build.md#步骤6-为-Apache-APISIX-构建-OpenResty)。

`keepalive_pool` 允许 upstream 对象有自己单独的连接池。
它下属的字段,比如 `requests`,可以用了配置上游连接保持的参数。
这个特性需要 APISIX 运行于 [APISIX-OpenResty](./how-to-build.md#6-为-apisix-构建-openresty)。
这个特性需要 APISIX 运行于 [APISIX-OpenResty](./how-to-build.md#步骤6-为-Apache-APISIX-构建-OpenResty)。

**upstream 对象 json 配置内容:**

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
4 changes: 2 additions & 2 deletions docs/zh/latest/mtls.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ curl --cacert /data/certs/mtls_ca.crt --key /data/certs/mtls_client.key --cert /

### 如何配置

你需要构建 [APISIX-Openresty](./how-to-build.md#6-为-apisix-构建-openresty),并且需要在配置文件中设定 `etcd.tls` 来使 ETCD 的双向认证功能正常工作。
你需要构建 [APISIX-Openresty](./how-to-build.md#步骤6-为-Apache-APISIX-构建-OpenResty),并且需要在配置文件中设定 `etcd.tls` 来使 ETCD 的双向认证功能正常工作。

```yaml
etcd:
Expand Down Expand Up @@ -146,7 +146,7 @@ curl --resolve 'mtls.test.com:<APISIX_HTTPS_PORT>:<APISIX_URL>' "https://<APISIX

在配置 upstream 资源时,可以使用参数 `tls.client_cert` 和 `tls.client_key` 来配置 APISIX 用于与上游进行通讯时使用的证书。可参考 [Upstream API 文档](./admin-api.md#upstream)。

该功能需要 APISIX 运行在 [APISIX-OpenResty](./how-to-build.md#6-为-apisix-构建-openresty) 上。
该功能需要 APISIX 运行在 [APISIX-OpenResty](./how-to-build.md#步骤6-为-Apache-APISIX-构建-OpenResty) 上。

下面是一个与配置 SSL 时相似的 Python 脚本,可为一个已存在的 upstream 资源配置双向认证。如果需要,可修改 API 地址和API Key。

Expand Down
2 changes: 1 addition & 1 deletion docs/zh/latest/plugins/dubbo-proxy.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ title: dubbo-proxy

## 要求

如果你正在使用 `OpenResty`, 你需要编译它来支持 `dubbo`, 参考 [如何编译](../how-to-build.md#6-build-openresty-for-apisix)。
如果你正在使用 `OpenResty`, 你需要编译它来支持 `dubbo`, 参考 [如何编译](../how-to-build.md#步骤6-为-Apache-APISIX-构建-OpenResty)。
在 `APISIX` 中为了实现使从 `http` 代理到 `dubbo`,我们在`Tengine` 的 `mod_dubbo` 基础上对 `dubbo` 模块做了改进。 所有的修改已经提交给 `Tengine`,但是还未合并到最新的 `release` 版本中(Tengine-2.3.2) 。所以目前 `Tengine` 自身是不支持此特性的。

## 运行时属性
Expand Down
Loading