Skip to content

Commit

Permalink
release: release 2.1 version. (#2887)
Browse files Browse the repository at this point in the history
  • Loading branch information
moonming authored Dec 1, 2020
1 parent 9dfe697 commit 91b7313
Show file tree
Hide file tree
Showing 8 changed files with 165 additions and 50 deletions.
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

# Table of Contents

- [2.1.0](#210)
- [2.0.0](#200)
- [1.5.0](#150)
- [1.4.1](#141)
Expand All @@ -32,6 +33,35 @@
- [0.7.0](#070)
- [0.6.0](#060)

## 2.1.0

### Core
- :sunrise: **support ENV variable in configuration.** [#2743](https://github.com/apache/apisix/pull/2743)
- :sunrise: **support TLS connection with etcd.** [#2548](https://github.com/apache/apisix/pull/2548)
- generate create/update_time automatically. [#2740](https://github.com/apache/apisix/pull/2740)
- add a deprecate log for enable_websocket in upstream.[#2691](https://github.com/apache/apisix/pull/2691)
- add a deprecate log for consumer id.[#2829](https://github.com/apache/apisix/pull/2829)
- Added `X-APISIX-Upstream-Status` header to distinguish 5xx errors from upstream or APISIX itself. [#2817](https://github.com/apache/apisix/pull/2817)
- support Nginx configuration snippet. [#2803](https://github.com/apache/apisix/pull/2803)

## Plugin
- :sunrise: **Upgrade protocol to support Apache Skywalking 8.0**[#2389](https://github.com/apache/apisix/pull/2389). So this version only supports skywalking 8.0 protocol. This plugin is disabled by default, you need to modify config.yaml to enable, which is not backward compatible.
- :sunrise: add aliyun sls logging plugin.[#2169](https://github.com/apache/apisix/issues/2169)
- proxy-cache: the cache_zone field in the schema should be optional.[#2776](https://github.com/apache/apisix/pull/2776)
- fix: validate plugin configuration in the DP [#2856](https://github.com/apache/apisix/pull/2856)

## Bugfix
- :bug: fix(etcd): handle etcd compaction.[#2687](https://github.com/apache/apisix/pull/2687)
- fix: move `conf/cert` to `t/certs` and disable ssl by default, which is not backward compatible. [#2112](https://github.com/apache/apisix/pull/2112)
- fix: check decrypt key to prevent lua thread aborted [#2815](https://github.com/apache/apisix/pull/2815)

## Not downward compatible features in future versions
-In the 2.3 release, the consumer will only support user names and discard the id. The consumer needs to manually clean up the id field in etcd, otherwise the schema verification will report an error during use
-In the 2.3 release, opening websocket on upstream will no longer be supported
-In version 3.0, the data plane and control plane will be separated into two independent ports, that is, the current port 9080 will only process data plane requests, and no longer process admin API requests

For more changes, please refer to [Milestone](https://github.com/apache/apisix/milestone/8)

## 2.0.0

This is release candidate.
Expand Down
31 changes: 31 additions & 0 deletions CHANGELOG_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

# Table of Contents

- [2.1.0](#210)
- [2.0.0](#200)
- [1.5.0](#150)
- [1.4.1](#141)
Expand All @@ -32,6 +33,36 @@
- [0.7.0](#070)
- [0.6.0](#060)


## 2.1.0

### Core
- :sunrise: **支持使用环境变量来配置参数.** [#2743](https://github.com/apache/apisix/pull/2743)
- :sunrise: **支持使用 TLS 来连接 etcd.** [#2548](https://github.com/apache/apisix/pull/2548)
- 自动生成对象的创建和更新时间. [#2740](https://github.com/apache/apisix/pull/2740)
- 在上游中开启 websocket 时,增加日志来提示此功能即将废弃.[#2691](https://github.com/apache/apisix/pull/2691)
- 增加日志来提示 consumer id 即将废弃.[#2829](https://github.com/apache/apisix/pull/2829)
- 增加 `X-APISIX-Upstream-Status` 头来区分 5xx 错误来自上游还是 APISIX 自身。[#2817](https://github.com/apache/apisix/pull/2817)
- 支持 Nginx 配置片段。[#2803](https://github.com/apache/apisix/pull/2803)

## Plugin
- :sunrise: **升级协议来 Apache Skywalking 8.0**[#2389](https://github.com/apache/apisix/pull/2389). 这个版本只支持 skywalking 8.0 协议。此插件默认关闭,需要修改 config.yaml 来开启。这是不向下兼容的修改。
- :sunrise: 新增阿里云 sls 日志服务插件。[#2169](https://github.com/apache/apisix/issues/2169)
- proxy-cache: cache_zone 字段改为可选.[#2776](https://github.com/apache/apisix/pull/2776)
- 在数据平面校验插件的配置。[#2856](https://github.com/apache/apisix/pull/2856)

## Bugfix
- :bug: fix(etcd): 处理 etcd compaction.[#2687](https://github.com/apache/apisix/pull/2687)
-`conf/cert` 中的测试证书移动到 `t/certs` 目录中,并且默认关闭 SSL。这是不向下兼容的修改。 [#2112](https://github.com/apache/apisix/pull/2112)
- 检查 decrypt key 来阻止 lua thread 中断。 [#2815](https://github.com/apache/apisix/pull/2815)

## 不向下兼容特性预告
- 在 2.3 发布版本中,consumer 将只支持用户名,废弃 id,consumer需要在 etcd 中手工清理掉 id 字段,不然使用时 schema 校验会报错
- 在 2.3 发布版本中,将不再支持在 upstream 上开启 websocket
- 在 3.0 版本中,数据平面和控制平面将分开为两个独立的端口,即现在的 9080 端口将只处理数据平面的请求,不再处理 admin API 的请求

更多的变动可以参考[里程碑](https://github.com/apache/apisix/milestone/8)

## 2.0.0

这是一个 release candidate。
Expand Down
22 changes: 5 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,8 @@ The technical architecture of Apache APISIX:
- [Features](#features)
- [Documentation](#documentation)
- [Get Started](#get-started)
- [Dashboard](#dashboard)
- [Benchmark](#benchmark)
- [Apache APISIX vs Kong](#apache-apisix-vs-kong)
- [Open Governance](#open-governance)
- [Community](#community)
- [Videos And Articles](#videos-and-articles)
- [User Stories](#user-stories)
Expand Down Expand Up @@ -134,7 +132,7 @@ A/B testing, canary release, blue-green deployment, limit rate, defense against
- Monitoring And Metrics: [Prometheus](doc/plugins/prometheus.md)
- Clustering: APISIX nodes are stateless, creates clustering of the configuration center, please refer to [etcd Clustering Guide](https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/clustering.md).
- High availability: support to configure multiple etcd addresses in the same cluster.
- Dashboard: Built-in dashboard to control APISIX.
- [Dashboard](https://github.com/apache/apisix-dashboard)
- Version Control: Supports rollbacks of operations.
- CLI: start\stop\reload APISIX through the command line.
- [Stand-alone mode](doc/stand-alone.md): Supports to load route rules from local yaml file, it is more friendly such as under the kubernetes(k8s).
Expand Down Expand Up @@ -167,10 +165,9 @@ There are several ways to install the Apache Release version of APISIX:
- Installation runtime dependencies: OpenResty and etcd, and compilation dependencies: luarocks. Refer to [install dependencies documentation](doc/install-dependencies.md)
- Download the latest source code release package:
```shell
$ mkdir apisix-2.0
$ cd apisix-2.0
$ wget https://downloads.apache.org/apisix/2.0/apache-apisix-2.0-src.tgz
$ tar zxvf apache-apisix-2.0-src.tgz
$ mkdir apisix-2.1
$ wget https://downloads.apache.org/apisix/2.1/apache-apisix-2.1-src.tgz
$ tar zxvf apache-apisix-2.1-src.tgz -C apisix-2.1
```
- Install the dependencies:
```shell
Expand Down Expand Up @@ -198,7 +195,7 @@ There are several ways to install the Apache Release version of APISIX:
- Installation runtime dependencies: OpenResty and etcd, refer to [install dependencies documentation](doc/install-dependencies.md#centos-7)
- install APISIX:
```shell
$ sudo yum install -y https://github.com/apache/apisix/releases/download/2.0/apisix-2.0-0.el7.noarch.rpm
$ sudo yum install -y https://github.com/apache/apisix/releases/download/2.1/apisix-2.1-0.el7.noarch.rpm
```
- check version of APISIX:
```shell
Expand Down Expand Up @@ -249,12 +246,6 @@ There are several ways to install the Apache Release version of APISIX:
For more documents, please refer to [Apache APISIX Document Index](doc/README.md)
## Dashboard
APISIX has built-in support for [Dashboard](https://github.com/apache/apisix-dashboard), which could be directly deployed by docker compose.
The dashboard only allows 127.0.0.1 by default, and you can modify `allow_admin` in `conf/config.yaml` by yourself, to list the list of IPs allowed to access.
## Benchmark
Using AWS's 8 core server, APISIX's QPS reach to 140,000 with a latency of only 0.2 ms.
Expand Down Expand Up @@ -303,9 +294,6 @@ Using AWS's 8 core server, APISIX's QPS reach to 140,000 with a latency of only
Benchmark comparison test [details data](https://gist.github.com/membphis/137db97a4bf64d3653aa42f3e016bd01)
## Open Governance
[GitHub milestones](https://github.com/apache/apisix/milestones) lay out the path to Apache APISIX's future improvements.
## Community
Expand Down
23 changes: 5 additions & 18 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,8 @@ Apache APISIX 的技术架构如下图所示:
- [特性](#特性)
- [文档](#文档)
- [立刻开始](#立刻开始)
- [控制台](#控制台)
- [性能测试](#性能测试)
- [Apache APISIX 和 Kong 的比较](#apache-apisix-和-kong-的比较)
- [开放治理](#开放治理)
- [社区](#社区)
- [视频和文章](#视频和文章)
- [用户实际使用案例](#用户实际使用案例)
Expand Down Expand Up @@ -132,7 +130,7 @@ A/B 测试、金丝雀发布(灰度发布)、蓝绿部署、限流限速、抵
- 监控和指标: [Prometheus](doc/zh-cn/plugins/prometheus.md)
- 集群:APISIX 节点是无状态的,创建配置中心集群请参考 [etcd Clustering Guide](https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/clustering.md)
- 高可用:支持配置同一个集群内的多个 etcd 地址。
- 控制台: 内置控制台来操作 APISIX 集群。
- [控制台](https://github.com/apache/apisix-dashboard): 操作 APISIX 集群。
- 版本控制:支持操作的多次回滚。
- CLI: 使用命令行来启动、关闭和重启 APISIX。
- [单机模式](doc/zh-cn/stand-alone.md): 支持从本地配置文件中加载路由规则,在 kubernetes(k8s) 等环境下更友好。
Expand Down Expand Up @@ -165,10 +163,9 @@ CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, **ARM64** Ubun
- 安装运行时依赖:OpenResty 和 etcd,以及编译的依赖:luarocks。参考[依赖安装文档](doc/zh-cn/install-dependencies.md)
- 下载最新的源码发布包:
```shell
$ mkdir apisix-2.0
$ cd apisix-2.0
$ wget https://downloads.apache.org/apisix/2.0/apache-apisix-2.0-src.tgz
$ tar zxvf apache-apisix-2.0-src.tgz
$ mkdir apisix-2.1
$ wget https://downloads.apache.org/apisix/2.1/apache-apisix-2.1-src.tgz
$ tar zxvf apache-apisix-2.1-src.tgz -C apisix-2.1
```
- 安装运行时依赖的 Lua 库:
```shell
Expand Down Expand Up @@ -196,7 +193,7 @@ CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, **ARM64** Ubun
- 安装依赖:OpenResty 和 etcd,参考[依赖安装文档](doc/zh-cn/install-dependencies.md#centos-7)
- 安装 APISIX:
```shell
$ sudo yum install -y https://github.com/apache/apisix/releases/download/2.0/apisix-2.0-0.el7.noarch.rpm
$ sudo yum install -y https://github.com/apache/apisix/releases/download/2.1/apisix-2.1-0.el7.noarch.rpm
```
- 检查 APISIX 的版本号:
```shell
Expand Down Expand Up @@ -247,13 +244,6 @@ CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, **ARM64** Ubun

更多文档请参考 [Apache APISIX 文档索引](doc/zh-cn/README.md)。

## 控制台

APISIX 提供了 [Dashboard 项目](https://github.com/apache/apisix-dashboard),
可以使用 docker compose 直接部署和体验。

Dashboard 默认只允许 127.0.0.1 访问。你可以自行修改 `conf/config.yaml` 中的 `allow_admin` 字段,指定允许访问 dashboard 的 IP 列表。

## 性能测试

使用 AWS 的 8 核心服务器来压测 APISIX,QPS 可以达到 140000,同时延时只有 0.2 毫秒。
Expand Down Expand Up @@ -302,9 +292,6 @@ Dashboard 默认只允许 127.0.0.1 访问。你可以自行修改 `conf/config.

性能对比测试[详细内容如下](https://gist.github.com/membphis/137db97a4bf64d3653aa42f3e016bd01)。

## 开放治理

[GitHub 里程碑](https://github.com/apache/apisix/milestones) 布局了 Apache APISIX 未来的改进之路。

## 社区

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.0"
VERSION = "2.1"
}
15 changes: 8 additions & 7 deletions doc/how-to-build.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,21 +34,22 @@ You can install Apache APISIX in a variety of ways, including source code packag
You need to download the Apache source release first:

```shell
wget http://www.apache.org/dist/apisix/2.0/apache-apisix-2.0-src.tar.gz
tar zxvf apache-apisix-2.0-src.tar.gz
$ mkdir apisix-2.1
$ wget https://downloads.apache.org/apisix/2.1/apache-apisix-2.1-src.tgz
$ tar zxvf apache-apisix-2.1-src.tgz -C apisix-2.1
```

Install the Lua libraries that the runtime depends on:

```shell
cd apache-apisix-2.0
cd apache-apisix-2.1
make deps
```

### Installation via RPM package (CentOS 7)

```shell
sudo yum install -y https://github.com/apache/apisix/releases/download/2.0/apisix-2.0-0.el7.noarch.rpm
sudo yum install -y https://github.com/apache/apisix/releases/download/2.1/apisix-2.1-0.el7.noarch.rpm
```

### Installation via Luarocks (macOS not supported)
Expand All @@ -64,11 +65,11 @@ sudo sh -c "$(curl -fsSL https://raw.githubusercontent.com/apache/apisix/master/
> Install the specified version via Luarocks:
```shell
# Install version 2.0
sudo luarocks install --lua-dir=/path/openresty/luajit apisix 2.0
# Install version 2.1
sudo luarocks install --lua-dir=/path/openresty/luajit apisix 2.1

# old luarocks not support the `lua-dir` parameter, you can remove this option
sudo luarocks install apisix 2.0
sudo luarocks install apisix 2.1
```

## 3. Manage (start/stop) APISIX Server
Expand Down
15 changes: 8 additions & 7 deletions doc/zh-cn/how-to-build.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,20 +34,21 @@ Apache APISIX 的运行环境需要 Nginx 和 etcd,
你需要先下载 Apache Release 源码包:

```shell
wget http://www.apache.org/dist/apisix/2.0/apache-apisix-2.0-src.tar.gz
tar zxvf apache-apisix-2.0-src.tar.gz
$ mkdir apisix-2.1
$ wget https://downloads.apache.org/apisix/2.1/apache-apisix-2.1-src.tgz
$ tar zxvf apache-apisix-2.1-src.tgz -C apisix-2.1
```

安装运行时依赖的 Lua 库:
```
cd apache-apisix-2.0
cd apache-apisix-2.1
make deps
```

### 通过 RPM 包安装(CentOS 7)

```shell
sudo yum install -y https://github.com/apache/apisix/releases/download/2.0/apisix-2.0-0.el7.noarch.rpm
sudo yum install -y https://github.com/apache/apisix/releases/download/2.1/apisix-2.1-0.el7.noarch.rpm
```

### 通过 Luarocks 安装 (不支持 macOS)
Expand All @@ -63,11 +64,11 @@ sudo sh -c "$(curl -fsSL https://raw.githubusercontent.com/apache/apisix/master/
> 通过 Luarocks 安装指定的版本:
```shell
# 安装 apisix 的 2.0 版本
sudo luarocks install --lua-dir=/path/openresty/luajit apisix 2.0
# 安装 apisix 的 2.1 版本
sudo luarocks install --lua-dir=/path/openresty/luajit apisix 2.1

# 老版本 luarocks 可能不支持 `lua-dir` 参数,可以删除该选项
sudo luarocks install apisix 2.0
sudo luarocks install apisix 2.1
```

## 3. 管理(启动、关闭等)APISIX 服务
Expand Down
77 changes: 77 additions & 0 deletions rockspec/apisix-2.1-0.rockspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
--
-- 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.1-0"
supported_platforms = {"linux", "macosx"}

source = {
url = "git://github.com/apache/apisix",
tag = "2.1",
}

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-template = 1.9",
"lua-resty-etcd = 1.4.2",
"lua-resty-balancer = 0.02rc5",
"lua-resty-ngxvar = 0.5",
"lua-resty-jit-uuid = 0.0.7",
"lua-resty-healthcheck-api7 = 2.2.0",
"lua-resty-jwt = 0.2.0",
"lua-resty-cookie = 0.1.0",
"lua-resty-session = 2.24",
"opentracing-openresty = 0.1",
"lua-resty-radixtree = 2.4",
"lua-protobuf = 0.3.1",
"lua-resty-openidc = 1.7.2-1",
"luafilesystem = 1.7.0-2",
"lua-tinyyaml = 1.0",
"lua-resty-prometheus = 1.1",
"jsonschema = 0.9.2",
"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",
"dkjson = 2.5-2",
"resty-redis-cluster = 1.02-4",
}

build = {
type = "make",
build_variables = {
CFLAGS="$(CFLAGS)",
LIBFLAG="$(LIBFLAG)",
LUA_LIBDIR="$(LUA_LIBDIR)",
LUA_BINDIR="$(LUA_BINDIR)",
LUA_INCDIR="$(LUA_INCDIR)",
LUA="$(LUA)",
},
install_variables = {
INST_PREFIX="$(PREFIX)",
INST_BINDIR="$(BINDIR)",
INST_LIBDIR="$(LIBDIR)",
INST_LUADIR="$(LUADIR)",
INST_CONFDIR="$(CONFDIR)",
},
}

0 comments on commit 91b7313

Please sign in to comment.