From 921fbe2d785ae79b0bd3eefcd60fb9630461bba6 Mon Sep 17 00:00:00 2001 From: Janko Date: Fri, 31 Jul 2020 12:04:39 +0800 Subject: [PATCH] release: released 1.5 version. --- CHANGELOG.md | 42 +++++++++++++++++++ CHANGELOG_CN.md | 43 ++++++++++++++++++++ README.md | 9 +++-- README_CN.md | 9 +++-- apisix/core/version.lua | 3 +- doc/how-to-build.md | 14 +++---- doc/zh-cn/how-to-build.md | 14 +++---- rockspec/apisix-1.5-0.rockspec | 74 ++++++++++++++++++++++++++++++++++ 8 files changed, 184 insertions(+), 24 deletions(-) create mode 100644 rockspec/apisix-1.5-0.rockspec diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ef75bac13c0..0a5424ae55da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ # Table of Contents +- [1.5.0](#150) - [1.4.1](#141) - [1.4.0](#140) - [1.3.0](#130) @@ -32,6 +33,47 @@ - [0.6.0](#060) +## 1.5.0 + +### Core +- Admin API: support authentication with SSL certificates. [1747](https://github.com/apache/incubator-apisix/pull/1747) +- Admin API: support both standard `PATCH` and sub path `PATCH`. [1930](https://github.com/apache/incubator-apisix/pull/1930) +- HealthCheck: supports custom host port. [1914](https://github.com/apache/incubator-apisix/pull/1914) +- Upstream: supports turning off the default retry mechanism. [1919](https://github.com/apache/incubator-apisix/pull/1919) +- URI: supports delete the '/' at the end of the `URI`. [1766](https://github.com/apache/incubator-apisix/pull/1766) + +### New Plugin +- :sunrise: **Request Validator** [1709](https://github.com/apache/incubator-apisix/pull/1709) + +### Improvements +- change: nginx worker_shutdown_timeout is changed from 3s to recommended value 240s. [1883](https://github.com/apache/incubator-apisix/pull/1883) +- change: the `healthcheck` timeout time type changed from `integer ` to `number`. [1892](https://github.com/apache/incubator-apisix/pull/1892) +- change: the `request-validation` plugin input parameter supports `Schema` validation. [1920](https://github.com/apache/incubator-apisix/pull/1920) +- change: add comments for Makefile `install` command. [1912](https://github.com/apache/incubator-apisix/pull/1912) +- change: update comment for config.yaml `etcd.timeout` configuration. [1929](https://github.com/apache/incubator-apisix/pull/1929) +- change: add more prometheus metrics. [1888](https://github.com/apache/incubator-apisix/pull/1888) + +### Bugfix +- fixed: failed to get `host` in health check configuration. [1871](https://github.com/apache/incubator-apisix/pull/1871) +- fixed: should not save the runtime data of plugin into `etcd`. [1910](https://github.com/apache/incubator-apisix/pull/1910) +- fixed: run `apisix start` several times will start multi nginx processes. [1913](https://github.com/apache/incubator-apisix/pull/1913) +- fixed: read the request body from the temporary file if it was cached. [1863](https://github.com/apache/incubator-apisix/pull/1863) +- fixed: batch processor name and error return type. [1927](https://github.com/apache/incubator-apisix/pull/1927) +- fixed: failed to read redis.ttl in `limit-count` plugin. [1928](https://github.com/apache/incubator-apisix/pull/1928) + +### Doc +- doc: added APISIX Lua Coding Style Guide. [1874](https://github.com/apache/incubator-apisix/pull/1874) +- doc: fixed link syntax in README.md. [1894](https://github.com/apache/incubator-apisix/pull/1894) +- doc: fixed image links in zh-cn benchmark. [1896](https://github.com/apache/incubator-apisix/pull/1896) +- doc: fixed typos in `FAQ`、`admin-api`、`architecture-design`、`discovery`、`prometheus`、`proxy-rewrite`、`redirect`、`http-logger` documents. [1916](https://github.com/apache/incubator-apisix/pull/1916) +- doc: added improvements for OSx unit tests and request validation plugin. [1926](https://github.com/apache/incubator-apisix/pull/1926) +- doc: fixed typos in `architecture-design` document. [1938](https://github.com/apache/incubator-apisix/pull/1938) +- doc: added the default import path of `Nginx` for unit testing in `Linux` and `macOS` systems in the `how-to-build` document. [1936](https://github.com/apache/incubator-apisix/pull/1936) +- doc: add `request-validation` plugin chinese document. [1932](https://github.com/apache/incubator-apisix/pull/1932) +- doc: fixed file path of `gRPC transcoding` in `README`. [1945](https://github.com/apache/incubator-apisix/pull/1945) +- doc: fixed `uri-blocker` plugin path error in `README`. [1950](https://github.com/apache/incubator-apisix/pull/1950) + + ## 1.4.1 ### Bugfix diff --git a/CHANGELOG_CN.md b/CHANGELOG_CN.md index 3a9e844667cd..16c03ec42e01 100644 --- a/CHANGELOG_CN.md +++ b/CHANGELOG_CN.md @@ -19,6 +19,7 @@ # Table of Contents +- [1.5.0](#150) - [1.4.1](#141) - [1.4.0](#140) - [1.3.0](#130) @@ -30,6 +31,48 @@ - [0.7.0](#070) - [0.6.0](#060) + +## 1.5.0 + +### Core +- Admin API:支持使用SSL证书进行身份验证。[1747](https://github.com/apache/incubator-apisix/pull/1747) +- Admin API:同时支持标准的PATCH和子路径PATCH。[1930](https://github.com/apache/incubator-apisix/pull/1930) +- HealthCheck:支持自定义检查端口。[1914](https://github.com/apache/incubator-apisix/pull/1914) +- Upstream:支持禁用 `Nginx` 默认重试机制。[1919](https://github.com/apache/incubator-apisix/pull/1919) +- URI:支持以配置方式删除 `URI` 末尾的 `/` 符号。[1766](https://github.com/apache/incubator-apisix/pull/1766) + +### New Plugin +- :sunrise: **新增 请求验证器 插件** [1709](https://github.com/apache/incubator-apisix/pull/1709) + +### Improvements +- 变更:nginx `worker_shutdown_timeout` 配置默认值由 `3s` 变更为推荐值 `240s`。[1883](https://github.com/apache/incubator-apisix/pull/1883) +- 变更:`healthcheck` 超时时间类型 由 `integer ` 变更为 `number`。[1892](https://github.com/apache/incubator-apisix/pull/1892) +- 变更:`request-validation` 插件输入参数支持 `JsonSchema` 验证。[1920](https://github.com/apache/incubator-apisix/pull/1920) +- 变更:为 Makefile `install` 命令添加注释。[1912](https://github.com/apache/incubator-apisix/pull/1912) +- 变更:更新 config.yaml `etcd.timeout` 默认配置的注释。[1929](https://github.com/apache/incubator-apisix/pull/1929) +- 变更:为 `prometheus` 添加更多度量指标,以更好地了解 `APISIX` 节点的情况。[1888](https://github.com/apache/incubator-apisix/pull/1888) + +### Bugfix +- 修复:`healthcheck` 获取 `host` 配置失败。 [1871](https://github.com/apache/incubator-apisix/pull/1871) +- 修复:插件运行时数据保存到 `etcd`。 [1910](https://github.com/apache/incubator-apisix/pull/1910) +- 修复:多次运行 `apisix start` 将启动多个 `Nginx` 进程。[1913](https://github.com/apache/incubator-apisix/pull/1913) +- 修复:从临时文件读取请求正文(如果已缓存)。[1863](https://github.com/apache/incubator-apisix/pull/1863) +- 修复:批处理器名称和错误返回类型。[1927](https://github.com/apache/incubator-apisix/pull/1927) +- 修复:`limit-count` 插件 `redis.ttl` 读取异常。[1928](https://github.com/apache/incubator-apisix/pull/1928) + +### Doc +- 文档:添加 `APISIX Lua` 代码风格指南。[1874](https://github.com/apache/incubator-apisix/pull/1874) +- 文档:修正 `README` 中语法错误。[1894](https://github.com/apache/incubator-apisix/pull/1894) +- 文档:修正 `benchmark` 文档中图片链接错误。[1896](https://github.com/apache/incubator-apisix/pull/1896) +- 文档:修正 `FAQ`、`admin-api`、`architecture-design`、`discovery`、`prometheus`、`proxy-rewrite`、`redirect`、`http-logger` 文档中错别字。[1916](https://github.com/apache/incubator-apisix/pull/1916) +- 文档:更新 `request-validation` 插件示例。[1926](https://github.com/apache/incubator-apisix/pull/1926) +- 文档:修正 `architecture-design` 文档中错别字。[1938](https://github.com/apache/incubator-apisix/pull/1938) +- 文档:添加 `how-to-build` 文档中在 `Linux` 和 `macOS` 系统中单元测试 `Nginx` 的默认引入路径。[1936](https://github.com/apache/incubator-apisix/pull/1936) +- 文档:添加 `request-validation` 插件中文文档。[1932](https://github.com/apache/incubator-apisix/pull/1932) +- 文档:修正 `README` 中 `gRPC transcoding` 文档路径。[1945](https://github.com/apache/incubator-apisix/pull/1945) +- 文档:修正 `README` 中 `uri-blocker` 文档路径。[1950](https://github.com/apache/incubator-apisix/pull/1950) + + ## 1.4.1 ### Bugfix diff --git a/README.md b/README.md index 4a8ba07da55c..660b989eda80 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,7 @@ A/B testing, canary release, blue-green deployment, limit rate, defense against - Anti-ReDoS(Regular expression Denial of Service): Built-in policies to Anti ReDoS without configuration. - [CORS](doc/plugins/cors.md) Enable CORS(Cross-origin resource sharing) for your API. - [uri-blocker](doc/plugins/uri-blocker.md): Block client request by URI. + - [Request Validator](doc/plugins/request-validation.md) - **OPS friendly** - OpenTracing: support [Apache Skywalking](doc/plugins/skywalking.md) and [Zipkin](doc/plugins/zipkin.md) @@ -124,12 +125,12 @@ 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 - wget http://www.apache.org/dist/incubator/apisix/1.4/apache-apisix-1.4-incubating-src.tar.gz - tar zxvf apache-apisix-1.4-incubating-src.tar.gz + wget http://www.apache.org/dist/incubator/apisix/1.5/apache-apisix-1.5-incubating-src.tar.gz + tar zxvf apache-apisix-1.5-incubating-src.tar.gz ``` - Install the dependencies: ```shell - cd apache-apisix-1.4-incubating + cd apache-apisix-1.5-incubating make deps ``` - check version of APISIX: @@ -154,7 +155,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/incubator-apisix/releases/download/1.4/apisix-1.4-0.el7.noarch.rpm + sudo yum install -y https://github.com/apache/incubator-apisix/releases/download/1.5/apisix-1.5-0.el7.noarch.rpm ``` - check version of APISIX: ```shell diff --git a/README_CN.md b/README_CN.md index 923f6959aeca..eb455def3d0f 100644 --- a/README_CN.md +++ b/README_CN.md @@ -90,6 +90,7 @@ A/B 测试、金丝雀发布(灰度发布)、蓝绿部署、限流限速、抵 - 防御 ReDoS(正则表达式拒绝服务):内置策略,无需配置即可抵御 ReDoS。 - [CORS](doc/zh-cn/plugins/cors.md):为你的API启用 CORS。 - [uri-blocker](doc/plugins/uri-blocker.md):根据 URI 拦截用户请求。 + - [请求验证器](doc/zh-cn/plugins/request-validation.md)。 - **运维友好** - OpenTracing 可观测性: 支持 [Apache Skywalking](doc/zh-cn/plugins/skywalking.md) 和 [Zipkin](doc/zh-cn/plugins/zipkin.md)。 @@ -123,12 +124,12 @@ 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 - wget http://www.apache.org/dist/incubator/apisix/1.4/apache-apisix-1.4-incubating-src.tar.gz - tar zxvf apache-apisix-1.4-incubating-src.tar.gz + wget http://www.apache.org/dist/incubator/apisix/1.5/apache-apisix-1.5-incubating-src.tar.gz + tar zxvf apache-apisix-1.5-incubating-src.tar.gz ``` - 安装运行时依赖的 Lua 库: ```shell - cd apache-apisix-1.4-incubating + cd apache-apisix-1.5-incubating make deps ``` - 检查 APISIX 的版本号: @@ -153,7 +154,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/incubator-apisix/releases/download/1.4/apisix-1.4-0.el7.noarch.rpm + sudo yum install -y https://github.com/apache/incubator-apisix/releases/download/1.5/apisix-1.5-0.el7.noarch.rpm ``` - 检查 APISIX 的版本号: ```shell diff --git a/apisix/core/version.lua b/apisix/core/version.lua index 5c2ffdcc3ceb..375808b38550 100644 --- a/apisix/core/version.lua +++ b/apisix/core/version.lua @@ -15,6 +15,5 @@ -- limitations under the License. -- return { - - VERSION = "1.4.1" + VERSION = "1.5" } diff --git a/doc/how-to-build.md b/doc/how-to-build.md index 2d7f1fa58c85..e12bc9c9c903 100644 --- a/doc/how-to-build.md +++ b/doc/how-to-build.md @@ -34,21 +34,21 @@ 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/1.4.1/apache-apisix-1.4.1-src.tar.gz -tar zxvf apache-apisix-1.4.1-src.tar.gz +wget http://www.apache.org/dist/apisix/1.5/apache-apisix-1.5-src.tar.gz +tar zxvf apache-apisix-1.5-src.tar.gz ``` Install the Lua libraries that the runtime depends on: ```shell -cd apache-apisix-1.4.1 +cd apache-apisix-1.5 make deps ``` ### Installation via RPM package (CentOS 7) ```shell -sudo yum install -y https://github.com/apache/incubator-apisix/releases/download/1.4.1/apisix-1.4.1-0.el7.noarch.rpm +sudo yum install -y https://github.com/apache/incubator-apisix/releases/download/1.5/apisix-1.5-0.el7.noarch.rpm ``` ### Installation via Luarocks (macOS not supported) @@ -64,11 +64,11 @@ sudo sh -c "$(curl -fsSL https://raw.githubusercontent.com/apache/incubator-apis > Install the specified version via Luarocks: ```shell -# Install version 1.4.1 -sudo luarocks install --lua-dir=/path/openresty/luajit apisix 1.4.1 +# Install version 1.5 +sudo luarocks install --lua-dir=/path/openresty/luajit apisix 1.5 # old luarocks not support the `lua-dir` parameter, you can remove this option -sudo luarocks install apisix 1.4.1 +sudo luarocks install apisix 1.5 ``` ## 3. Manage (start/stop) APISIX Server diff --git a/doc/zh-cn/how-to-build.md b/doc/zh-cn/how-to-build.md index 9922ddc7f610..a910b845e169 100644 --- a/doc/zh-cn/how-to-build.md +++ b/doc/zh-cn/how-to-build.md @@ -34,20 +34,20 @@ Apache APISIX 的运行环境需要 Nginx 和 etcd, 你需要先下载 Apache Release 源码包: ```shell -wget http://www.apache.org/dist/apisix/1.4.1/apache-apisix-1.4.1-src.tar.gz -tar zxvf apache-apisix-1.4.1-src.tar.gz +wget http://www.apache.org/dist/apisix/1.5/apache-apisix-1.5-src.tar.gz +tar zxvf apache-apisix-1.5-src.tar.gz ``` 安装运行时依赖的 Lua 库: ``` -cd apache-apisix-1.4.1 +cd apache-apisix-1.5 make deps ``` ### 通过 RPM 包安装(CentOS 7) ```shell -sudo yum install -y https://github.com/apache/incubator-apisix/releases/download/1.4.1/apisix-1.4.1-0.el7.noarch.rpm +sudo yum install -y https://github.com/apache/incubator-apisix/releases/download/1.5/apisix-1.5-0.el7.noarch.rpm ``` ### 通过 Luarocks 安装 (不支持 macOS) @@ -63,11 +63,11 @@ sudo sh -c "$(curl -fsSL https://raw.githubusercontent.com/apache/incubator-apis > 通过 Luarocks 安装指定的版本: ```shell -# 安装 apisix 的 1.4.1 版本 -sudo luarocks install --lua-dir=/path/openresty/luajit apisix 1.4.1 +# 安装 apisix 的 1.5 版本 +sudo luarocks install --lua-dir=/path/openresty/luajit apisix 1.5 # 老版本 luarocks 可能不支持 `lua-dir` 参数,可以删除该选项 -sudo luarocks install apisix 1.4.1 +sudo luarocks install apisix 1.5 ``` ## 3. 管理(启动、关闭等)APISIX 服务 diff --git a/rockspec/apisix-1.5-0.rockspec b/rockspec/apisix-1.5-0.rockspec new file mode 100644 index 000000000000..45b7e3e5e6a5 --- /dev/null +++ b/rockspec/apisix-1.5-0.rockspec @@ -0,0 +1,74 @@ +-- +-- 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 = "1.5-0" +supported_platforms = {"linux", "macosx"} + +source = { + url = "git://github.com/apache/incubator-apisix", + branch = "1.5", +} + +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/incubator-apisix", + license = "Apache License 2.0", +} + +dependencies = { + "lua-resty-template = 1.9", + "lua-resty-etcd = 1.0", + "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.0", + "lua-protobuf = 0.3.1", + "lua-resty-openidc = 1.7.2-1", + "luafilesystem = 1.7.0-2", + "lua-tinyyaml = 0.1", + "lua-resty-prometheus = 1.1", + "jsonschema = 0.8", + "lua-resty-ipmatcher = 0.6", + "lua-resty-kafka = 0.07", + "lua-resty-logger-socket = 2.0-0", + "skywalking-nginx-lua-plugin = 1.0-0", +} + +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)", + }, +}