跳到主要内容
版本:3.3.x

更新日志

3.8.23​

发布日期:2026-02-03

新功能​

控制面​

  • 上传 OpenAPI 文件现已支持 OpenAPI 3.1.0 和 3.1.1 版本。

缺陷修复​

数据面​

  • 修复问题:当配置多个控制平面地址时,心跳和指标上报时仅会使用第一个连接地址。

控制面​

  • 修复问题:在路由的 URL 未以 / 开头时,冲突检测 API 会报 500 错误。

3.8.22​

发布日期:2026-01-19

缺陷修复​

插件​

  • Limit Count
    • 修复问题:在多个消费者中配置了相同的限流配置时,限流计数器被共享(3.8.5 引入)。
  • Limit Count Advanced
    • 修复问题:重置请求头时出现数据错误(3.8.19 引入)。
    • 修复问题:开启 Redis 延迟同步功能后,限流数据未正确提交(3.8.19 引入)。
    • 修复问题:Redis Sentinel 模式下无法指定 Redis 密码。
    • 修复问题:Redis Sentinel 模式下连接 Redis 未启用连接保活。
  • Syslog
    • 修复问题:在 UDP 模式下,发送一条超长日志后,后续日志发送阻塞。
  • Request ID
    • 修复问题:在客户端传递的 request-id 为空字符串时,系统未自动生成新的 request ID。

数据面​

  • 修复问题:启动过程可能出现 deepcopy table overflow 错误。

控制面​

  • 修复问题:SSL 资源默认的 client.depth 过小,导致 Cloud v2 用户 mTLS 功能迁移失败。
  • 修复问题:并发调用 SSL API 时可能引发数据重复。

3.8.21​

发布日期:2025-12-23

新功能​

插件​

  • gRPC Web
    • 支持在使用非通配符路径的路由中启用 grpc-web 插件。
  • OpenAPI to MCP
    • 提供 flatten_parameters 参数,以控制是否将 OpenAPI 中的路径和查询参数放在 tools input schema 的最顶层。

数据面​

  • Fallback CP
    • 支持使用网关作为备份节点,向 AWS S3 和 Azure Blob 同步数据。注意:备份节点不提供 HTTP/HTTPS 服务,不计入许可限额。
    • 支持使用 AWS IAM Role 和 Azure Managed Identity 进行身份验证。

控制面​

  • 支持使用 MSSQL Server 2022 作为控制面的数据库。
  • 提供使用 docker compose 部署网关实例的脚本生成。
  • 优化 kubernetes 部署网关实例时各个参数的文本提示。

缺陷修复​

插件​

数据面​

  • 修复问题:网关在启动过程中连接控制面失败时仍然继续启动。
  • 修复问题:网关在使用不同 IP 监听相同端口时出现的心跳失败。
  • 修复问题:Fallback CP 功能无法正确加载凭证数据。
  • 修复问题:优化 Prometheus 插件启用后的性能表现。

控制面​

  • 修复问题:通过 Admin API 创建的服务无法在控制台的监控页面选择路由及查看监控数据。
  • 修复问题:上游配置了主动健康检查后,控制台的上游页面中“不健康比例”的数据错误。

3.8.20​

发布日期:2025-12-11

缺陷修复​

插件​

  • OpenAPI to MCP
    • 修复问题:未正确替换 base_url 字段的变量。

3.8.19​

发布日期:2025-12-09

新功能​

插件​

  • OpenAPI to MCP
    • 支持在 base_url 中使用变量语法。
  • AI Rate Limiting
    • 支持使用 Redis、Redis Cluster、Redis Sentinel 作为存储。

      升级说明

      ai-rate-limiting 插件新增必填字段:policy。已有配置无须修改,在数据面可以正常工作;但更新配置时需要补充 policy=local 字段,否则更新会被拒绝。

数据面​

  • 变量系统支持使用 ${external_user.*} 语法获取外部用户信息的字段值。目前该变量由 openid-connect 插件及门户中的 OAuth 认证注入。

缺陷修复​

插件​

  • AI Proxy/AI Proxy Multi
    • 修复问题:未向上游透传客户端或其他插件产生的请求头。
  • AI Rate Limiting/Limit Count Advanced
    • 修复问题:多个 rules 同时命中时,限流 header 无法区分。默认通过 rules 的 index 进行区分,支持配置 header_prefix 来自定义前缀。
    • 修复问题:在 limit 字段中使用变量时,在变量值发生变化后,无法实时更新限流状态。

控制面​

  • 修复问题:用户的 Token 过期后仍然可以用于访问 API。
  • 修复问题:控制台中创建路由时“标签”字段出现大量重复输入框。
  • 修复问题:路由中禁用状态的插件无法覆盖服务中启用状态下的同名插件。
  • 修复问题:控制台中 Portal 下拉选项值频繁变化。
  • 修复问题:控制台中插件配置自动填充默认值。

3.8.18​

发布日期:2025-11-25

important

为支持创建多个 Portal 实例,数据面的 Portal 认证插件(portal-auth)进行了升级。用户在升级控制面后应尽快升级数据面,在已升级控制面,还未完成数据面升级前,请勿更新已有的 API 产品,否则这部分变更将无法生效。

新功能​

数据面​

  • 支持为监听端口指定 backlog 配置。
  • fallback_cp 功能支持 Azure Blob 存储类型。

控制面​

  • 新增动态客户端注册(DCR)提供者管理功能。
  • API 产品新增 DCR 认证类型。
  • Developer Credential 新增 OAuth 认证类型(基于 DCR 获取 Client ID 和 Client Secret)。
  • 支持创建多个 Portal 实例,已有 Portal 的使用数据会归属于系统自动创建的 default Portal 实例中。
  • 控制台支持在配置文件中指定许可证的存放路径。

缺陷修复​

数据面​

  • 所有日志插件
    • 修复问题:客户端请求体较大导致产生临时文件时,日志插件获取请求体失败。
  • AI Proxy Multi
    • 修复问题:健康检查器在请求命中不同消费者时会触发重建。

控制面​

  • 修复问题:Ingress Controller 安装脚本中未锁定 Helm Chart 版本号。
  • 修复问题:处于离线状态的网关实例展示兼容性标签。
  • 修复问题:创建/更新上游时,pass_host 为 rewrite 时,未检查 upstream_host 是否为空。
  • 修复问题:开发者门户中,当 OpenAPI 文档包含多个 server_url 时,开发者发起测试请求时无法选择 server_url。
  • 修复问题:订阅状态为“待审批”的开发者,仍能向网关发起请求。

3.8.17​

发布日期:2025-11-10

新功能​

插件​

  • Limit Conn
    • 支持在 conn 和 burst 字段中使用变量语法。
    • 添加了一个 rules 字段,用于同时配置多个限流规则。
  • Limit Count Advanced
    • 支持在 count 和 time_window 字段中使用变量语法。
    • 添加了一个 rules 字段,用于同时配置多个限流规则。
  • AI Rate Limiting
    • 支持在 limit 和 time_window 字段中使用变量语法。
    • 添加了一个 rules 字段,用于同时配置多个限流规则。
  • AI Proxy/AI Proxy Multi/AI Request Rewrite
    • 支持 aimlapi 供应商.
  • OpenAPI to MCP
    • 在向上游服务发送请求时,考虑 OpenAPI 中定义的查询参数默认值。
  • 所有访问日志记录插件
    • 支持配置 max_pending_entries,即批处理器中的最大待处理条目数。
    • 在工作进程退出前将待处理日志写入日志服务。

控制面​

  • 支持为访问 Dashboard 配置 IP 白名单和黑名单。

缺陷修复​

数据面​

  • AI Proxy Multi
    • 修复问题:多个 worker 无法共享 AI 实例的健康检查器。

