diff --git a/release/notes.md b/release/notes.md index e12a26d9b..a89695acf 100644 --- a/release/notes.md +++ b/release/notes.md @@ -1,13 +1,30 @@ -# v3.35.1 +# v3.36.0 -## 连接稳定性 +## OpenAI 与 Codex 兼容 -- 修复 Responses WebSocket 慢速上传大消息时被心跳误判为失联的问题,探活包含实际收包进度,避免 Codex 在上传期间断开并反复重连;停传且不响应心跳的连接仍会超时回收 -- OpenAI 会话亲和存储操作的等待预算由 100 毫秒调整为 500 毫秒,减少短暂存储或调度抖动导致的会话绑定失败 +- 恢复 OpenAI Responses 上游 WebSocket 每 25 秒发送 Ping 保活,不因等待 Pong 超时主动断开;心跳与业务空闲超时、客户端取消和连接池回收分别处理 +- 修复大消息转用 HTTP/SSE 后,中断请求导致正常响应被取消的问题:没有上游控制通道时返回 `response.interrupt.failed`,继续交付真实响应与终态,保留客户端后续续接和恢复路径 +- 适配更大的 Codex 模型目录,移除单次目录响应的 1 MiB 限制,原生目录缓存仍保留 32 MiB 总预算 +- Guardian 审查请求可在同一 Client Key、同一 OAuth 账号内复用父响应的 WebSocket 路由 Cookie,尽力保持上游路由亲和;Cookie 保留原有效期且不传给客户端 +- 模型目录 ETag 刷新失败后使用后台任务退避,避免立即重复请求上游,并保留失败原因与恢复状态 -## 错误处理 +## 用量查询性能 -- 客户端版本门禁拒绝改为返回 `400 Bad Request`,保留 `client_version_too_old` 和 `client_version_unavailable` 错误码,避免版本不符合要求时触发无效重试 -- 隐私规则拒绝请求时返回明确的 `privacy_policy_rejected` 错误;修正 xAI 流式响应中的错误类型识别,避免将事件类型用于上游错误分类 -- 统一管理接口的中文错误提示与模型 API 的英文错误提示,细化 API Key 参数校验及每日、每周费用限制的说明 -- 系统更新与语音连接失败区分客户端提示和内部诊断,减少底层连接细节外露;系统更新失败保留原因链并记录运维诊断,便于排查 +- 用量页按请求健康、响应性能、成本效率和热点诊断分别加载,性能与成本只查询当前选中的指标;各卡片独立显示加载和错误状态,慢查询不再阻塞其他卡片 +- 仅负载指标计算请求并发,Key 用量与 Dashboard 趋势跳过不使用的并发查询;新增分项管理接口,保留完整 `overview` 接口 + +## 管理端 + +- 批量编辑账号的调度状态改为「保留 / 启用 / 停用」,默认保留每个账号原值,避免修改模型限制、权重等字段时意外停用账号 +- 设置保存被管理 API 明确以 4xx 拒绝时保留未保存草稿,修正后可继续保存;网络错误及结果不确定的失败仍回读服务端状态 +- 模型目录显示最近成功获取时间,并补充目录列出模型与实际端点能力的区别说明 +- 统一帮助图标和账号备注展示,调整账号弹窗的备注与上游标签,改善窄屏下的设置导航 + +## 备份可靠性 + +- 计划备份保留清理支持分页扫描,修复超过 1000 条记录时更旧备份无法按份数或天数清理的问题,继续保护最近一份成功的计划备份 +- 备份存储连接测试在读取探针响应正文失败时仍尝试清理探针对象,并返回准确的失败阶段 + +## 升级事项 + +- 移除 Grok 客户端经 Codex/OAuth 上游请求时的专属头部过滤和提示词开场白改写,相关扩展头和正文按通用规则处理;依赖这些改写的客户端需自行调整请求 diff --git a/release/version.yaml b/release/version.yaml index 936f65820..c92cdeb44 100644 --- a/release/version.yaml +++ b/release/version.yaml @@ -1 +1 @@ -version: "3.35.1" +version: "3.36.0"