This is an automated email from the ASF dual-hosted git repository.

wenming pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-apisix.git


The following commit(s) were added to refs/heads/master by this push:
     new 03b2ffa  release: the first Apache release of APISIX. (#896)
03b2ffa is described below

commit 03b2ffa1c1c5734609f6dfd99a8a153bc7020a3f
Author: WenMing <moonbingb...@gmail.com>
AuthorDate: Mon Nov 25 13:09:32 2019 +0800

    release: the first Apache release of APISIX. (#896)
---
 CHANGELOG.md                                       |  29 ++--
 CHANGELOG_CN.md                                    |  29 ++--
 CODE_OF_CONDUCT.md                                 |  95 -------------
 Makefile                                           |  35 ++---
 README.md                                          | 154 +++++----------------
 README_CN.md                                       | 134 ++++--------------
 dashboard                                          |   1 -
 doc/README.md                                      |  12 +-
 doc/README_CN.md                                   |   3 +-
 doc/{dev-manual-cn.md => how-to-build-cn.md}       |  90 +++++-------
 doc/{dev-manual.md => how-to-build.md}             |  88 +++++-------
 doc/images/cncf-landscope.jpg                      | Bin 271344 -> 0 bytes
 doc/images/plugin/jwt-auth-1.png                   | Bin 45338 -> 38204 bytes
 doc/images/plugin/jwt-auth-2.png                   | Bin 77545 -> 227769 bytes
 doc/images/plugin/key-auth-1.png                   | Bin 45338 -> 37526 bytes
 doc/images/plugin/key-auth-2.png                   | Bin 65698 -> 182157 bytes
 doc/images/plugin/limit-conn-1.png                 | Bin 65883 -> 72052 bytes
 doc/images/plugin/limit-conn-2.png                 | Bin 96260 -> 325773 bytes
 doc/images/plugin/limit-count-1.png                | Bin 142664 -> 74547 bytes
 doc/images/plugin/limit-count-2.png                | Bin 126497 -> 119480 bytes
 doc/images/plugin/limit-req-1.png                  | Bin 66804 -> 70315 bytes
 doc/images/plugin/limit-req-2.png                  | Bin 91552 -> 289197 bytes
 doc/images/plugin/prometheus-1.png                 | Bin 64314 -> 67980 bytes
 doc/images/plugin/prometheus-2.png                 | Bin 83369 -> 237119 bytes
 doc/images/plugin/zipkin-1.jpg                     | Bin 272972 -> 247284 bytes
 doc/images/plugin/zipkin-1.png                     | Bin 69668 -> 77813 bytes
 doc/images/plugin/zipkin-2.jpg                     | Bin 168128 -> 117181 bytes
 doc/images/plugin/zipkin-2.png                     | Bin 89437 -> 277580 bytes
 doc/images/user-wall.jpg                           | Bin 187855 -> 0 bytes
 doc/install-dependencies.md                        |  10 +-
 doc/powered-by.md                                  |   2 +-
 ...isix-0.9-rc1.rockspec => apisix-0.9-0.rockspec} |   5 +-
 32 files changed, 201 insertions(+), 486 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 851eba9..fc4cc9c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,14 +19,13 @@
 
 # Table of Contents
 
-- [0.9.0-RC1](#090-rc1)
+- [0.9.0](#090)
 - [0.8.0](#080)
 - [0.7.0](#070)
 - [0.6.0](#060)
 
 
-## 0.9.0-RC1
-> Released on 2019/11/11
+## 0.9.0
 
 This release brings many new features, such as support for running APISIX with 
Tengine,
 an advanced debugging mode that is more developer friendly, and a new URI 
redirection plugin.
@@ -39,24 +38,24 @@ an advanced debugging mode that is more developer friendly, 
and a new URI redire
 - Removed router R3 [#725](https://github.com/apache/incubator-apisix/pull/725)
 
 ### Plugins
-- [Redirect 
URI](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/redirect.md):【New
 Plugin】Redirect URI plugin. 
[#732](https://github.com/apache/incubator-apisix/pull/732)
-- [Proxy 
Rewrite](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/proxy-rewrite.md):【New
 Feature】Supported remove `header` feature. 
[#658](https://github.com/apache/incubator-apisix/pull/658)
-- [Limit 
Count](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/limit-count.md):【New
 Feature】Supported global limit count with `Redis 
Server`.[#624](https://github.com/apache/incubator-apisix/pull/624)
+- [Redirect 
URI](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/redirect.md):
 Redirect URI plugin. 
[#732](https://github.com/apache/incubator-apisix/pull/732)
+- [Proxy 
Rewrite](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/proxy-rewrite.md):
 Supported remove `header` feature. 
[#658](https://github.com/apache/incubator-apisix/pull/658)
+- [Limit 
Count](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/limit-count.md):
 Supported global limit count with `Redis 
Server`.[#624](https://github.com/apache/incubator-apisix/pull/624)
 
 ### lua-resty-*
 - lua-resty-radixtree
-    - 【New Feature】Support for `host + uri` as an index.
+    - Support for `host + uri` as an index.
 - lua-resty-jsonschema
-    - 【New Plugin】This extension is a JSON data validator that replaces the 
existing `lua-rapidjson` extension.
+    - This extension is a JSON data validator that replaces the existing 
`lua-rapidjson` extension.
 
 ### Bugfix
-- 【Bug】key-auth plugin cannot run accurately in the case of multiple 
consumers. [#826](https://github.com/apache/incubator-apisix/pull/826)
-- 【Bug】Exported schema for plugin serverless. 
[#787](https://github.com/apache/incubator-apisix/pull/787)
-- 【Bug】Discard args of uri when using proxy-write plugin 
[#642](https://github.com/apache/incubator-apisix/pull/642)
-- 【Bug】Zipkin plugin not set tracing data to request header. 
[#715](https://github.com/apache/incubator-apisix/pull/715)
-- 【Optimization】Skipped check cjson for luajit environment in apisix CLI. 
[#652](https://github.com/apache/incubator-apisix/pull/652)
-- 【Optimization】Skipped to init etcd if use local file as config center. 
[#737](https://github.com/apache/incubator-apisix/pull/737)
-- 【Optimization】Support more built-in parameters when set chash balancer. 
[#775](https://github.com/apache/incubator-apisix/pull/775)
+- key-auth plugin cannot run accurately in the case of multiple consumers. 
[#826](https://github.com/apache/incubator-apisix/pull/826)
+- Exported schema for plugin serverless. 
[#787](https://github.com/apache/incubator-apisix/pull/787)
+- Discard args of uri when using proxy-write plugin 
[#642](https://github.com/apache/incubator-apisix/pull/642)
+- Zipkin plugin not set tracing data to request header. 
[#715](https://github.com/apache/incubator-apisix/pull/715)
+- Skipped check cjson for luajit environment in apisix CLI. 
[#652](https://github.com/apache/incubator-apisix/pull/652)
+- Skipped to init etcd if use local file as config center. 
[#737](https://github.com/apache/incubator-apisix/pull/737)
+- Support more built-in parameters when set chash balancer. 
[#775](https://github.com/apache/incubator-apisix/pull/775)
 
 ### Dependencies
 - Replace the `lua-rapidjson` module with `lua-resty-jsonschema` global,  
`lua-resty-jsonschema` is faster and easier to compile.
diff --git a/CHANGELOG_CN.md b/CHANGELOG_CN.md
index 8a32bc3..aaa8745 100644
--- a/CHANGELOG_CN.md
+++ b/CHANGELOG_CN.md
@@ -19,14 +19,13 @@
 
 # Table of Contents
 
-- [0.9.0-RC1](#090-rc1)
+- [0.9.0](#090)
 - [0.8.0](#080)
 - [0.7.0](#070)
 - [0.6.0](#060)
 
 
-## 0.9.0-RC1
-> Released on 2019/11/11
+## 0.9.0
 
 这个版本带来很多新特性,比如支持使用 Tengine 运行 APISIX,增加了对开发人员更友好的高级调试模式,还有新的URI重定向插件等。
 
@@ -39,24 +38,24 @@
 
 
 ### Plugins
-- :sunrise: **[Redirect 
URI](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/redirect.md)**:【新插件】URI
 重定向插件。 [#732](https://github.com/apache/incubator-apisix/pull/732)
-- [Proxy 
Rewrite](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/proxy-rewrite.md):【新增功能】支持
 `header` 删除功能。 [#658](https://github.com/apache/incubator-apisix/pull/658)
-- [Limit 
Count](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/limit-count.md):【新增功能】通过
 `Redis Server` 聚合 `APISIX` 
节点之间将共享流量限速结果,实现集群流量限速。[#624](https://github.com/apache/incubator-apisix/pull/624)
+- :sunrise: **[Redirect 
URI](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/redirect.md)**:
 URI 重定向插件。 [#732](https://github.com/apache/incubator-apisix/pull/732)
+- [Proxy 
Rewrite](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/proxy-rewrite.md):支持
 `header` 删除功能。 [#658](https://github.com/apache/incubator-apisix/pull/658)
+- [Limit 
Count](https://github.com/apache/incubator-apisix/blob/master/doc/plugins/limit-count.md):
 通过 `Redis Server` 聚合 `APISIX` 
节点之间将共享流量限速结果,实现集群流量限速。[#624](https://github.com/apache/incubator-apisix/pull/624)
 
 ### lua-resty-*
 - lua-resty-radixtree
-    - 【新增功能】支持将`host + uri`作为索引。
+    - 支持将`host + uri`作为索引。
 - lua-resty-jsonschema
-    - 【新增扩展】该扩展作用是JSON数据验证器,用于替换现有的 `lua-rapidjson` 扩展。
+    - 该扩展作用是JSON数据验证器,用于替换现有的 `lua-rapidjson` 扩展。
 
 ### Bugfix
-- 【问题】在多个使用者的情况下,`key-auth` 插件无法正确运行。 
[#826](https://github.com/apache/incubator-apisix/pull/826)
-- 【问题】无法在 `API Server` 中获取 `serverless`插件配置。 
[#787](https://github.com/apache/incubator-apisix/pull/787)
-- 【问题】解决使用 `proxy-write` 重写URI时GET参数丢失问题。 
[#642](https://github.com/apache/incubator-apisix/pull/642)
-- 【问题】`Zipkin` 插件未将跟踪数据设置为请求头. 
[#715](https://github.com/apache/incubator-apisix/pull/715)
-- 【优化】使用本地文件作为配置中心时,跳过 etcd 初始化。 
[#737](https://github.com/apache/incubator-apisix/pull/737)
-- 【优化】在APISIX CLI中跳过 luajit 环境的`check 
cjson`。[#652](https://github.com/apache/incubator-apisix/pull/652)
-- 【优化】配置 `Upstream` 时,选择 `balancer` 类型为 `chash` 时,支持更多Nginx内置变量作为计算key。 
[#775](https://github.com/apache/incubator-apisix/pull/775)
+- 在多个使用者的情况下,`key-auth` 插件无法正确运行。 
[#826](https://github.com/apache/incubator-apisix/pull/826)
+- 无法在 `API Server` 中获取 `serverless`插件配置。 
[#787](https://github.com/apache/incubator-apisix/pull/787)
+- 解决使用 `proxy-write` 重写URI时GET参数丢失问题。 
[#642](https://github.com/apache/incubator-apisix/pull/642)
+- `Zipkin` 插件未将跟踪数据设置为请求头. 
[#715](https://github.com/apache/incubator-apisix/pull/715)
+- 使用本地文件作为配置中心时,跳过 etcd 初始化。 
[#737](https://github.com/apache/incubator-apisix/pull/737)
+- 在APISIX CLI中跳过 luajit 环境的`check 
cjson`。[#652](https://github.com/apache/incubator-apisix/pull/652)
+- 配置 `Upstream` 时,选择 `balancer` 类型为 `chash` 时,支持更多Nginx内置变量作为计算key。 
[#775](https://github.com/apache/incubator-apisix/pull/775)
 
 
 ### Dependencies
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
deleted file mode 100644
index 707b36f..0000000
--- a/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,95 +0,0 @@
-<!--
-#
-# 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.
-#
--->
-
-# Contributor Covenant Code of Conduct
-
-## Our Pledge
-
-In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
-our community a harassment-free experience for everyone, regardless of age, 
body
-size, disability, ethnicity, sex characteristics, gender identity and 
expression,
-level of experience, education, socio-economic status, nationality, personal
-appearance, race, religion, or sexual identity and orientation.
-
-## Our Standards
-
-Examples of behavior that contributes to creating a positive environment
-include:
-
-* Using welcoming and inclusive language
-* Being respectful of differing viewpoints and experiences
-* Gracefully accepting constructive criticism
-* Focusing on what is best for the community
-* Showing empathy towards other community members
-
-Examples of unacceptable behavior by participants include:
-
-* The use of sexualized language or imagery and unwelcome sexual attention or
- advances
-* Trolling, insulting/derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or electronic
- address, without explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
- professional setting
-
-## Our Responsibilities
-
-Project maintainers are responsible for clarifying the standards of acceptable
-behavior and are expected to take appropriate and fair corrective action in
-response to any instances of unacceptable behavior.
-
-Project maintainers have the right and responsibility to remove, edit, or
-reject comments, commits, code, wiki edits, issues, and other contributions
-that are not aligned to this Code of Conduct, or to ban temporarily or
-permanently any contributor for other behaviors that they deem inappropriate,
-threatening, offensive, or harmful.
-
-## Scope
-
-This Code of Conduct applies both within project spaces and in public spaces
-when an individual is representing the project or its community. Examples of
-representing a project or community include using an official project e-mail
-address, posting via an official social media account, or acting as an 
appointed
-representative at an online or offline event. Representation of a project may 
be
-further defined and clarified by project maintainers.
-
-## Enforcement
-
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team at moonbingb...@gmail.com. All
-complaints will be reviewed and investigated and will result in a response that
-is deemed necessary and appropriate to the circumstances. The project team is
-obligated to maintain confidentiality with regard to the reporter of an 
incident.
-Further details of specific enforcement policies may be posted separately.
-
-Project maintainers who do not follow or enforce the Code of Conduct in good
-faith may face temporary or permanent repercussions as determined by other
-members of the project's leadership.
-
-## Attribution
-
-This Code of Conduct is adapted from the [Contributor Covenant][homepage], 
version 1.4,
-available at 
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
-
-[homepage]: https://www.contributor-covenant.org
-
-For answers to common questions about this code of conduct, see
-https://www.contributor-covenant.org/faq
diff --git a/Makefile b/Makefile
index 8112520..f5ae8e0 100644
--- a/Makefile
+++ b/Makefile
@@ -22,12 +22,15 @@ INST_BINDIR ?= /usr/bin
 INSTALL ?= install
 UNAME ?= $(shell uname)
 OR_EXEC ?= $(shell which openresty)
-LUA_JIT_DIR ?= $(shell ${OR_EXEC} -V 2>&1 | grep prefix | grep -Eo 
'prefix=(.*?)/nginx' | grep -Eo '/.*/')luajit
 LUAROCKS_VER ?= $(shell luarocks --version | grep -E -o  "luarocks [0-9]+.")
 
 
 .PHONY: default
 default:
+ifeq ($(OR_EXEC), )
+       @echo "OpenResty not found. You have to install OpenResty and add the 
binary file to PATH before install Apache APISIX."
+       exit 1
+endif
 
 
 ### help:             Show Makefile rules.
@@ -40,17 +43,17 @@ help:
 
 ### deps:             Installation dependencies
 .PHONY: deps
-deps:
+deps: default
 ifeq ($(UNAME),Darwin)
-       luarocks install --lua-dir=$(LUA_JIT_DIR) 
rockspec/apisix-master-0.rockspec --tree=deps --only-deps --local
+       luarocks install --lua-dir=$(LUTJIT_DIR) rockspec/apisix-0.9-0.rockspec 
--tree=deps --only-deps --local
 else ifneq ($(LUAROCKS_VER),'luarocks 3.')
-       luarocks install rockspec/apisix-master-0.rockspec --tree=deps 
--only-deps --local
+       luarocks install rockspec/apisix-0.9-0.rockspec --tree=deps --only-deps 
--local
 else
-       luarocks install --lua-dir=/usr/local/openresty/luajit 
rockspec/apisix-master-0.rockspec --tree=deps --only-deps --local
+       luarocks install --lua-dir=/usr/local/openresty/luajit 
rockspec/apisix-0.9-0.rockspec --tree=deps --only-deps --local
 endif
 
 
-### utils:            Installation tools
+### utils:        Installation tools
 .PHONY: utils
 utils:
 ifeq ("$(wildcard utils/lj-releng)", "")
@@ -77,30 +80,22 @@ lint: utils
 
 ### init:             Initialize the runtime environment
 .PHONY: init
-init:
+init: default
        ./bin/apisix init
        ./bin/apisix init_etcd
 
 
 ### run:              Start the apisix server
 .PHONY: run
-run:
+run: default
        mkdir -p logs
        mkdir -p /tmp/apisix_cores/
-ifeq ($(OR_EXEC), )
-       @echo "You have to install OpenResty and add the binary file to PATH 
first"
-       exit 1
-endif
        $(OR_EXEC) -p $$PWD/ -c $$PWD/conf/nginx.conf
 
 
 ### stop:             Stop the apisix server
 .PHONY: stop
-stop:
-ifeq ($(OR_EXEC), )
-       @echo "You have to install OpenResty and add the binary file to PATH 
first"
-       exit 1
-endif
+stop: default
        $(OR_EXEC) -p $$PWD/ -c $$PWD/conf/nginx.conf -s stop
 
 
@@ -112,11 +107,7 @@ clean:
 
 ### reload:           Reload the apisix server
 .PHONY: reload
-reload:
-ifeq ($(OR_EXEC), )
-       @echo "You have to install OpenResty and add the binary file to PATH 
first"
-       exit 1
-endif
+reload: default
        $(OR_EXEC) -p $$PWD/  -c $$PWD/conf/nginx.conf -s reload
 
 
diff --git a/README.md b/README.md
index 883f841..342c3b3 100644
--- a/README.md
+++ b/README.md
@@ -32,8 +32,6 @@ APISIX is a cloud-native microservices API gateway, 
delivering the ultimate perf
 
 APISIX is based on Nginx and etcd. Compared with traditional API gateways, 
APISIX has dynamic routing and plug-in hot loading, which is especially 
suitable for API management under micro-service system.
 
-[Installation](#Installation) | [Documentation](doc/README.md) | [Development 
ENV](#development-manual-of-apisix) | [FAQ](FAQ.md)
-
 ## Why APISIX?
 
 If you are building a website, mobile device or IoT (Internet of Things) 
application, you may need to use an API gateway to handle interface traffic.
@@ -85,8 +83,6 @@ For more detailed information, see the [White 
Paper](https://www.iresty.com/down
 - **Global Rule**: Allows to run any plugin for all request, eg: limit rate, 
IP filter etc.
 - **[TCP/UDP Proxy](doc/stream-proxy.md)**: Dynamic TCP/UDP proxy.
 - **[Dynamic MQTT Proxy](doc/plugins/mqtt-proxy.md)**: Supports to load 
balance MQTT by `client_id`, both support MQTT 
[3.1.*](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html), 
[5.0](https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html).
-- **ACL**: TODO.
-- **Bot detection**: TODO.
 
 ## Online Demo Dashboard
 We provide an online dashboard [demo version](http://apisix.iresty.com), make 
it easier for you to understand APISIX.
@@ -95,88 +91,15 @@ We provide an online dashboard [demo 
version](http://apisix.iresty.com), make
 
 APISIX Installed and tested in the following systems(OpenResty MUST >= 
1.15.8.1, or Tengine >= 2.3.2):
 
-- CentOS 7
-- Ubuntu 16.04
-- Ubuntu 18.04
-- Debian 9
-- Debian 10
-- macOS
-- **ARM64** Ubuntu 18.04
-
-There are four ways to install APISIX:
-- if you are using CentOS 7, it is recommended to use 
[RPM](#install-from-rpm-for-centos-7);
-- if you are using macOS, only git clone and install by manual are supported. 
Please take a look at [dev manual](doc/dev-manual.md);
-- other systems please use 
[Luarocks](#install-from-luarocks-not-support-macos);
-- You can also install from [Docker 
image](https://github.com/iresty/docker-apisix).
-
-The main steps to install APISIX:
-
-1. Runtime dependency: OpenResty or Tengine.
-    * OpenResty: Reference 
[http://openresty.org/en/installation.html](http://openresty.org/en/installation.html).
-    * Tengine: Please take a look at this installation step script [Install 
Tengine at Ubuntu](.travis/linux_tengine_runner.sh).
-2. Configuration center: Reference [etcd](https://github.com/etcd-io/etcd).
-
-    *NOTE*: APISIX currently only supports the v2 protocol storage to etcd, 
but the latest version of etcd (starting with 3.4) has turned off the v2 
protocol by default. You need to add `--enable-v2=true` to the startup 
parameter to enable the v2 protocol. The development of the v3 protocol 
supporting etcd has begun and will soon be available.
-
-3. Install APISIX service.
-
-### Install from RPM for CentOS 7
-
-```shell
-sudo yum install yum-utils
-sudo yum-config-manager --add-repo 
https://openresty.org/package/centos/openresty.repo
-sudo yum install -y openresty etcd
-sudo systemctl start etcd
-
-sudo yum install -y 
https://github.com/apache/incubator-apisix/releases/download/v0.8/apisix-0.8-0.el7.noarch.rpm
-```
-
-You can try APISIX with the [**Quickstart**](#quickstart) now.
-
-### Install from Luarocks (not support macOS)
+CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, **ARM64** 
Ubuntu 18.04
 
-##### Dependencies
-
-APISIX is based on [OpenResty](https://openresty.org/) or 
[Tengine](http://tengine.taobao.org/), the configures data storage and 
distribution via [etcd](https://github.com/etcd-io/etcd).
-
-We recommend that you use [luarocks](https://luarocks.org/) to install APISIX, 
and for different operating systems have different dependencies, see more: 
[Install Dependencies](doc/install-dependencies.md)
-
-##### Install APISIX
-
-APISIX is installed by running the following commands in your terminal.
-
-> install the master branch via curl
-
-```shell
-sudo sh -c "$(curl -fsSL 
https://raw.githubusercontent.com/apache/incubator-apisix/master/utils/install-apisix.sh)"
-```
-
-> install the specified version via Luarock:
-
-```shell
-# install apisix with version v0.8
-sudo luarocks install --lua-dir=/path/openresty/luajit apisix 0.8
-
-# old luarocks may not support `lua-dir`, we can remove option `lua-dir`
-sudo luarocks install apisix 0.8
-```
-
-> Installation complete
-
-If all goes well, you will see the message like this:
-
-```
-    apisix 0.7-0 is now built and installed in /usr/local/apisix/deps 
(license: Apache License 2.0)
-
-    + sudo rm -f /usr/local/bin/apisix
-    + sudo ln -s /usr/local/apisix/deps/bin/apisix /usr/local/bin/apisix
-```
-
-Congratulations, you have already installed APISIX successfully.
-
-## Development Manual of APISIX
-
-If you are a developer, you can view the [dev manual](doc/dev-manual.md) for 
more details.
+Steps to install APISIX:
+1. Installation runtime dependencies: OpenResty and etcd, refer to 
[documentation](doc/install-dependencies.md);
+2. There are several ways to install Apache APISIX:
+    - [Source Release 
Candidate](doc/how-to-build.md#installation-via-source-release-candidate)
+    - [RPM package](doc/how-to-build.md#installation-via-rpm-package-centos-7) 
for CentOS 7
+    - 
[Luarocks](doc/how-to-build.md#installation-via-luarocks-macos-not-supported)
+    - [Docker](https://github.com/apache/incubator-apisix-docker)
 
 ## Quickstart
 
@@ -186,8 +109,6 @@ If you are a developer, you can view the [dev 
manual](doc/dev-manual.md) for mor
 sudo apisix start
 ```
 
-*note*: If you are in a development environment, start server by command `make 
run`.
-
 2. try limit count plugin
 
 Limit count plugin is a good start to try APISIX,
@@ -195,16 +116,6 @@ you can follow the [documentation of limit 
count](doc/plugins/limit-count.md).
 
 Then you can try more [plugins](doc/README.md#plugins).
 
-## Deploy to the Cloud
-
-### AWS
-
-The recommended approach is to deploy APISIX with [AWS 
CDK](https://aws.amazon.com/cdk/) on [AWS 
Fargate](https://aws.amazon.com/fargate/) which helps you decouple the APISIX 
layer and the upstream layer on top of a fully-managed and secure serverless 
container compute environment with autoscaling capabilities.
-
-See [this 
guide](https://github.com/pahud/cdk-samples/blob/master/typescript/apisix/README.md)
 by [Pahud Hsieh](https://github.com/pahud) and learn how to provision the 
recommended architecture 100% in AWS CDK.
-
-
-
 ## Dashboard
 
 APISIX has the built-in dashboard,open 
`http://127.0.0.1:9080/apisix/dashboard/` with a browser and try it.
@@ -215,41 +126,40 @@ Dashboard allow any remote IP by default, and you can 
modify `allow_admin` in `c
 
 ## Benchmark
 
-Using Google Cloud's 4 core server, APISIX's QPS reach to 60,000 with a 
latency of only 500 microseconds.
+Using AWS's 8 core server, APISIX's QPS reach to 140,000 with a latency of 
only 0.2 ms.
 
-You can view the [benchmark documentation](doc/benchmark.md) for more detailed 
information.
-
-## Architecture Design
-
-[Development Documentation](doc/architecture-design.md)
+## Document
+[Documents of Apache APISIX](doc/README.md)
 
 ## Videos And Articles
 
-- 2019.10.30 [Introduction to Apache APISIX Microservice Gateway Extreme 
Performance Architecture(Chinese)](https://www.upyun.com/opentalk/440.html) .
-- 2019.8.31 [APISIX technology selection, testing and continuous 
integration(Chinese)](https://www.upyun.com/opentalk/433.html) .
-- 2019.8.31 [APISIX high performance practice 
2(Chinese)](https://www.upyun.com/opentalk/437.html) .
-- 2019.7.6 [APISIX high performance 
practice(Chinese)](https://www.upyun.com/opentalk/429.html) .
-
+- 2019.10.30 [Introduction to Apache APISIX Microservice Gateway Extreme 
Performance Architecture(Chinese)](https://www.upyun.com/opentalk/440.html)
+- 2019.8.31 [APISIX technology selection, testing and continuous 
integration(Chinese)](https://www.upyun.com/opentalk/433.html)
+- 2019.8.31 [APISIX high performance practice 
2(Chinese)](https://www.upyun.com/opentalk/437.html)
+- 2019.7.6 [APISIX high performance 
practice(Chinese)](https://www.upyun.com/opentalk/429.html)
 
 ## Who Uses APISIX?
-A wide variety of companies and organizations use APISIX for research, 
production and commercial product.
-Here is the User Wall of APISIX.
-
-![](doc/images/user-wall.jpg)
+A wide variety of companies and organizations use APISIX for research, 
production and commercial product, including:
+1. cunw.com.cn
+1. dasouche.com
+1. fansup.mobi
+1. haieruplus.com
+1. ke.com
+1. meizu.com
+1. taikang.com
+1. tangdou.com
+1. Tencent Cloud
+1. zuzuche.com
 
 Users are encouraged to add themselves to the [Powered By](doc/powered-by.md) 
page.
 
 ## Landscape
-
-APISIX enriches the [CNCF API Gateway 
Landscape](https://landscape.cncf.io/category=api-gateway&format=card-mode&grouping=category):
-
-![](doc/images/cncf-landscope.jpg)
-
-## FAQ
-
-There are often some questions asked by developers in the community. We have 
arranged them in the [FAQ](FAQ.md).
-
-If your concerns are not among them, please submit issue to communicate with 
us.
+<p align="left">
+<img src="https://landscape.cncf.io/images/left-logo.svg"; 
width="150">&nbsp;&nbsp;<img 
src="https://landscape.cncf.io/images/right-logo.svg"; width="200">
+<br/><br/>
+APISIX enriches the <a 
href="https://landscape.cncf.io/category=api-gateway&format=card-mode&grouping=category";>
+CNCF API Gateway Landscape.</a>
+</p>
 
 ## Contributing
 
diff --git a/README_CN.md b/README_CN.md
index 2141831..965237b 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -30,8 +30,6 @@ APISIX 是一个云原生、高性能、可扩展的微服务 API 网关。
 
 它是基于 OpenResty 和 etcd 来实现,和传统 API 网关相比,APISIX 具备动态路由和插件热加载,特别适合微服务体系下的 API 管理。
 
-[安装](#安装) | [文档](doc/README_CN.md) | [开发环境](#开发环境) | [FAQ](FAQ.md)
-
 ## 为什么选择 APISIX?
 
 如果你正在构建网站、移动设备或 IoT(物联网)的应用,那么你可能需要使用 API 网关来处理接口流量。
@@ -83,8 +81,6 @@ APISIX 通过插件机制,提供动态负载平衡、身份验证、限流限
 - **全局规则**:允许对所有请求执行插件,比如黑白名单、限流限速等。
 - **[TCP/UDP 代理](doc/stream-proxy-cn.md)**: 动态 TCP/UDP 代理。
 - **[动态 MQTT 代理](doc/plugins/mqtt-proxy-cn.md)**: 支持用 `client_id` 对 MQTT 
进行负载均衡,同时支持 MQTT 
[3.1.*](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html) 和 
[5.0](https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html) 两个协议标准。
-- **ACL**: TODO。
-- **Bot detection**: TODO。
 
 ## 在线演示版本
 我们部署了一个在线的 [dashboard](http://apisix.iresty.com) ,方便您了解 APISIX。
@@ -92,87 +88,16 @@ APISIX 通过插件机制,提供动态负载平衡、身份验证、限流限
 ## 安装
 
 APISIX 在以下操作系统中可顺利安装并做过运行测试,需要注意的是:OpenResty 的版本必须 >= 1.15.8.1:
-- CentOS 7
-- Ubuntu 16.04
-- Ubuntu 18.04
-- Debian 9
-- Debian 10
-- macOS
-- **ARM64** Ubuntu 18.04
-
-目前有 4 种安装方式:
-- 如果你在使用 CentOS 7,我们推荐使用 [RPM 包安装](#通过-rpm-包安装centos-7);
-- 在 macOS 中,你需要克隆该仓库并手动安装,请参考[开发手册](doc/dev-manual-cn.md);
-- 其它操作系统,我们推荐使用 [Luarocks 安装方式](#通过-luarocks-安装-不支持-macos);
-- 你也可以使用 [Docker 镜像](https://github.com/iresty/docker-apisix) 来安装。
-
-安装 APISIX 的主要步骤:
-
-1. 运行时依赖:OpenResty 或 Tengine。
-    * OpenResty: 参考 
[http://openresty.org/en/installation.html](http://openresty.org/en/installation.html)。
-    * Tengine:参考该安装脚本 [Install Tengine at 
Ubuntu](.travis/linux_tengine_runner.sh)。
-2. 配置存储中心:参考 [etcd](https://github.com/etcd-io/etcd)。
-
-    *NOTE*:APISIX 目前仅支持 etcd 的 v2 协议存储,但最新版的 etcd (3.4 开始)已经默认关闭 v2 协议。 
在启动参数中添加 `--enable-v2=true`,启用 v2 协议。支持 etcd 的 v3 协议开发工作已经开始,很快就能与大家见面。
-
-3. 安装 APISIX 服务。
-
-### 通过 RPM 包安装(CentOS 7)
-
-```shell
-sudo yum install yum-utils
-sudo yum-config-manager --add-repo 
https://openresty.org/package/centos/openresty.repo
-sudo yum install -y openresty etcd
-
-sudo systemctl start etcd
-
-sudo yum install -y 
https://github.com/apache/incubator-apisix/releases/download/v0.8/apisix-0.8-0.el7.noarch.rpm
-```
-
-如果安装成功,就可以参考 [**快速上手**](#快速上手) 来进行体验。如果失败,欢迎反馈给我们。
-
-### 通过 Luarocks 安装 (不支持 macOS)
-
-##### 依赖项
-
-APISIX 是基于 [openresty](http://openresty.org/) 之上构建的, 配置数据的存储和分发是通过 
[etcd](https://github.com/etcd-io/etcd) 来完成。
-
-我们推荐你使用 [luarocks](https://luarocks.org/) 来安装 
APISIX,不同的操作系统发行版本有不同的依赖和安装步骤,具体可以参考: [安装前的依赖](doc/install-dependencies.md)
-
-##### 安装 APISIX
-
-在终端中执行下面命令完成 APISIX 的安装:
-
-> 通过脚本安装 master 分支的代码
 
-```shell
-sudo sh -c "$(curl -fsSL 
https://raw.githubusercontent.com/apache/incubator-apisix/master/utils/install-apisix.sh)"
-```
-
-> 通过 Luarocks 安装指定的版本:
-
-```shell
-# 安装 apisix 的 0.8 版本
-sudo luarocks install --lua-dir=/path/openresty/luajit apisix 0.8
-
-# 老版本 luarocks 可能不支持 `lua-dir` 参数,可以删除该选项
-sudo luarocks install apisix 0.8
-```
-
-> 安装完成
-
-```
-    apisix 0.7-0 is now built and installed in /usr/local/apisix/deps 
(license: Apache License 2.0)
+CentOS 7, Ubuntu 16.04, Ubuntu 18.04, Debian 9, Debian 10, macOS, **ARM64** 
Ubuntu 18.04
 
-    + sudo rm -f /usr/local/bin/apisix
-    + sudo ln -s /usr/local/apisix/deps/bin/apisix /usr/local/bin/apisix
-```
-
-恭喜,APISIX 已经安装成功。
-
-## 开发环境
-
-如果你是一个开发者,可以从 [开发文档](doc/dev-manual-cn.md) 中获取搭建开发环境和运行测试案例的步骤。
+安装 APISIX 的步骤:
+1. 安装运行时依赖:OpenResty 和 etcd,参考[依赖安装文档](doc/install-dependencies.md).
+2. 有以下几种方式来安装 Apache APISIX:
+    - 通过[源码候选版本](doc/how-to-build-cn.md#通过源码候选版本安装);
+    - 如果你在使用 CentOS 7,可以使用 [RPM 
包安装](doc/how-to-build-cn.md#通过-rpm-包安装centos-7);
+    - 其它 Linux 操作系统,可以使用 [Luarocks 
安装方式](doc/how-to-build-cn.md#通过-luarocks-安装-不支持-macos);
+    - 你也可以使用 [Docker 镜像](https://github.com/apache/incubator-apisix-docker) 
来安装。
 
 ## 快速上手
 
@@ -182,8 +107,6 @@ sudo luarocks install apisix 0.8
 sudo apisix start
 ```
 
-*注意*:如果你当前在开发环境下,应使用 `make run` 命令启动服务。
-
 2. 测试限流插件
 
 你可以测试限流插件,来上手体验 APISIX,按照[限流插件文档](doc/plugins/limit-count-cn.md)的步骤即可。
@@ -198,38 +121,39 @@ Dashboard 默认允许任何 IP 访问。你可以自行修改 `conf/config.yaml
 
 ## 性能测试
 
-使用谷歌云的 4 核心服务器来运行 APISIX,QPS 可以达到 60000,同时延时只有 0.5 毫秒。
+使用 AWS 的 8 核心服务器来压测 APISIX,QPS 可以达到 140000,同时延时只有 0.2 毫秒。
 
-你可以看出[性能测试文档](doc/benchmark-cn.md)来了解更多详细内容。
+## 文档
 
-## 架构设计
-
-[详细设计文档](doc/architecture-design-cn.md)
+[文档](doc/README_CN.md)
 
 ## 视频和文章
 
-- 2019.10.30 [Apache APISIX 
微服务架构极致性能架构解析](https://www.upyun.com/opentalk/440.html) .
-- 2019.8.31 [APISIX 技术选型、测试和持续集成](https://www.upyun.com/opentalk/433.html) .
-- 2019.8.31 [APISIX 高性能实战2](https://www.upyun.com/opentalk/437.html) .
-- 2019.7.6 [APISIX 高性能实战(Chinese)](https://www.upyun.com/opentalk/429.html) .
+- 2019.10.30 [Apache APISIX 
微服务架构极致性能架构解析](https://www.upyun.com/opentalk/440.html)
+- 2019.8.31 [APISIX 技术选型、测试和持续集成](https://www.upyun.com/opentalk/433.html)
+- 2019.8.31 [APISIX 高性能实战2](https://www.upyun.com/opentalk/437.html)
+- 2019.7.6 [APISIX 高性能实战](https://www.upyun.com/opentalk/429.html)
 
 ## APISIX 的用户有哪些?
-有很多公司和组织把 APISIX 用户学习、研究、生产环境和商业产品中。下面是 APISIX 的用户墙:
+有很多公司和组织把 APISIX 用户学习、研究、生产环境和商业产品中,包括:
 
-![](doc/images/user-wall.jpg)
+1. dasouche.com 大搜车
+1. haieruplus.com 海尔优家
+1. ke.com 贝壳找房
+1. meizu.com 魅族
+1. taikang.com 泰康云
+1. tangdou.com 糖豆网
+1. Tencent Cloud 腾讯云
+1. zuzuche.com 租租车
 
 欢迎用户把自己加入到 [Powered By](doc/powered-by.md) 页面。
 
 ## 全景图
-
-APISIX 被纳入 [云原生软件基金会 API 
网关全景图](https://landscape.cncf.io/category=api-gateway&format=card-mode&grouping=category):
-
-![](doc/images/cncf-landscope.jpg)
-
-## 常见问题(FAQ)
-在社区中经常会有开发者问到的一些问题,我们整理在下面这份 [FAQ](FAQ_CN.md) 中:
-
-如果你关心的问题没有在其中,欢迎提交 issue 或者加入下面的 QQ 群和我们沟通。
+<p align="left">
+<img src="https://landscape.cncf.io/images/left-logo.svg"; 
width="150">&nbsp;&nbsp;<img 
src="https://landscape.cncf.io/images/right-logo.svg"; width="200">
+<br/><br/>
+APISIX 被纳入 <a 
href="https://landscape.cncf.io/category=api-gateway&format=card-mode&grouping=category";>
 云原生软件基金会 API 网关全景图</a>
+</p>
 
 ## 参与社区
 
diff --git a/dashboard b/dashboard
deleted file mode 160000
index 5ce7c37..0000000
--- a/dashboard
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 5ce7c37c758f6365da042333d7909c12c0ab6714
diff --git a/doc/README.md b/doc/README.md
index 8e6c728..ceb5623 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -24,8 +24,7 @@ Reference Documentation
 * [APISIX Readme](../README.md)
 * [Architecture Design](architecture-design.md)
 * [Benchmark](benchmark.md)
-* [Build development ENV](dev-manual.md)
-* [Install Dependencies](install-dependencies.md): How to install dependencies 
for different OS.
+* [How to build Apache APISIX](how-to-build.md)
 * [Health Check](health-check.md): Enable health check on the upstream node, 
and will automatically filter unhealthy nodes during load balancing to ensure 
system stability.
 * Router
     * [radixtree](router-radixtree.md)
@@ -55,3 +54,12 @@ Plugins
 * openid-connect
 * [redirect](plugins/redirect.md): URI redirect.
 * [response-rewrite](plugins/response-rewrite.md): Set customized response 
status code, body and header to the client.
+
+
+Deploy to the Cloud
+=======
+### AWS
+
+The recommended approach is to deploy APISIX with [AWS 
CDK](https://aws.amazon.com/cdk/) on [AWS 
Fargate](https://aws.amazon.com/fargate/) which helps you decouple the APISIX 
layer and the upstream layer on top of a fully-managed and secure serverless 
container compute environment with autoscaling capabilities.
+
+See [this 
guide](https://github.com/pahud/cdk-samples/blob/master/typescript/apisix/README.md)
 by [Pahud Hsieh](https://github.com/pahud) and learn how to provision the 
recommended architecture 100% in AWS CDK.
diff --git a/doc/README_CN.md b/doc/README_CN.md
index 0af4da3..089140b 100644
--- a/doc/README_CN.md
+++ b/doc/README_CN.md
@@ -24,8 +24,7 @@ Reference document
 * [APISIX 说明](../README_CN.md)
 * [架构设计](architecture-design-cn.md)
 * [压力测试](benchmark-cn.md)
-* [搭建开发环境](dev-manua-cnl.md)
-* [安装依赖](install-dependencies.md): How to install dependencies for different 
OS.
+* [如何构建 Apache APISIX](how-to-build-cn.md.md)
 * [健康检查](health-check.md): Enable health check on the upstream node, and will 
automatically filter unhealthy nodes during load balancing to ensure system 
stability.
 * Router(路由)
     * [radixtree](router-radixtree.md)
diff --git a/doc/dev-manual-cn.md b/doc/how-to-build-cn.md
similarity index 59%
rename from doc/dev-manual-cn.md
rename to doc/how-to-build-cn.md
index 607c651..79b9663 100644
--- a/doc/dev-manual-cn.md
+++ b/doc/how-to-build-cn.md
@@ -16,79 +16,65 @@
 # limitations under the License.
 #
 -->
+# 构建 Apache APISIX
 
-#  开发者手册
+## 1. 安装依赖
+Apache APISIX 的运行环境需要 Nginx 和 etcd,
 
-## 在开发环境搭建 APISIX
+所以在安装前,请根据不同的操作系统来[安装依赖](install-dependencies.md)。
 
-不同系统有不同依赖,查看[安装依赖](install-dependencies.md)完成依赖项安装。
+## 2. 安装 Apache APISIX
 
-如果你是开发人员,可以在完成上面安装依赖项后,通过下面的命令快速搭建本地开发环境。
+你可以通过源码包、Docker、Luarocks 等多种方式来安装 Apache APISIX。
 
-```shell
-# clone project
-git clone g...@github.com:iresty/apisix.git
-cd apisix
+### 通过源码候选版本安装
+
+你需要先下载源码候选版本:
 
-# init submodule
-git submodule update --init --recursive
+```shell
+wget 
https://dist.apache.org/repos/dist/dev/incubator/apisix/0.9-RC1/apache-apisix-0.9-rc1-incubating-src.tar.gz
+tar zxvf apache-apisix-0.9-rc1-incubating-src.tar.gz
+```
 
-# install dependency
+安装运行时依赖的 Lua 库:
+```
+cd apache-apisix-0.9-rc1-incubating
 make deps
 ```
 
-如果一切顺利,你会在最后看到这样的信息:
+### 通过 RPM 包安装(CentOS 7)
+
+```shell
+sudo yum install -y 
https://github.com/apache/incubator-apisix/releases/download/v0.8/apisix-0.8-0.el7.noarch.rpm
+```
+
+### 通过 Luarocks 安装 (不支持 macOS)
 
-> Stopping after installing dependencies for apisix
+在终端中执行下面命令完成 APISIX 的安装(只推荐开发者使用):
 
-下面是预期的开发环境目录结构:
+> 通过脚本安装 master 分支的代码
 
 ```shell
-$ tree -L 2 -d apisix
-apisix
-├── benchmark
-│   ├── fake-apisix
-│   └── server
-├── bin
-├── conf
-│   └── cert
-├── dashboard
-│   ├── css
-│   ├── fonts
-│   ├── img
-│   ├── js
-│   └── tinymce
-├── deps                    # 依赖的 Lua 和动态库,放在了这里
-│   ├── lib64
-│   └── share
-├── doc
-│   ├── images
-│   └── plugins
-├── logs
-├── lua
-│   └── apisix
-├── rockspec
-├── t
-│   ├── admin
-│   ├── config-center-yaml
-│   ├── core
-│   ├── lib
-│   ├── node
-│   ├── plugin
-│   ├── router
-│   └── servroot
-└── utils
+sudo sh -c "$(curl -fsSL 
https://raw.githubusercontent.com/apache/incubator-apisix/master/utils/install-apisix.sh)"
+```
+
+> 通过 Luarocks 安装指定的版本:
+
+```shell
+# 安装 apisix 的 0.8 版本
+sudo luarocks install --lua-dir=/path/openresty/luajit apisix 0.8
+
+# 老版本 luarocks 可能不支持 `lua-dir` 参数,可以删除该选项
+sudo luarocks install apisix 0.8
 ```
 
-## 管理(启动、关闭等)APISIX 服务
+## 3. 管理(启动、关闭等)APISIX 服务
 
 我们可以在 apisix 的目录下用 `make run` 命令来启动服务,或者用 `make stop` 方式关闭服务。
 
 ```shell
 # init nginx config file and etcd
 $ make init
-./bin/apisix init
-./bin/apisix init_etcd
 
 # start APISIX server
 $ make run
@@ -114,7 +100,7 @@ Makefile rules:
     license-check: Check lua souce code for Apache License
 ```
 
-## 运行测试案例
+## 4. 运行测试案例
 
 1. 先安装 perl 的包管理器 cpanminus
 2. 然后通过 cpanm 来安装 test-gninx:`sudo cpanm --notest Test::Nginx IPC::Run > 
build.log 2>&1 || (cat build.log && exit 1)`
diff --git a/doc/dev-manual.md b/doc/how-to-build.md
similarity index 58%
rename from doc/dev-manual.md
rename to doc/how-to-build.md
index 4aed7dc..b49bd66 100644
--- a/doc/dev-manual.md
+++ b/doc/how-to-build.md
@@ -17,78 +17,66 @@
 #
 -->
 
-# dev-manual
+# Build Apache APISIX
 
-## Install APISIX in development environment
+## 1. Install dependencies
+The runtime environment for Apache APISIX requires Nginx and etcd.
 
-For different operating systems have different dependencies, see detail: 
[Install Dependencies](install-dependencies.md).
+So before installation, please follow the different operating systems [install 
Dependencies](install-dependencies.md).
 
-If you are a developer, we can set up a local development environment with the 
following commands after we installed dependencies.
+## 2. Install Apache APISIX
 
-```shell
-git clone g...@github.com:iresty/apisix.git
-cd apisix
+You can install Apache APISIX in a variety of ways, including source code 
packages, Docker, and Luarocks.
+
+### Installation via source release candidate
 
-# init submodule
-git submodule update --init --recursive
+You need to download the source release candidate first:
+
+```shell
+wget 
https://dist.apache.org/repos/dist/dev/incubator/apisix/0.9-RC1/apache-apisix-0.9-rc1-incubating-src.tar.gz
+tar zxvf apache-apisix-0.9-rc1-incubating-src.tar.gz
+```
 
-# install dependency
+Install the Lua libraries that the runtime depends on:
+```shell
+cd apache-apisix-0.9-rc1-incubating
 make deps
 ```
 
-If all goes well, you will see this message at the end:
+### Installation via RPM package (CentOS 7)
 
-> Stopping after installing dependencies for apisix
+```shell
+sudo yum install -y 
https://github.com/apache/incubator-apisix/releases/download/v0.8/apisix-0.8-0.el7.noarch.rpm
+```
 
-The following is the expected development environment directory structure:
+### Installation via Luarocks (macOS not supported)
+
+Execute the following command in the terminal to complete the installation of 
APISIX (only recommended for developers):
+
+> Install the code for the master branch via a script
 
 ```shell
-$ tree -L 2 -d apisix
-apisix
-├── benchmark
-│   ├── fake-apisix
-│   └── server
-├── bin
-├── conf
-│   └── cert
-├── dashboard
-│   ├── css
-│   ├── fonts
-│   ├── img
-│   ├── js
-│   └── tinymce
-├── deps                    # dependent Lua and dynamic libraries
-│   ├── lib64
-│   └── share
-├── doc
-│   ├── images
-│   └── plugins
-├── logs
-├── lua
-│   └── apisix
-├── rockspec
-├── t
-│   ├── admin
-│   ├── config-center-yaml
-│   ├── core
-│   ├── lib
-│   ├── node
-│   ├── plugin
-│   ├── router
-│   └── servroot
-└── utils
+sudo sh -c "$(curl -fsSL 
https://raw.githubusercontent.com/apache/incubator-apisix/master/utils/install-apisix.sh)"
+```
+
+> Install the specified version via Luarocks:
+
+```shell
+# Install version 0.8
+sudo luarocks install --lua-dir=/path/openresty/luajit apisix 0.8
+
+# old luarocks not support the `lua-dir` parameter, you can remove this option
+sudo luarocks install apisix 0.8
 ```
 
 ## Manage (start/stop) APISIX Server
 
-We can start the APISIX server by command `make run` in apisix home folder,
+We can start the APISIX server by command `make run` in APISIX home folder,
 or we can stop APISIX server by command `make stop`.
 
 ```shell
 # init nginx config file and etcd
 $ make init
-./bin/apisix init
-./bin/apisix init_etcd
 
 # start APISIX server
 $ make run
diff --git a/doc/images/cncf-landscope.jpg b/doc/images/cncf-landscope.jpg
deleted file mode 100644
index bbe7520..0000000
Binary files a/doc/images/cncf-landscope.jpg and /dev/null differ
diff --git a/doc/images/plugin/jwt-auth-1.png b/doc/images/plugin/jwt-auth-1.png
index 5dab7c6..608dbd9 100644
Binary files a/doc/images/plugin/jwt-auth-1.png and 
b/doc/images/plugin/jwt-auth-1.png differ
diff --git a/doc/images/plugin/jwt-auth-2.png b/doc/images/plugin/jwt-auth-2.png
index be17a02..f599191 100644
Binary files a/doc/images/plugin/jwt-auth-2.png and 
b/doc/images/plugin/jwt-auth-2.png differ
diff --git a/doc/images/plugin/key-auth-1.png b/doc/images/plugin/key-auth-1.png
index 5dab7c6..f6a9447 100644
Binary files a/doc/images/plugin/key-auth-1.png and 
b/doc/images/plugin/key-auth-1.png differ
diff --git a/doc/images/plugin/key-auth-2.png b/doc/images/plugin/key-auth-2.png
index c945d46..38fa310 100644
Binary files a/doc/images/plugin/key-auth-2.png and 
b/doc/images/plugin/key-auth-2.png differ
diff --git a/doc/images/plugin/limit-conn-1.png 
b/doc/images/plugin/limit-conn-1.png
index 5ab86ac..3e46a6b 100644
Binary files a/doc/images/plugin/limit-conn-1.png and 
b/doc/images/plugin/limit-conn-1.png differ
diff --git a/doc/images/plugin/limit-conn-2.png 
b/doc/images/plugin/limit-conn-2.png
index 948e06f..dfbb0f1 100644
Binary files a/doc/images/plugin/limit-conn-2.png and 
b/doc/images/plugin/limit-conn-2.png differ
diff --git a/doc/images/plugin/limit-count-1.png 
b/doc/images/plugin/limit-count-1.png
index b3f12b3..9b9b28e 100644
Binary files a/doc/images/plugin/limit-count-1.png and 
b/doc/images/plugin/limit-count-1.png differ
diff --git a/doc/images/plugin/limit-count-2.png 
b/doc/images/plugin/limit-count-2.png
index 93776a1..64f99cb 100644
Binary files a/doc/images/plugin/limit-count-2.png and 
b/doc/images/plugin/limit-count-2.png differ
diff --git a/doc/images/plugin/limit-req-1.png 
b/doc/images/plugin/limit-req-1.png
index 8a7eac5..4512837 100644
Binary files a/doc/images/plugin/limit-req-1.png and 
b/doc/images/plugin/limit-req-1.png differ
diff --git a/doc/images/plugin/limit-req-2.png 
b/doc/images/plugin/limit-req-2.png
index bad046d..0e4726d 100644
Binary files a/doc/images/plugin/limit-req-2.png and 
b/doc/images/plugin/limit-req-2.png differ
diff --git a/doc/images/plugin/prometheus-1.png 
b/doc/images/plugin/prometheus-1.png
index 51b8008..6e3c8b6 100644
Binary files a/doc/images/plugin/prometheus-1.png and 
b/doc/images/plugin/prometheus-1.png differ
diff --git a/doc/images/plugin/prometheus-2.png 
b/doc/images/plugin/prometheus-2.png
index 4dfe286..f48350b 100644
Binary files a/doc/images/plugin/prometheus-2.png and 
b/doc/images/plugin/prometheus-2.png differ
diff --git a/doc/images/plugin/zipkin-1.jpg b/doc/images/plugin/zipkin-1.jpg
index 935146b..99184d9 100644
Binary files a/doc/images/plugin/zipkin-1.jpg and 
b/doc/images/plugin/zipkin-1.jpg differ
diff --git a/doc/images/plugin/zipkin-1.png b/doc/images/plugin/zipkin-1.png
index fc0083e..60698a4 100644
Binary files a/doc/images/plugin/zipkin-1.png and 
b/doc/images/plugin/zipkin-1.png differ
diff --git a/doc/images/plugin/zipkin-2.jpg b/doc/images/plugin/zipkin-2.jpg
index 291cd4b..a7d866f 100644
Binary files a/doc/images/plugin/zipkin-2.jpg and 
b/doc/images/plugin/zipkin-2.jpg differ
diff --git a/doc/images/plugin/zipkin-2.png b/doc/images/plugin/zipkin-2.png
index 9ed6097..acfb0b6 100644
Binary files a/doc/images/plugin/zipkin-2.png and 
b/doc/images/plugin/zipkin-2.png differ
diff --git a/doc/images/user-wall.jpg b/doc/images/user-wall.jpg
deleted file mode 100644
index 9374f9b..0000000
Binary files a/doc/images/user-wall.jpg and /dev/null differ
diff --git a/doc/install-dependencies.md b/doc/install-dependencies.md
index 0f791e5..989ca9b 100644
--- a/doc/install-dependencies.md
+++ b/doc/install-dependencies.md
@@ -18,14 +18,13 @@
 -->
 
 # Install Dependencies
-
-- [Install Dependencies](#install-dependencies)
 - [CentOS 6](#centos-6)
 - [CentOS 7](#centos-7)
 - [Ubuntu 16.04 & 18.04](#ubuntu-1604--1804)
 - [Debian 9 & 10](#debian-9--10)
 - [Mac OSX](#mac-osx)
 - [How to compile the OpenResty](#how-to-compile-the-openresty)
+- [Note](#note)
 
 CentOS 6
 ========
@@ -131,3 +130,10 @@ Compiling OpenResty from source is very complicated, it's 
not easy to make it cl
 
 http://openresty.org/en/linux-packages.html
 
+Note
+====
+- Apache APISIX currently only supports the v2 protocol storage to etcd, but 
the latest version of etcd (starting with 3.4) has turned off the v2 protocol 
by default.
+
+You need to add `--enable-v2=true` to the startup parameter to enable the v2 
protocol. The development of the v3 protocol supporting etcd has begun and will 
soon be available.
+
+- If you want use Tengine instead of OpenResty, please take a look at this 
installation step script [Install Tengine at 
Ubuntu](../.travis/linux_tengine_runner.sh).
diff --git a/doc/powered-by.md b/doc/powered-by.md
index 8dde555..b4c418b 100644
--- a/doc/powered-by.md
+++ b/doc/powered-by.md
@@ -19,7 +19,7 @@
 
 # Powered by APISIX
 
-This page documents an **alphabetical list** of institutions that are using 
APISIX for research and production,
+This page documents an alphabetical list of institutions that are using APISIX 
for research and production,
 or providing commercial products including APISIX.
 
 Users are encouraged to add themselves to this page, 
[issue](https://github.com/apache/incubator-apisix/issues/487) and PR are 
welcomed.
diff --git a/rockspec/apisix-0.9-rc1.rockspec b/rockspec/apisix-0.9-0.rockspec
similarity index 96%
rename from rockspec/apisix-0.9-rc1.rockspec
rename to rockspec/apisix-0.9-0.rockspec
index ff85549..28952bb 100644
--- a/rockspec/apisix-0.9-rc1.rockspec
+++ b/rockspec/apisix-0.9-0.rockspec
@@ -15,12 +15,12 @@
 -- limitations under the License.
 --
 package = "apisix"
-version = "0.9-rc1"
+version = "0.9-0"
 supported_platforms = {"linux", "macosx"}
 
 source = {
     url = "git://github.com/apache/incubator-apisix",
-    branch = "0.9-rc1",
+    branch = "v0.9",
 }
 
 description = {
@@ -47,6 +47,7 @@ dependencies = {
     "lua-tinyyaml = 0.1",
     "iresty-nginx-lua-prometheus = 0.20190917",
     "jsonschema = 0.4",
+    "lua-resty-ipmatcher = 0.3",
 }
 
 build = {

Reply via email to