控制面​

  • 修复问题:当浏览器没有权限时无法上传许可证书。
  • 修复问题:当上游节点数量非常多时网关转发性能不佳。
  • 修复问题:插件如 limit-count 和 limit-count advanced 的 policy 字段是可选的(应为必填)。
  • 修复问题:创建新的 SSO 页面并点击返回时,页面重定向到 SMTP Server 页。

3.8.16​

发布日期:2025-10-28

新功能​

插件​

数据面​

  • SSL 证书支持通配符 SNI 匹配,单个证书可覆盖多个子域名。

控制面​

  • API 门户支持在发布网关服务时指定 Host。
  • 网关 secret 模块支持查询失败场景的缓存配置。
  • Ingress Controller 安装表单支持配置命名空间和名称。
  • 在 Dashboard UI 中导入 OpenAPI 时显示受支持的版本。
  • 从网关部署页面移除裸金属 Linux 选项卡。

缺陷修复​

插件​

  • OpenAPI to MCP
    • 修复问题:当服务中配置了 path_prefix 和 strip_path_prefix 时,SSE 模式不工作。
    • 修复问题:MCP 工具名称之前是根据 OpenAPI 路径生成的,因此可能超出工具名称的长度限制。现在,MCP 工具名称将根据 OpenAPI 操作 ID 生成。
    • 修复问题:如果未配置 headers 字段,将会抛出 500 状态码错误。

控制面​

  • 修复问题:当组名称相似时,ADC 同步可能会同步到错误的网关组。
  • 修复问题:即使没有匹配的规则,登录选项角色映射也会保留之前的角色。
  • 修复问题:OIDC 登录选项的请求范围字段中存在多余的添加按钮。
  • 修复问题:旧配置有时不会显示在“编辑登录选项”表单中。
  • 修复问题:由于核心资源架构过于复杂,ADC diff 比较期间会发生不必要的更改。
  • 修复问题:更新用户角色时,用户的 updated_at 时间戳未刷新。

3.8.15​

发布日期:2025-10-13

新功能​

插件​

数据面​

  • 新增 GCP Secret Manager 作为密钥管理后端。

控制面​

  • 支持自定义 Prometheus 查询 API 的路径前缀。

缺陷修复​

数据面​

  • 修复问题:为同一网关组创建多个GatewayProxy/IngressClass将导致资源冲突和路由覆盖。
  • 修复问题:错误日志中包含敏感信息。
  • 修复问题:grpc-web 在响应体为空时丢失 trailers 的问题。

3.8.14​

发布日期:2025-09-25

缺陷修复​

数据面​

  • 修复问题:在 Ingress Controller v2.0.6 中,配置多个服务且设置多个相同的后端时,出现上游引用错误。
  • 修复问题:使用非 UTC 时区的 PostgreSQL 数据库时,网关实例状态计算错误。

3.8.13​

发布日期: 2025-09-23

新功能​

插件​

控制台(Dashboard)​

  • API7 Helm Chart 支持 Admin API 与 DPM 地址配置。

数据面​

  • DP Manager 支持配置 Prometheus remote write 端点 URL。
  • Certificate Usage API 的返回字段现已与 OpenAPI 规范保持一致。

缺陷修复​

控制台(Dashboard)​

  • 修复问题:API7 控制台集成内部登录邮箱时的提示信息处理。
  • 修复问题:自定义插件 Schema 不合法时错误信息提示只在浏览器控制台显示,现支持在 API7 控制台展示。
  • 修复问题:不同日志插件间 include_resp_body 配置相互干扰。
  • 修复问题:前端控制台构建过程中出现的警告信息。

数据面​

  • 修复问题:密钥无法动态更新。

开发者门户​

  • 修复问题:在开发者门户中为使用 ADC 创建的服务创建产品时无法查询 OAS。
  • 修复问题:在开发者门户中下载 OpenAPI 文档时的层级结构问题。

3.8.12​

发布日期: 2025-09-17

缺陷修复​

控制台(Dashboard)​

  • 修复问题:具有 service_label 范围策略的用户无法编辑相应服务或服务模板。
  • 修复问题:服务模板的标签授权问题,在列表 API 授权过程中,不再错误地复用同 ID 已发布服务的标签。

3.8.11​

发布日期: 2025-08-25

新功能​

插件​

控制台(Dashboard)​

  • 改进了根用户生成 Token 时的引导。UI 现在清晰地引导用户创建新用户并在该账号下生成 Token。
  • 支持在企业版控制面通过配置开关启用 pprof。监听 127.0.0.1,默认关闭。

依赖项​

  • 在企业版离线发布包中包含了最新版本的 ADC。

缺陷修复​

插件​

  • 自定义插件
    • 修复问题:上传缺少 schema 的自定义插件会返回 500。
  • Basic Auth
    • 修复问题:将 scheme 部分(“Basic”)改为不区分大小写。
  • AI Proxy Multi
    • 修复问题:流量分配异常。
  • AI Prompt Decorator
    • 修复问题:用户历史消息被错误地追加到日志/配置的 messages 中。现在插件仅按预期插入系统提示。

数据面​

  • 修复问题:在 EWMA 负载均衡算法下,历史统计未被清理,可能耗尽分配的共享内存并导致错误。

控制台(Dashboard)​

  • 修复问题:用户在多设备登录时可能卡在许可证激活页。
  • 修复问题:/plugins 键仅在自定义插件操作或控制台启动时写入,导致在新建网关组下创建新网关时无法从控制面同步已启用插件列表。现已正确创建该键。
  • 修复问题:通过 ADC 创建服务时,路由冲突检查器未检测到跨不同服务的重复路由。
  • 修复问题:UI 中较长的标签未完整显示。
  • 修复问题:并发创建相同 ID 的服务可能导致重复创建。
  • 修复问题:同时创建两条路由时,可能错误地提示对应的服务已存在。
  • 修复问题:登录页在登录选项过多时,页头重叠且页面无法滚动。

3.8.10​

发布日期: 2025-08-25

新功能​

插件​

  • SOAP
    • 新增插件。

数据面​

  • 支持通过 API7 控制台的配置文件来配置 DP Manager 和 Admin API 的地址。

控制台(Dashboard)​

  • 支持在网关部署配置中指定 Admin API 地址,该地址将用于填充 API7 Ingress Controller 部署脚本中的 GatewayProxy 端点地址。
  • 合并了 API7 控制台前端的 allow_access API 调用,以减少冗余请求。
  • 在上游连接配置中增加了 hash_on 配置项。

缺陷修复​

插件​

  • AI Proxy Multi
    • 修复问题:因与上游服务连接超时而引发 panic。
  • 从企业版中移除了 ext-plugin-pre-req、ext-plugin-post-req 和 ext-plugin-post-resp 插件。

数据面​

  • 修复问题:当控制面更新服务 API 时,由于数据库连接不足可能导致死锁。
  • 修复问题:重启后,工作进程可能会从主进程加载到旧数据。这可能导致在新创建或修改的路由上,工作进程从 etcd 同步最新数据前出现临时性请求失败(例如 404 错误)。
  • 修复问题:etcd 的历史记录压缩可能会触发 APISIX 中的全量数据加载,从而对 etcd 服务造成显著的性能影响,尤其是在网关节点数量庞大的环境中。

控制台(Dashboard)​

  • 修复问题:当消费者的权限策略配置为基于标签授予所有权限时,无法创建该消费者。
  • 修复问题:在消费者列表页面,分页偶尔会失败。尝试导航到另一页会导致短暂的加载状态,但视图仍停留在当前页面。

3.8.9​

发布日期: 2025-08-11

新功能​

插件​

  • JWT Auth
    • 新增 store_in_ctx 参数,用于在请求上下文中存储已验证的 JWT 对象。当设置为 true(默认为 false)时,插件会将已验证的 JWT 对象存储在请求上下文中,这对于需要解析 JWT 以提取权限的自定义插件非常有用。
  • Workflow
    • 新增对 limit-conn 插件集成的支持,允许根据用户请求和当前 APISIX 负载压力动态调整连接限制策略。

