From 0fc25bfce9335589939beb3f53178ab3c8fbf6e5 Mon Sep 17 00:00:00 2001 From: Zyy Date: Tue, 13 Oct 2026 22:32:21 +0800 Subject: [PATCH] chore(release): v3.26.0 Co-authored-by: Codex --- release/notes.md | 30 +++++++++++++++++------------- release/version.yaml | 2 +- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/release/notes.md b/release/notes.md index 8c447271e..85cd944ed 100644 --- a/release/notes.md +++ b/release/notes.md @@ -1,21 +1,25 @@ -# v3.25.0 +# v3.26.0 -## 新增能力 +## 新增与调整 -- 支持 OpenAI `ultrafast` 与 `long_ultrafast` 价格档位,内置 `gpt-6-astra` 和 `gpt-6.1-sol` 的短、长上下文 Ultrafast 价目,并可在管理端自定义单价 +- 移除「最小请求间隔」及其前后端、调度、数据库和插件设置字段;同一账号不再因上次请求开始时间而等待,并发、排队、额度与冷却限制继续生效 +- 使用记录的首字耗时和总耗时按固定阈值分档着色,便于识别慢请求,不改变请求成功或失败状态 +- 管理端请求和后端观测操作的默认保护时限调整为 120 秒,分别支持前端构建变量 `VITE_API_TIMEOUT_MS` 与部署配置 `store.pool.observability_timeout_seconds`;模型请求期限仍独立控制 ## 修复与改进 -- Responses 流式请求完成准入后,首个业务事件前的等待也每 15 秒发送 SSE 注释保活,覆盖账号等待、中间件处理和前导事件缓冲;心跳保持原有安全重试资格,后续重试可正常记录执行尝试 -- 收紧 OpenAI 自动重试范围,普通上游拒绝保留错误与重试提示,交由客户端处理;明确未发送的瞬时建连失败支持有界恢复,包括 TLS 握手 EOF -- 已知模型只路由到明确提供该模型的 Provider,目录刷新失败时保留已有模型归属;未知模型仅在透传候选唯一时发送,Grok 请求不再选择 ChatGPT OAuth 账号 -- 修复繁忙 OpenAI 账号因额度观测时刻更新而反复选号冲突的问题;凭据、调度状态和额度结论变化仍重新校验 -- 修复持续请求写入时统计投影反复回滚、待处理队列积压的问题,投影提交后再确认对应源版本,保留并发更新供后续处理 -- 请求健康可用性与服务成功率统一计入未完成请求,仍排除客户端取消和调用方错误;健康时间线在有效样本不少于 10 个且可用性不低于 95% 时显示稳定,浮层将未完成并入服务失败展示 -- 插件中间件等待宿主 `next` 时暂停自身处理预算,返回后恢复剩余时间;请求总期限与取消继续独立生效,避免下游处理较慢时误触发插件超时 +- 优化大规模请求历史下的统计、账号与 Key 用量、精确分页和额度预测,复用数据库聚合与时间分段查询,移除固定十万行拒绝条件;保留精确总数、金额及未知值语义,并及时修正尚未投影的修改和删除 +- 修复同一额度窗口内上游额度使用比例回落时预测累计量被错误重置的问题,保留已确认的历史用量 +- 管理端导入 OpenAI 多账号 JSON 文件时逐账号处理、分别记录结果,自动按条目数和请求体大小分批;单个账号失败不再影响整份文件,已知过期且没有刷新令牌的账号会明确拒绝导入 +- 优化 Codex 隐私规则对长请求的处理,减少重复复制、序列化和上下文遍历;取消固定 100 毫秒墙钟限制,保留大小、执行步数与请求取消检查,以及规则失败时的回滚语义 +- 保留租约丢失、续期超时、升级会话结束和备份清理的真实失败原因;S3 连接测试在探针删除失败时报告失败,文件交换回滚失败时保留主错误及恢复路径 +- 调整隐私策略文案与规则弹窗按钮,优化模型价格表的行高及单位提示 +- 更新 `quinn-proto`,修复相关依赖安全问题 ## 升级事项 -- SSE 首次心跳前保留最终 HTTP 状态与响应头;心跳发出后发生的失败通过 `response.failed` 和 `[DONE]` 返回,HTTP 状态保持 `200`,`Retry-After` 位于 `response.error.headers`,后续响应头无法补发。心跳只覆盖客户端到 CPR 的链路,不延长账号出站代理的读取期限 -- 使用旧 SDK 构建的中间件插件需升级 SDK 并重新构建,才能配合宿主暂停 `next` 等待期间的预算;单独升级宿主不能解除插件侧的固定期限 -- 多 Provider 配置下,无法确定归属的未知模型不再按 Provider 名称顺序猜选平台;需要透传时,可通过 Client Key 分组限定目标平台 +- 新增 `0030_analytics_and_scheduling.sql`,创建统计索引、安排时间桶重建并删除请求间隔字段;保留已有统计事实和已完成的历史投影进度。升级前备份数据库,大数据量下索引创建会增加启动时间、磁盘占用与 I/O,迁移完成后服务才开始监听 +- 已发布的 `0001–0029` 迁移保持不变,可从 `v3.25.0` 正常升级。若源码部署已执行本轮 `main` 中合并前的 `0030–0032`,不能直接沿用该迁移历史升级,需单独处理开发库数据;不要修改 `_sqlx_migrations` 的校验值绕过检查 +- 管理 API 和插件设置不再提供 `requestIntervalMs`/`request_interval_ms`,依赖该字段的自定义调用方需同步调整 +- 使用记录搜索仅按密钥、账号和模型做前缀匹配,密钥与账号名称使用历史快照;请求 ID 和上游 ID 改用对应精确筛选参数。搜索不再改变顶部统计范围,汇总、洞察和诊断不接受搜索参数,管理观测接口不再接受路由分组筛选 +- 分组费用按当前组成员的请求费用汇总,调整成员关系后,留存窗口内的费用随当前成员重新计算 diff --git a/release/version.yaml b/release/version.yaml index 7ff7e78da..109ea14ba 100644 --- a/release/version.yaml +++ b/release/version.yaml @@ -1 +1 @@ -version: "3.25.0" +version: "3.26.0"