diff --git a/.asf.yaml b/.asf.yaml index 69f3f2c8d43e..d6369bc80dc5 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.7: + required_pull_request_reviews: + require_code_owner_reviews: true + required_approving_review_count: 2 release/3.6: required_pull_request_reviews: require_code_owner_reviews: true diff --git a/CHANGELOG.md b/CHANGELOG.md index ce5f1d01726b..2d639193e91d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ title: Changelog ## Table of Contents +- [3.7.0](#370) - [3.6.0](#360) - [3.5.0](#350) - [3.4.0](#340) @@ -73,6 +74,44 @@ title: Changelog - [0.7.0](#070) - [0.6.0](#060) +## 3.7.0 + +### Change + +- :warning: Creating core resources does not allow passing in `create_time` and `update_time`: [#10232](https://github.com/apache/apisix/pull/10232) +- :warning: Remove self-contained info fields `exptime` and `validity_start` and `validity_end` from ssl schema: [10323](https://github.com/apache/apisix/pull/10323) +- :warning: Replace `route` with `apisix.route_name`, `service` with `apisix.service_name` in the attributes of opentelemetry plugin to follow the standards for span name and attributes: [#10393](https://github.com/apache/apisix/pull/10393) + +### Core + +- :sunrise: Added token to support access control for consul discovery: [#10278](https://github.com/apache/apisix/pull/10278) +- :sunrise: Support configuring `service_id` in stream_route to reference service resources: [#10298](https://github.com/apache/apisix/pull/10298) +- :sunrise: Using `apisix-runtime` as the apisix runtime: + - [#10415](https://github.com/apache/apisix/pull/10415) + - [#10427](https://github.com/apache/apisix/pull/10427) + +### Plugins + +- :sunrise: Add tests for authz-keycloak with apisix secrets: [#10353](https://github.com/apache/apisix/pull/10353) +- :sunrise: Add authorization params to openid-connect plugin: [#10058](https://github.com/apache/apisix/pull/10058) +- :sunrise: Support set variable in zipkin plugin: [#10361](https://github.com/apache/apisix/pull/10361) +- :sunrise: Support Nacos ak/sk authentication: [#10445](https://github.com/apache/apisix/pull/10445) + +### Bugfixes + +- Fix: Use warn log for get healthcheck target status failure: + - [#10156](https://github.com/apache/apisix/pull/10156) +- Fix: Keep healthcheck target state when upstream changes: + - [#10312](https://github.com/apache/apisix/pull/10312) + - [#10307](https://github.com/apache/apisix/pull/10307) +- Fix: Add name field in plugin_config schema for consistency: [#10315](https://github.com/apache/apisix/pull/10315) +- Fix: Optimize tls in upstream_schema and wrong variable: [#10269](https://github.com/apache/apisix/pull/10269) +- Fix(consul): Failed to exit normally: [#10342](https://github.com/apache/apisix/pull/10342) +- Fix: The request header with `Content-Type: application/x-www-form-urlencoded;charset=utf-8` will cause vars condition `post_arg_xxx` matching to failed: [#10372](https://github.com/apache/apisix/pull/10372) +- Fix: Make install failed on mac: [#10403](https://github.com/apache/apisix/pull/10403) +- Fix(log-rotate): Log compression timeout caused data loss: [#8620](https://github.com/apache/apisix/pull/8620) +- Fix(kafka-logger): Remove 0 from enum of required_acks: [#10469](https://github.com/apache/apisix/pull/10469) + ## 3.6.0 ### Change diff --git a/apisix/core/version.lua b/apisix/core/version.lua index ff16402d38b4..31df8d61d525 100644 --- a/apisix/core/version.lua +++ b/apisix/core/version.lua @@ -20,5 +20,5 @@ -- @module core.version return { - VERSION = "3.6.0" + VERSION = "3.7.0" } diff --git a/docs/en/latest/building-apisix.md b/docs/en/latest/building-apisix.md index e4804eac4ed4..cf4177a164ca 100644 --- a/docs/en/latest/building-apisix.md +++ b/docs/en/latest/building-apisix.md @@ -54,7 +54,7 @@ curl https://raw.githubusercontent.com/apache/apisix/master/utils/install-depend Save the APISIX version to an environment variable to be used next: ```shell -APISIX_VERSION='3.6.0' +APISIX_VERSION='3.7.0' ``` Clone the APISIX source code of this version into a new directory `apisix-APISIX_VERSION`: diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json index e1c8391f275b..20d44433f124 100644 --- a/docs/en/latest/config.json +++ b/docs/en/latest/config.json @@ -1,5 +1,5 @@ { - "version": "3.6.0", + "version": "3.7.0", "sidebar": [ { "type": "category", diff --git a/docs/zh/latest/CHANGELOG.md b/docs/zh/latest/CHANGELOG.md index a3ce74cca888..ee21babb5a44 100644 --- a/docs/zh/latest/CHANGELOG.md +++ b/docs/zh/latest/CHANGELOG.md @@ -23,6 +23,7 @@ title: CHANGELOG ## Table of Contents +- [3.7.0](#370) - [3.6.0](#360) - [3.5.0](#350) - [3.4.0](#340) @@ -73,6 +74,44 @@ title: CHANGELOG - [0.7.0](#070) - [0.6.0](#060) +## 3.7.0 + +### Change + +- :warning: 创建核心资源时不允许传入 `create_time` 和 `update_time`:[#10232](https://github.com/apache/apisix/pull/10232) +- :warning: 从 SSL schema 中移除自包含的信息字段 `exptime`、`validity_start` 和 `validity_end`:[10323](https://github.com/apache/apisix/pull/10323) +- :warning: 在 opentelemetry 插件的属性中,将 `route` 替换为 `apisix.route_name`,将 `service` 替换为 `apisix.service_name`,以遵循 span 名称和属性的标准:[#10393](https://github.com/apache/apisix/pull/10393) + +### Core + +- :sunrise: 添加令牌以支持 Consul 的访问控制:[#10278](https://github.com/apache/apisix/pull/10278) +- :sunrise: 支持在 stream_route 中配置 `service_id` 引用 service 资源:[#10298](https://github.com/apache/apisix/pull/10298) +- :sunrise: 使用 `apisix-runtime` 作为 apisix 运行时: + - [#10415](https://github.com/apache/apisix/pull/10415) + - [#10427](https://github.com/apache/apisix/pull/10427) + +### Plugins + +- :sunrise: 为 authz-keycloak 添加测试,使用 apisix secrets:[#10353](https://github.com/apache/apisix/pull/10353) +- :sunrise: 向 openid-connect 插件添加授权参数:[#10058](https://github.com/apache/apisix/pull/10058) +- :sunrise: 支持在 zipkin 插件中设置变量:[#10361](https://github.com/apache/apisix/pull/10361) +- :sunrise: 支持 Nacos ak/sk 认证:[#10445](https://github.com/apache/apisix/pull/10445) + +### Bugfixes + +- 修复:获取健康检查目标状态失败时使用警告日志: + - [#10156](https://github.com/apache/apisix/pull/10156) +- 修复:更新上游时应保留健康检查的状态: + - [#10312](https://github.com/apache/apisix/pull/10312) + - [#10307](https://github.com/apache/apisix/pull/10307) +- 修复:在插件配置模式中添加 name 字段以保持一致性:[#10315](https://github.com/apache/apisix/pull/10315) +- 修复:优化 upstream_schema 中的 tls 定义和错误的变量:[#10269](https://github.com/apache/apisix/pull/10269) +- 修复(consul):无法正常退出:[#10342](https://github.com/apache/apisix/pull/10342) +- 修复:请求头 `Content-Type: application/x-www-form-urlencoded;charset=utf-8` 会导致 var 条件 `post_arg_xxx` 匹配失败:[#10372](https://github.com/apache/apisix/pull/10372) +- 修复:在 Mac 上安装失败:[#10403](https://github.com/apache/apisix/pull/10403) +- 修复(log-rotate):日志压缩超时导致数据丢失:[#8620](https://github.com/apache/apisix/pull/8620) +- 修复(kafka-logger):从 required_acks 枚举值中移除 0:[#10469](https://github.com/apache/apisix/pull/10469) + ## 3.6.0 ### Change diff --git a/docs/zh/latest/building-apisix.md b/docs/zh/latest/building-apisix.md index abeac2033c68..0796b73dd8ee 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.6.0' +APISIX_VERSION='3.7.0' mkdir apisix-${APISIX_VERSION} ``` diff --git a/docs/zh/latest/config.json b/docs/zh/latest/config.json index 1ff81e6b64d1..ac237a14d29f 100644 --- a/docs/zh/latest/config.json +++ b/docs/zh/latest/config.json @@ -1,5 +1,5 @@ { - "version": "3.6.0", + "version": "3.7.0", "sidebar": [ { "type": "category", diff --git a/rockspec/apisix-3.7.0-0.rockspec b/rockspec/apisix-3.7.0-0.rockspec new file mode 100644 index 000000000000..a1d9f774b3c7 --- /dev/null +++ b/rockspec/apisix-3.7.0-0.rockspec @@ -0,0 +1,104 @@ +-- +-- 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.7.0-0" +supported_platforms = {"linux", "macosx"} + +source = { + url = "git://github.com/apache/apisix", + branch = "3.7.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.5", + "api7-lua-resty-http = 0.2.2-0", + "lua-resty-balancer = 0.04", + "lua-resty-ngxvar = 0.5.2", + "lua-resty-jit-uuid = 0.0.7", + "lua-resty-worker-events = 1.0.0", + "lua-resty-healthcheck-api7 = 3.2.0", + "api7-lua-resty-jwt = 0.2.5", + "lua-resty-hmac-ffi = 0.06-1", + "lua-resty-cookie = 0.2.0-1", + "lua-resty-session = 3.10", + "opentracing-openresty = 0.1", + "lua-resty-radixtree = 2.8.2", + "lua-protobuf = 0.5.0-1", + "lua-resty-openidc = 1.7.6-3", + "luafilesystem = 1.7.0-2", + "api7-lua-tinyyaml = 0.4.4", + "nginx-lua-prometheus = 0.20230607-1", + "jsonschema = 0.9.8", + "lua-resty-ipmatcher = 0.6.1", + "lua-resty-kafka = 0.22-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.05-1", + "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.13.1", + "ext-plugin-proto = 0.6.1", + "casbin = 1.41.8-1", + "inspect == 3.1.1", + "lualdap = 1.2.6-1", + "lua-resty-rocketmq = 0.3.0-0", + "opentelemetry-lua = 0.2-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", + "lua-resty-t1k = 1.1.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)", + }, +}