数据面​

  • API7 企业版 Ingress Controller 支持 Kubernetes 1.18。
  • 从 APISIX 迁移 Chaitin WAF 插件到 API7 企业版。

控制台(Dashboard)​

  • 新增审计日志记录 TTL 配置选项,允许用户设置审计日志表数据的自动删除时间。默认值为 60 天。
  • 优化了更新缓存的消费者数据时数据面管理器(Dataplane manager)的 SQL 语句。

开发者门户​

  • 新增对 CAS 登录的支持。

缺陷修复​

插件​

  • 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 引发共享内存死锁。

数据面​

  • 修复问题:在 ctx 变量中读取请求体时,错误信息无法被正确记录。

控制台(Dashboard)​

  • 修复问题:从 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 版本。

控制台(Dashboard)​

  • 通过添加 config.controllerName 优化了 Ingress 网关组部署脚本。

缺陷修复​

插件​

  • API Breaker
    • 修复问题:由于实现中的时间点(breaker_time)不准确,api-breaker 插件未能正确触发。
  • AI Proxy
    • 新增 upstream_response_time 变量。

数据面​

  • 修复问题:由于健康检查数据导致 routes() 响应数据损坏。
  • 修复问题:grpc-web 响应可能包含重复的 trailer chunk。
  • 修复问题:proxy-cache 插件中不同策略的响应头不一致。

控制台(Dashboard)​

  • 修复问题:并发请求为新网关组生成部署脚本可能导致 admin key 重复生成。
  • 修复问题:在不同路由间重复点击 “查看 ID” 会导致路由 ID 重复生成。
  • 修复问题:资源详情中的创建和更新时间戳位置不正确。
  • 修复问题:已发布服务中的插件操作(创建/删除/编辑)未记录审计日志。
  • 修复问题:由于服务器时间戳异常导致 CAS 登录期间无限重定向。
  • 修复问题:监控页面上的资源选择器过窄,导致文本截断。

3.8.7​

发布日期: 2025-07-17

新功能​

插件​

数据面​

  • 支持组件升级顺序控制,确保 dp-manager 在数据库迁移完成后启动。

控制台(Dashboard)​

  • 支持 OpenAPI 编辑器预填充服务 OpenAPI 规范的历史数据,避免简单修改时需重新完整输入。
  • 支持配置并默认启用内容安全策略(CSP)。
  • 支持同时显示 Gateway API 和 Ingress 部署脚本(针对 Ingress Controller 网关组)。

开发者门户​

  • 支持在服务提供商门户中删除开发者账号。
  • 新增“应用”资源,支持在应用层级管理 API 产品订阅与凭证。

缺陷修复​

插件​

  • zipkin 插件
    • 修复问题:access.log 中 zipkin_trace_id 显示乱码。
  • Forward Auth
    • 修复问题:使用 forward-auth 插件转发 POST 请求可能会导致请求主体丢失,从而引发 504 错误。通过引入 extra_headers 解决了此问题。

安全​

  • 修复问题:部分控制面接口(/api/license、/api/system_infos、/api/developer-portal-url)未授权即可访问。

数据面​

  • 修复问题:delay_encode 在同一日志行中仅能使用一次。
  • 修复问题:因证书问题导致启动后指标上报失败。

控制台(Dashboard)​

  • 修复问题:编辑自定义插件时删除源代码会清空整个表单。

开发者门户​

  • 修复问题:未认证用户筛选已订阅 API 产品后仍可见不可订阅产品。
  • 修复问题:移除单一筛选条件下 API 产品的"清除所有"按钮,因其功能与选择"全部"条件重复。

3.8.6​

发布时间: 2025-06-27

新功能​

插件​

缺陷修复​

数据面​

  • 修复问题:执行 quit 或 reload 命令时工作进程未退出。
  • 修复问题:错误地允许了大于 65535 的端口值。
  • 修复问题:当键包含特殊字符时,etcd 数据同步失败。
  • 修复问题:Kubernetes 服务发现由于 watch 进度重新列出所有数据导致性能下降。
  • 修复问题:Kafka Logger 中存在内存泄漏,导致 nginx 工作进程崩溃。

控制台(Dashboard)​

  • 修复问题:点击插件的“删除”按钮只会禁用插件而不是删除插件。
  • 修复问题:当使用 Kubernetes 服务发现时,上游缺少命名空间或服务数据。

安全​

  • 修复问题:TLSv1.3 跨 SNI 会话恢复漏洞(从 nginx 1.21.4 回退 HTTP 修复)。

3.8.5​

发布日期: 2025-06-16

新功能​

控制台(Dashboard)​

  • 在状态码相关告警事件中,为告警信息添加了路由 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 配置。

控制台(Dashboard)​

  • 修复问题:服务中的路由插件更新会错误地覆盖现有插件。

3.8.4​

发布日期: 2025-06-11

缺陷修复​

数据面​

  • 优化了控制面升级时数据量较大的表迁移的速度。
  • 为 post_arg 添加了缓存逻辑以优化性能,避免重复的低效解析。
  • 修复问题:以 http_ 和 graph_ 为前缀的 ctx 变量缓存未生效。
  • 修复问题:降级恢复后 Prometheus 指标未正确保留。

控制台(Dashboard)​

  • 修复问题:插件的编辑方式(表单或代码)未正确显示。
  • 修复问题:Response Rewrite 插件编辑器中的代码提示错误。

3.8.3​

发布日期: 2025-06-04

新功能​

数据面​

  • 支持在 conf/config.yaml 中配置 apisix.disable_upstream_healthcheck,通过单个开关禁用所有健康检查。
  • 通过减少内存消耗优化 Prometheus 性能。
  • 发布了 API7 Ingress Controller 2.0。

插件​

  • 自动在自定义插件模式中插入 _meta 字段。

控制台(Dashboard)​

  • 优化了 Ingress Controller 类型网关组的部署流程。
  • 新增许可证即将过期的告警策略触发事件。

缺陷修复​

数据面​

  • 修复问题:当使用 post_arg 读取 GraphQL 请求体时偶尔出现路由匹配错误。

控制台(Dashboard)​

  • 修复问题:升级依赖 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 服务。

控制台(Dashboard)​

  • 支持 CAS 作为 API7 企业版的 SSO 登录选项。

缺陷修复​

控制台(Dashboard)​

  • 修复问题:已发布服务在编辑基本信息时报错。
  • 修复问题: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

新功能​

插件​

  • Limit Count Advanced
    • 当 Redis 不可用时,自动回退到本地 shared dict,防止 Redis 故障期间请求失败。

数据面​

  • 支持 Stream(四层)路由的主动和被动健康检查。

控制台(Dashboard)​

  • 在添加网关实例时,指定网关实例证书的有效期。
  • 在网关实例列表中,当证书即将过期时添加警告提示。
  • 支持在控制台中查看网关实例的证书续期方法,并生成新的网关实例证书。

缺陷修复​

数据面​

  • 修复问题:使用 TCP 服务时健康检查未按预期工作,请求仍被转发到不健康的上游节点。
  • 修复问题:由于 Redis 服务故障导致网关请求延迟高。
  • 修复问题:AI Gateway 中 llm_time_to_first_token 默认值判断错误。

插件​

  • 移除 request-id 插件的 snowflake 算法,因其存在潜在风险。

控制台(Dashboard)​

  • 修复问题:监控页面上的总带宽图表数据与 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 服务。

控制台(Dashboard)​

  • 在状态码告警消息中添加了服务名称和路由名称的详细统计信息。
  • 优化插件配置:在服务或路由上配置 Traffic Split 插件时,验证配置的 upstream_id 确实属于当前服务的上游。
  • 在已发布服务中将上游连接配置字段名称与 API 对齐。
  • 为 CORS 插件配置引入了基于表单的 UI。

缺陷修复​

