Table of Contents
1.1.0
这个版本主要是加强代码的稳定性,以及增加更多的文档。
Core
Doc
CI
- 移除不再必须的补丁。 #1090
- 修复使用 luarocks 安装时路径错误问题。#1068
- 为 luarocks 安装专门配置一个 travis 进行回归测试。 #1063
Plugins
- 「节点状态」插件使用 nginx 内部请求替换原来的外部请求。 #1109
- 增加 wolf-rbac 插件。 #1095
- 增加 udp-logger 插件。 #1070
1.0.0
这个版本主要是加强代码的稳定性,以及增加更多的文档。
Core
-
支持路由的优先级。可以在 URI 相同的条件下,根据 header、args、优先级等条件,来匹配到不同的上游服务。 #998
- 在没有匹配到任何路由的时候,返回错误信息。以便和其他的 404 请求区分开。#1013
- dashboard 的地址
/apisix/admin
支持 CORS。#982
- jsonschema 校验器返回更清晰的错误提示。#1011
- 升级
ngx_var
模块到 0.5 版本。#1005
- 升级
lua-resty-etcd
模块到 0.8 版本。#980
- 在开发模式下,自动把 worker 数调整为 1。#926
- 从代码仓库中移除 nginx.conf 文件,它每次都会自动生成,不可手工修改。#974
Doc
- 增加如何自定义开发插件的文档。#909
- 修复 serverless 插件文档中错误的示例。#1006
- 增加 Oauth 插件的使用文档。#987
- 增加 dashboard 编译的文档。#985
- 增加如何进行 a/b 测试的文档。#957
- 增加如何开启 MQTT 插件的文档。#916
Test case
- 增加 key-auth 插件正常情况下的测试案例。#964
- 增加 grpc transcode pb 选项的测试。#920
0.9.0
这个版本带来很多新特性,比如支持使用 Tengine 运行 APISIX,增加了对开发人员更友好的高级调试模式,还有新的URI重定向插件等。
Core
-
支持使用 Tengine 运行 APISIX。 #683
-
启用 HTTP2 并支持设置 ssl_protocols。 #663
-
增加高级调试模式,可在不重启的服务的情况下动态打印指定模块方法的请求参数或返回值。#614
- 安装程序增加了仪表盘开关,支持用户自主选择是否安装仪表板程序。 #686
- 取消对 R3 路由的支持,并移除 R3 路由模块。 #725
Plugins
lua-resty-*
- lua-resty-radixtree
- lua-resty-jsonschema
- 该扩展作用是JSON数据验证器,用于替换现有的
lua-rapidjson
扩展。
Bugfix
- 在多个使用者的情况下,
key-auth
插件无法正确运行。 #826
- 无法在
API Server
中获取 serverless
插件配置。 #787
- 解决使用
proxy-write
重写URI时GET参数丢失问题。 #642
-
Zipkin
插件未将跟踪数据设置为请求头. #715
- 使用本地文件作为配置中心时,跳过 etcd 初始化。 #737
- 在APISIX CLI中跳过 luajit 环境的
check cjson
。#652
- 配置
Upstream
时,选择 balancer
类型为 chash
时,支持更多Nginx内置变量作为计算key。 #775
Dependencies
- 使用
lua-resty-jsonschema
全局替换 lua-rapidjson
扩展,lua-resty-jsonschema
解析速度更快,更容易编译。
0.8.0
Released on 2019/09/30
这个版本带来很多新的特性,比如四层协议的代理, 支持 MQTT 协议代理,以及对 ARM 平台的支持, 和代理改写插件等。
Core
Plugins
ARM
-
APISIX 可以在基于 ARM64 架构的 Ubuntu 18.04 系统中正常运行, 搭配上 MQTT 插件,你可以把它当做 IoT 网关来使用。
lua-resty-*
- lua-resty-ipmatcher
- lua-resty-radixtree
- 允许指定多个 host, remote_addr 和 uri。
- 允许设置用户自定义函数来做额外的过滤。
- 使用
lua-resty-ipmatcher
替代 lua-resty-iputils
, lua-resty-ipmatcher
支持 IPv6 并且速度更快。
Bugfix
- 健康检查: 修复在多 worker 下运行时健康检查 checker 的名字错误。 #568
Dependencies
- 把
lua-tinyyaml
从源码中移除,通过 Luarocks 来安装。
0.7.0
Released on 2019/09/06
这个版本带来很多新的特性,比如 IP 黑白名单、gPRC 协议转换、支持 IPv6、对接 IdP(身份认证提供商)服务、serverless、默认路由修改为radix tree(不向下兼容)等。
Core
-
gRPC 协议转换: 支持 gRPC 协议的转换,这样客户端可以通过 HTTP/JSON 来访问你的 gRPC API. #395
-
radix tree 路由: 默认的路由器更改为 radix tree,支持把 uri、host、cookie、请求头、请求参数、Nginx 内置变量等作为路由的条件,并支持等于、大于、小于等常见操作符,更加强大和灵活. 需要注意的是,这个改动不向下兼容,所有使用历史版本的用户,需要手动修改路由才能正常使用。#414
- 动态上游支持更多的参数,可以指定上游的 uri 和 host,以及是否开启 websocket. #451
- 支持从
ctx.var
中直接获取 cookie 中的值. #449
- 路由支持 IPv6. #331
Plugins
-
serverless: 支持 serverless,用户可以把任意 Lua 函数动态的在网关节点上运行。用户也可以把这个功能当做是轻量级的插件来使用。#86
-
IdP 支持: 支持外部的身份认证服务,比如 Auth0,okta 等,用户可以借此来对接 Oauth2.0 等认证方式。 #447
-
限流限速支持更多的限制 key,比如 X-Forwarded-For 和 X-Real-IP,并且允许用户把 Nginx 变量、请求头和请求参数作为 key. #228
-
IP 黑白名单 支持 IP 黑白名单,提供更高的安全性。#398
CLI
- 增加
version
指令,获取 APISIX 的版本号. #420
Admin
- 支持
PATCH
API,可以针对某个配置单独修改,而不再用提交整段配置。#365
Dashboard
Back to TOC
0.6.0
Released on 2019/08/05
这个版本带来很多新的特性,比如健康检查、服务熔断、debug 模式,分布式追踪、JWT
认证等,以及内置的 dashboard.
Core
-
健康检查和服务熔断: 对上游节点开启健康检查,智能判断服务状态进行熔断和连接. #249
- 阻止ReDoS(Regular expression Denial of Service). #252
- 支持 debug 模式. #319
- 允许自定义路由. #364
- 路由支持 host 和 uri 的组合. #325
- 允许在 balance 阶段注入插件. #299
- 为 upstream 和 service 在 schema 中增加描述信息. #289
Plugins
CLI
-
allow
指令中支持多个 ip 地址. #340
- 支持在 nginx.conf 中配置 real_ip 指令,以及增加函数来获取 ip. #236
Dashboard
-
增加内置的 dashboard. #327
Test
- 在 Travis CI 中支持 OSX. #217
- 把所有依赖安装到
deps
目录. #248
Back to TOC