feat: release 2.4
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
diff --git a/.gitignore b/.gitignore
index f94b319..691ed4e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -74,3 +74,4 @@
/build-cache/
# release tar package
*.tgz
+release/*
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6b43fba..979ad79 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -23,6 +23,7 @@
## Table of Contents
+- [2.4.0](#240)
- [2.3.0](#230)
- [2.2.0](#220)
- [2.1.0](#210)
@@ -39,6 +40,36 @@
- [0.7.0](#070)
- [0.6.0](#060)
+## 2.4.0
+
+### Change
+
+- change: global rules should not be executed on the internal api by default [#3396](https://github.com/apache/apisix/pull/3396)
+- change: default to cache DNS record according to the TTL [#3530](https://github.com/apache/apisix/pull/3530)
+
+### Core
+
+- :sunrise: feat: support SRV record [#3686](https://github.com/apache/apisix/pull/3686)
+- :sunrise: feat: add dns discovery [#3629](https://github.com/apache/apisix/pull/3629)
+- :sunrise: feat: add consul kv discovery module [#3615](https://github.com/apache/apisix/pull/3615)
+- :sunrise: feat: support to bind plugin config by `plugin_config_id` [#3567](https://github.com/apache/apisix/pull/3567)
+- :sunrise: feat: support listen http2 with plaintext [#3547](https://github.com/apache/apisix/pull/3547)
+- :sunrise: feat: support DNS AAAA record [#3484](https://github.com/apache/apisix/pull/3484)
+
+### Plugin
+
+- :sunrise: feat: the traffic-split plugin supports upstream_id [#3512](https://github.com/apache/apisix/pull/3512)
+- :sunrise: feat(zipkin): support b3 req header [#3551](https://github.com/apache/apisix/pull/3551)
+
+### Bugfix
+
+- fix(chash): ensure retry can try every node [#3651](https://github.com/apache/apisix/pull/3651)
+- fix: script does not work when the route is bound to a service [#3678](https://github.com/apache/apisix/pull/3678)
+- fix: use openssl111 in openresty dir in precedence [#3603](https://github.com/apache/apisix/pull/3603)
+- fix(zipkin): don't cache the per-req sample ratio [#3522](https://github.com/apache/apisix/pull/3522)
+
+For more changes, please refer to [Milestone](https://github.com/apache/apisix/milestone/13)
+
## 2.3.0
### Change
diff --git a/README.md b/README.md
index 4fe3916..92339f6 100644
--- a/README.md
+++ b/README.md
@@ -153,9 +153,9 @@
- Download the latest source code release package:
```shell
- $ mkdir apisix-2.3
- $ wget https://downloads.apache.org/apisix/2.3/apache-apisix-2.3-src.tgz
- $ tar zxvf apache-apisix-2.3-src.tgz -C apisix-2.3
+ $ mkdir apisix-2.4
+ $ wget https://downloads.apache.org/apisix/2.4/apache-apisix-2.4-src.tgz
+ $ tar zxvf apache-apisix-2.4-src.tgz -C apisix-2.4
```
- Install the dependencies:
@@ -192,7 +192,7 @@
- install APISIX:
```shell
- $ sudo yum install -y https://github.com/apache/apisix/releases/download/2.3/apisix-2.3-0.x86_64.rpm
+ $ sudo yum install -y https://github.com/apache/apisix/releases/download/2.4/apisix-2.4-0.x86_64.rpm
```
- check version of APISIX:
diff --git a/apisix/core/version.lua b/apisix/core/version.lua
index e419532..8c93638 100644
--- a/apisix/core/version.lua
+++ b/apisix/core/version.lua
@@ -15,5 +15,5 @@
-- limitations under the License.
--
return {
- VERSION = "2.3"
+ VERSION = "2.4"
}
diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json
index e217436..1527ab9 100644
--- a/docs/en/latest/config.json
+++ b/docs/en/latest/config.json
@@ -1,5 +1,5 @@
{
- "version": 2.3,
+ "version": 2.4,
"sidebar": [
{
"type": "doc",
diff --git a/docs/en/latest/how-to-build.md b/docs/en/latest/how-to-build.md
index 4049347..2133f73 100644
--- a/docs/en/latest/how-to-build.md
+++ b/docs/en/latest/how-to-build.md
@@ -36,22 +36,22 @@
You need to download the Apache source release first:
```shell
-$ mkdir apisix-2.3
-$ wget https://downloads.apache.org/apisix/2.3/apache-apisix-2.3-src.tgz
-$ tar zxvf apache-apisix-2.3-src.tgz -C apisix-2.3
+$ mkdir apisix-2.4
+$ wget https://downloads.apache.org/apisix/2.4/apache-apisix-2.4-src.tgz
+$ tar zxvf apache-apisix-2.4-src.tgz -C apisix-2.4
```
Install the Lua libraries that the runtime depends on:
```shell
-cd apache-apisix-2.3
+cd apache-apisix-2.4
make deps
```
### Installation via RPM package (CentOS 7)
```shell
-sudo yum install -y https://github.com/apache/apisix/releases/download/2.3/apisix-2.3-0.x86_64.rpm
+sudo yum install -y https://github.com/apache/apisix/releases/download/2.4/apisix-2.4-0.x86_64.rpm
```
### Installation via Luarocks (macOS not supported)
@@ -67,11 +67,11 @@
> Install the specified version via Luarocks:
```shell
-# Install version 2.3
-sudo luarocks install --lua-dir=/path/openresty/luajit apisix 2.3
+# Install version 2.4
+sudo luarocks install --lua-dir=/path/openresty/luajit apisix 2.4
# old luarocks not support the `lua-dir` parameter, you can remove this option
-sudo luarocks install apisix 2.3
+sudo luarocks install apisix 2.4
```
## 3. Manage (start/stop) APISIX Server
diff --git a/docs/es/latest/README.md b/docs/es/latest/README.md
index 78a6cea..0e19a21 100644
--- a/docs/es/latest/README.md
+++ b/docs/es/latest/README.md
@@ -155,9 +155,9 @@
- Bajar el paquete de publicación más reciente de código fuente:
```shell
- $ mkdir apisix-2.3
- $ wget https://downloads.apache.org/apisix/2.3/apache-apisix-2.3-src.tgz
- $ tar zxvf apache-apisix-2.3-src.tgz -C apisix-2.3
+ $ mkdir apisix-2.4
+ $ wget https://downloads.apache.org/apisix/2.4/apache-apisix-2.4-src.tgz
+ $ tar zxvf apache-apisix-2.4-src.tgz -C apisix-2.4
```
- Instalar las dependencias:
@@ -194,7 +194,7 @@
- Instalar APISIX:
```shell
- $ sudo yum install -y https://github.com/apache/apisix/releases/download/2.3/apisix-2.3-0.x86_64.rpm
+ $ sudo yum install -y https://github.com/apache/apisix/releases/download/2.4/apisix-2.4-0.x86_64.rpm
```
- Chequear versión de APISIX:
diff --git a/docs/es/latest/config.json b/docs/es/latest/config.json
index 4c17056..76fd7d3 100644
--- a/docs/es/latest/config.json
+++ b/docs/es/latest/config.json
@@ -1,4 +1,4 @@
{
- "version": 2.3,
+ "version": 2.4,
"sidebar": []
}
diff --git a/docs/zh/latest/CHANGELOG.md b/docs/zh/latest/CHANGELOG.md
index 85fa8a3..e6c626c 100644
--- a/docs/zh/latest/CHANGELOG.md
+++ b/docs/zh/latest/CHANGELOG.md
@@ -23,6 +23,7 @@
## Table of Contents
+- [2.4.0](#240)
- [2.3.0](#230)
- [2.2.0](#220)
- [2.1.0](#210)
@@ -39,6 +40,36 @@
- [0.7.0](#070)
- [0.6.0](#060)
+## 2.4.0
+
+### Change
+
+- 插件暴露的公共 API 将默认不再执行全局插件 [#3396](https://github.com/apache/apisix/pull/3396)
+- DNS 记录缓存时间默认按 TTL 设置 [#3530](https://github.com/apache/apisix/pull/3530)
+
+### Core
+
+- :sunrise: 支持 DNS SRV 记录 [#3686](https://github.com/apache/apisix/pull/3686)
+- :sunrise: 新的 DNS 服务发现模块 [#3629](https://github.com/apache/apisix/pull/3629)
+- :sunrise: 支持 Consul HTTP 接口服务发现模块 [#3615](https://github.com/apache/apisix/pull/3615)
+- :sunrise: 支持插件复用 [#3567](https://github.com/apache/apisix/pull/3567)
+- :sunrise: 支持 plaintext HTTP2 [#3547](https://github.com/apache/apisix/pull/3547)
+- :sunrise: 支持 DNS AAAA 记录 [#3484](https://github.com/apache/apisix/pull/3484)
+
+### Plugin
+
+- :sunrise: traffic-split 插件支持 upstream_id [#3512](https://github.com/apache/apisix/pull/3512)
+- :sunrise: zipkin 插件 b3 请求头 [#3551](https://github.com/apache/apisix/pull/3551)
+
+### Bugfix
+
+- 一致性 hash 负载均衡确保重试所有节点 [#3651](https://github.com/apache/apisix/pull/3651)
+- 当 route 绑定 service 后仍能执行 script [#3678](https://github.com/apache/apisix/pull/3678)
+- 应当依赖 openssl111 [#3603](https://github.com/apache/apisix/pull/3603)
+- zipkin 避免缓存请求特定的数据 [#3522](https://github.com/apache/apisix/pull/3522)
+
+更多的变动可以参考[里程碑](https://github.com/apache/apisix/milestone/13)
+
## 2.3.0
### Change
diff --git a/docs/zh/latest/README.md b/docs/zh/latest/README.md
index e8a6a44..e3b6fc0 100644
--- a/docs/zh/latest/README.md
+++ b/docs/zh/latest/README.md
@@ -153,9 +153,9 @@
- 下载最新的源码发布包:
```shell
- $ mkdir apisix-2.3
- $ wget https://downloads.apache.org/apisix/2.3/apache-apisix-2.3-src.tgz
- $ tar zxvf apache-apisix-2.3-src.tgz -C apisix-2.3
+ $ mkdir apisix-2.4
+ $ wget https://downloads.apache.org/apisix/2.4/apache-apisix-2.4-src.tgz
+ $ tar zxvf apache-apisix-2.4-src.tgz -C apisix-2.4
```
- 安装运行时依赖的 Lua 库:
@@ -192,7 +192,7 @@
- 安装 APISIX:
```shell
- $ sudo yum install -y https://github.com/apache/apisix/releases/download/2.3/apisix-2.3-0.x86_64.rpm
+ $ sudo yum install -y https://github.com/apache/apisix/releases/download/2.4/apisix-2.4-0.x86_64.rpm
```
- 检查 APISIX 的版本号:
diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json
index 8300073..cb3784e 100644
--- a/docs/zh/latest/config.json
+++ b/docs/zh/latest/config.json
@@ -1,5 +1,5 @@
{
- "version": 2.3,
+ "version": 2.4,
"sidebar": [
{
"type": "doc",
diff --git a/docs/zh/latest/how-to-build.md b/docs/zh/latest/how-to-build.md
index 550ccdc..03e5ab5 100644
--- a/docs/zh/latest/how-to-build.md
+++ b/docs/zh/latest/how-to-build.md
@@ -36,22 +36,22 @@
你需要先下载 Apache Release 源码包:
```shell
-$ mkdir apisix-2.3
-$ wget https://downloads.apache.org/apisix/2.3/apache-apisix-2.3-src.tgz
-$ tar zxvf apache-apisix-2.3-src.tgz -C apisix-2.3
+$ mkdir apisix-2.4
+$ wget https://downloads.apache.org/apisix/2.4/apache-apisix-2.4-src.tgz
+$ tar zxvf apache-apisix-2.4-src.tgz -C apisix-2.4
```
安装运行时依赖的 Lua 库:
```
-cd apache-apisix-2.3
+cd apache-apisix-2.4
make deps
```
### 通过 RPM 包安装(CentOS 7)
```shell
-sudo yum install -y https://github.com/apache/apisix/releases/download/2.3/apisix-2.3-0.x86_64.rpm
+sudo yum install -y https://github.com/apache/apisix/releases/download/2.4/apisix-2.4-0.x86_64.rpm
```
### 通过 Luarocks 安装 (不支持 macOS)
@@ -67,11 +67,11 @@
> 通过 Luarocks 安装指定的版本:
```shell
-# 安装 apisix 的 2.3 版本
-sudo luarocks install --lua-dir=/path/openresty/luajit apisix 2.3
+# 安装 apisix 的 2.4 版本
+sudo luarocks install --lua-dir=/path/openresty/luajit apisix 2.4
# 老版本 luarocks 可能不支持 `lua-dir` 参数,可以删除该选项
-sudo luarocks install apisix 2.3
+sudo luarocks install apisix 2.4
```
## 3. 管理(启动、关闭等)APISIX 服务
diff --git a/rockspec/apisix-2.4-0.rockspec b/rockspec/apisix-2.4-0.rockspec
new file mode 100644
index 0000000..60ce439
--- /dev/null
+++ b/rockspec/apisix-2.4-0.rockspec
@@ -0,0 +1,90 @@
+--
+-- 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.4-0"
+supported_platforms = {"linux", "macosx"}
+
+source = {
+ url = "git://github.com/apache/apisix",
+ branch = "2.4",
+}
+
+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 = 1.9",
+ "lua-resty-etcd = 1.4.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.6.1",
+ "lua-protobuf = 0.3.1",
+ "lua-resty-openidc = 1.7.2-1",
+ "luafilesystem = 1.7.0-2",
+ "lua-tinyyaml = 1.0",
+ "nginx-lua-prometheus = 0.20201218",
+ "jsonschema = 0.9.3",
+ "lua-resty-ipmatcher = 0.6",
+ "lua-resty-kafka = 0.07",
+ "lua-resty-logger-socket = 2.0-0",
+ "skywalking-nginx-lua = 0.3-0",
+ "base64 = 1.5-2",
+ "binaryheap = 0.4",
+ "dkjson = 2.5-2",
+ "resty-redis-cluster = 1.02-4",
+ "lua-resty-expr = 1.1.0",
+ "graphql = 0.0.2",
+ "argparse = 0.7.1-1",
+ "luasocket = 3.0rc1-2",
+ "luasec = 0.9-1",
+ "lua-resty-consul = 0.3-2",
+}
+
+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)",
+ },
+}
+