数据面​

  • 修复问题:当上游类型为 Kubernetes 服务发现时,健康检查中的节点在节点变更后未更新,导致大量健康检查失败日志。
  • 修复问题:当 Kubernetes 服务发现的 shared_size 参数调整为 100m 时出现错误。#11857
  • 修复问题:使用 Kubernetes 发现的 APISIX/API7 企业版在 Token 文件过期后会失败。#11779
  • 修复问题:更新 Vault Secret 提供商的 prefix 后,数据面仍使用旧配置。

控制台(Dashboard)​

  • 修复问题:上游中的 retries 字段被错误地设置为必填。
  • 修复问题:由于缺少服务模板权限,已发布服务页面出现错误。
  • 修复问题:在已发布服务中更新服务发现的服务名称未生效。
  • 修复问题:快速点击创建多条记录。
  • 修复问题:使用大规模消费者时数据库 CPU 使用率高。
  • 优化 Permission Policy 的通配符配置方法:
    • 现在支持在授权语句中使用 * 进行通配符配置,其含义与当前的 <.*> 相同;
    • 限制星号 * 不允许出现在任何资源 ID 字段中,以防止授权失败。

3.7.8​

发布日期: 2025-06-16

缺陷修复​

控制台(Dashboard)​

  • 修复问题:服务中的路由插件更新会错误地覆盖现有插件。

3.7.7​

发布日期: 2025-06-11

缺陷修复​

数据面​

  • 优化了控制面升级时数据量较大的表迁移的速度。

3.7.6​

发布日期: 2025-06-04

缺陷修复​

数据面​

  • 修复问题:Kubernetes 服务发现在上游节点数量较多时出现性能问题。

控制台(Dashboard)​

  • 修复问题:当两个自定义插件包含错误代码时,API7 企业版内置插件无法正常工作。
  • 修复问题:当 ADC 从 17.x 版本升级到 19.x 后,如果同时更新同一服务下的多条路由,控制台仍显示过时的配置。

3.7.5​

发布日期: 2025-05-19

缺陷修复​

控制台(Dashboard)​

  • 修复问题:已发布服务在编辑基本信息时报错。

数据面​

  • 修复问题:standalone 模式下使用大体积的配置文件时启动时间过长。
  • 修复问题:OAS Validator 插件错误拒绝 1.11-1.19 范围内符合 multipleOf: 0.01 规则的数字。

3.7.4​

发布日期: 2025-04-30

新功能​

控制台(Dashboard)​

  • 在添加网关实例时,指定网关实例证书的有效期。
  • 在网关实例列表中,当证书即将过期时添加警告提示。
  • 支持在控制台中查看网关实例的证书续期方法,并生成新的网关实例证书。

缺陷修复​

数据面​

  • 修复问题:使用 TCP 服务时健康检查未按预期工作,请求仍被转发到不健康的上游节点。
  • 修复问题:由于 Redis 服务故障导致网关请求延迟高。
  • 修复问题:AI Gateway 中 llm_time_to_first_token 默认值判断错误。

插件​

  • 移除 request-id 插件的 snowflake 算法,因其存在潜在风险。

控制台(Dashboard)​

  • 修复问题:监控页面上的总带宽图表数据与 Prometheus 不一致。
  • 修复问题:当启用强制发布时,已发布服务中不允许修改路由的超时和插件配置。

3.7.3​

发布日期: 2025-04-22

缺陷修复​

控制台(Dashboard)​

  • 修复问题:使用大规模消费者时数据库 CPU 使用率高。
  • 优化 Permission Policy 的通配符配置方法:
    • 现在支持在授权语句中使用 * 进行通配符配置,其含义与当前的 <.*> 相同;
    • 限制星号 * 不允许出现在任何资源 ID 字段中,以防止授权失败。

3.7.2​

发布日期: 2025-03-24

缺陷修复​

插件​

  • OpenTelemetry
    • 修复问题:动态路由 /v2/:customerNumber 上的 404 响应导致报告路径为空。

管理 API​

  • 修复问题:资源缺乏一致的 name 和 desc 长度限制(最多 65535 个字符),导致用户输入有效长字符串时出错。

控制台(Dashboard)​

  • 修复问题:用户在数据库存储后看到的是加密密文,而非原始明文输入的服务和路由敏感字段。
  • 修复问题:控制台重启后,之前删除的默认网关组被错误地重新生成。
  • 修复问题:Token 名称更新未在通知区域展示。

依赖项​

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 服务的请求实施基于 Token 的速率限制。它通过控制指定时间范围内消耗的 Token 数量来管理 API 使用,确保资源公平分配并防止服务过载。通常与 AI Proxy Multi 插件一起使用。
  • AI Proxy
    • 支持 openai 兼容的提供者。
    • 支持代理嵌入模型 API。
  • AI Proxy Multi
    • 支持 openai 兼容的提供者。
    • 支持在使用插件时绕过上游配置。
    • 支持主动健康检查。
    • 支持代理嵌入模型 API。

控制台(Dashboard)​

  • 支持引用 Kubernetes Secret 中的特定密钥:详情请参阅 引用 Kubernetes Secret 中的密钥。
  • 为所有表格添加页面大小选择器。
  • 在服务页面标题中显示服务 ID 和服务模板 ID,在路由页面标题中显示路由 ID 和路由模板 ID。

管理 API​

缺陷修复​

数据面​

  • 修复问题:重复的网关实例 ID 导致 CPU 计数不准确。

控制台(Dashboard)​

  • 修复问题:由于 SMTP 服务器配置中的 From Name 格式无效,导致告警邮件发送失败。
  • 修复问题:删除自定义插件时未删除插件元数据。
  • 修复问题:手动添加流服务时未移除 Skip Path Prefix 字段。
  • 修复问题:路由的优先级不能设置为负数。

3.6.1​

发布日期: 2025-03-14

缺陷修复​

插件​

3.6.0​

发布日期: 2025-02-26

重大变更​

  • 移除服务模板中的服务运行时配置,以便更好地跨网关组重用模板。服务模板中现有的服务运行时配置将被移除,但您的已发布服务配置将保持不变。 此外,发布流程得到简化和优化,发布过程中不允许配置服务运行时配置。请参阅更新的发布服务指南。

新功能​

数据面​

控制台(Dashboard)​

  • 支持使用邮箱登录:API7 企业版控制台现在支持使用用户名或邮箱地址和密码登录。要使用邮箱登录或接收通知,请将邮箱地址绑定到您的用户资料。
  • 支持为上游配置 mTLS。
  • 支持引用环境变量作为 SSO 连接信息。
  • 为插件配置引入基于表单的 UI。
  • 将 Basic Authentication 添加为开发者门户凭据的认证选项。如果 API 产品允许多种认证类型,则可以使用任何有效的凭据。

缺陷修复​

数据面​

  • 修复问题:更新 upstream.nodes 时的竞态条件问题。#11916。
  • 修复服务发现问题:在克隆节点表后填充节点信息结构时,上游 original_nodes 未更新。#10722。

3.5.5​

发布日期: 2025-03-14

缺陷修复​

插件​

  • Limit Count Advanced
    • 修复问题:在负载测试期间间歇性出现 500 错误。
  • OpenID Connect
    • 修复问题:插件不支持配置验证颁发者。
    • 修复问题:无法验证受众声明。#11018

3.5.4​

发布日期: 2025-03-07

缺陷修复​

插件​

  • Elasticsearch Logger
    • 修复问题:插件无法配置索引以根据当前日期动态发送数据。

控制台(Dashboard)​

  • 修复问题:使用模板重新发布可能导致上游配置丢失。
  • 修复问题:使用 ADC 重建服务后,页面上的 OpenAPI 缓存失效失败。
  • 优化慢查询。

3.5.3​

发布日期: 2025-02-18

缺陷修复​

  • 修复问题:告警邮件主题不能包含变量。

3.5.2 版本​

发布日期: 2025-02-13

