更新日志
3.8.8
发布日期: 2025-07-28
新功能
数据面
- 支持 Consul 服务发现去重和节点排序。
- 支持在使用
radixtree_uri_with_parameter
路由时访问uri_arg_
变量。 - 将 API7-EE-3-Gateway 的基础镜像升级至 Ubuntu 24.04。
开发者门户
- 支持开发者在应用中查看当前 API 用量统计。
- 将 Scalar 升级至 0.7.25 版本。
依赖项
- 将 Casbin 升级至 1.41.9 版本。
控制台
- 通过添加
config.controllerName
优化了 Ingress 网关组部署脚本。
缺陷修复
数据面
- 修复问题:由于健康检查数据导致
routes()
响应数据损坏。 - 修复问题:
grpc-web
响应可能包含重复的 trailer chunk。 - 修复问题:
proxy-cache
插件中不同策略的响应头不一致。
插件
- API Breaker
- 修复问题:由于实现中的时间点(
breaker_time
)不准确,api-breaker
插件未能正确触发。
- 修复问题:由于实现中的时间点(
- AI Proxy
- 新增
upstream_response_time
变量。
- 新增
控制台
- 修复问题:并发请求为新网关组生成部署脚本可能导致 admin key 重复生成。
- 修复问 题:在不同路由间重复点击 “查看 ID” 会导致路由 ID 重复生成。
- 修复问题:资源详情中的创建和更新时间戳位置不正确。
- 修复问题:已发布服务中的插件操作(创建/删除/编辑)未记录审计日志。
- 修复问题:由于服务器时间戳异常导致 CAS 登录期间无限重定向。
- 修复问题:监控页面上的资源选择器过窄,导致文本截断。
3.8.7
发布日期: 2025-07-17
新功能
数据面
- 支持组件升级顺序控制,确保 dp-manager 在数据库迁移完成后启动。
插件
- limit-count-advanced 插件
- 新增支持 Redis Sentinel 模式。
控制台
- 支持 OpenAPI 编辑器预填充服务 OpenAPI 规范的历史数据,避免简单修改时需重新完整输入。
- 支持配置并默认启用内容安全策略(CSP)。
- 支持同时显示 Gateway API 和 Ingress 部署脚本(针对 Ingress Controller 网关组)。
开发者门户
- 支持在服务提供商门户中删除开发者账号。
- 新增“应用”资源,支持在应用层级管理 API 产品订阅与凭证。
缺陷修复
安全
- 修复问题:部分控制面接口(
/api/license
、/api/system_infos
、/api/developer-portal-url
)未授权即可访问。
数据面
- 修复问题:
delay_encode
在同一日志行中仅能使用一次。 - 修复问题:因证书问题导致启动后指标上报失败。
插件
- zipkin 插件
- 修复问题:
access.log
中zipkin_trace_id
显示乱码。
- 修复问题:
- Forward Auth
- 修复问题:使用
forward-auth
插件转发 POST 请求可能会导致请求主体丢失,从而引发 504 错误。通过引入extra_headers
解决了此问题。
- 修复问题:使用
控制台
- 修复问题:编辑自定义插件时删除源代码会清空整个表单。
开发者门户
- 修复问题:未认证用户筛选已订阅 API 产品后仍可见不可订阅产品。
- 修复问题:移除单一筛选条件下 API 产品的"清除所有"按钮,因其功能与选择"全部"条件重复。
3.8.6
发布时间: 2025-06-27
新功能
插件
- Elasticsearch Logger
- 新增对 Elasticsearch 9.0.2 的支持。
缺陷修复
数据面
- 修复问题:执行
quit
或reload
命令时工作进程未退出。 - 修复问题:错误地允许了大于 65535 的端口值。
- 修复问题:当键包含特殊字符时,etcd 数据同步失败。
- 修复问题:Kubernetes 服务发现由于 watch 进度重新列出所有数据导致性能下降。
- 修复问题:Kafka Logger 中存在内存泄漏,导致 nginx 工作进程崩溃。
控制台
- 修复问题:点击插件的“删除”按钮只会禁用插件而不是删除插件。
- 修复问题:当使用 Kubernetes 服务发现时,上游缺少命名空间或服务数据。
安全
- 修复问题:TLSv1.3 跨 SNI 会话恢复漏洞(从 nginx 1.21.4 回退 HTTP 修复)。
3.8.5
发布日期: 2025-06-16
新功能
控制台
- 在状态码相关告警事件中,为告警信息添加了路由 URI 信息。
修复
依赖项
- 将 OpenSSL 从 3.2.3 版本升级至 3.2.4 版本。
- 将 Debian 基础镜像升级至 Bookworm 版本。
数据面
- 修复问题:当 OAS 插件规范文件过大时会导致严重的性能影响。
- 修复问题:当
content-type
包含charset
时,post_arg
匹配失败。 - 修复问题:在
limit-count
插件中,消费者未共享相同的计数器。 - 修复问题:缺少 etcd 的
init_dir
会导致无法列出资源。 - 修复问题:在
jwt-auth
插件中,real_payload
可能被恶意负载覆盖。 - 修复问题:
upstream_schema
中存在错误的变量和冗余的 TLS 配置。
控制台
- 修复问题:服务中的路由插件更新会错误地覆盖现有插件。
3.8.4
发布日期: 2025-06-11
缺陷修复
数据面
- 优化了控制面升级时数据量较大的表迁移的速度。
- 为
post_arg
添加了缓存逻辑以优化性能,避免重复的低效解析。 - 修复问题:以
http_
和graph_
为前缀的ctx
变量缓存未生效。 - 修复问题:降级恢复后 Prometheus 指标未正确保留。
控制台
- 修复问题:插件的编辑方式(表单或代码)未正确显示。
- 修复问题:Response Rewrite 插件编辑器中的代码提示错误。
3.8.3
发布日期: 2025-06-04
新功能
数据面
- 支持在
conf/config.yaml
中配置apisix.disable_upstream_healthcheck
,通过单个开关禁用所有健康检查。 - 通过减少内存消耗优化 Prometheus 性能。
- 发布了 API7 Ingress Controller 2.0。
插件
- 自动在自定义插件模式中插入
_meta
字段。
控制台
- 优化了 Ingress Controller 类型网关组的部署流程。
- 新增许可证即将过期的告警策略触发事件。
缺陷修复
数据面
- 修复问题:当使用
post_arg
读取 GraphQL 请求体时偶尔出现路由匹配错误。
控制台
- 修复问题:升级依赖
ramda
至0.30.1
和cross-spawn
至7.0.5
以避免高危漏洞。 - 修复问题:使用控制台表单配置
cors
插件详情时max-age
字段显示不正确。 - 修复问题:当 ADC 从 17.x 版本升级到 19.x 后,如果同时更新同一服务下的多条路由,控制台仍显示过时的配置。
- 修复问题:在控制台中,拥有
gateway:GetPublishedService
或gateway:GetServiceTemplate
权限的用户无法查看服务内的插件配置。 - 修复问题:当两个自定义插件包含错误代码时,API7 企业版内置插件无法正常工作。
- 修复问题:Kubernetes 服务发现在上游节点数量较多时出现性能问题。
- 修复问题:表格表头大小写不一致,现已统一为首字母大写格式。
3.8.2
发布日期: 2025-05-19
新功能
插件
- AI Proxy Multi
- 新增对 429/5xx 响应码的重试逻辑,提高请求成功率。
AI 网关
- 新增支持反向代理 AzureAI 服务。
控制台
- 支持 CAS 作为 API7 企业版的 SSO 登录选项。
缺陷修复
控制台
- 修复问题:已发布服务在编辑基本信息时报错。
- 修复问题:
retry_timeout
和retries
不能在 Stream 类型服务上游编辑。 - 修复问题:当网关实例缺少兼容性字段时页面崩溃。
数据面
- 修复问题:standalone 模式下使用大体积的配置文件时启动时间过长。
- 修复问题:OAS Validator 插件错误拒绝 1.11-1.19 范围内符合
multipleOf: 0.01
规则的数字。 - 修复问题:AI Proxy 插件会接受无效的端点 URL(例如,“http//localhost” 缺少冒号的情况)。
3.8.1
发布日期: 2025-05-07
新功能
控制台
- 在添加网关实例时,指定网关实例证书的有效期。
- 在网关实例列表中,当证书即将过期时添加警告提示。
- 支持在控制台中查看网关实例的证书续期方法,并生成新的网关实例证书。
缺陷修复
数据面
- 修复问题:使用 TCP 服务时健康检查未按预期工作,请求仍被转发到不健康的上游节点。
- 修复问题:由于 Redis 服务故障导致网关请求延迟高。
- 修复问题:AI Gateway 中
llm_time_to_first_token
默认值判断错误。
插件
- 移除
request-id
插件的snowflake
算法,因其存在潜在风险。
控制台
- 修复问题:监控页面上的总带宽图表数据与 Prometheus 不一致。
- 修复问题:当启用强制发布时,已发布服务中不允许修改路由的超时和插件配置。
3.8.0
发布日期: 2025-04-22
新功能
数据面
- 支持在路由条件中使用用户请求体中数组对象的值。虽然
post_arg
已在路由条件中允许使用,但本次更新引入了对类型字段位置的数组场景支持。 - 支持在访问日志中记录额外的 AI 请求上下文信息。
- 支持向 Prometheus 指标添加请求类型标识符,以收集更细粒度的 AI 请求数据。
插件
- AI Proxy
- 实现了新的标识字段
logging
和summaries
,用于收集 LLM 请求和响应内容。
- 实现了新的标识字段
- AI Proxy Multi
- 支持 HTTP POST 方法的健康检查。
- 如果触发了回退,则在警 告日志级别显示记录。
- 实现了新的标识字段,用于收集 LLM 请求和响应内容。
- AI Aliyun Content Moderation
- 新增对流式(HTTP SSE)场景的支持。
- AI Prompt Guard
- 新增插件。
- Kafka Logger
- 支持读取缓存在
ctx
中的用户请求和响应体内容,并将其推送到指定的 Kafka 服务。
- 支持读取缓存在
控制台
- 在状态码告警消息中添加了服务名称和路由名称的详细统计信息。
- 优化插件配置:在服务或路由上配置 Traffic Split 插件时,验证配置的
upstream_id
确实属于当前服务的上游。 - 在已发布服务中将上游连接配置字段名称与 API 对齐。
- 为 CORS 插件配置引入了基于表单的 UI。
缺陷修复
数据面
- 修复问题:当上游类型为 Kubernetes 服务发现时,健康检查中的节点在节点变更后未更新,导致大量健康检查失败日志。
- 修复问题:当 Kubernetes 服务发现的
shared_size
参数调整为 100m 时出现错误。#11857 - 修复问题:使用 Kubernetes 发现的 APISIX/API7 企业版在令牌文件过期后会失败。#11779
- 修复问题:更新 Vault Secret 提供商的
prefix
后,数据面仍使用旧配置。
控制台
- 修复问题:上游中的
retries
字段被错误地设置为必填。 - 修复问题:由于缺少服务模板权限,已发布服务页面出现错误。
- 修复问题:在已发布服务中更新服务发现的服务名称未生效。
- 修复问题:快速点击创建多条记录。
- 修复问题:使用大规模消费者时数据库 CPU 使用率高。
- 优化 Permission Policy 的通配符配置方法:
- 现在支持在授权语句中使用
*
进行通配符配置,其含义与当前的<.*>
相同; - 限制星号
*
不允许出现在任何资源 ID 字段中,以防止授权失败。
- 现在支持在授权语句中使用
3.7.8
发布日期: 2025-06-16
缺陷修复
控制台
- 修复问题:服务中的路由插件更新会错误地覆盖现有插件。
3.7.7
发布日期: 2025-06-11
缺陷修复
数据面
- 优化了控制面升级时数据量较大的表迁移的速度。
3.7.6
发布日期: 2025-06-04
缺陷修复
数据面
- 修复问题:Kubernetes 服务发现在上游节点数量较多时出现性能 问题。
控制台
- 修复问题:当两个自定义插件包含错误代码时,API7 企业版内置插件无法正常工作。
- 修复问题:当 ADC 从 17.x 版本升级到 19.x 后,如果同时更新同一服务下的多条路由,控制台仍显示过时的配置。
3.7.5
发布日期: 2025-05-19
缺陷修复
控制台
- 修复问题:已发布服务在编辑基本信息时报错。
数据面
- 修复问题:standalone 模式下使用大体积的配置文件时启动时间过长。
- 修复问题:OAS Validator 插件错误拒绝 1.11-1.19 范围内符合
multipleOf: 0.01
规则的数字。
3.7.4
发布日期: 2025-04-30
新功能
控制台
- 在添加网关实例时,指定网关实例证书的有效期。
- 在网关实例列表中,当证书即将过期时添加警告提示。
- 支持在控制台中查看网关实例的证书续期方法,并生成新的网关实例证书。
缺陷修复
数据面
- 修复问题:使用 TCP 服务时健康检查未按预期工作,请求仍被转发到不健康的上游节点。
- 修复问题:由于 Redis 服务故障导致网关请求延迟高。
- 修复问题:AI Gateway 中
llm_time_to_first_token
默认值判断错误。
插件
- 移除
request-id
插件的snowflake
算法,因其存在潜在风险。
控制台
- 修复问题:监控页面上的总带宽图表数据与 Prometheus 不一致。
- 修复问题:当启用强制发布时,已发布服务中不允许修改路由的超时和插件配置。
3.7.3
发布日期: 2025-04-22
缺陷修复
控制台
- 修复问题:使用大规模消费者时数据库 CPU 使用率高。
- 优化 Permission Policy 的通配符配置方法:
- 现在支持在授权语句中使用
*
进行通配符配置,其含义与当前的<.*>
相同; - 限制星号
*
不允许出现在任何资源 ID 字段中,以防止授权失败。
- 现在支持在授权语句中使用
3.7.2
发布日期: 2025-03-24
缺陷修复
插件
- OpenTelemetry
- 修复问题:动态路由
/v2/:customerNumber
上的 404 响应导致报告路径为空。
- 修复问题:动态路由
管理 API
- 修复问题:资源缺乏一致的
name
和desc
长度限制(最多 65535 个字符),导致用户输入有效长字符串时出错。
控制台
- 修复问题:用户在数据库存储后看到的是加密密文,而非原始明文输入的服务和路由敏感字段。
- 修复问题:控制台重启后,之前删除的默认网关组被错误地重新生成。
- 修复问题:令牌名称更新未在通知区域展示。
依赖项
- 升级至 Go 1.23。
- 升级至 Next.js 14.2.25 以解决 CVE-2025-29927。
3.7.1
发布日期: 2025-03-14
缺陷修复
插件
- OpenID Connect
- 修复问题:无法配置验证颁发者。
- 修复问题:无法验证受众声明。#11018。
3.7.0
发布日期: 2025-03-10
新功能
数据面
- 引用 Kubernetes Secret 中的密钥:Secret 提供商现在支持 Kubernetes Secret。这允许您从 Kubernetes Secret 中引用敏感值,用于 SSL 证书、SSL 私钥、消费者凭据和各种插件配置。
插件
- AI Rate Limiting
- 引入新的 AI 插件,用于对发送到 LLM 服务的请求实施基于令牌的速率限制。它通过控制指定时间范围内消耗的令牌数量来管理 API 使用,确保资源公平分配并防止服务过载。通常与 AI Proxy Multi 插件一起使用。
- AI Proxy
- 支持 openai 兼容的提供者。
- 支持代理嵌入模型 API。
- AI Proxy Multi
- 支持 openai 兼容的提供者。
- 支持在使用插件时绕过上游配置。
- 支持主动健康检查。
- 支持代理嵌入模型 API。
控制台
- 支持引用 Kubernetes Secret 中的特定密钥:详情请参阅 引用 Kubernetes Secret 中的密钥。
- 为所有表格添加页面大小选择器。
- 在服务页面标题中显示服务 ID 和服务模板 ID,在路由页面标题中显示路由 ID 和路由模板 ID。
管理 API
- 新增引用 Kubernetes Secret 中的密钥相关 API:
缺陷修复
数据面
- 修复问题:重复的网关实例 ID 导致 CPU 计数不准确。
控制台
- 修复问题:由于 SMTP 服务器配置中的
From Name
格式无效,导致告警邮件发送失败。 - 修复问题:删除自定义插件时未删除插件元数据。
- 修复问题:手动添加流服务时未移除
Skip Path Prefix
字段。 - 修复问题:路由的优先级不能设置为负数。
3.6.1
发布日期: 2025-03-14