diff --git a/release/notes.md b/release/notes.md index fd526c566..29de7000e 100644 --- a/release/notes.md +++ b/release/notes.md @@ -1,90 +1,15 @@ -# v3.29.5 +# v3.29.6 ## 修复与调整 -- 修复大历史数据量下,统计极值重建反复超时、使用统计与请求健康时间线停止更新的问题;按统计桶限定查询时间范围,避免每轮扫描整张事实表 -- OpenAI Responses 首字延迟改为从首个非空响应载荷记录,覆盖 HTTP SSE 与 WebSocket,不再等待输出项开始事件;首推理与首正文仍按实际内容计时 -- 缓解 Codex OAuth 旧会话携带搜索历史却缺少工具声明时的一类上游 500 错误,覆盖普通请求与 Lite 压缩;保留原历史项,对已有声明、API Key 上游及原生续接保持原处理 -- 更新 GitHub Actions 依赖,修正官方 Dependabot 工作流依赖更新被规则保护误拦截的问题 +- 修复 OpenAI 池化 WebSocket 慢建连被误计为熔断失败的问题;超过 800 毫秒时当前请求仍回退 HTTP/SSE,后台按实际建连结果更新熔断状态,避免连续慢成功或半开探测触发错误熔断 +- 改进明确未发送请求的瞬时 HTTP 连接失败恢复:先在原账号重试,允许换号时为后续账号保留时间和连接次数;原账号再次建连失败时尝试其他账号,无可选账号时使用原账号的剩余预算,所有尝试仍共用最多 4 次建连、30 秒窗口 +- 修复插件上游适配器持续接收数据的流在初始 RPC 预算耗尽后被截断的问题;初始流式回复后按模型请求期限、取消与单次读取预算管理流的寿命 +- 管理端 S3/R2 备份改为流式压缩的业务归档,保留账号、Key、设置、插件、已用额度和已发布用量汇总,减少请求历史带来的备份体积与暂存空间占用;备份记录页补充范围说明 +- 加快历史清理,每轮有界清理结束后一分钟继续检查;优先清理最旧记录并跳过被锁定的行,为单批清理设置锁等待与执行期限 ## 升级说明 -- OpenAI 首字延迟的统计口径发生变化,新旧版本的数值不宜直接比较;HTTP SSE 的空载荷与 `[DONE]` 不计入首字 -- 搜索历史兼容补偿禁用外网搜索;无工具请求补偿后禁止调用工具,已有工具请求保留原选择策略,新增声明可能允许模型使用缓存搜索 - -# v3.29.4 - -## 修复与调整 - -- 修复缩短历史保留天数后,请求健康时间线和使用统计可能长时间不更新的问题;历史清理与新请求统计交错推进,优化批量统计处理,并在超时后自动缩小批量,避免反复重试同一批数据 -- 代理单条连接测试同步刷新出口地区;连接失败、地区识别失败或 IPv4 与 IPv6 出口时区冲突时显示对应状态,不再继续展示旧地区,自定义位置单独标注 -- 统一管理端失败反馈,减少重复错误提示;简化账号并发明细弹窗并保留自动刷新,密钥用量请求列表滚动条改为自动隐藏 -- 更新前后端依赖,修正前端依赖检查目录与构建检查兼容性 - -# v3.29.3 - -## 修复与调整 - -- 修复 OpenAI 账号套餐额度耗尽后仍有可用点数却无法参与调度的问题;上游明确点数可用且无支出或工作区限制时,可保持或恢复账号可用,失败后的后台回读也支持恢复,本次失败请求不会自动重发 -- 改进 OpenAI 额度重置后的恢复:本次耗尽后记录的窗口重置时间全部到期,且新查询明确允许使用时,可在展示用量仍为 100% 时恢复;耗尽账号在重置后等待 10 秒传播余量再由后台复核,前 5 分钟最小查询间隔为 30 秒,之后为 5 分钟,实际恢复时间仍受后台扫描与上游响应影响 -- PostgreSQL 与 Redis 密码统一支持 16–128 字节,拒绝全空白和控制字符,兼容托管服务的密码策略;修复密码中的 `%41`、`%25` 等字面量百分号序列被错误解码、导致认证失败的问题 -- OpenAI Responses WebSocket 转发保留 `response.create` 的原始字段顺序,并对齐 OAuth 授权请求的参数顺序 -- WebSocket 握手不再默认请求专项计时,保留客户端显式设置;使用统计保留 API 开销与引擎耗时,移除四个细分引擎 TTFT 和 Token 间隔指标,请求速率计算口径不变 - -## 升级说明 - -- 使用统计、密钥用量 API 与插件观测合同不再提供四个细分耗时字段:`upstreamEngineIapiTtftMs`、`upstreamEngineServiceTtftMs`、`upstreamEngineIapiTbtMs`、`upstreamEngineServiceTbtMs`;插件 SDK 中对应的蛇形命名字段同步移除,依赖这些字段的自定义调用方和插件需适配 -- 数据库与 Redis 的现有 48 位十六进制密码继续有效;配置与环境变量应填写原始密码,不要预先进行 URL 编码,密码仍须符合服务端策略 - -# v3.29.2 - -## 修复与调整 - -- 修复仪表盘昨日对比不完整的问题,按部署时区独立读取昨日统计;今日没有请求或缓存命中率不可用时隐藏对应趋势箭头,并明确标注“较昨日” -- 统一使用统计与密钥用量的请求表格及成功、错误、全部筛选;密钥用量按请求最终结果展示,每次请求保留一条记录,错误与未完成请求保留已采集的 Token 和费用 -- 使用统计的错误列表直接展示最终错误摘要,错误详情使用独立弹窗,集中展示请求上下文、错误定位、尝试链路和诊断数据;调整普通请求详情布局 -- 账号并发明细改为固定高度滚动展示,移除分页操作;修复分页加载失败后的页码恢复,以及切换账号或查询条件时的异步状态问题 -- 插件管理页续期会话时保留当前页面,重载或关闭时取消相关请求并释放资源;认证状态切换期间禁用退出操作 -- 修正主题预览数据与验证状态文案,统一输入提示 -- 发布流程在质量检查与镜像验证通过后公开版本,并防止较旧版本覆盖最新稳定版入口 - -## 升级说明 - -- `/api/key-usage/records` 新增 `kind=all`;`kind=error` 按最终请求结果返回失败和未完成请求,`status` 可返回 `success`、`error`、`incomplete`、`cancelled`、`running` 或 `unknown`,自定义调用方需适配 -- 源码构建工具链更新为 Node.js 26.12.0 和 Rust 1.99.1 - -# v3.29.1 - -## 修复与调整 - -- 账号并发明细使用与列表一致的账号标识,OAuth 账号优先显示邮箱,API Key 账号显示自定义名称,缺少邮箱时回退到账号 ID -- 代理批量测试期间禁用行内测试按钮,加载状态由批量测试按钮显示;单独测试某一行时保留加载反馈,批量测试结束后恢复行内按钮 -- 重置卡自动使用的提前时间入口改用文本按钮,悬停显示背景,不再显示下划线 -- 使用统计默认日期范围调整为今天 - -# v3.29.0 - -## 新增与改进 - -- 账号支持自动使用即将到期的主动额度重置卡,按账号开启,默认关闭;全局可设置提前时间及剩余周额度上限,未决操作在重启后沿用原幂等键继续确认 -- 点击账号并发数量可查看当前占用请求的密钥、模型、来源 IP、开始时间和占用时长,支持分页与自动刷新 -- 代理管理支持批量添加、添加后测试和跨页选中测试,逐项展示处理结果及出口地区;请求位置设置支持检测服务器直连出口并填入草稿 -- 每条代理可设置 OpenAI Responses 上游 WS 连接上限,关联账号共享预算;满额时优先回收普通空闲连接,无可回收连接时等待容量,在途及绑定下游 WS 的连接不参与容量淘汰 -- 使用统计支持在最近 31 天内选择日期范围,默认展示最近 7 天;优化健康时间线浮层、表格状态展示和密钥用量页布局 -- 插件请求回调支持统一的入口请求上下文,公开服务提供重置卡自动化控制;优化 RPC 编解码、配置校验和实例准备,能力响应解码失败仅影响当前调用 - -## 修复与调整 - -- `/v1/images/edits` 支持 multipart 图片上传,转换为原生 Images JSON;保留图片原始字节和请求参数,已有 JSON 请求与响应继续原样转发 -- 独立 Search 选号遵守账号模型白名单与黑名单;请求模型缺失、重复或无法识别时仅使用模型政策为 `all` 的账号 -- 修复 OpenAI 与 xAI 在同次请求换号耗尽时丢失原始上游错误的问题;OpenAI 后续请求因会话策略无可选账号时给出明确提示,xAI 按失败分类尝试允许的备用 Provider -- 修复重复运行安装脚本改写应用私有文件所有权、导致启动失败的问题 -- 更新 ZIP 依赖,修复已知安全公告涉及的问题 - -## 升级说明 - -- 从 v3.28.0 升级时启动会执行 `0033_proxy_and_reset_credits.sql`,包含代理 WS 容量与重置卡自动化设置;已发布迁移保持原样,升级前请备份数据库。源码部署若已执行本轮旧的 0033~0035 迁移,需先核对迁移历史,不能直接套用该升级路径 -- 插件 RPC 协议升级为 v4,旧插件需使用匹配的 SDK 与 CLI 重新构建、打包,不能仅修改版本字段。请求相关能力版本同步调整:`frontend_authentication` v2、`scheduler` v3、`model_router` v2、`retry_policy` v2、`middleware` v5、`upstream_adapter` v3、`observer` v2、`management` v2 -- `/api/admin/proxies/create` 与 `/api/admin/proxies/test` 改为接收 1~100 项数组,单条操作也须传数组;批次通过校验后返回 HTTP 200,调用方须读取逐项 `status` 与失败项的 `httpStatus`,不得自动重试整批 -- xAI 本地选号终态错误由 HTTP 502 调整为 503,现有错误类型与机器码保留;有原始上游失败可交付时继续保留上游结果 -- 已有代理的 WS 上限默认不限制,预算仅覆盖单个 CPR 进程的原生 OpenAI Responses WS,不协调多实例或其他流量。重置卡自动使用需手动开启,默认提前 10 分钟且不限制剩余周额度;每日发现可能错过两次发现之间发放并到期的卡片 +- 新建备份为 `.sql.gz`,使用 `gzip -dc` 解压并通过 `psql` 离线恢复到空目标库;此前生成的 PostgreSQL custom 格式归档仍使用 `pg_restore` 恢复 +- 业务备份不包含请求明细、诊断与审计日志。原生历史仅保留全局小时用量,不支持恢复历史请求详情、按 Key/账号筛选或延迟分布;需要完整历史时请另做整库备份 +- 原生用量汇总仅覆盖快照中已发布且尚未被历史清理撤销的统计;统计重建或时间桶尚未发布完成时备份会失败,需在统计就绪后重新创建 diff --git a/release/version.yaml b/release/version.yaml index 92108b69c..0c57fe02a 100644 --- a/release/version.yaml +++ b/release/version.yaml @@ -1 +1 @@ -version: "3.29.5" +version: "3.29.6"