缺陷修复​

  • 修复了问题:无法启用 log rotate 插件。
  • 修复了问题:在升级过程中,尤其是在使用 MySQL 数据库时,网关实例中偶尔会出现重复数据。
  • 修复了问题:删除自定义插件偶尔会失败。

3.5.1 版本​

发布日期: 2025-02-06

缺陷修复​

  • 修复了问题:无法配置 Azure SMTP 服务器发送警报电子邮件。
  • 支持在 OTEL 插件报告动态路由 /v2/:customerNumber 时将 request.url 报告为 route.url。

3.5.0 版本​

发布日期: 2025-01-27

新功能​

服务中的多个上游​

对于高级场景,例如灰度部署、蓝绿部署或管理多个集群,服务现在可以使用多个上游。在这种情况下,默认上游充当大多数请求的主要目标,而其他上游可用于特定目的,例如将流量路由到灰度部署或辅助集群。有关详细信息,请参阅更新后的配置灰度流量转移。

信息

旧的 灰度规则 功能不再可用。

功能优化​

  • 支持通过 Prometheus 插件元数据自定义配置 DP 指标标签。
  • 优化了数据面 Prometheus 指标报告的性能。
  • 禁止由于超过许可证 CPU 限制而创建新资源。
  • 为 API7 门户的控制台页面添加了页面大小选择。
  • 支持 YAML/JSON 格式的插件配置。
  • 改进了上游健康检查配置的 UI。
  • [Beta] 为上游配置了 mTLS。API 支持当前可用。完整支持即将推出。

缺陷修复​

  • 修复了问题:Traffic Split 插件的 LRU 缓存对象创建函数导致客户端请求异常。
  • 将“启用/禁用插件”重命名为“新增/删除插件”以提高准确性。

3.4.1 版本​

发布日期: 2025-01-14

缺陷修复​

  • 修复了问题:在 API7 门户中使用 BasicAuth 身份验证进行在线调试时,粘贴密码失败。
  • 修复了问题:在 DP 中配置 access_log_format 并将 access_log_format_escape 设置为 json 时,结果会附加一个额外的 request_id。

3.4.0 版本​

发布日期: 2025-01-07

新功能​

SNI 管理​

引入了 SNI 作为管理 TLS 和 mTLS 身份验证以及证书匹配的新机制。有关详细信息,请参阅 在客户端和 API7 网关之间配置 mTLS。

API7 门户监控​

提供监控数据和可视化,以跟踪 API 产品指标。

功能优化​

  • 自定义插件配置现在应用于网关组级别。有关详细信息,请参阅 添加自定义插件。
  • 数据面升级到 LuaJit 2.1-20240815。
  • 删除了 grpc-client-nginx-module。

缺陷修复​

  • 修复了问题:Redis 延迟同步功能使用的共享内存泄漏。
  • 修复了问题:批量发布超多 service 时审计日志记录失败。

3.3.3 版本​

发布日期: 2025-01-14

缺陷修复​

  • 修复了问题:在 API7 门户中使用 BasicAuth 身份验证进行在线调试时,粘贴密码失败。
  • 修复了问题:在 DP 中配置 access_log_format 并将 access_log_format_escape 设置为 json 时,结果会附加一个额外的 request_id。

3.3.2 版本​

发布日期: 2024-12-24

缺陷修复​

  • 修复了问题:从 3.2.16.2 或更旧版本升级到 3.3.1 及更高版本时,控制台无法启动。

3.3.1 版本​

发布日期: 2024-12-19

缺陷修复​

  • 修复了问题:运行在 rewrite 阶段的插件在命中消费者后会重复执行。

3.3.0 版本​

发布日期: 2024-12-16

新功能​

API7 门户​

宣布 API7 门户正式发布 (GA),这是一个用于 API 发现和使用的综合解决方案。探索 API7 门户 和 开发者 的关键概念,并开始你的 服务产品化 之旅。

功能优化​

  • 为 OpenID Connect 插件同步了开源代码。
  • 在访问日志和错误日志中记录请求 ID。
  • 重构了数据面中的过期和淘汰机制。
  • 当告警策略未配置通知通道时,在告警历史记录中添加了提示。
  • 支持与外部 Prometheus 指标集成。

安全​

  • 解决了 CVE 报告中的漏洞。

缺陷修复​

  • 解决了问题:数据面到 DPM 的消费者查询(404 错误除外)不应被缓存。
  • 解决了问题:禁用 API7 集成身份验证后,登录页面上的密码登录不可用。
  • 修复了插件全局规则搜索问题。

3.2.16.7 版本​

发布日期: 2024-12-13

缺陷修复​

  • 修复了问题:当 DP 管理器收到截断的 Prometheus 指标时,它会进入无限循环。
  • 修复了问题:由于 watch 中断,数据面与控制面的同步可能会中断。
  • 修复了问题:速率限制插件的 Redis 延迟同步功能对于低频请求无法按预期工作。
  • 修复了问题:Limit Count Advanced 插件使用的共享内存存在故障。
  • 修复了问题:radixtree_uri_with_parameter 无法匹配包含带有特殊字符的路径参数的请求。
  • 修复了问题:Limit Count Advanced 插件滑动窗口中的剩余值应向下舍入,重置值应保留两位小数。

3.2.16.6 版本​

发布日期: 2024-11-25

功能优化​

  • JWT Auth 插件支持 key_claim_name。
  • 为监控添加了网关组过滤。

缺陷修复​

  • 解决了告警页面中的 UI 问题。
  • 解决了问题:多个数据面容器在控制面中被识别为单个实例,这损害了许可证控制功能和一些指标报告显示功能。
  • 解决了问题:发布大量服务时,审计日志无法记录。
  • 修改了 SSL 证书到期告警条件文本。
  • 解决了问题:由于节点 IP 地址未更新,导致健康检查失败。
  • 将插件中 Lua 代码合法性的验证添加到控制面代码中。
  • 为 Multi Auth 插件添加了子插件错误消息的记录。
  • 删除了 Basic Auth 插件中的额外警告日志。
  • 修复了添加新凭据时 Secret 提供商的权限验证错误。
  • 修复了问题:在网关组上添加的已发布服务缺少 skip path prefix 配置项。

3.2.16.5 版本​

发布日期: 2024-11-21

功能优化​

  • 为 Body Transformer 插件添加了 multipart content type。
  • 将资源 ID 长度限制从 64 调整为 256。
  • Workflow 插件支持 limit-count-advanced 作为操作项。
  • 重构了 core.response.exit 以阐明参数定义。
  • 在请求上下文中记录已执行的插件,以确保在使用 Workflow 插件时,同一插件仅被执行一次。

缺陷修复​

  • 解决了问题:在 Prometheus 插件中启用 prefer_name 选项将导致监控页面上的过滤器发生故障。
  • 解决了问题:匹配匿名消费者时,不会将 x-consumer-custom-id 标头添加到请求中。
  • 解决了问题:当同时配置时,Body Transformer 插件和 CORS 插件会导致 OPTIONS 请求出错。
  • 临时删除了 Exit Transformer 插件中的沙箱机制。

3.2.16.4 版本​

发布日期: 2024-11-01

新功能​

通过电子邮件发送通知​

告警策略现在可以通过利用新的联系人同时通过 webhook 和电子邮件发送通知。联系人 定义了一组可由多个告警策略使用的电子邮件地址或 webhook URL。

有关说明,请参阅触发网关告警。

备注

现有的 Webhook 模板 将迁移到新的联系人和告警策略内的通知,确保告警策略的无缝过渡和向后兼容性。

新的 Limit Count Advanced 插件​

使用滑动窗口算法增强了开源的 limit count 插件,以实现更准确的速率限制。

有关详细信息,请参阅 Limit Count Advanced插件。

新的 Exit Transformer 插件​

Exit Transformer 插件支持根据 APISIX 插件返回的状态码、标头和正文来自定义网关响应。当配置为全局插件时,它还支持在请求不存在的路由时自定义响应。

