13 KiB
Table of Contents
1.0.0
This release is mainly to strengthen the stability of the code and add more documentation.
Core
- 🌅 Support routing priority. You can match different upstream services based on conditions such as header, args, priority, etc. under the same URI. #998
- When no route is matched, an error message is returned. To distinguish it from other 404 requests. #1013
- The address of the dashboard
/apisix/admin
supports CORS. #982 - The jsonschema validator returns a clearer error message. #1011
- Upgrade the
ngx_var
module to version 0.5. #1005 - Upgrade the
lua-resty-etcd
module to version 0.8. #980 - In development mode, the number of workers is automatically adjusted to 1. #926
- Remove the nginx.conf file from the code repository. It is automatically generated every time and cannot be modified manually. #974
Doc
- Added documentation on how to customize development plugins. #909
- fixed example's bugs in the serverless plugin documentation. #1006
- Added documentation for using the Oauth plugin. #987
- Added dashboard compiled documentation. #985
- Added documentation on how to perform a/b testing. #957
- Added documentation on how to enable the MQTT plugin. #916
Test case
- Add test cases for key-auth plugin under normal circumstances. #964
- Added tests for gRPC transcode pb options. #920
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.
Core
- 🌅 Supported to run APISIX with tengine. #683
- 🌅 Enabled HTTP2 and supported to set ssl_protocols. #663
- 🌅 Advanced Debug Mode, Target module function's input arguments or returned value would be printed once this option is enabled. #614
- Support to install APISIX without dashboard. #686
- Removed router R3 #725
Plugins
- Redirect URI: Redirect URI plugin. #732
- Proxy Rewrite: Supported remove
header
feature. #658 - Limit Count: Supported global limit count with
Redis Server
.#624
lua-resty-*
- lua-resty-radixtree
- Support for
host + uri
as an index.
- Support for
- lua-resty-jsonschema
- 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
Bugfix
- key-auth plugin cannot run accurately in the case of multiple consumers. #826
- Exported schema for plugin serverless. #787
- Discard args of uri when using proxy-write plugin #642
- Zipkin plugin not set tracing data to request header. #715
- Skipped check cjson for luajit environment in apisix CLI. #652
- Skipped to init etcd if use local file as config center. #737
- Support more built-in parameters when set chash balancer. #775
Dependencies
- Replace the
lua-rapidjson
module withlua-resty-jsonschema
global,lua-resty-jsonschema
is faster and easier to compile.
0.8.0
Released on 2019/09/30
This release brings many new features, such as stream proxy, support MQTT protocol proxy, and support for ARM platform, and proxy rewrite plugin.
Core
- 🌅 support stand-alone mode: using yaml to update configurations of APISIX, more friendly to kubernetes. #464
- 🌅 support stream proxy. #513
- 🌅 support consumer bind plugins. #544
- support domain name in upstream, not only IP. #522
- ignored upstream node when it's weight is 0. #536
Plugins
- 🌅 MQTT Proxy: support to load balance MQTT by
client_id
, both support MQTT 3.1 and 5.0. #513 - proxy-rewrite: rewrite uri, schema, host for upstream. #594
ARM
- 🌅 APISIX can run normally under Ubuntu 18.04 of ARM64 architecture, so you can use APISIX as IoT gateway with MQTT plugin.
lua-resty-*
- lua-resty-ipmatcher
- support IPv6
- IP white/black list, route.
- lua-resty-radixtree
- allow to specify multiple host, remote_addr and uri.
- allow to define user-function to filter request.
- use
lua-resty-ipmatcher
instead oflua-resty-iputils
,lua-resty-ipmatcher
matches fast and support IPv6.
Bugfix
- healthcheck: the checker name is wrong if APISIX works under multiple processes. #568
Dependencies
- removed
lua-tinyyaml
from source code base, and install through Luarocks.
0.7.0
Released on 2019/09/06
This release brings many new features, such as IP black and white list, gPRC protocol transcoding, IPv6, IdP (identity provider) services, serverless, Change the default route to radix tree (not downward compatible), and more.
Core
- 🌅 gRPC transcoding: supports protocol transcoding so that clients can access your gRPC API by using HTTP/JSON. #395
- 🌅 radix tree router: The radix tree is used as the default router implementation. It supports the uri, host, cookie, request header, request parameters, Nginx built-in variables, etc. as the routing conditions, and supports common operators such as equal, greater than, less than, etc., more powerful and flexible.IMPORTANT: This change is not downward compatible. All users who use historical versions need to manually modify their routing to work properly. #414
- Dynamic upstream supports more parameters, you can specify the upstream uri and host, and whether to enable websocket. #451
- Support for get values from cookies directly from
ctx.var
. #449 - Routing support IPv6. #331
Plugins
- 🌅 serverless: With serverless support, users can dynamically run any Lua function on a gateway node. Users can also use this feature as a lightweight plugin.#86
- 🌅 support IdP: Support external authentication services, such as Auth0, okta, etc., users can use this to connect to Oauth2.0 and other authentication methods. #447
- rate limit: Support for more restricted keys, such as
X-Forwarded-For
andX-Real-IP
, and allows users to use Nginx variables, request headers, and request parameters as keys. #228 - IP black and white list Support IP black and white list for security. #398
CLI
- Add the
version
directive to get the version number of APISIX. #420
Admin
- The
PATCH
API is supported and can be modified individually for a configuration without submitting the entire configuration. #365
Dashboard
- 🌅 Add the online version of the dashboard,users can experience APISIX without install. #374
0.6.0
Released on 2019/08/05
This release brings many new features such as health check and circuit breaker, debug mode, opentracing and JWT auth. And add built-in dashboard.
Core
- 🌅 Health Check and Circuit Breaker: Enable health check on the upstream node, and will automatically filter unhealthy nodes during load balancing to ensure system stability. #249
- Anti-ReDoS(Regular expression Denial of Service). #252
- supported debug mode. #319
- allowed to use different router. #364
- supported to match route by host + uri. #325
- allowed plugins to handler balance phase. #299
- added desc for upstream and service in schema. #289
Plugins
- 🌅 OpenTracing: support Zipkin and Apache SkyWalking. #304
- JWT auth. #303
CLI
- support multiple ips of
allow
. #340 - supported real_ip configure in nginx.conf and added functions to get ip and remote ip. #236
Dashboard
- 🌅 add built-in dashboard. #327