From c7281fadbf2d09066926b0c66f03d5a1a1ee4bd8 Mon Sep 17 00:00:00 2001 From: spacewander Date: Mon, 26 Dec 2022 11:42:19 +0800 Subject: [PATCH] feat: release APISIX 3.1.0 Signed-off-by: spacewander --- .asf.yaml | 4 ++ CHANGELOG.md | 44 +++++++++++++ apisix/core/version.lua | 2 +- docs/en/latest/building-apisix.md | 2 +- docs/en/latest/config.json | 2 +- docs/zh/latest/CHANGELOG.md | 44 +++++++++++++ docs/zh/latest/building-apisix.md | 2 +- docs/zh/latest/config.json | 2 +- rockspec/apisix-3.1.0-0.rockspec | 103 ++++++++++++++++++++++++++++++ 9 files changed, 200 insertions(+), 5 deletions(-) create mode 100644 rockspec/apisix-3.1.0-0.rockspec diff --git a/.asf.yaml b/.asf.yaml index 6fb862a77b17..2e22b638d45e 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -53,6 +53,10 @@ github: dismiss_stale_reviews: true require_code_owner_reviews: true required_approving_review_count: 2 + release/3.1: + required_pull_request_reviews: + require_code_owner_reviews: true + required_approving_review_count: 2 release/3.0: required_pull_request_reviews: require_code_owner_reviews: true diff --git a/CHANGELOG.md b/CHANGELOG.md index c5184fb23f48..0d9ff9cf69d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ title: Changelog ## Table of Contents +- [3.1.0](#310) - [3.0.0](#300) - [3.0.0-beta](#300-beta) - [2.15.1](#2151) @@ -64,6 +65,49 @@ title: Changelog - [0.7.0](#070) - [0.6.0](#060) +## 3.1.0 + +### Core + +- :sunrise: Support for etcd configuration synchronization via gRPC: + - [#8485](https://github.com/apache/apisix/pull/8485) + - [#8450](https://github.com/apache/apisix/pull/8450) + - [#8411](https://github.com/apache/apisix/pull/8411) +- :sunrise: Support for configuring encrypted fields in plugins: + - [#8487](https://github.com/apache/apisix/pull/8487) + - [#8403](https://github.com/apache/apisix/pull/8403) +- :sunrise: Support for placing partial fields in Vault or environment variable using secret resources: + - [#8448](https://github.com/apache/apisix/pull/8448) + - [#8421](https://github.com/apache/apisix/pull/8421) + - [#8412](https://github.com/apache/apisix/pull/8412) + - [#8394](https://github.com/apache/apisix/pull/8394) + - [#8390](https://github.com/apache/apisix/pull/8390) +- :sunrise: Allows upstream configuration in the stream subsystem as a domain name: [#8500](https://github.com/apache/apisix/pull/8500) +- :sunrise: Support Consul service discovery: [#8380](https://github.com/apache/apisix/pull/8380) + +### Plugin + +- :sunrise: Optimize resource usage for prometheus collection: [#8434](https://github.com/apache/apisix/pull/8434) +- :sunrise: Add inspect plugin for easy debugging: [#8400](https://github.com/apache/apisix/pull/8400) +- :sunrise: jwt-auth plugin supports parameters to hide authentication token from upstream : [#8206](https://github.com/apache/apisix/pull/8206) +- :sunrise: proxy-rewrite plugin supports adding new request headers without overwriting existing request headers with the same name: [#8336](https://github.com/apache/apisix/pull/8336) +- :sunrise: grpc-transcode plugin supports setting the grpc-status-details-bin response header into the response body: [#7639](https://github.com/apache/apisix/pull/7639) +- :sunrise: proxy-mirror plugin supports setting the prefix: [#8261](https://github.com/apache/apisix/pull/8261) + +### Bugfix + +- Fix the problem that the plug-in configured under service object cannot take effect in time under some circumstances: [#8482](https://github.com/apache/apisix/pull/8482) +- Fix an occasional 502 problem when http and grpc share the same upstream connection due to connection pool reuse: [#8364](https://github.com/apache/apisix/pull/8364) +- file-logger should avoid buffer-induced log truncation when writing logs: [#7884](https://github.com/apache/apisix/pull/7884) +- max_kept parameter of log-rotate plugin should take effect on compressed files: [#8366](https://github.com/apache/apisix/pull/8366) +- Fix userinfo not being set when use_jwks is true in the openid-connect plugin: [#8347](https://github.com/apache/apisix/pull/8347) +- Fix an issue where x-forwarded-host cannot be changed in the proxy-rewrite plugin: [#8200](https://github.com/apache/apisix/pull/8200) +- Fix a bug where disabling the v3 admin API resulted in missing response bodies under certain circumstances: [#8349](https://github.com/apache/apisix/pull/8349) +- In zipkin plugin, pass trace ID even if there is a rejected sampling decision: [#8099](https://github.com/apache/apisix/pull/8099) +- Fix `_meta.filter` in plugin configuration not working with variables assigned after upstream response and custom variables in APISIX. + - [#8162](https://github.com/apache/apisix/pull/8162) + - [#8256](https://github.com/apache/apisix/pull/8256) + ## 3.0.0 ### Change diff --git a/apisix/core/version.lua b/apisix/core/version.lua index cca6f0e02e95..2127de342e88 100644 --- a/apisix/core/version.lua +++ b/apisix/core/version.lua @@ -20,5 +20,5 @@ -- @module core.version return { - VERSION = "3.0.0" + VERSION = "3.1.0" } diff --git a/docs/en/latest/building-apisix.md b/docs/en/latest/building-apisix.md index dd2aecb6fee8..0deada4ae208 100644 --- a/docs/en/latest/building-apisix.md +++ b/docs/en/latest/building-apisix.md @@ -52,7 +52,7 @@ curl https://raw.githubusercontent.com/apache/apisix/master/utils/install-depend Then, create a directory and set the environment variable `APISIX_VERSION`: ```shell -APISIX_VERSION='3.0.0' +APISIX_VERSION='3.1.0' mkdir apisix-${APISIX_VERSION} ``` diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json index 8e3dbb3d4d64..26706749e6e9 100644 --- a/docs/en/latest/config.json +++ b/docs/en/latest/config.json @@ -1,5 +1,5 @@ { - "version": "3.0.0", + "version": "3.1.0", "sidebar": [ { "type": "doc", diff --git a/docs/zh/latest/CHANGELOG.md b/docs/zh/latest/CHANGELOG.md index 87065f21ce85..2e685cb5e09f 100644 --- a/docs/zh/latest/CHANGELOG.md +++ b/docs/zh/latest/CHANGELOG.md @@ -23,6 +23,7 @@ title: CHANGELOG ## Table of Contents +- [3.1.0](#310) - [3.0.0](#300) - [3.0.0-beta](#300-beta) - [2.15.1](#2151) @@ -64,6 +65,49 @@ title: CHANGELOG - [0.7.0](#070) - [0.6.0](#060) +## 3.1.0 + +### Core + +- :sunrise: 支持通过 gRPC 来同步 etcd 的配置: + - [#8485](https://github.com/apache/apisix/pull/8485) + - [#8450](https://github.com/apache/apisix/pull/8450) + - [#8411](https://github.com/apache/apisix/pull/8411) +- :sunrise: 支持在插件中配置加密字段: + - [#8487](https://github.com/apache/apisix/pull/8487) + - [#8403](https://github.com/apache/apisix/pull/8403) +- :sunrise: 支持使用 secret 资源将部分字段放到 Vault 或环境变量中: + - [#8448](https://github.com/apache/apisix/pull/8448) + - [#8421](https://github.com/apache/apisix/pull/8421) + - [#8412](https://github.com/apache/apisix/pull/8412) + - [#8394](https://github.com/apache/apisix/pull/8394) + - [#8390](https://github.com/apache/apisix/pull/8390) +- :sunrise: 允许在 stream 子系统中以域名的形式配置上游:[#8500](https://github.com/apache/apisix/pull/8500) +- :sunrise: 支持 Consul 服务发现:[#8380](https://github.com/apache/apisix/pull/8380) + +### Plugin + +- :sunrise: 优化 prometheus 采集的资源占用:[#8434](https://github.com/apache/apisix/pull/8434) +- :sunrise: 增加便于调试的 inspect 插件: [#8400](https://github.com/apache/apisix/pull/8400) +- :sunrise: jwt-auth 插件支持对上游隐蔽认证的参数:[#8206](https://github.com/apache/apisix/pull/8206) +- :sunrise: proxy-rewrite 插件支持新增请求头的同时不覆盖现有同名请求头:[#8336](https://github.com/apache/apisix/pull/8336) +- :sunrise: grpc-transcode 插件支持将 grpc-status-details-bin 响应头设置到响应体中:[#7639](https://github.com/apache/apisix/pull/7639) +- :sunrise: proxy-mirror 插件支持设置前缀:[#8261](https://github.com/apache/apisix/pull/8261) + +### Bugfix + +- 修复某些情况下,配置在 service 对象下的插件无法及时生效的问题:[#8482](https://github.com/apache/apisix/pull/8482) +- 修复因连接池复用,http 和 grpc 共用同一个上游节点时偶发 502 的问题:[#8364](https://github.com/apache/apisix/pull/8364) +- file-logger 在写日志时,应避免缓冲区造成的日志截断:[#7884](https://github.com/apache/apisix/pull/7884) +- log-rotate 插件的 max_kept 参数应对压缩文件生效:[#8366](https://github.com/apache/apisix/pull/8366) +- 修复 openid-connect 插件中当 use_jwks 为 true 时没有设置 userinfo 的问题:[#8347](https://github.com/apache/apisix/pull/8347) +- 修复无法在 proxy-rewrite 插件中修改 x-forwarded-host 的问题:[#8200](https://github.com/apache/apisix/pull/8200) +- 修复某些情况下,禁用 v3 admin API 导致响应体丢失:[#8349](https://github.com/apache/apisix/pull/8349) +- zipkin 插件中,即使存在 reject 的 sampling decision,也要传递 trace ID:[#8099](https://github.com/apache/apisix/pull/8099) +- 修复插件配置中的 `_meta.filter` 无法使用上游响应后才赋值的变量和 APISIX 中自定义变量的问题: + - [#8162](https://github.com/apache/apisix/pull/8162) + - [#8256](https://github.com/apache/apisix/pull/8256) + ## 3.0.0 ### Change diff --git a/docs/zh/latest/building-apisix.md b/docs/zh/latest/building-apisix.md index 6a358b8f32cb..2c4b6aaf2760 100644 --- a/docs/zh/latest/building-apisix.md +++ b/docs/zh/latest/building-apisix.md @@ -53,7 +53,7 @@ curl https://raw.githubusercontent.com/apache/apisix/master/utils/install-depend 然后,创建一个目录并设置环境变量 `APISIX_VERSION`: ```shell -APISIX_VERSION='3.0.0' +APISIX_VERSION='3.1.0' mkdir apisix-${APISIX_VERSION} ``` diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json index 65c0aa8f4313..8699cfb026cd 100644 --- a/docs/zh/latest/config.json +++ b/docs/zh/latest/config.json @@ -1,5 +1,5 @@ { - "version": "3.0.0", + "version": "3.1.0", "sidebar": [ { "type": "doc", diff --git a/rockspec/apisix-3.1.0-0.rockspec b/rockspec/apisix-3.1.0-0.rockspec new file mode 100644 index 000000000000..92258ed5978d --- /dev/null +++ b/rockspec/apisix-3.1.0-0.rockspec @@ -0,0 +1,103 @@ +-- +-- 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 = "3.1.0-0" +supported_platforms = {"linux", "macosx"} + +source = { + url = "git://github.com/apache/apisix", + branch = "3.1.0", +} + +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/apisix", + license = "Apache License 2.0", +} + +dependencies = { + "lua-resty-ctxdump = 0.1-0", + "api7-lua-resty-dns-client = 7.0.1", + "lua-resty-template = 2.0", + "lua-resty-etcd = 1.10.2", + "api7-lua-resty-http = 0.2.0", + "lua-resty-balancer = 0.04", + "lua-resty-ngxvar = 0.5.2", + "lua-resty-jit-uuid = 0.0.7", + "lua-resty-healthcheck-api7 = 2.2.1", + "api7-lua-resty-jwt = 0.2.4", + "lua-resty-hmac-ffi = 0.05", + "lua-resty-cookie = 0.1.0", + "lua-resty-session = 3.10", + "opentracing-openresty = 0.1", + "lua-resty-radixtree = 2.8.2", + "api7-lua-protobuf = 0.1.1", + "lua-resty-openidc = 1.7.5", + "luafilesystem = 1.7.0-2", + "api7-lua-tinyyaml = 0.4.2", + "nginx-lua-prometheus = 0.20220527", + "jsonschema = 0.9.8", + "lua-resty-ipmatcher = 0.6.1", + "lua-resty-kafka = 0.20-0", + "lua-resty-logger-socket = 2.0.1-0", + "skywalking-nginx-lua = 0.6.0", + "base64 = 1.5-2", + "binaryheap = 0.4", + "api7-dkjson = 0.1.1", + "resty-redis-cluster = 1.02-4", + "lua-resty-expr = 1.3.2", + "graphql = 0.0.2", + "argparse = 0.7.1-1", + "luasocket = 3.1.0-1", + "luasec = 0.9-1", + "lua-resty-consul = 0.3-2", + "penlight = 1.9.2-1", + "ext-plugin-proto = 0.6.0", + "casbin = 1.41.1", + "api7-snowflake = 2.0-1", + "inspect == 3.1.1", + "lualdap = 1.2.6-1", + "lua-resty-rocketmq = 0.3.0-0", + "opentelemetry-lua = 0.1-3", + "net-url = 0.9-1", + "xml2lua = 1.5-2", + "nanoid = 0.1-1", + "lua-resty-mediador = 0.1.2-1", + "lua-resty-ldap = 0.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)", + OPENSSL_INCDIR="$(OPENSSL_INCDIR)", + OPENSSL_LIBDIR="$(OPENSSL_LIBDIR)", + }, + install_variables = { + ENV_INST_PREFIX="$(PREFIX)", + ENV_INST_BINDIR="$(BINDIR)", + ENV_INST_LIBDIR="$(LIBDIR)", + ENV_INST_LUADIR="$(LUADIR)", + ENV_INST_CONFDIR="$(CONFDIR)", + }, +}