From fb15f3e36c992dca0dd7470570720fea9efe5118 Mon Sep 17 00:00:00 2001 From: Zyy Date: Wed, 7 Oct 2026 20:21:38 +0800 Subject: [PATCH] chore(release): v3.21.2 Co-authored-by: Codex --- .../runtime/plugin-api-deprecations.json | 8 +++--- release/notes.md | 25 ++++++++++--------- release/version.yaml | 2 +- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/backend/crates/gateway-plugin/runtime/plugin-api-deprecations.json b/backend/crates/gateway-plugin/runtime/plugin-api-deprecations.json index 92767a706..8396297f9 100644 --- a/backend/crates/gateway-plugin/runtime/plugin-api-deprecations.json +++ b/backend/crates/gateway-plugin/runtime/plugin-api-deprecations.json @@ -4,8 +4,8 @@ "version": 3, "replacement_version": 4, "introduced_in": "3.20.0", - "last_counted_in": "3.21.1", - "remaining_releases": 5, + "last_counted_in": "3.21.2", + "remaining_releases": 4, "migration": "将执行设置和来源中的 disable_fast 改为 fast_mode,使用 default、enabled、disabled 三态,并将 middleware 声明升级到 v4" }, { @@ -13,8 +13,8 @@ "version": 1, "replacement_version": 2, "introduced_in": "3.20.0", - "last_counted_in": "3.21.1", - "remaining_releases": 5, + "last_counted_in": "3.21.2", + "remaining_releases": 4, "migration": "使用新版 SDK 读取 fast_mode 三态,并将 upstream_adapter 声明升级到 v2" } ] diff --git a/release/notes.md b/release/notes.md index 22f65b093..a3b82ee5a 100644 --- a/release/notes.md +++ b/release/notes.md @@ -1,18 +1,19 @@ -# v3.21.1 - -## 新增 - -- OpenAI 账号亲和新增“优先”模式:会话内请求优先使用主账号,繁忙或不可用时临时分流,保留原绑定,后续请求继续优先主账号 +# v3.21.2 ## 修复与改进 -- OpenAI 首字计时采用首个非前导输出事件,包含输出项等结构事件,跳过响应创建、处理中、心跳、额度控制和失败事件;保留请求级计时起点,推理与正文仍分别按实际内容计时 -- 用量列表与性能统计的 tok/s 统一按输出 Token 除以完整请求耗时计算,避免扣除首字等待后高估速率;输出 Token 保持上游口径,已包含的推理 Token 不重复相加或扣除 -- 管理页面首次进入时只读取登录状态,页面活动不再触发续期;业务接口返回认证错误时共用一次续期,迟到的失败请求也等待当前续期完成后再重试 -- 宽松亲和改为直接按调度策略选号,不优先会话主账号;严格模式继续让同一会话共用账号,子请求等待当前账号 +- 修复 OpenAI 严格亲和下,子线程或独立记忆整理任务因会话尚未绑定账号而等待超时的问题:任何有可靠会话身份的请求均可按调度策略原子首绑,并发首请求最终共用同一绑定;已有绑定的子线程仍跟随当前账号,迁移权限保持不变 +- xAI 模型目录对齐当前 CLI proxy 的模型、推理档位及上下文窗口字段;推理档位按请求保留,不再根据旧模型名称降档或删除,缺失能力与默认值保持未知 +- 修复 xAI 托管搜索工具与客户端函数同名时的调用及跨轮重放映射,支持 `web_search.filters.excluded_domains`,校验允许与排除域名列表不能同时非空 +- xAI 额度判断采用当前账单字段,保留预付余额的原始符号,不再凭过期快照或旧字段恢复账号;上游报告零费用时视为费用未提供,只有具备完整计价依据时才使用本地估算 +- 修复备份取消或失败时的导出进程、分片上传与暂存文件清理,恢复已完成上传的任务后及时清理本地归档,并记录清理失败 +- 修复服务关闭时请求排空与后台写入的先后顺序,以及 WebSocket 关闭握手可能被未完成写入阻塞的问题 +- 修复 Key 预算重置后,应用与数据库时钟差异可能使未开启窗口被误判为活跃窗口的问题 +- 账号状态读取改为有界分批并复用查询结果,避免账号池规模直接形成 Redis 并发峰值;完善 OpenAI 重置卡消费的账号锁回收,保持取消后的同账号串行约束 ## 升级事项 -- 从正式版 v3.21.0 升级时自动应用 `0024_preferred_account_affinity.sql`;已有保存的亲和选项保持不变,新实例及尚未保存运行设置的初始记录采用严格模式 -- 需要“优先主账号、必要时分流”的实例,请在设置中选择“优先”;自行调用管理 API 的客户端应支持 `openaiAccountAffinity` 的新增值 `preferred` -- 历史用量的 tok/s 会按新口径重新计算;已记录的首字时间保持原值,新首字判定仅对升级后的请求生效 +- 从 v3.21.1 升级无需新增数据库迁移或调整亲和配置;严格亲和不再要求根线程必须先发请求才能建立会话绑定 +- xAI 请求保留路由选定的完整模型名,不再自动解释 `grok`、`grok-latest` 等旧别名或剥离模型前缀;依赖这些名称的配置应使用显式模型映射 +- xAI 搜索域名白名单应放在 `web_search.filters.allowed_domains`,旧顶层 `allowed_domains` 返回请求错误;推理档位未知或类型错误时也会明确返回字段错误 +- 内建 xAI 适配器对 `generate=false` 预热返回 `400 unsupported_prewarm`,避免误发生成请求;客户端应跳过该预热并继续正式请求 diff --git a/release/version.yaml b/release/version.yaml index 8e507c446..0662b807d 100644 --- a/release/version.yaml +++ b/release/version.yaml @@ -1 +1 @@ -version: "3.21.1" +version: "3.21.2"