diff --git a/enterprise_versioned_docs/shared/release-notes.mdx b/enterprise_versioned_docs/shared/release-notes.mdx index aa30a38a..5593573d 100644 --- a/enterprise_versioned_docs/shared/release-notes.mdx +++ b/enterprise_versioned_docs/shared/release-notes.mdx @@ -1,68 +1,70 @@ -## 3.8.7 +## 3.8.7 {#387} **发布日期**: 2025-07-17 -### 新功能 +### 新功能 {#387-新功能} -#### 数据面 +#### 数据面 {#387-新功能-数据面} * 支持组件升级顺序控制,确保 dp-manager 在数据库迁移完成后启动。 -#### 插件 +#### 插件 {#387-新功能-插件} * **[limit-count-advanced 插件](https://docs.api7.ai/hub/limit-count-advanced)** * 新增支持 Redis Sentinel 模式。 -#### 控制台 +#### 控制台 {#387-新功能-控制台} * 支持 OpenAPI 编辑器预填充服务 OpenAPI 规范的历史数据,避免简单修改时需重新完整输入。 * 支持配置并默认启用内容安全策略(CSP)。 * 支持同时显示 Gateway API 和 Ingress 部署脚本(针对 Ingress Controller 网关组)。 -#### 开发者门户 +#### 开发者门户 {#387-新功能-开发者门户} * 支持在服务提供商门户中删除开发者账号。 * 新增“应用”资源,支持在应用层级管理 API 产品订阅与凭证。 -### 缺陷修复 +### 缺陷修复 {#387-缺陷修复} -#### 安全 +#### 安全 {#387-缺陷修复-安全} * 修复问题:部分控制面接口(`/api/license`、`/api/system_infos`、`/api/developer-portal-url`)未授权即可访问。 -#### 数据面 +#### 数据面 {#387-缺陷修复-数据面} * 修复问题:`delay_encode` 在同一日志行中仅能使用一次。 * 修复问题:因证书问题导致启动后指标上报失败。 -#### 插件 +#### 插件 {#387-缺陷修复-插件} * **[zipkin 插件](https://docs.api7.ai/hub/zipkin)** - * 修复问题:`access.log` 中 `zipkin_trace_id` 显示乱码。 + * 修复问题:`access.log` 中 `zipkin_trace_id` 显示乱码。 +* **[Forward Auth](https://docs.api7.ai/hub/forward-auth)** + * 修复问题:使用 `forward-auth` 插件转发 POST 请求可能会导致请求主体丢失,从而引发 504 错误。通过引入 `extra_headers` 解决了此问题。 -#### 控制台 +#### 控制台 {#387-缺陷修复-控制台} * 修复问题:编辑自定义插件时删除源代码会清空整个表单。 -#### 开发者门户 +#### 开发者门户 {#387-缺陷修复-开发者门户} * 修复问题:未认证用户筛选已订阅 API 产品后仍可见不可订阅产品。 * 修复问题:移除单一筛选条件下 API 产品的"清除所有"按钮,因其功能与选择"全部"条件重复。 -## 3.8.6 +## 3.8.6 {#386} **发布时间**: 2025-06-27 -### 新功能 +### 新功能 {#386-新功能} -#### 插件 +#### 插件 {#386-新功能-插件} * **[Elasticsearch Logger](https://docs.api7.ai/hub/elasticsearch-logger)** * 新增对 Elasticsearch 9.0.2 的支持。 -#### 缺陷修复 +### 缺陷修复 {#386-新功能} -#### 数据面 +#### 数据面 {#386-新功能-数据面} * 修复问题:执行 `quit` 或 `reload` 命令时工作进程未退出。 * 修复问题:错误地允许了大于 65535 的端口值。 @@ -70,33 +72,33 @@ * 修复问题:Kubernetes 服务发现由于 watch 进度重新列出所有数据导致性能下降。 * 修复问题:[Kafka Logger](https://docs.api7.ai/hub/kafka-logger) 中存在内存泄漏,导致 nginx 工作进程崩溃。 -#### 控制台 +#### 控制台 {#386-新功能-控制台} * 修复问题:点击插件的“删除”按钮只会禁用插件而不是删除插件。 * 修复问题:当使用 Kubernetes 服务发现时,上游缺少命名空间或服务数据。 -#### 安全 +#### 安全 {#386-新功能-安全} * 修复问题:TLSv1.3 跨 SNI 会话恢复漏洞(从 nginx 1.21.4 回退 HTTP 修复)。 -## 3.8.5 +## 3.8.5 {#385} **发布日期**: 2025-06-16 -### 新功能 +### 新功能 {#385-新功能} -#### 控制台 +#### 控制台 {#385-新功能-控制台} * 在状态码相关告警事件中,为告警信息添加了路由 URI 信息。 -### 修复 +### 修复 {#385-修复} -#### 依赖项 +#### 依赖项 {#385-修复-依赖项} * 将 OpenSSL 从 3.2.3 版本升级至 3.2.4 版本。 * 将 Debian 基础镜像升级至 Bookworm 版本。 -#### 数据面 +#### 数据面 {#385-修复-数据面} * 修复问题:当 OAS 插件规范文件过大时会导致严重的性能影响。 * 修复问题:当 `content-type` 包含 `charset` 时,`post_arg` 匹配失败。 @@ -105,56 +107,56 @@ * 修复问题:在 `jwt-auth` 插件中,`real_payload` 可能被恶意负载覆盖。 * 修复问题:`upstream_schema` 中存在错误的变量和冗余的 TLS 配置。 -#### 控制台 +#### 控制台 {#385-修复-控制台} * 修复问题:服务中的路由插件更新会错误地覆盖现有插件。 -## 3.8.4 +## 3.8.4 {#384} **发布日期**: 2025-06-11 -### 缺陷修复 +### 缺陷修复 {#384-缺陷修复} -#### 数据面 +#### 数据面 {#384-缺陷修复-数据面} * 优化了控制面升级时数据量较大的表迁移的速度。 * 为 `post_arg` 添加了缓存逻辑以优化性能,避免重复的低效解析。 * 修复问题:以 `http_` 和 `graph_` 为前缀的 `ctx` 变量缓存未生效。 * 修复问题:降级恢复后 Prometheus 指标未正确保留。 -#### 控制台 +#### 控制台 {#384-缺陷修复-控制台} * 修复问题:插件的编辑方式(表单或代码)未正确显示。 * 修复问题:Response Rewrite 插件编辑器中的代码提示错误。 -## 3.8.3 +## 3.8.3 {#383} **发布日期**: 2025-06-04 -### 新功能 +### 新功能 {#383-新功能} -#### 数据面 +#### 数据面 {#383-新功能-数据面} * 支持在 `conf/config.yaml` 中配置 `apisix.disable_upstream_healthcheck`,通过单个开关禁用所有健康检查。 * 通过减少内存消耗优化 Prometheus 性能。 * 发布了 [API7 Ingress Controller 2.0](https://github.com/api7/api7-ingress-controller/releases/tag/2.0.0)。 -#### 插件 +#### 插件 {#383-新功能-插件} * 自动在自定义插件模式中插入 `_meta` 字段。 -#### 控制台 +#### 控制台 {#383-新功能-控制台} * 优化了 Ingress Controller 类型网关组的部署流程。 * 新增**许可证即将过期**的告警策略触发事件。 -### 缺陷修复 +### 缺陷修复 {#383-缺陷修复} -#### 数据面 +#### 数据面 {#383-缺陷修复-数据面} * 修复问题:当使用 `post_arg` 读取 GraphQL 请求体时偶尔出现路由匹配错误。 -#### 控制台 +#### 控制台 {#383-缺陷修复-控制台} * 修复问题:升级依赖 `ramda` 至 `0.30.1` 和 `cross-spawn` 至 `7.0.5` 以避免高危漏洞。 * 修复问题:使用控制台表单配置 `cors` 插件详情时 `max-age` 字段显示不正确。 @@ -164,81 +166,81 @@ * 修复问题:Kubernetes 服务发现在上游节点数量较多时出现性能问题。 * 修复问题:表格表头大小写不一致,现已统一为首字母大写格式。 -## 3.8.2 +## 3.8.2 {#382} **发布日期**: 2025-05-19 -### 新功能 +### 新功能 {#382-新功能} -#### 插件 +#### 插件 {#382-新功能-插件} * **[AI Proxy Multi](https://docs.api7.ai/hub/ai-proxy-multi)** * 新增对 429/5xx 响应码的重试逻辑,提高请求成功率。 -#### AI 网关 +#### AI 网关 {#382-新功能-ai-网关} * 新增支持反向代理 AzureAI 服务。 -#### 控制台 +#### 控制台 {#382-新功能-控制台} * 支持 CAS 作为 API7 企业版的 SSO 登录选项。 -### 缺陷修复 +### 缺陷修复 {#382-缺陷修复} -#### 控制台 +#### 控制台 {#382-缺陷修复-控制台} * 修复问题:已发布服务在编辑基本信息时报错。 * 修复问题:`retry_timeout` 和 `retries` 不能在 Stream 类型服务上游编辑。 * 修复问题:当网关实例缺少兼容性字段时页面崩溃。 -#### 数据面 +#### 数据面 {#382-缺陷修复-数据面} * 修复问题:standalone 模式下使用大体积的配置文件时启动时间过长。 * 修复问题:[OAS Validator](https://docs.api7.ai/hub/oas-validator) 插件错误拒绝 1.11-1.19 范围内符合 `multipleOf: 0.01` 规则的数字。 * 修复问题:[AI Proxy](https://docs.api7.ai/hub/ai-proxy) 插件会接受无效的端点 URL(例如,“http//localhost” 缺少冒号的情况)。 -## 3.8.1 +## 3.8.1 {#381} **发布日期**: 2025-05-07 -### 新功能 +### 新功能 {#381-新功能} -#### 控制台 +#### 控制台 {#381-新功能-控制台} * 在添加网关实例时,指定网关实例证书的有效期。 * 在网关实例列表中,当证书即将过期时添加警告提示。 * 支持在控制台中查看网关实例的证书续期方法,并生成新的网关实例证书。 -### 缺陷修复 +### 缺陷修复 {#381-缺陷修复} -#### 数据面 +#### 数据面 {#381-缺陷修复-数据面} * 修复问题:使用 TCP 服务时健康检查未按预期工作,请求仍被转发到不健康的上游节点。 * 修复问题:由于 Redis 服务故障导致网关请求延迟高。 * 修复问题:AI Gateway 中 `llm_time_to_first_token` 默认值判断错误。 -#### 插件 +#### 插件 {#381-缺陷修复-插件} * 移除 `request-id` 插件的 `snowflake` 算法,因其存在潜在风险。 -#### 控制台 +#### 控制台 {#381-缺陷修复-控制台} * 修复问题:监控页面上的总带宽图表数据与 Prometheus 不一致。 * 修复问题:当启用强制发布时,已发布服务中不允许修改路由的超时和插件配置。 -## 3.8.0 +## 3.8.0 {#380} **发布日期**: 2025-04-22 -### 新功能 +### 新功能 {#380-新功能} -#### 数据面 +#### 数据面 {#380-新功能-数据面} * 支持在路由条件中使用用户请求体中数组对象的值。虽然 `post_arg` 已在路由条件中允许使用,但本次更新引入了对类型字段位置的数组场景支持。 * 支持在访问日志中记录额外的 AI 请求上下文信息。 * 支持向 Prometheus 指标添加请求类型标识符,以收集更细粒度的 AI 请求数据。 -#### 插件 +#### 插件 {#380-新功能-插件} * **[AI Proxy](https://docs.api7.ai/hub/ai-proxy)** * 实现了新的标识字段 `logging` 和 `summaries`,用于收集 LLM 请求和响应内容。 @@ -253,23 +255,23 @@ * **[Kafka Logger](https://docs.api7.ai/hub/kafka-logger)** * 支持读取缓存在 `ctx` 中的用户请求和响应体内容,并将其推送到指定的 Kafka 服务。 -#### 控制台 +#### 控制台 {#380-新功能-控制台} * 在状态码告警消息中添加了服务名称和路由名称的详细统计信息。 * 优化插件配置:在服务或路由上配置 [Traffic Split](https://docs.api7.ai/hub/traffic-split) 插件时,验证配置的 `upstream_id` 确实属于当前服务的上游。 * 在已发布服务中将上游连接配置字段名称与 API 对齐。 * 为 [CORS](https://docs.api7.ai/hub/cors) 插件配置引入了基于表单的 UI。 -### 缺陷修复 +### 缺陷修复 {#380-缺陷修复} -#### 数据面 +#### 数据面 {#380-缺陷修复-数据面} * 修复问题:当上游类型为 Kubernetes 服务发现时,健康检查中的节点在节点变更后未更新,导致大量健康检查失败日志。 * 修复问题:当 Kubernetes 服务发现的 `shared_size` 参数调整为 100m 时出现错误。[#11857](https://github.com/apache/apisix/issues/11857) * 修复问题:使用 Kubernetes 发现的 APISIX/API7 企业版在令牌文件过期后会失败。[#11779](https://github.com/apache/apisix/issues/11779) * 修复问题:更新 Vault Secret 提供商的 `prefix` 后,数据面仍使用旧配置。 -#### 控制台 +#### 控制台 {#380-缺陷修复-控制台} * 修复问题:上游中的 `retries` 字段被错误地设置为必填。 * 修复问题:由于缺少服务模板权限,已发布服务页面出现错误。 @@ -280,147 +282,147 @@ * 现在支持在授权语句中使用 `*` 进行通配符配置,其含义与当前的 `<.*>` 相同; * 限制星号 `*` 不允许出现在任何资源 ID 字段中,以防止授权失败。 -## 3.7.8 +## 3.7.8 {#378} **发布日期**: 2025-06-16 -### 缺陷修复 +### 缺陷修复 {#378-缺陷修复} -#### 控制台 +#### 控制台 {#378-缺陷修复-控制台} * 修复问题:服务中的路由插件更新会错误地覆盖现有插件。 -## 3.7.7 +## 3.7.7 {#377} **发布日期**: 2025-06-11 -### 缺陷修复 +### 缺陷修复 {#377-缺陷修复} -#### 数据面 +#### 数据面 {#377-缺陷修复-数据面} * 优化了控制面升级时数据量较大的表迁移的速度。 -## 3.7.6 +## 3.7.6 {#376} **发布日期**: 2025-06-04 -### 缺陷修复 +### 缺陷修复 {#376-缺陷修复} -#### 数据面 +#### 数据面 {#376-缺陷修复-数据面} * 修复问题:Kubernetes 服务发现在上游节点数量较多时出现性能问题。 -#### 控制台 +#### 控制台 {#376-缺陷修复-控制台} * 修复问题:当两个自定义插件包含错误代码时,API7 企业版内置插件无法正常工作。 * 修复问题:当 ADC 从 17.x 版本升级到 19.x 后,如果同时更新同一服务下的多条路由,控制台仍显示过时的配置。 -## 3.7.5 +## 3.7.5 {#375} **发布日期**: 2025-05-19 -### 缺陷修复 +### 缺陷修复 {#375-缺陷修复} -#### 控制台 +#### 控制台 {#375-缺陷修复-控制台} * 修复问题:已发布服务在编辑基本信息时报错。 -#### 数据面 +#### 数据面 {#375-缺陷修复-数据面} * 修复问题:standalone 模式下使用大体积的配置文件时启动时间过长。 * 修复问题:[OAS Validator](https://docs.api7.ai/hub/oas-validator) 插件错误拒绝 1.11-1.19 范围内符合 `multipleOf: 0.01` 规则的数字。 -## 3.7.4 +## 3.7.4 {#374} **发布日期**: 2025-04-30 -### 新功能 +### 新功能 {#374-新功能} -#### 控制台 +#### 控制台 {#374-新功能-控制台} * 在添加网关实例时,指定网关实例证书的有效期。 * 在网关实例列表中,当证书即将过期时添加警告提示。 * 支持在控制台中查看网关实例的证书续期方法,并生成新的网关实例证书。 -### 缺陷修复 +### 缺陷修复 {#374-缺陷修复} -#### 数据面 +#### 数据面 {#374-缺陷修复-数据面} * 修复问题:使用 TCP 服务时健康检查未按预期工作,请求仍被转发到不健康的上游节点。 * 修复问题:由于 Redis 服务故障导致网关请求延迟高。 * 修复问题:AI Gateway 中 `llm_time_to_first_token` 默认值判断错误。 -#### 插件 +#### 插件 {#374-缺陷修复-插件} * 移除 `request-id` 插件的 `snowflake` 算法,因其存在潜在风险。 -#### 控制台 +#### 控制台 {#374-缺陷修复-控制台} * 修复问题:监控页面上的总带宽图表数据与 Prometheus 不一致。 * 修复问题:当启用强制发布时,已发布服务中不允许修改路由的超时和插件配置。 -## 3.7.3 +## 3.7.3 {#373} **发布日期**: 2025-04-22 -### 缺陷修复 +### 缺陷修复 {#373-缺陷修复} -#### 控制台 +#### 控制台 {#373-缺陷修复-控制台} * 修复问题:使用大规模消费者时数据库 CPU 使用率高。 * 优化 [Permission Policy](/enterprise/key-concepts/roles-and-permission-policies) 的通配符配置方法: * 现在支持在授权语句中使用 `*` 进行通配符配置,其含义与当前的 `<.*>` 相同; * 限制星号 `*` 不允许出现在任何资源 ID 字段中,以防止授权失败。 -## 3.7.2 +## 3.7.2 {#372} **发布日期**: 2025-03-24 -### 缺陷修复 +### 缺陷修复 {#372-缺陷修复} -#### 插件 +#### 插件 {#372-缺陷修复-插件} * **[OpenTelemetry](https://docs.api7.ai/hub/opentelemetry)** * 修复问题:动态路由 `/v2/:customerNumber` 上的 404 响应导致报告路径为空。 -#### 管理 API +#### 管理 API {#372-缺陷修复-管理-api} * 修复问题:资源缺乏一致的 `name` 和 `desc` 长度限制(最多 65535 个字符),导致用户输入有效长字符串时出错。 -#### 控制台 +#### 控制台 {#372-缺陷修复-控制台} * 修复问题:用户在数据库存储后看到的是加密密文,而非原始明文输入的服务和路由敏感字段。 * 修复问题:控制台重启后,之前删除的默认网关组被错误地重新生成。 * 修复问题:令牌名称更新未在通知区域展示。 -### 依赖项 +### 依赖项 {#372-依赖项} * 升级至 [Go 1.23](https://tip.golang.org/doc/go1.23)。 * 升级至 [Next.js 14.2.25](https://nextjs.org/blog/next-14-2) 以解决 [CVE-2025-29927](https://nvd.nist.gov/vuln/detail/CVE-2025-29927)。 -## 3.7.1 +## 3.7.1 {#371} **发布日期**: 2025-03-14 -### 缺陷修复 +### 缺陷修复 {#371-缺陷修复} -#### 插件 +#### 插件 {#371-缺陷修复-插件} * **[OpenID Connect](https://docs.api7.ai/hub/openid-connect)** * 修复问题:无法配置验证颁发者。 * 修复问题:无法验证受众声明。[#11018](https://github.com/apache/apisix/issues/11018)。 -## 3.7.0 +## 3.7.0 {#370} **发布日期**: 2025-03-10 -### 新功能 +### 新功能 {#370-新功能} -#### 数据面 +#### 数据面 {#370-新功能-数据面} * **引用 Kubernetes Secret 中的密钥**:Secret 提供商现在支持 Kubernetes Secret。这允许您从 Kubernetes Secret 中引用敏感值,用于 SSL 证书、SSL 私钥、消费者凭据和各种插件配置。 -#### 插件 +#### 插件 {#370-新功能-插件} * **[AI Rate Limiting](https://docs.api7.ai/hub/ai-rate-limiting)** * 引入新的 AI 插件,用于对发送到 LLM 服务的请求实施基于令牌的速率限制。它通过控制指定时间范围内消耗的令牌数量来管理 API 使用,确保资源公平分配并防止服务过载。通常与 [AI Proxy Multi](https://docs.api7.ai/hub/ai-proxy-multi) 插件一起使用。 @@ -433,60 +435,60 @@ * 支持主动健康检查。 * 支持代理嵌入模型 API。 -#### 控制台 +#### 控制台 {#370-新功能-控制台} * 支持**引用 Kubernetes Secret 中的特定密钥**:详情请参阅 [引用 Kubernetes Secret 中的密钥](/enterprise/api-security/kubernetes-secret)。 * 为所有表格添加页面大小选择器。 * 在服务页面标题中显示服务 ID 和服务模板 ID,在路由页面标题中显示路由 ID 和路由模板 ID。 -#### 管理 API +#### 管理 API {#370-新功能-管理-api} * 新增**引用 Kubernetes Secret 中的密钥**相关 API: * [获取网关组上的 Kubernetes Secret 提供商](https://docs.api7.ai/enterprise/3.7.x/admin-api#tag/Secret-Provider/operation/getKubernetesSecretProvider)。 * [更新网关组上的 Kubernetes Secret 提供商](https://docs.api7.ai/enterprise/3.7.x/admin-api#tag/Secret-Provider/operation/putKubernetesSecretProvider)。 * [删除网关组上的 Kubernetes Secret 提供商](https://docs.api7.ai/enterprise/3.7.x/admin-api#tag/Secret-Provider/operation/deleteKubernetesSecretProvider)。 -### 缺陷修复 +### 缺陷修复 {#370-缺陷修复} -#### 数据面 +#### 数据面 {#370-缺陷修复-数据面} * 修复问题:重复的网关实例 ID 导致 CPU 计数不准确。 -#### 控制台 +#### 控制台 {#370-缺陷修复-控制台} * 修复问题:由于 SMTP 服务器配置中的 `From Name` 格式无效,导致告警邮件发送失败。 * 修复问题:删除自定义插件时未删除插件元数据。 * 修复问题:手动添加流服务时未移除 `Skip Path Prefix` 字段。 * 修复问题:路由的优先级不能设置为负数。 -## 3.6.1 +## 3.6.1 {#361} **发布日期**: 2025-03-14 -### 缺陷修复 +### 缺陷修复 {#361-缺陷修复} -#### 插件 +#### 插件 {#361-缺陷修复-插件} * **[Limit Count Advanced](https://docs.api7.ai/hub/limit-count-advanced)** * 修复问题:在负载测试期间间歇性出现 500 错误。 * **[OpenID Connect](https://docs.api7.ai/hub/openid-connect)** * 修复问题:插件不支持配置验证颁发者。 -## 3.6.0 +## 3.6.0 {#360} **发布日期**: 2025-02-26 -### 重大变更 +### 重大变更 {#360-重大变更} * 移除服务模板中的[服务运行时配置](/enterprise/key-concepts/services#service-runtime-configurations),以便更好地跨网关组重用模板。**服务模板中现有的服务运行时配置将被移除,但您的已发布服务配置将保持不变。** 此外,发布流程得到简化和优化,发布过程中不允许配置服务运行时配置。请参阅更新的[发布服务](/enterprise/getting-started/publish-service)指南。 -### 新功能 +### 新功能 {#360-新功能} -#### 数据面 +#### 数据面 {#360-新功能-数据面} * 支持配置上游 mTLS:详情请参阅[配置 API7 企业版与上游之间的 mTLS](/enterprise/api-security/upstream-mtls)。 -#### 控制台 +#### 控制台 {#360-新功能-控制台} * 支持**使用邮箱登录**:API7 企业版控制台现在支持使用用户名或邮箱地址和密码登录。要使用邮箱登录或接收通知,请将邮箱地址绑定到您的用户资料。 * 支持为上游配置 mTLS。 @@ -494,20 +496,20 @@ * 为插件配置引入基于表单的 UI。 * 将 Basic Authentication 添加为开发者门户凭据的认证选项。如果 API 产品允许多种认证类型,则可以使用任何有效的凭据。 -### 缺陷修复 +### 缺陷修复 {#360-缺陷修复} -#### 数据面 +#### 数据面 {#360-缺陷修复-数据面} * 修复问题:更新 `upstream.nodes` 时的竞态条件问题。[#11916](https://github.com/apache/apisix/pull/11916)。 * 修复服务发现问题:在克隆节点表后填充节点信息结构时,上游 `original_nodes` 未更新。[#10722](https://github.com/apache/apisix/pull/10722)。 -## 3.5.5 +## 3.5.5 {#355} **发布日期**: 2025-03-14 -### 缺陷修复 +### 缺陷修复 {#355-缺陷修复} -#### 插件 +#### 插件 {#355-缺陷修复-插件} * **[Limit Count Advanced](https://docs.api7.ai/hub/limit-count-advanced)** * 修复问题:在负载测试期间间歇性出现 500 错误。 @@ -515,28 +517,28 @@ * 修复问题:插件不支持配置验证颁发者。 * 修复问题:无法验证受众声明。[#11018](https://github.com/apache/apisix/pull/11018) -## 3.5.4 +## 3.5.4 {#354} **发布日期**: 2025-03-07 -### 缺陷修复 +### 缺陷修复 {#354-缺陷修复} -#### 插件 +#### 插件 {#354-缺陷修复-插件} * **[Elasticsearch Logger](https://docs.api7.ai/hub/elasticsearch-logger)** * 修复问题:插件无法配置索引以根据当前日期动态发送数据。 -#### 控制台 +#### 控制台 {#354-缺陷修复-控制台} * 修复问题:使用模板重新发布可能导致上游配置丢失。 * 修复问题:使用 ADC 重建服务后,页面上的 OpenAPI 缓存失效失败。 * 优化慢查询。 -## 3.5.3 +## 3.5.3 {#353} **发布日期**: 2025-02-18 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复} * 修复问题:告警邮件主题不能包含变量。 @@ -544,7 +546,7 @@ **发布日期:** 2025-02-13 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-1} * 修复了问题:无法启用 `log rotate` 插件。 * 修复了问题:在升级过程中,尤其是在使用 MySQL 数据库时,网关实例中偶尔会出现重复数据。 @@ -554,7 +556,7 @@ **发布日期:** 2025-02-06 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-2} * 修复了问题:无法配置 Azure SMTP 服务器发送警报电子邮件。 * 支持在 OTEL 插件报告动态路由 `/v2/:customerNumber` 时将 `request.url` 报告为 `route.url`。 @@ -563,9 +565,9 @@ **发布日期:** 2025-01-27 -### 新功能 +### 新功能 {#353-新功能} -#### 服务中的多个上游 +#### 服务中的多个上游 {#353-新功能-服务中的多个上游} 对于高级场景,例如灰度部署、蓝绿部署或管理多个集群,服务现在可以使用多个上游。在这种情况下,默认上游充当大多数请求的主要目标,而其他上游可用于特定目的,例如将流量路由到灰度部署或辅助集群。有关详细信息,请参阅更新后的[配置灰度流量转移](/enterprise/getting-started/canary-upstream)。 @@ -575,7 +577,7 @@ ::: -### 功能优化 +### 功能优化 {#353-功能优化} * 支持通过 Prometheus 插件元数据自定义配置 DP 指标标签。 * 优化了数据面 Prometheus 指标报告的性能。 @@ -585,7 +587,7 @@ * 改进了上游健康检查配置的 UI。 * [Beta] 为上游配置了 mTLS。API 支持当前可用。完整支持即将推出。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-3} * 修复了问题:[Traffic Split](https://docs.api7.ai/hub/traffic-split) 插件的 LRU 缓存对象创建函数导致客户端请求异常。 * 将“启用/禁用插件”重命名为“新增/删除插件”以提高准确性。 @@ -594,7 +596,7 @@ **发布日期:** 2025-01-14 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-4} * 修复了问题:在 API7 门户中使用 BasicAuth 身份验证进行在线调试时,粘贴密码失败。 * 修复了问题:在 DP 中配置 `access_log_format` 并将 `access_log_format_escape` 设置为 `json` 时,结果会附加一个额外的 `request_id`。 @@ -603,23 +605,23 @@ **发布日期:** 2025-01-07 -### 新功能 +### 新功能 {#353-新功能-1} -#### SNI 管理 +#### SNI 管理 {#353-新功能-sni-管理} 引入了 [SNI](/enterprise/key-concepts/snis) 作为管理 TLS 和 mTLS 身份验证以及证书匹配的新机制。有关详细信息,请参阅 [在客户端和 API7 网关之间配置 mTLS](/enterprise/api-security/client-mtls)。 -#### API7 门户监控 +#### API7 门户监控 {#353-新功能-api7-门户监控} 提供监控数据和可视化,以跟踪 API 产品指标。 -### 功能优化 +### 功能优化 {#353-功能优化-1} * 自定义插件配置现在应用于网关组级别。有关详细信息,请参阅 [添加自定义插件](/enterprise/best-practices/custom-plugin)。 * 数据面升级到 LuaJit 2.1-20240815。 * 删除了 `grpc-client-nginx-module`。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-5} * 修复了问题:Redis 延迟同步功能使用的共享内存泄漏。 * 修复了问题:批量发布超多 service 时审计日志记录失败。 @@ -628,7 +630,7 @@ **发布日期:** 2025-01-14 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-6} * 修复了问题:在 API7 门户中使用 BasicAuth 身份验证进行在线调试时,粘贴密码失败。 * 修复了问题:在 DP 中配置 `access_log_format` 并将 `access_log_format_escape` 设置为 `json` 时,结果会附加一个额外的 `request_id`。 @@ -637,7 +639,7 @@ **发布日期:** 2024-12-24 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-7} * 修复了问题:从 3.2.16.2 或更旧版本升级到 3.3.1 及更高版本时,控制台无法启动。 @@ -645,7 +647,7 @@ **发布日期:** 2024-12-19 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-8} * 修复了问题:运行在 rewrite 阶段的插件在命中消费者后会重复执行。 @@ -653,13 +655,13 @@ **发布日期:** 2024-12-16 -### 新功能 +### 新功能 {#353-新功能-2} -#### API7 门户 +#### API7 门户 {#353-新功能-api7-门户} 宣布 API7 门户正式发布 (GA),这是一个用于 API 发现和使用的综合解决方案。探索 [API7 门户](/enterprise/key-concepts/api-portal) 和 [开发者](/enterprise/key-concepts/developers) 的关键概念,并开始你的 [服务产品化](/enterprise/api-portal/productize-services) 之旅。 -### 功能优化 +### 功能优化 {#353-功能优化-2} * 为 [OpenID Connect](https://docs.api7.ai/hub/openid-connect) 插件同步了开源代码。 * 在访问日志和错误日志中记录请求 ID。 @@ -667,11 +669,11 @@ * 当告警策略未配置通知通道时,在告警历史记录中添加了提示。 * 支持与外部 Prometheus 指标集成。 -### 安全 +### 安全 {#353-安全} * 解决了 CVE 报告中的漏洞。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-9} * 解决了问题:数据面到 DPM 的消费者查询(404 错误除外)不应被缓存。 * 解决了问题:禁用 API7 集成身份验证后,登录页面上的密码登录不可用。 @@ -681,7 +683,7 @@ **发布日期:** 2024-12-13 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-10} * 修复了问题:当 DP 管理器收到截断的 Prometheus 指标时,它会进入无限循环。 * 修复了问题:由于 watch 中断,数据面与控制面的同步可能会中断。 @@ -694,12 +696,12 @@ **发布日期:** 2024-11-25 -### 功能优化 +### 功能优化 {#353-功能优化-3} * [JWT Auth](https://docs.api7.ai/hub/jwt-auth) 插件支持 `key_claim_name`。 * 为监控添加了网关组过滤。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-11} * 解决了告警页面中的 UI 问题。 * 解决了问题:多个数据面容器在控制面中被识别为单个实例,这损害了许可证控制功能和一些指标报告显示功能。 @@ -716,7 +718,7 @@ **发布日期:** 2024-11-21 -### 功能优化 +### 功能优化 {#353-功能优化-4} * 为 [Body Transformer](https://docs.api7.ai/hub/body-transformer) 插件添加了 `multipart content type`。 * 将资源 ID 长度限制从 64 调整为 256。 @@ -724,7 +726,7 @@ * 重构了 `core.response.exit` 以阐明参数定义。 * 在请求上下文中记录已执行的插件,以确保在使用 [Workflow](https://docs.api7.ai/hub/workflow) 插件时,同一插件仅被执行一次。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-12} * 解决了问题:在 [Prometheus](https://docs.api7.ai/hub/prometheus) 插件中启用 `prefer_name` 选项将导致监控页面上的过滤器发生故障。 * 解决了问题:匹配匿名消费者时,不会将 `x-consumer-custom-id` 标头添加到请求中。 @@ -735,9 +737,9 @@ **发布日期:** 2024-11-01 -### 新功能 +### 新功能 {#353-新功能-3} -#### 通过电子邮件发送通知 +#### 通过电子邮件发送通知 {#353-新功能-通过电子邮件发送通知} 告警策略现在可以通过利用新的`联系人`同时通过 webhook 和电子邮件发送通知。_联系人_ 定义了一组可由多个告警策略使用的电子邮件地址或 webhook URL。 @@ -749,31 +751,31 @@ ::: -#### 新的 Limit Count Advanced 插件 +#### 新的 Limit Count Advanced 插件 {#353-新功能-新的-limit-count-advanced-插件} 使用滑动窗口算法增强了开源的 limit count 插件,以实现更准确的速率限制。 有关详细信息,请参阅 [Limit Count Advanced](https://docs.api7.ai/hub/limit-count-advanced)插件。 -#### 新的 Exit Transformer 插件 +#### 新的 Exit Transformer 插件 {#353-新功能-新的-exit-transformer-插件} [Exit Transformer](https://docs.api7.ai/hub/exit-transformer) 插件支持根据 APISIX 插件返回的状态码、标头和正文来自定义网关响应。当配置为全局插件时,它还支持在请求不存在的路由时自定义响应。 -#### 通过告警策略计算网关组中的健康网关实例数 +#### 通过告警策略计算网关组中的健康网关实例数 {#353-新功能-通过告警策略计算网关组中的健康网关实例数} 如果网关组中健康网关实例的数量低于临界阈值,则表明可能会出现服务中断并影响流量处理。 这种情况在 Kubernetes 部署中尤其重要,因为网关实例可能会遇到故障或意外缩减。 [创建用于统计网关组中健康网关实例数的告警策略](/enterprise/api-observability/alert#count-healthy-gateway-instances-in-a-gateway-group) 并向相关人员发送通知。 -### 功能优化 +### 功能优化 {#353-功能优化-5} * [JWT Auth](https://docs.api7.ai/hub/jwt-auth) 插件 现在支持更多算法。 * 支持利用表达式匹配来更精确地路由流量。 * 在 [Grafana 控制台模板](https://grafana.com/grafana/dashboards/11719-apache-apisix/) 中丰富了更多指标。 * 允许用户按 Enter 键登录。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-13} * 解决了问题:[CORS](https://docs.api7.ai/hub/cors)插件 `expose_header` 的默认值不应为 `*`。 * 解决了问题:添加四层服务时可以成功添加第一个四层路由。 @@ -785,15 +787,15 @@ **发布日期:** 2024-10-21 -### 新功能 +### 新功能 {#353-新功能-4} -#### 引用在 AWS Secrets Manager 中的密钥(Secrets) +#### 引用在 AWS Secrets Manager 中的密钥(Secrets) {#353-新功能-引用在-aws-secrets-manager-中的密钥secrets} _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信息,而 _Secret 提供商(Secret Provider)_ 对象用于设置与外部密钥管理器(HashiCorp Vault、AWS Secret Manager 等)的集成,以便 API7 网关可以在运行时动态地建立连接并从密钥管理器中获取密钥。 有关更多详细信息,请参阅 [引用在 AWS Secrets Manager 中的密钥](/enterprise/api-security/aws-secrets-manager)。 -#### 用于 API 身份验证的匿名消费者 +#### 用于 API 身份验证的匿名消费者 {#353-新功能-用于-api-身份验证的匿名消费者} 匿名消费者无需身份验证,但可以限制访问速率。你可以在服务/路由上的身份验证插件中配置匿名消费者,然后与速率限制插件结合使用。 @@ -801,11 +803,11 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 * [对匿名消费者进行速率限制](/enterprise/api-security/rate-limiting#add-an-anonymous-consumer) -#### 安全 +#### 安全 {#353-新功能-安全} * 在数据面上添加了用于自身健康检查的状态接口。有关详细信息,请参阅 [启用数据面健康检查以实现高可用性](/enterprise/high-availability/high-availability-installation#health-check)。 -### 功能优化 +### 功能优化 {#353-功能优化-6} * 支持 200 万量级消费者。 * 消费者列表支持按名称排序。 @@ -822,7 +824,7 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 * 优化了“使用上游超时”UI。 * 优化了 API7 Portal (Beta) 列表页渲染速度。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-14} * 解决了问题:现在可以在控制台上为单个路由配置多个路径。 * 解决了问题:[OpenTelemetry](https://docs.api7.ai/hub/opentelemetry) 插件不支持 `set_ngx_var`。 @@ -837,7 +839,7 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 **发布日期:** 2024-10-11 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-15} * 修复了消费者中插件配置更新不生效的问题。 @@ -845,11 +847,11 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 **发布日期:** 2024-10-04 -### 功能优化 +### 功能优化 {#353-功能优化-7} * 提升了 API7 Portal(Beta) 性能。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-16} * 解决了删除路由时 `radixtree_host_uri` 路由模式下的 panic 问题。 * 解决了自定义认证类型插件与[Multi Auth](https://docs.api7.ai/hub/multi-auth) 插件不兼容的问题。 @@ -858,9 +860,9 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 **发布日期:** 2024-09-30 -### 新功能 +### 新功能 {#353-新功能-5} -#### 引用在 HashiCorp Vault 中的密钥 +#### 引用在 HashiCorp Vault 中的密钥 {#353-新功能-引用在-hashicorp-vault-中的密钥} :::info @@ -872,7 +874,7 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 有关更多详细信息,请参阅 [在 HashiCorp Vault 中引用密钥](/enterprise/api-security/hashicorp-vault)。 -### 功能优化 +### 功能优化 {#353-功能优化-8} * 【不兼容变更】**删除了 JWT 插件签发令牌的功能,并删除了上传私钥的功能。** 有关详细信息,请参阅 JWT Auth 插件文档。 * 增加了对删除离线网关实例的支持。 @@ -883,7 +885,7 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 * UI 改进:将负载均衡算法下拉框改为单选框。 * UI 改进:新建标签样式修改。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-17} * 修复了问题:未正确清理的 `config_listen.sock` 导致数据面无法启动。 * 修复了问题:禁用服务后请求接口报 `404` 错误。 @@ -904,7 +906,7 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 **发布日期:** 2024-09-19 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-18} * 调整 [Attach Consumer Label](https://docs.api7.ai/hub/attach-consumer-label) 插件到 `before_proxy` 阶段执行。 @@ -912,7 +914,7 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 **发布日期:** 2024-09-18 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-19} * 解决了使用令牌获取 `instance_token` 返回 401 的问题。 @@ -920,9 +922,9 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 **发布日期:** 2024-09-14 -### 新功能 +### 新功能 {#353-新功能-6} -#### 消费者凭据 +#### 消费者凭据 {#353-新功能-消费者凭据} :::info @@ -932,11 +934,11 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 消费者凭据通过允许多个凭据对应每个消费者来增强灵活性。它们取代了传统的身份验证插件,如 [Key Auth](https://docs.api7.ai/hub/key-auth)、[Basic Auth](https://docs.api7.ai/hub/basic-auth)、[JWT Auth](https://docs.api7.ai/hub/jwt-auth) 和 [HMAC Auth](https://docs.api7.ai/hub/hmac-auth),提供了更友好的用户体验。有关详细信息,请参阅[管理消费者凭据](/enterprise/api-consumption/manage-consumer-credentials)。 -### 安全 +### 安全 {#353-安全-1} * 根用户 `admin` 成为受保护帐户,角色、权限策略或其他用户无法对其进行修改。其他用户无法删除它或重置其密码。 -### 功能优化 +### 功能优化 {#353-功能优化-9} * 现在支持按名称按字母顺序对服务列表进行排序。 * 向每个审计日志添加了网关组 ID,以便你可以按网关组搜索或过滤审计日志。 @@ -946,7 +948,7 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 * 在 Helm 中支持注释。 * 提供配置项控制数据面心跳、遥测请求的超时,并且调整默认值为 30s。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-20} * 优化了在启用 SCIM 后用户通过 SSO 登录但系统中不存在该用户时的错误消息。 * 修复了修改未发布版本的服务后灰度配置调整失败的问题。 @@ -955,24 +957,24 @@ _密钥(Secrets)_ 对象是一条需要防止未经授权访问的敏感信 **发布日期:** 2024-08-14 -### 新功能 +### 新功能 {#353-新功能-7} -#### 覆盖每个路由的上游超时 +#### 覆盖每个路由的上游超时 {#353-新功能-覆盖每个路由的上游超时} API7 网关允许为各个路由配置不同的上游超时,以覆盖上游侧的超时配置,从而实现对请求处理的精细控制。 -#### 用户权限边界 +#### 用户权限边界 {#353-新功能-用户权限边界} 权限边界定义了用户的最大允许权限,作为防止用户越权的保障措施。 -### 安全提升 +### 安全提升 {#353-安全提升} * 升级了前端依赖项。 * 确保单设备登录 - 新登录将撤销之前存在的活跃会话。 * 禁止导入旧许可证。 * 升级了 OpenResty 版本以修复安全漏洞。 -### 功能优化 +### 功能优化 {#353-功能优化-10} * 在服务中心列表和已发布服务列表中添加了服务描述。 * 为服务注册中心添加了“连接中”状态,以避免误解。 @@ -982,7 +984,7 @@ API7 网关允许为各个路由配置不同的上游超时,以覆盖上游侧 * 支持配置自定义插件元数据。 * 最小化了 API7 企业版的镜像大小。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-21} * 修复了将服务版本发布到网关组时,服务运行时配置参数(例如,主机、路径前缀)的空值丢失的问题。 * 消除了 dry-run 模式下调用许可证上传时生成的不必要的审计日志。 @@ -995,7 +997,7 @@ API7 网关允许为各个路由配置不同的上游超时,以覆盖上游侧 **发布日期:** 2024-08-06 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-22} * 支持在 SSL 证书中引用 `$env`。 * 解决了标签包含句点时 UI 不稳定的问题。 @@ -1004,7 +1006,7 @@ API7 网关允许为各个路由配置不同的上游超时,以覆盖上游侧 **发布日期:** 2024-07-30 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-23} * 解决了在控制台上查看 Ingress Controller 路由时的报错。 * 修复了在 Kubernetes 上安装网关实例时缺少默认 Helm release 名称的问题。 @@ -1015,31 +1017,31 @@ API7 网关允许为各个路由配置不同的上游超时,以覆盖上游侧 **发布日期:** 2024-07-22 -### 功能优化 +### 功能优化 {#353-功能优化-11} -#### 导入 OpenAPI 以在网关组上创建服务 +#### 导入 OpenAPI 以在网关组上创建服务 {#353-功能优化-导入-openapi-以在网关组上创建服务} 只需将 OpenAPI 文件直接导入网关组,即可创建新服务及其所有路由。 -#### 通过 API7 Portal 实现精细的访问控制 +#### 通过 API7 Portal 实现精细的访问控制 {#353-功能优化-通过-api7-portal-实现精细的访问控制} 利用自定义角色和权限策略对 API 产品的访问进行精细控制。 -#### 安全提升 +#### 安全提升 {#353-功能优化-安全提升} * 控制面地址必须为 HTTPs。 * 移除 `ngx.req.get_post_args(0)` 的使用,改用默认值以避免潜在的攻击。 * 重新生成 Ingress Controller 部署脚本现在需要二次确认。 -#### 无需版本控制即可管理已发布服务基础信息 +#### 无需版本控制即可管理已发布服务基础信息 {#353-功能优化-无需版本控制即可管理已发布服务基础信息} 现在可以修改服务名称/描述/标签,而无需发布新版本。 -#### 服务设置期间首次创建路由 +#### 服务设置期间首次创建路由 {#353-功能优化-服务设置期间首次创建路由} 你可以选择从一开始就定义服务里的第一条初始路由,无需额外的步骤,简化了工作流程。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-24} * 将 [Datadog](https://docs.api7.ai/hub/datadog) 插件修复([#11354](https://github.com/apache/apisix/pull/11354))合并到 API7 企业版。 * 修复了控制台上数据面不可见的问题。 @@ -1053,9 +1055,9 @@ API7 网关允许为各个路由配置不同的上游超时,以覆盖上游侧 **发布日期:** 2024-07-08 -### 新功能 +### 新功能 {#353-新功能-8} -#### 全新的访问控制机制 +#### 全新的访问控制机制 {#353-新功能-全新的访问控制机制} :::info @@ -1065,13 +1067,13 @@ API7 网关允许为各个路由配置不同的上游超时,以覆盖上游侧 API7 企业版改进了传统的基于角色的权限,采用了权限策略架构,通过分配给角色的可复用策略来实现精细的访问控制。请参阅[角色和权限策略](/enterprise/key-concepts/roles-and-permission-policies)。 -### 功能优化 +### 功能优化 {#353-功能优化-12} -#### 配置路由优先级 +#### 配置路由优先级 {#353-功能优化-配置路由优先级} 在特定场景下,你可以在两个不同的服务中配置相同的路由。通过优先级确定哪个路由处理请求。具有较高指定优先级的路由将首先被使用。 -#### 强化 mTLS 证书安全 +#### 强化 mTLS 证书安全 {#353-功能优化-强化-mtls-证书安全} 改进了以下问题: @@ -1080,11 +1082,11 @@ API7 企业版改进了传统的基于角色的权限,采用了权限策略架 * 共享 CA:为多个证书使用相同的证书颁发机构 (CA) 是不安全的。 * 证书不匹配处理:当发生证书不匹配时,握手应立即失败,拒绝客户端的请求,而不是继续进行进一步的验证。 -#### 在 API7 Helm Chart 中包含新的参数 `lua_shared_dict` +#### 在 API7 Helm Chart 中包含新的参数 `lua_shared_dict` {#353-功能优化-在-api7-helm-chart-中包含新的参数-lua_shared_dict} 为 Helm chart 引入了一个新的参数。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-25} * 从旧版本升级可能会导致上游数据丢失或 404 错误。 * 服务请求 URL 更新期间遇到 UI 错误。 @@ -1105,7 +1107,7 @@ API7 企业版改进了传统的基于角色的权限,采用了权限策略架 **发布日期:** 2024-06-26 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-26} * 通过减少 etcd 调用来降低 API 延迟。 * Kine 数据库连接池配置可以正常工作。 @@ -1114,7 +1116,7 @@ API7 企业版改进了传统的基于角色的权限,采用了权限策略架 **发布日期:** 2024-06-24 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-27} * 提升 API 性能。 * 数据面支持禁用遥测数据收集和配置报告间隔。 @@ -1124,7 +1126,7 @@ API7 企业版改进了传统的基于角色的权限,采用了权限策略架 **发布日期:** 2024-06-24 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-28} * 大数据集不再导致 etcd range API 错误。 @@ -1132,7 +1134,7 @@ API7 企业版改进了传统的基于角色的权限,采用了权限策略架 **发布日期:** 2024-06-19 -### Admin API 不兼容变更 +### Admin API 不兼容变更 {#353-admin-api-不兼容变更} 1. 服务模板 API 已迁移到 "/api/services/template" 路径前缀下。 @@ -1144,9 +1146,9 @@ API7 企业版改进了传统的基于角色的权限,采用了权限策略架 * [网关组上的服务 API](https://docs.api7.ai/enterprise/reference/admin-api#tag/Services) * [网关组上的路由 API](https://docs.api7.ai/enterprise/reference/admin-api#tag/Routes) -### 新增功能 +### 新增功能 {#353-新增功能} -#### 在网关组上创建/更新服务而不发布 +#### 在网关组上创建/更新服务而不发布 {#353-新增功能-在网关组上创建更新服务而不发布} 如果版本控制不是你的要求,你现在可以直接在网关组上创建服务。这些服务会立即生效,无需单独的发布步骤。这简化了部署过程并节省了时间。 @@ -1154,29 +1156,29 @@ API7 企业版改进了传统的基于角色的权限,采用了权限策略架 有关详细信息,请参阅最新的入门教程:[启动你的第一个 API](/enterprise/getting-started/launch-your-first-api)。 -#### 与 Ingress Controller 集成(UI 支持) +#### 与 Ingress Controller 集成(UI 支持) {#353-新增功能-与-ingress-controller-集成ui-支持} API7 Gateway 正式推出 Ingress Controllers,这是一种新型的网关组。虽然控制台提供了方便的管理功能来创建和查看你的 Ingress Controller,但配置修改需要对任何配置更改采用声明方式。 -### 功能优化 +### 功能优化 {#353-功能优化-13} -#### 搜索网关组名称并按标签过滤 +#### 搜索网关组名称并按标签过滤 {#353-功能优化-搜索网关组名称并按标签过滤} 使在网关组列表中查找所需的特定网关组变得更加容易。 -#### 保护配置文件中的敏感数据 +#### 保护配置文件中的敏感数据 {#353-功能优化-保护配置文件中的敏感数据} 数据库的 DSN 配置(包括访问地址、用户名和密码)可以通过环境变量和 Helm 图表进行配置。 -#### 支持 Prometheus 认证 +#### 支持 Prometheus 认证 {#353-功能优化-支持-prometheus-认证} Prometheus 远程写入现在支持 Basic Auth/mTLS。 -#### 支持 SSL 变量的 Secret 功能 +#### 支持 SSL 变量的 Secret 功能 {#353-功能优化-支持-ssl-变量的-secret-功能} 使用加密的 Secret 保护 `ssl.certs` 和 `ssl.keys`。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-29} * 设置标头后,`ctx.var` 变量将立即更新。 * 无法上传重复的 SSL 证书。 @@ -1185,7 +1187,7 @@ Prometheus 远程写入现在支持 Basic Auth/mTLS。 **发布日期:** 2024-06-18 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-30} * ssl_verify 配置现在适用于登录选项 OIDC 和 LDAP 协议。 @@ -1193,7 +1195,7 @@ Prometheus 远程写入现在支持 Basic Auth/mTLS。 **发布日期:** 2024-06-07 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-31} * 保护与 API 相关的登录选项中的敏感字段。 @@ -1201,7 +1203,7 @@ Prometheus 远程写入现在支持 Basic Auth/mTLS。 **发布日期**: 2024-05-24 -### Admin API 不兼容变更 +### Admin API 不兼容变更 {#353-admin-api-不兼容变更-1} 1. service status 字段从“0: 启用,1: 禁用”变更为“0: 禁用,1: 启用” @@ -1217,28 +1219,28 @@ Prometheus 远程写入现在支持 Basic Auth/mTLS。 * [SSL APIs](https://docs.api7.ai/enterprise/reference/admin-api#tag/SSLs) -### 新增功能 +### 新增功能 {#353-新增功能-1} -#### 四层路由(Stream Route) +#### 四层路由(Stream Route) {#353-新增功能-四层路由stream-route} API7 网关现在可以处理四层流量,比如与数据库或 Kafka 的连接。 添加一个四层类型的服务,并在其中添加若干个四层路由(Stream Route,即可[转发四层流量](/enterprise/getting-started/proxy-l4-traffic)。 -#### 自定义角色 (控制台支持) +#### 自定义角色 (控制台支持) {#353-新增功能-自定义角色-控制台支持} 当默认提供的角色无法满足需求时,你可以自行设计自定义角色,实现精细化权限控制。可参阅[添加自定义角色](/enterprise/getting-started/rbac) -#### Ingress Controller(Beta 测试版,仅 API 支持) +#### Ingress Controller(Beta 测试版,仅 API 支持) {#353-新增功能-ingress-controllerbeta-测试版仅-api-支持} 集成 Ingress Controller。 -### 功能优化 +### 功能优化 {#353-功能优化-14} -#### 优化左侧导航菜单 +#### 优化左侧导航菜单 {#353-功能优化-优化左侧导航菜单} * 用户登录后落地页改为网关组菜单中已发布服务。 * **服务** 菜单项改名为 **服务中心**。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-32} * 使用 [Key Auth](https://docs.api7.ai/hub/key-auth) 插件时,禁止出现重复的 API 密钥。 * 使用 [UA Restriction](https://docs.api7.ai/hub/ua-restriction) 插件时,允许同时配置黑名单和白名单。 @@ -1250,7 +1252,7 @@ API7 网关现在可以处理四层流量,比如与数据库或 Kafka 的连 **发布日期: 2024-05-20 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-33} * etcd watch 可以正确地传递 SNI。 * API7 企业版在安装时会先尝试创建新的数据库。如果没有对应权限导致失败,会使用预先指定的已有数据库,避免安装失败。 @@ -1259,7 +1261,7 @@ API7 网关现在可以处理四层流量,比如与数据库或 Kafka 的连 **发布日期**: 2024-05-20 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-34} * 标签支持最长 64 个字符,且可以包含空格。 * 即使包含 schema 校验错误,也可以正常完成与数据面的配置同步,避免数据丢失或工作流中断。 @@ -1268,42 +1270,42 @@ API7 网关现在可以处理四层流量,比如与数据库或 Kafka 的连 **发布日期**: 2024-05-08 -### 新增功能 +### 新增功能 {#353-新增功能-2} -#### SSO 角色映射 +#### SSO 角色映射 {#353-新增功能-sso-角色映射} 设置自动角色映射,可以避免超级管理员需要频繁为 SSO 登陆的用户分配角色。 满足预先设置的映射条件的用户,在登陆 API7 企业版时会自动获得相应的角色权限。详情参阅[设置角色映射](/enterprise/best-practices/sso#设置角色映射)。 -#### SCIM 用户同步 +#### SCIM 用户同步 {#353-新增功能-scim-用户同步} 使用 SCIM 用户同步协议简化 SSO 用户管理。它可以自动从所有支持了 SCIM 协议的、已经添加了登陆选项的身份提供商同步用户数据,确保用户信息一致性。新用户在身份提供商注册,或用户在身份提供商注销,API7 企业版即可得到及时通知,避免新用户无法登陆或已注销用户非法登陆。详情参阅[Sync User Data from IdP](/enterprise/best-practices/sso#从身份提供商同步用户数据)。 -#### 自定义角色 (Beta, 仅 API 支持) +#### 自定义角色 (Beta, 仅 API 支持) {#353-新增功能-自定义角色-beta-仅-api-支持} 如默认角色不满足业务需求,现在你可以设计自定义角色,自由组合权限,进行细粒度权限控制。 该功能即将在后续版本支持控制台配置。 -### 功能优化 +### 功能优化 {#353-功能优化-15} -#### 升级到 OpenSSL 3 +#### 升级到 OpenSSL 3 {#353-功能优化-升级到-openssl-3} 提升安全性,性能,和可靠性。 -#### 全局插件执行顺序优化 +#### 全局插件执行顺序优化 {#353-功能优化-全局插件执行顺序优化} 为了简化全局插件的管理,API7 企业版会将多个全局插件配置整合到一起,确保插件配置和执行顺序不会产生冲突。 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-35} -#### 前端补全 HTTP 协议检测 +#### 前端补全 HTTP 协议检测 {#353-缺陷修复-前端补全-http-协议检测} 生成的网关实例部署脚本有时无法正确检测是否需要 HTTP 或 HTTPS 协议,这可能会导致部署时出现错误。 -#### 上传 SSL 证书错误 +#### 上传 SSL 证书错误 {#353-缺陷修复-上传-ssl-证书错误} 为网关组 A 上传的 SSL 证书可能会意外分配给网关组 B。 -#### 支持主机级动态设置 TLS 协议版本 +#### 支持主机级动态设置 TLS 协议版本 {#353-缺陷修复-支持主机级动态设置-tls-协议版本} 同步集成了在 Apache APISIX 中已解决的问题。 @@ -1311,9 +1313,9 @@ API7 网关现在可以处理四层流量,比如与数据库或 Kafka 的连 **发布日期**:2024-04-28 -### 新增功能 +### 新增功能 {#353-新增功能-3} -#### 支持 MySQL 5.7 +#### 支持 MySQL 5.7 {#353-新增功能-支持-mysql-57} 现在起 API7 企业版支持使用 MySQL 5.7 作为持久化数据存储。 @@ -1321,9 +1323,9 @@ API7 网关现在可以处理四层流量,比如与数据库或 Kafka 的连 **发布日期**: 2024-04-22 -### 不兼容变更 +### 不兼容变更 {#353-不兼容变更} -#### 令牌绑定用户 +#### 令牌绑定用户 {#353-不兼容变更-令牌绑定用户} 令牌改为和具体用户绑定,且和用户享有相同的角色权限。如果用户被删除,绑定的令牌也将立刻失效被删除。 @@ -1331,9 +1333,9 @@ API7 网关现在可以处理四层流量,比如与数据库或 Kafka 的连 **发布日期**:2024-04-16 -### 新增功能 +### 新增功能 {#353-新增功能-4} -#### 上游 mTLS(仅 API 支持) +#### 上游 mTLS(仅 API 支持) {#353-新增功能-上游-mtls仅-api-支持} 支持在 API7 网关和上游服务之间配置 mTLS 认证。 mTLS 是一种通信安全形式,要求双方彼此展示证书。这确保了双方都是其声称的身份,并且在它们之间传输的数据是加密的。 该功能即将在后续版本支持控制台配置。 @@ -1342,9 +1344,9 @@ API7 网关现在可以处理四层流量,比如与数据库或 Kafka 的连 **发布日期**: 2024-04-07 -### 缺陷修复 +### 缺陷修复 {#353-缺陷修复-36} -#### CPU 核心数判断 +#### CPU 核心数判断 {#353-缺陷修复-cpu-核心数判断} 修复了当 CPU 核心数达到最大限制时出现的问题。 @@ -1352,9 +1354,9 @@ API7 网关现在可以处理四层流量,比如与数据库或 Kafka 的连 **发布日期**: 2024-04-03 -### 新增功能 +### 新增功能 {#353-新增功能-5} -#### 集成 Vault(Beta) +#### 集成 Vault(Beta) {#353-新增功能-集成-vaultbeta} 将敏感信息存储到 Vault中。仅支持通过 Admin API 使用,UI 使用即将推出。 @@ -1362,31 +1364,31 @@ API7 网关现在可以处理四层流量,比如与数据库或 Kafka 的连 **发布日期**: 2024-04-01 -### 新增功能 +### 新增功能 {#353-新增功能-6} -#### 支持 SAML 第三方登录 +#### 支持 SAML 第三方登录 {#353-新增功能-支持-saml-第三方登录} API7 企业版新增支持对接 SAML 第三方登录。详情见[如何设置第三方登录](/enterprise/best-practices/sso)。 -#### 新插件: Data Mask +#### 新插件: Data Mask {#353-新增功能-新插件-data-mask} [Data Mask](https://docs.api7.ai/hub/data-mask) 插件提供了在请求头、请求体和 URL 查询中移除或替换敏感信息的能力。 -### 功能优化 +### 功能优化 {#353-功能优化-16} -#### 忽略路径前缀 +#### 忽略路径前缀 {#353-功能优化-忽略路径前缀} 你可以选择在向上游发送请求时跳过路径前缀。这种调整对用户来说是不感知的,并且在使用不同的路径前缀来识别发送到不同网关组的 API 时可能很有用。 -#### 优化健康检查配置 UI +#### 优化健康检查配置 UI {#353-功能优化-优化健康检查配置-ui} 提供一个更直观友好的健康检查配置交互界面。 -#### 升级加密算法 +#### 升级加密算法 {#353-功能优化-升级加密算法} 从 AES128 升级到 AES 256。 -#### 性能提升 +#### 性能提升 {#353-功能优化-性能提升} 消除了禁用插件后带来的性能损耗。 @@ -1394,17 +1396,17 @@ API7 企业版新增支持对接 SAML 第三方登录。详情见[如何设置 *_发布日期_: 2024-03-19 -### 新增功能 +### 新增功能 {#353-新增功能-7} -#### 支持自定义插件管理 +#### 支持自定义插件管理 {#353-新增功能-支持自定义插件管理} API7 企业版支持上传你自行编写的自定义插件,以扩展 API 管理的功能。详情见[新增自定义插件](/enterprise/best-practices/custom-plugin). -#### 支持 OIDC 第三方登录 +#### 支持 OIDC 第三方登录 {#353-新增功能-支持-oidc-第三方登录} API7 企业版即 LDAP 之后,新增支持对接 OIDC 第三方登录。详情见[如何设置第三方登录](/enterprise/best-practices/sso). -#### 将服务标签作为 API 提供者授权范围 +#### 将服务标签作为 API 提供者授权范围 {#353-新增功能-将服务标签作为-api-提供者授权范围} 通过将服务标签作为为API提供者的范围,你可以授予他们访问带有特定标签的所有服务的权限。这将有助于减轻超级管理员的工作负担。通常,可以使用“部门”标签对服务进行分组。此后该部门的用户将能够访问属于该部门的所有服务。 @@ -1412,18 +1414,18 @@ API7 企业版即 LDAP 之后,新增支持对接 OIDC 第三方登录。详情 **发布日期**: 2024-02-08 -### 新增功能 +### 新增功能 {#353-新增功能-8} -#### 支持 Nacos 服务发现 +#### 支持 Nacos 服务发现 {#353-新增功能-支持-nacos-服务发现} API7 企业版利用服务发现功能自动检测可用的上游服务,并将其地址保存在数据库(也被称之为服务注册中心)中。因此,API 网关能够通过服务注册中心获取最新的上游地址列表,确保所有请求都被转发到健康的上游节点。 在本版本中,API7 企业版支持与 Nacos 服务发现集成。用户可以使用 Nacos 服务发现来[发布服务](/enterprise/getting-started/publish-service)和[在网关组之间同步服务](/enterprise/getting-started/sync-service)。 -#### 支持 LDAP SSO 登录 +#### 支持 LDAP SSO 登录 {#353-新增功能-支持-ldap-sso-登录} API7 企业版支持 LDAP 单点登录(Single Sign-On,SSO)。将 API7 企业版与 LDAP 集成后,用户可以直接使用 LDAP 用户名和密码登录 API7 控制台,创建和管理 API7 网关资源。有关如何配置 LDAP SSO 登录方法的具体信息,参见[配置 LDAP 单点登录](/enterprise/best-practices/sso)。 -#### 支持使用 Kubernetes 添加网关实例 +#### 支持使用 Kubernetes 添加网关实例 {#353-新增功能-支持使用-kubernetes-添加网关实例} 用户使用网关实例来处理流量。在本版本中,API7 企业版支持使用 Kubernetes 向网关组添加网关实例。有关如何通过 Kubernetes 添加网关实例的具体信息,参见[添加网关实例](/enterprise/getting-started/add-gateway-instance)。