更新日志
3.8.9
发布日期: 2025-08-11
新功能
数据面
- API7 企业版 Ingress Controller 支持 Kubernetes 1.18。
- 从 APISIX 迁移 Chaitin WAF 插件到 API7 企业版。
插件
- JWT Auth
- 新增
store_in_ctx
参数,用于在请求上下文中存储已验证的 JWT 对象。当设置为 true(默认为 false)时,插件会将已验证的 JWT 对象存储在请求上下文中,这对于需要解析 JWT 以提取权限的自定义插件非常有用。
- 新增
- Workflow
- 新增对
limit-conn
插件集成的支持,允许根据用户请求和当前 APISIX 负载压力动态调整连接限制策略。
- 新增对
控制台
- 新增审计日志记录 TTL 配置选项,允许用户设置审计日志表数据的自动删除时间。默认值为 60 天。
- 优化了更新缓存的消费者数据时数据面管理器(Dataplane manager)的 SQL 语句。
开发者门户
- 新增对 CAS 登录的支持。
缺陷修复
数据面
- 修复问题:在
ctx
变量中读取请求体时,错误信息无法被正确记录。
插件
- OAS Validator
- 修复问题:当
verbose_errors
启用时,将详细响应错误的错误级别从error
调整为warn
。
- 修复问题:当
- JWT Auth
- 修复问题:当设置
claims_to_verify: ["exp"]
时,插件无法验证exp
声明。
- 修复问题:当设置
- Consumer Restriction
- 修复问题:改进了将
consumer-restriction
与basic-auth
插件一起使用时的错误消息。当type
设置为consumer_group_id
并配置黑名单时,未被列入黑名单的消费者现在会收到适当的错误消息。
- 修复问题:改进了将
- Kafka Logger
- 修复问题:在服务配置中启用
max_pending_entries
且存在大量路由时,性能下降。该问题是由于在服务和路由合并期间插件配置深度复制,导致每个路由创建单独的批处理器缓冲区。
- 修复问题:在服务配置中启用
- Limit Count Advanced
- 修复问题:插件 panic 引发共享内存死锁。
控制台
- 修复问题:从 OpenAPI 文件导入的中文标签显示为中文拼音而非原始中文字符。
- 修复问题:频繁切换路由后,路由信息偶尔会卡在加载状态。
- 修复问题:PUT API 会为不存在的消费者创建凭证。
- 修复问题:语言切换不一致,在登录页面切换到英文后,登录后会恢复为中文。
开发者门户
- 修复问题:SAML/OIDC 注销未从 IDP 登录状态正确签出。SSO 注销后,仅清除了控制面登录状态,而 IDP 登录状态仍然存在,导致再次点击 SSO 登录按钮时自动登录成功。
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
规则的数字。