通过告警策略计算网关组中的健康网关实例数​

如果网关组中健康网关实例的数量低于临界阈值,则表明可能会出现服务中断并影响流量处理。 这种情况在 Kubernetes 部署中尤其重要,因为网关实例可能会遇到故障或意外缩减。

创建用于统计网关组中健康网关实例数的告警策略 并向相关人员发送通知。

功能优化​

  • JWT Auth 插件 现在支持更多算法。
  • 支持利用表达式匹配来更精确地路由流量。
  • 在 Grafana 控制台模板 中丰富了更多指标。
  • 允许用户按 Enter 键登录。

缺陷修复​

  • 解决了问题:CORS插件 expose_header 的默认值不应为 *。
  • 解决了问题:添加四层服务时可以成功添加第一个四层路由。
  • 解决了问题:max_req_body_bytes 限制在日志记录器插件中不起作用。
  • 解决了问题:Limit Count 插件中速率限制参数的动态更新现在会反映在数据面中。
  • 解决了问题:通过 API 删除的服务可以从数据面中一致地删除。

3.2.16.3 版本​

发布日期: 2024-10-21

新功能​

引用在 AWS Secrets Manager 中的密钥(Secrets)​

密钥(Secrets) 对象是一条需要防止未经授权访问的敏感信息,而 Secret 提供商(Secret Provider) 对象用于设置与外部密钥管理器(HashiCorp Vault、AWS Secret Manager 等)的集成,以便 API7 网关可以在运行时动态地建立连接并从密钥管理器中获取密钥。

有关更多详细信息,请参阅 引用在 AWS Secrets Manager 中的密钥。

用于 API 身份验证的匿名消费者​

匿名消费者无需身份验证,但可以限制访问速率。你可以在服务/路由上的身份验证插件中配置匿名消费者,然后与速率限制插件结合使用。

有关详细信息,请参阅以下文档:

安全​

功能优化​

  • 支持 200 万量级消费者。
  • 消费者列表支持按名称排序。
  • 从 API7 网关中删除了 conf_server。
  • 改进了速率限制相关插件以使其更加灵活,允许针对每个服务/路由进行特定于消费者的速率限制。有关详细信息,请参阅 Limit Count 插件 和 Limit Req 插件。
  • 升级请求和响应转换插件:
    • 在请求转换期间,支持传递 Lua 代码以获取值。
    • 对齐 Kong 的请求转换和响应转换的功能。
  • 显示服务中添加的路由总数。
  • 将插件列表从数据面配置更改为控制面配置。与 3.2.15.0 以下版本不兼容
  • 在告警策略中添加了证书到期提醒。
  • 在因多设备登录而重定向到登录页面之前显示通知,说明登出原因。
  • 改善了前端页面响应速度和加载速度。
  • 优化了“使用上游超时”UI。
  • 优化了 API7 Portal (Beta) 列表页渲染速度。

缺陷修复​

  • 解决了问题:现在可以在控制台上为单个路由配置多个路径。
  • 解决了问题:OpenTelemetry 插件不支持 set_ngx_var。
  • 解决了问题:ACL 插件 在正常使用情况下不应输出警告日志。
  • 增强了数据面 lua_ssl_trusted_certificate 配置项。
  • 将 Body Transformer 插件代码与 APISIX 主线版本同步。
  • 解决了问题:当在服务上配置了流模块不可用的插件时,数据面会打印错误日志。
  • 将 Token 的 Edit 操作更改为 Edit Name。
  • 解决了问题:编辑服务注册中心时,服务发现类型与表单不符。

3.2.16.2 版本​

发布日期: 2024-10-11

缺陷修复​

  • 修复了消费者中插件配置更新不生效的问题。

3.2.16.1 版本​

发布日期: 2024-10-04

功能优化​

  • 提升了 API7 Portal(Beta) 性能。

缺陷修复​

  • 解决了删除路由时 radixtree_host_uri 路由模式下的 panic 问题。
  • 解决了自定义认证类型插件与Multi Auth 插件不兼容的问题。

3.2.16.0 版本​

发布日期: 2024-09-30

新功能​

引用在 HashiCorp Vault 中的密钥​

信息

这是一项不兼容变更。secrets 资源已重命名为 secret provider(Secret 提供商),以符合最佳实践并促进与外部密钥管理工具的集成。所有相关的 API 都已相应更新。

密钥(Secrets) 对象是一条需要防止未经授权访问的敏感信息,而 Secret 提供商(Secret Provider) 对象用于设置与外部密钥管理器(HashiCorp Vault、AWS Secret Manager 等)的集成,以便 API7 网关可以在运行时动态地建立连接并从密钥管理器中获取密钥。

有关更多详细信息,请参阅 在 HashiCorp Vault 中引用密钥。

功能优化​

  • 【不兼容变更】删除了 JWT 插件签发 Token 的功能,并删除了上传私钥的功能。 有关详细信息,请参阅 JWT Auth 插件文档。
  • 增加了对删除离线网关实例的支持。
  • 为使用 Redis 的插件添加了 sync_rate 参数,以控制与 Redis 同步计数器的频率。实时同步会给 Redis 带来很大的压力。
  • 支持通过 URL 访问特定的路由详情页。
  • 支持 API7 Portal(Beta) 的 API 在线测试。
  • UI 改进:缩短了自定义主机输入框。
  • UI 改进:将负载均衡算法下拉框改为单选框。
  • UI 改进:新建标签样式修改。

缺陷修复​

  • 修复了问题:未正确清理的 config_listen.sock 导致数据面无法启动。
  • 修复了问题:禁用服务后请求接口报 404 错误。
  • 为 Splunk-Hec-Logging 插件添加了 keepalive_timeout 配置。
  • 修复了消费者的标签分割后各元素还保留分隔符前后的空白问题。
  • 修复了问题:Skywalking 插件销毁后无法重新启动。
  • 修复了问题:数据面没有正确处理非认证插件配置在消费者上时的加解密。
  • 修复了问题:内置权限策略应无法删除。
  • 修复了问题:ingress controller 类型网关组应能够删除。
  • 修复了问题:数据面 path prefix 应当支持配置 /。
  • 修复了 UI 问题:点击标签页面跳转到搜索框。
  • 修复了 UI 问题:新建 Token 并删除 Token 后,新建提示没有消失。
  • 为插件分类添加了中文翻译。
  • 扩大了插件描述文字框,以完整显示插件的介绍。
  • 修复了新建 Token 并删除 Token 后,新建提示没有消失的问题。

3.2.15.2 版本​

发布日期: 2024-09-19

缺陷修复​

3.2.15.1 版本​

发布日期: 2024-09-18

缺陷修复​

  • 解决了使用 Token 获取 instance_token 返回 401 的问题。

3.2.15.0 版本​

发布日期: 2024-09-14

新功能​

消费者凭据​

信息

这是一项不兼容变更。不再支持为消费者创建新的身份验证插件(Key Auth、Basic Auth、JWT Auth 或 HMAC Auth)。请改用消费者凭据。现有的插件配置将保持可访问和可编辑,直到被禁用。

消费者凭据通过允许多个凭据对应每个消费者来增强灵活性。它们取代了传统的身份验证插件,如 Key Auth、Basic Auth、JWT Auth 和 HMAC Auth,提供了更友好的用户体验。有关详细信息,请参阅管理消费者凭据。

安全​

  • 根用户 admin 成为受保护帐户,角色、权限策略或其他用户无法对其进行修改。其他用户无法删除它或重置其密码。

功能优化​

  • 现在支持按名称按字母顺序对服务列表进行排序。
  • 向每个审计日志添加了网关组 ID,以便你可以按网关组搜索或过滤审计日志。
  • 为已离线超过 7 天的自动删除的网关实例记录了审计日志。
  • 支持按标签过滤网关组上发布的服务。
  • 确保控制面地址不以斜杠结尾。
  • 在 Helm 中支持注释。
  • 提供配置项控制数据面心跳、遥测请求的超时,并且调整默认值为 30s。

