Skip to content

Latest commit

Β 

History

History
381 lines (277 loc) Β· 24.4 KB

CHANGELOG.md

File metadata and controls

381 lines (277 loc) Β· 24.4 KB

Table of Contents

1.5.0

Core

  • Admin API: support authentication with SSL certificates. 1747
  • Admin API: support both standard PATCH and sub path PATCH. 1930
  • HealthCheck: supports custom host port. 1914
  • Upstream: supports turning off the default retry mechanism. 1919
  • URI: supports delete the '/' at the end of the URI. 1766

New Plugin

  • πŸŒ… Request Validator 1709

Improvements

  • change: nginx worker_shutdown_timeout is changed from 3s to recommended value 240s. 1883
  • change: the healthcheck timeout time type changed from integer to number. 1892
  • change: the request-validation plugin input parameter supports Schema validation. 1920
  • change: add comments for Makefile install command. 1912
  • change: update comment for config.yaml etcd.timeout configuration. 1929
  • change: add more prometheus metrics. 1888
  • change: add more configuration options for cors plugin. 1963

Bugfix

  • fixed: failed to get host in health check configuration. 1871
  • fixed: should not save the runtime data of plugin into etcd. 1910
  • fixed: run apisix start several times will start multi nginx processes. 1913
  • fixed: read the request body from the temporary file if it was cached. 1863
  • fixed: batch processor name and error return type. 1927
  • fixed: failed to read redis.ttl in limit-count plugin. 1928
  • fixed: passive health check seems never provide a healthy report. 1918
  • fixed: avoid to modify the original plugin conf. 1958
  • fixed: the test case of invalid-upstream is unstable and sometimes fails to run. 1925

Doc

  • doc: added APISIX Lua Coding Style Guide. 1874
  • doc: fixed link syntax in README.md. 1894
  • doc: fixed image links in zh-cn benchmark. 1896
  • doc: fixed typos in FAQ、admin-api、architecture-design、discovery、prometheus、proxy-rewrite、redirect、http-logger documents. 1916
  • doc: added improvements for OSx unit tests and request validation plugin. 1926
  • doc: fixed typos in architecture-design document. 1938
  • doc: added the default import path of Nginx for unit testing in Linux and macOS systems in the how-to-build document. 1936
  • doc: add request-validation plugin chinese document. 1932
  • doc: fixed file path of gRPC transcoding in README. 1945
  • doc: fixed uri-blocker plugin path error in README. 1950
  • doc: fixed grpc-transcode plugin path error in README. 1946
  • doc: removed unnecessary configurations for k8s document. 1891

1.4.1

Bugfix

  • Fix: multiple SSL certificates are configured, but only one certificate working fine. 1818

1.4.0

Core

  • Admin API: Support unique names for routes 1655
  • Optimization of log buffer size and flush time 1570

New plugins

  • πŸŒ… Apache Skywalking plugin 1241
  • πŸŒ… Keycloak Identity Server Plugin 1701
  • πŸŒ… Echo Plugin 1632
  • πŸŒ… Consume Restriction Plugin 1437

Improvements

  • Batch Request : Copy all headers to every request 1697
  • SSL private key encryption 1678
  • Improvement of docs for multiple plugins

1.3.0

The 1.3 version is mainly for security update.

Security

  • reject invalid header#1462 and uri safe encode#1461
  • only allow 127.0.0.1 access admin API and dashboard by default. #1458

Plugin

  • πŸŒ… add batch request plugin. #1388
  • implemented plugin sys logger. #1414

1.2.0

The 1.2 version brings many new features, including core and plugins.

Core

  • πŸŒ… support etcd cluster. #1283
  • using the local DNS resolver by default, which is friendly for k8s. #1387
  • support to run header_filter, body_filter and log phases for global rules. #1364
  • changed the lua/apisix dir to apisix(not backward compatible). #1351
  • add dashboard as submodule. #1360
  • allow adding custom shared dict. #1367

Plugin

  • πŸŒ… add Apache Kafka plugin. #1312
  • πŸŒ… add CORS plugin. #1327
  • πŸŒ… add TCP logger plugin. #1221
  • πŸŒ… add UDP logger plugin. 1070
  • πŸŒ… add proxy mirror plugin. #1288
  • πŸŒ… add proxy cache plugin. #1153
  • drop websocket enable control in proxy-rewrite plugin(not backward compatible). 1332
  • Adding support to public key based introspection for OAuth plugin. #1266
  • response-rewrite plugin support binary data to client by base64. #1381
  • plugin grpc-transcode supports grpc deadline. #1149
  • support password auth for limit-count-redis. #1150
  • Zipkin plugin add service name and report local server IP. #1386
  • add change_pwd and user_info for Wolf-Rbac plugin. #1204

Admin API

  • πŸŒ… support key-based authentication for Admin API(not backward compatible). #1169
  • hide SSL private key in admin API. #1240

Bugfix

  • missing clear table before to reuse table (will cause memory leak). #1134
  • print warning error message if the yaml route file is invalid. #1141
  • the balancer IP may be nil, use an empty string instead. #1166
  • plugin node-status and heartbeat don't have schema. #1249
  • the plugin basic-auth needs required field. #1251
  • check the count of upstream valid node. #1292

1.1.0

This release is mainly to strengthen the stability of the code and add more documentation.

Core

  • always specify perl include path when runing test cases. #1097
  • Feature: Add support for PROXY Protocol. #1113
  • enhancement: add verify command to verify apisix configuration(nginx.conf). #1112
  • feature: increase the default size of the core file. #1105
  • feature: make the number of file is as configurable as the connections. #1098
  • core: improve the core.log module. #1093
  • Modify bin/apisix to support the SO_REUSEPORT. #1085

Doc

  • doc: add link to download grafana meta data. #1119
  • doc: Update README.md. #1118
  • doc: doc: add wolf-rbac plugin. #1116
  • doc: update the download link of rpm. #1108
  • doc: add more english article. #1092
  • Adding contribution guidelines for the documentation. #1086
  • doc: getting-started.md check. #1084
  • Added additional information and refactoring sentences. #1078
  • Update admin-api-cn.md. #1067
  • Update architecture-design-cn.md. #1065

CI

  • ci: remove patch which is no longer necessary and removed in the upst. #1090
  • fix path error when install with luarocks. #1068
  • travis: run a apisix instance which intalled by luarocks. #1063

Plugins

  • feature: Add wolf rbac plugin. #1095
  • Adding UDP logger plugin. #1070
  • enhancement: using internal request instead of external request in node-status plugin. #1109

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

lua-resty-*

  • lua-resty-radixtree
    • Support for host + uri as an index.
  • lua-resty-jsonschema
    • This extension is a JSON data validator that replaces the existing lua-rapidjson extension.

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 with lua-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

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 of lua-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 and X-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

Back to TOC

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

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

Test

  • support OSX in Travis CI. #217
  • installed all of the dependencies to deps folder. #248

Back to TOC