diff --git a/release/notes.md b/release/notes.md index 7157f9699..351313482 100644 --- a/release/notes.md +++ b/release/notes.md @@ -1,17 +1,21 @@ -# v3.26.2 +# v3.27.0 + +## 新功能 + +- 隐私规则支持按顺序组合多个处理步骤,共享开关与失败回滚边界;工作区和 Desktop 信息预设统一为可编辑的通用规则,支持步骤增删、拖动排序和预览 +- 出站代理支持独立启停,停用时保留连接配置和账号绑定,后续请求改为直连,重新启用后恢复代理出口;删除代理时自动解除账号绑定 +- 管理端较大的普通 JSON 响应支持 gzip 压缩,减少列表和详情数据的传输量 ## 修复与改进 -- 修复 OpenAI `turn_rate_limit_exceeded` 被错误扩大为账号冷却的问题,保留原始错误和 `Retry-After`,由客户端按自身重试预算处理,避免后续请求在本地被挡成 `no_available_provider` -- OpenAI 明确返回 `503 + error.code=server_error` 时,在既有安全重放边界内进行有界重试,已交付正文或工具活动后不重放 -- 修复 OpenAI 流式失败和 WebSocket 复用时重复写回旧 Cookie 的问题,并区分凭据版本冲突与存储故障 -- OpenAI 账号预热改用模型目录支持的推理强度,避免因不支持的 `none` 导致预热失败 -- 管理员登录分离访问凭据与续期凭据,访问凭据到期后可自动恢复;续期轮换支持短窗口内的并发与重试,并识别超出重试窗口的旧续期凭据重用 -- 请求转储保留期支持正小数天数,例如 `0.5` 为 12 小时、`0.25` 为 6 小时,按已关闭分片的最后写入时间清理 -- Windows 离线安装包优先解析 Microsoft Store,最多等待 30 秒后按架构回退到 OpenAI 官方包;修正包大小并按实际来源展示下载说明 -- 账号批量编辑默认关闭调度,保存时始终应用界面显示的调度开关值;修复侧边栏键盘焦点环被裁切的问题 +- OpenAI 普通 `503 + error.code=server_error` 在同账号额外重试最多 5 次,耗尽后返回最后一次上游错误;明确容量拒绝仍可在额外重试最多 3 次后按既有规则换号,有效 `Retry-After` 优先 +- 同一 Client Key、线程和轮次发生上述“不换号”策略的终态失败后,5 分钟内的同轮次请求跳过该策略的退避重试,避免客户端重试反复消耗同一预算 +- 插件中间件等待宿主 `next` 时释放执行名额,返回后继续原调用,减少下游慢请求占满插件执行容量的情况;达到容量或等待上限时返回明确的 503 错误 +- 修复首次打开管理端、会话恢复失败时出现空白页的问题,改为显示登录页 +- 更新 rustls 及相关依赖,修复已知安全漏洞 ## 升级说明 -- 已有单凭据登录会话保留到原期限,重新登录后获得新的自动续期能力 -- `host.logging.request_dump_retention_days` 的默认值仍为 `1`,含义改为最近 24 小时;清理按分片进行,实际保存时间受最后写入时间和下次清理时机影响 +- 从 `v3.26.2` 升级时自动执行合并后的 `0031` 迁移:已有代理默认启用,旧隐私规则逐条转换为单步骤规则,保留开关、顺序和其他设置 +- 已通过源码部署执行原 `0031_outbound_proxy_enabled.sql` 或 `0032_privacy_rule_steps.sql` 的数据库与本次合并后的迁移历史不兼容,不能直接升级;请保留备份并先规划数据迁移,不要修改 `_sqlx_migrations` 的 checksum 绕过校验 +- 已安装插件的容量仍受其 SDK 配置约束;使用较小上限或未区分 `next` 回调预算的插件,需要由作者调整并重新构建 diff --git a/release/version.yaml b/release/version.yaml index 5e59f713f..addd5374d 100644 --- a/release/version.yaml +++ b/release/version.yaml @@ -1 +1 @@ -version: "3.26.2" +version: "3.27.0"