缺陷修复​

  • 优化了在启用 SCIM 后用户通过 SSO 登录但系统中不存在该用户时的错误消息。
  • 修复了修改未发布版本的服务后灰度配置调整失败的问题。

3.2.14.4 版本​

发布日期: 2024-08-14

新功能​

覆盖每个路由的上游超时​

API7 网关允许为各个路由配置不同的上游超时,以覆盖上游侧的超时配置,从而实现对请求处理的精细控制。

用户权限边界​

权限边界定义了用户的最大允许权限,作为防止用户越权的保障措施。

安全提升​

  • 升级了前端依赖项。
  • 确保单设备登录 - 新登录将撤销之前存在的活跃会话。
  • 禁止导入旧许可证。
  • 升级了 OpenResty 版本以修复安全漏洞。

功能优化​

  • 在服务中心列表和已发布服务列表中添加了服务描述。
  • 为服务注册中心添加了“连接中”状态,以避免误解。
  • 自定义插件支持代码混淆和加密存储。
  • 在使用测试环境许可证时显示通知。
  • 为插件管理和修改实现了基于卡片的 UI。
  • 支持配置自定义插件元数据。
  • 最小化了 API7 企业版的镜像大小。

缺陷修复​

  • 修复了将服务版本发布到网关组时,服务运行时配置参数(例如,主机、路径前缀)的空值丢失的问题。
  • 消除了 dry-run 模式下调用许可证上传时生成的不必要的审计日志。
  • 解决了路由创建和修改时间戳不正确的问题。
  • 解决了插件元数据 Schema 的校验报错。
  • 提高了服务搜索准确性。
  • 解决了服务模板发布期间插件丢失的问题。

3.2.14.3 版本​

发布日期: 2024-08-06

缺陷修复​

  • 支持在 SSL 证书中引用 $env。
  • 解决了标签包含句点时 UI 不稳定的问题。

3.2.14.2 版本​

发布日期: 2024-07-30

缺陷修复​

  • 解决了在控制台上查看 Ingress Controller 路由时的报错。
  • 修复了在 Kubernetes 上安装网关实例时缺少默认 Helm release 名称的问题。
  • 通过使用 ID Token 优化了与 Azure AD 的集成。
  • 修复了服务模板和已发布的网关组之间可能出现插件不一致的问题。

3.2.14.1 版本​

发布日期: 2024-07-22

功能优化​

导入 OpenAPI 以在网关组上创建服务​

只需将 OpenAPI 文件直接导入网关组,即可创建新服务及其所有路由。

通过 API7 Portal 实现精细的访问控制​

利用自定义角色和权限策略对 API 产品的访问进行精细控制。

安全提升​

  • 控制面地址必须为 HTTPs。
  • 移除 ngx.req.get_post_args(0) 的使用,改用默认值以避免潜在的攻击。
  • 重新生成 Ingress Controller 部署脚本现在需要二次确认。

无需版本控制即可管理已发布服务基础信息​

现在可以修改服务名称/描述/标签,而无需发布新版本。

服务设置期间首次创建路由​

你可以选择从一开始就定义服务里的第一条初始路由,无需额外的步骤,简化了工作流程。

