diff --git a/release/notes.md b/release/notes.md index acb79c7c8..ab226085e 100644 --- a/release/notes.md +++ b/release/notes.md @@ -1,23 +1,38 @@ -# v3.38.0 +# v3.38.1 -## CPR 互联 +## 模型调度修复 + +- 统一 OpenAI OAuth、API Key 上游和 xAI 的原生 Responses 账号资格:同时检查有效模型目录与账号模型禁用、黑白名单,权重、会话亲和及固定账号不能绕过;通过 API Key 接入的 CPR 互联账号同样适用 +- 有效目录未收录请求模型时排除该账号,避免借用其他账号或套餐的模型资格;OAuth、xAI 按已知套餐匹配,API Key 按账号与凭据版本隔离 +- 未知套餐或没有有效目录时仍交由上游验证,同时保留账号模型限制;复用现有目录缓存,不增加选号路径的上游目录请求或 Redis 往返 + +## 升级事项 + +- 从 v3.38.0 升级不新增数据库迁移 +- 有有效目录时,未收录的模型不会参与原生 Responses 调度;使用自定义模型的上游需确保模型目录包含对应 ID + +--- + +## v3.38.0 更新记录 + +### CPR 互联 - 升级至 CPR Link v2,预算、账号池、额度及模型能力可独立提供;预算改用命名窗口,支持日、周以外的周期,缺失观测保持未知 - 持久化互联识别结果,避免重启后反复探测已确认不支持互联的连接;网络错误和临时失败仍按退避规则重试 - 手动刷新等待上游查询完成,并允许重新探测此前不支持互联的连接;不支持协议作为正常识别结果展示,减少重复告警 -## 模型调度与性能 +### 模型调度与性能 - 原生 ChatGPT OAuth Responses 按有效套餐目录筛选已知模型,减少混合套餐账号池把模型分配给不支持它的账号;未知套餐、缺失或过期目录及未收录模型仍交由上游验证 - 上游明确拒绝某个账号使用模型后,对该账号与模型组合冷却 30 分钟,其他模型仍可使用该账号;冷却按凭据版本隔离,原生续写继续遵守固定账号约束 - 租约运行态改为每批最多 128 个账号读取,3,000 账号的一次完整读取由 3,000 次 Lua 调用降至 24 次,降低大账号池调度开销,并保留容量池隔离和过期清理语义 -## 请求隔离与稳定性 +### 请求隔离与稳定性 - 出站移除下游的 `sentry-trace`、`baggage` 及 WebSocket metadata 中对应副本,避免透传客户端遥测关联信息 - 正常并发导致的响应 Cookie 凭据版本冲突降为调试日志,迟到响应继续跳过写入,避免覆盖较新的凭据 -## 升级事项 +### 升级事项 - **CPR Link v2 不兼容 v1 快照**:互联两端需支持 v2,CPR 节点请协调升级至本版;升级完成后,在下游手动刷新互联账号以重新识别 - 第三方互联实现需适配 `schema_version: 2`、可选能力块及 `usage.data.windows` 等新字段,详见 [CPR 互联 API](https://github.com/zyycn/codex-proxy-rs/blob/v3.38.0/docs/api.md#cpr-互联只读协议) diff --git a/release/version.yaml b/release/version.yaml index d400118bb..a79337e05 100644 --- a/release/version.yaml +++ b/release/version.yaml @@ -1 +1 @@ -version: "3.38.0" +version: "3.38.1"