缺陷修复​

  • 将 Datadog 插件修复(#11354)合并到 API7 企业版。
  • 修复了控制台上数据面不可见的问题。
  • 修复了一个问题:将 Prometheus 数据报告方法从远程写入更改为抓取后,服务注册表状态始终显示为“断开连接”。
  • 修复了通过控制台部署自定义插件后,数据面遇到错误的问题。
  • 修复了前端错误:不应该允许通过控制台在 Ingress Controller 网关组上修改已发布服务的上游。
  • 去掉不该出现的报错通知:切换到节点时,即使启用了健康检查,仍然存在提示用户启用健康检查的提示。
  • 修复问题:上传自定义插件时,如果出现解析错误,错误消息中显示的插件名称与实际文件名不匹配。

3.2.14.0 版本​

发布日期: 2024-07-08

新功能​

全新的访问控制机制​

信息

这是一项不兼容变更。旧版本的规则不能保留。

API7 企业版改进了传统的基于角色的权限,采用了权限策略架构,通过分配给角色的可复用策略来实现精细的访问控制。请参阅角色和权限策略。

功能优化​

配置路由优先级​

在特定场景下,你可以在两个不同的服务中配置相同的路由。通过优先级确定哪个路由处理请求。具有较高指定优先级的路由将首先被使用。

强化 mTLS 证书安全​

改进了以下问题:

  • 过长的证书:证书字符串太长,应该缩短。
  • 不必要的标记:证书包含不必要的标记,应该删除。
  • 共享 CA:为多个证书使用相同的证书颁发机构 (CA) 是不安全的。
  • 证书不匹配处理:当发生证书不匹配时,握手应立即失败,拒绝客户端的请求,而不是继续进行进一步的验证。

在 API7 Helm Chart 中包含新的参数 lua_shared_dict​

为 Helm chart 引入了一个新的参数。

缺陷修复​

  • 从旧版本升级可能会导致上游数据丢失或 404 错误。
  • 服务请求 URL 更新期间遇到 UI 错误。
  • 修复了 API7 Portal (Beta) 库问题。
  • 修复了 HTTP Logger 插件内存泄漏。
  • 前端和后端密码策略不一致。
  • 当 GET 请求与任何路由都不匹配时,Data Mask 插件会报告错误。
  • ApisixUpstream CRD 的 status 字段记录不正确。
  • 数据面支持配置监控数据的报告间隔。
  • 修复了配置插件元数据后的警告日志。
  • 修复了插件重新加载问题。
  • 减少 PostgreSQL 连接数。
  • 优化前端资源消耗。
  • 删除 FQDN 中的尾随点。
  • 插件元数据应该能够被删除。

3.2.11.8 版本​

发布日期: 2024-06-26

缺陷修复​

  • 通过减少 etcd 调用来降低 API 延迟。
  • Kine 数据库连接池配置可以正常工作。

3.2.11.7 版本​

发布日期: 2024-06-24

缺陷修复​

  • 提升 API 性能。
  • 数据面支持禁用遥测数据收集和配置报告间隔。
  • 自定义插件即使没有 schema 定义也可以正常工作。

3.2.11.6 版本​

发布日期: 2024-06-24

缺陷修复​

  • 大数据集不再导致 etcd range API 错误。

3.2.13.0 版本​

发布日期: 2024-06-19

Admin API 不兼容变更​

  1. 服务模板 API 已迁移到 "/api/services/template" 路径前缀下。
  1. 原始的 "/apisix/admin/services" 端点现在需要 gateway_group_id 参数。

新增功能​

在网关组上创建/更新服务而不发布​

如果版本控制不是你的要求,你现在可以直接在网关组上创建服务。这些服务会立即生效,无需单独的发布步骤。这简化了部署过程并节省了时间。

但是,重要的是要考虑所涉及的权衡。通过绕过发布阶段,你也失去了轻松回滚到以前版本或跟踪版本更改的能力。

有关详细信息,请参阅最新的入门教程:启动你的第一个 API。

与 Ingress Controller 集成(UI 支持)​

API7 Gateway 正式推出 Ingress Controllers,这是一种新型的网关组。虽然控制台提供了方便的管理功能来创建和查看你的 Ingress Controller,但配置修改需要对任何配置更改采用声明方式。

功能优化​

搜索网关组名称并按标签过滤​

使在网关组列表中查找所需的特定网关组变得更加容易。

保护配置文件中的敏感数据​

数据库的 DSN 配置(包括访问地址、用户名和密码)可以通过环境变量和 Helm 图表进行配置。

支持 Prometheus 认证​

Prometheus 远程写入现在支持 Basic Auth/mTLS。

支持 SSL 变量的 Secret 功能​

使用加密的 Secret 保护 ssl.certs 和 ssl.keys。

缺陷修复​

  • 设置标头后,ctx.var 变量将立即更新。
  • 无法上传重复的 SSL 证书。

3.2.11.5 版本​

发布日期: 2024-06-18

缺陷修复​

  • ssl_verify 配置现在适用于登录选项 OIDC 和 LDAP 协议。

3.2.11.4 版本​

发布日期: 2024-06-07

缺陷修复​

  • 保护与 API 相关的登录选项中的敏感字段。

版本 3.2.12.0​

发布日期: 2024-05-24

Admin API 不兼容变更​

  1. service status 字段从“0: 启用,1: 禁用”变更为“0: 禁用,1: 启用”
  1. consumer api 移除 id 字段,使用 gateway group id & username 做查询、删除
  1. ssl 相关 api 强制 gateway group id 参数

新增功能​

四层路由(Stream Route)​

API7 网关现在可以处理四层流量,比如与数据库或 Kafka 的连接。 添加一个四层类型的服务,并在其中添加若干个四层路由(Stream Route,即可转发四层流量。

自定义角色 (控制台支持)​

当默认提供的角色无法满足需求时,你可以自行设计自定义角色,实现精细化权限控制。可参阅添加自定义角色

Ingress Controller(Beta 测试版,仅 API 支持)​

集成 Ingress Controller。

功能优化​

优化左侧导航菜单​

  • 用户登录后落地页改为网关组菜单中已发布服务。
  • 服务 菜单项改名为 服务中心。

缺陷修复​

  • 使用 Key Auth 插件时,禁止出现重复的 API 密钥。
  • 使用 UA Restriction 插件时,允许同时配置黑名单和白名单。
  • 重置用户密码时不会引起访问 Token 失效。
  • 使用 Loggly 插件时配置能校验成功。
  • API7 网关中的状态字段取值含义和 Apache APISIX 保持一致。

版本 3.2.11.3​

**发布日期: 2024-05-20

缺陷修复​

  • etcd watch 可以正确地传递 SNI。
  • API7 企业版在安装时会先尝试创建新的数据库。如果没有对应权限导致失败,会使用预先指定的已有数据库,避免安装失败。

版本 3.2.11.2​

发布日期: 2024-05-20

缺陷修复​

  • 标签支持最长 64 个字符,且可以包含空格。
  • 即使包含 schema 校验错误,也可以正常完成与数据面的配置同步,避免数据丢失或工作流中断。

版本 3.2.11.1​

发布日期: 2024-05-08

新增功能​

SSO 角色映射​

设置自动角色映射,可以避免超级管理员需要频繁为 SSO 登陆的用户分配角色。 满足预先设置的映射条件的用户,在登陆 API7 企业版时会自动获得相应的角色权限。详情参阅设置角色映射。

SCIM 用户同步​

使用 SCIM 用户同步协议简化 SSO 用户管理。它可以自动从所有支持了 SCIM 协议的、已经添加了登陆选项的身份提供商同步用户数据,确保用户信息一致性。新用户在身份提供商注册,或用户在身份提供商注销,API7 企业版即可得到及时通知,避免新用户无法登陆或已注销用户非法登陆。详情参阅Sync User Data from IdP。

自定义角色 (Beta, 仅 API 支持)​

如默认角色不满足业务需求,现在你可以设计自定义角色,自由组合权限,进行细粒度权限控制。 该功能即将在后续版本支持控制台配置。

功能优化​

升级到 OpenSSL 3​

提升安全性,性能,和可靠性。

全局插件执行顺序优化​

为了简化全局插件的管理,API7 企业版会将多个全局插件配置整合到一起,确保插件配置和执行顺序不会产生冲突。

缺陷修复​

前端补全 HTTP 协议检测​

生成的网关实例部署脚本有时无法正确检测是否需要 HTTP 或 HTTPS 协议,这可能会导致部署时出现错误。

上传 SSL 证书错误​

为网关组 A 上传的 SSL 证书可能会意外分配给网关组 B。

支持主机级动态设置 TLS 协议版本​

同步集成了在 Apache APISIX 中已解决的问题。

版本 3.2.10.1​

发布日期:2024-04-28

新增功能​

支持 MySQL 5.7​

现在起 API7 企业版支持使用 MySQL 5.7 作为持久化数据存储。

版本 3.2.10.0​

发布日期: 2024-04-22

不兼容变更​

Token 绑定用户​

Token 改为和具体用户绑定,且和用户享有相同的角色权限。如果用户被删除,绑定的 Token 也将立刻失效被删除。

版本 3.2.9.5​

发布日期:2024-04-16

新增功能​

上游 mTLS(仅 API 支持)​

支持在 API7 网关和上游服务之间配置 mTLS 认证。 mTLS 是一种通信安全形式,要求双方彼此展示证书。这确保了双方都是其声称的身份,并且在它们之间传输的数据是加密的。 该功能即将在后续版本支持控制台配置。

版本 3.2.9.4​

发布日期: 2024-04-07

缺陷修复​

CPU 核心数判断​

修复了当 CPU 核心数达到最大限制时出现的问题。

版本 3.2.9.3​

发布日期: 2024-04-03

新增功能​

集成 Vault(Beta)​

将敏感信息存储到 Vault中。仅支持通过 Admin API 使用,UI 使用即将推出。

版本 3.2.9.2​

发布日期: 2024-04-01

新增功能​

支持 SAML 第三方登录​

API7 企业版新增支持对接 SAML 第三方登录。详情见如何设置第三方登录。

新插件: Data Mask​

Data Mask 插件提供了在请求头、请求体和 URL 查询中移除或替换敏感信息的能力。

功能优化​

忽略路径前缀​

你可以选择在向上游发送请求时跳过路径前缀。这种调整对用户来说是不感知的,并且在使用不同的路径前缀来识别发送到不同网关组的 API 时可能很有用。

优化健康检查配置 UI​

提供一个更直观友好的健康检查配置交互界面。

升级加密算法​

从 AES128 升级到 AES 256。

性能提升​

消除了禁用插件后带来的性能损耗。

版本 3.2.9.1​

*发布日期: 2024-03-19

新增功能​

支持自定义插件管理​

API7 企业版支持上传你自行编写的自定义插件,以扩展 API 管理的功能。详情见新增自定义插件.

支持 OIDC 第三方登录​

API7 企业版即 LDAP 之后,新增支持对接 OIDC 第三方登录。详情见如何设置第三方登录.

将服务标签作为 API 提供者授权范围​

通过将服务标签作为为 API 提供者的范围,你可以授予他们访问带有特定标签的所有服务的权限。这将有助于减轻超级管理员的工作负担。通常,可以使用“部门”标签对服务进行分组。此后该部门的用户将能够访问属于该部门的所有服务。

版本 3.2.8.1​

发布日期: 2024-02-08

新增功能​

支持 Nacos 服务发现​

API7 企业版利用服务发现功能自动检测可用的上游服务,并将其地址保存在数据库(也被称之为服务注册中心)中。因此,API 网关能够通过服务注册中心获取最新的上游地址列表,确保所有请求都被转发到健康的上游节点。

在本版本中,API7 企业版支持与 Nacos 服务发现集成。用户可以使用 Nacos 服务发现来发布服务和在网关组之间同步服务。

支持 LDAP SSO 登录​

API7 企业版支持 LDAP 单点登录(Single Sign-On,SSO)。将 API7 企业版与 LDAP 集成后,用户可以直接使用 LDAP 用户名和密码登录 API7 控制台,创建和管理 API7 网关资源。有关如何配置 LDAP SSO 登录方法的具体信息,参见配置 LDAP 单点登录。

支持使用 Kubernetes 添加网关实例​

用户使用网关实例来处理流量。在本版本中,API7 企业版支持使用 Kubernetes 向网关组添加网关实例。有关如何通过 Kubernetes 添加网关实例的具体信息,参见添加网关实例。