Skip to content

codeg v0.34.0-fix2

Choose a tag to compare

@github-actions github-actions released this 10 Oct 10:57
· 579 commits to main since this release

CodeG v0.34.0-fix2

修复进入、刷新或重新连接会话时缺少近期消息的问题,同时保留大会话快速分页。
本版本基于上游正式 v0.34.0(592131c72e2a05478e7f8398a91cb653c8e3996f),
将原 v0.30.7-fix1 及补发 Setup 的定制提交逐项迁移到该基线。

fix1 的应用构建和首次 Windows 安装/启动验证通过,但发布前的草稿回下载检查被
GitHub Release API 的草稿查询与权限规则阻止,因此没有正式发布。fix2 使用
gh release view 查询草稿或正式版,并为草稿验证 job 提供 push 所需的 contents 权限;
已有草稿通过分页列表正确复用。保留 fix1 标签,不移动或复用失败标签,也不跳过
发布前的下载、安装和启动验证。应用功能代码与性能读取路径没有因此改变。

近期消息与跨端恢复

  • 完成通知后的刷新不再复用旧代次的在途详情请求。相同代次仍合并请求;缓存失效后,
    旧请求可以完成自己的消费者,但不能服务新刷新或重新填回过期的 30 秒缓存。
  • 曾发送过消息的客户端在空闲后也能补偿读取其他客户端产生的内容。未落盘的本地回复
    继续保留;只有匹配持久化轮次身份并覆盖已显示内容后,才能收敛到服务端历史。
  • 旧的完整尾页和有界读取的不完整页不能被当作最新内容立即收敛。恢复继续使用代次、
    single-flight 和有限退避,活动任务、取消及断线保护保持有效。
  • Codex 尾部扫描上限落在巨型 JSONL 记录中间时,保留已经找到的后续完整消息,
    不再错误返回空最新页;前端明确显示历史页不完整。
  • 常规最新页仍读取最近约 25 轮。按 1 MiB 分片从尾部扫描,找到轮次立即停止,
    扫描硬上限 64 MiB;选中的页面另读一次,解析量同样受限。没有数 GB 首次全量解析。
  • 索引升级为 v3,不完整边界不缓存或持久化;旧 v2 索引按需重建。追加、替换、缺失、
    损坏与落后水位的补偿机制保留;不会修改原 rollout 或删除数据库、用户会话。

上游与定制能力

  • 继承 v0.30.7 至 v0.34.0 的正式改动,包括会话画布、原生 Codex 分支、后台终端、
    引导、消息队列、标签、目标、浏览器和 computer-use 的相关协议与界面能力。
  • 保留原会话保护、native fork 与分支合并/回退、慢分支持久化任务和幂等键、
    产物登记与按需历史加载、Web citation 桥接、扁平工作区、Full Access 权限映射、
    MCP deliverables/feedback/ask/sessions 与按模型参数隔离。
  • 按正式基线使用 codex-acp 2.1.1,不为追逐当前 2.2.2 而强制升级适配器。
    新版 AIR 使用原生本轮 diff;其辅助报告解析和通知在 prompt 清理后异步进行,
    捕获原 turn/request/workspace,保留合理降级,不能影响下一轮状态。
  • 官方模型目录和运行时有效上下文机制继承上游;现有用户模型、认证和启动链配置
    不由发布包覆盖。没有在本任务中改动用户的 Windows 管理脚本或生产服务。

验证与性能

验证包括近期消息竞态、跨端补偿、本地 final 保护、partial 页、取消、断线与代次隔离;
正式 npm 包提取方法的 AIR 协议测试;2 GB、3.5 GB 稀疏会话和巨型记录的精确尾部顺序、
扫描量、缓存/索引重开、损坏恢复及读取耗时。

本次功能代码的本地完整回归(fix1 构建候选,fix2 仅改版本和发布验证流程):584 个文件、8,609 项测试通过,没有未处理异常;TypeScript、ESLint、
生产静态导出和 browser-agent source/type 检查通过。AIR 协议回归 31 项、NSIS payload
回归 6 项通过。Rust 的 all-targets/test-utils 与 Server/MCP 生产模式 cargo check、
cargo clippy(-D warnings)通过。Rust 完整单元与集成回归 26 个套件、5,042 项通过、
0 失败;2 项原有手动测试需要作者的本地真实会话语料,保持 ignored,没有新增跳过。
匹配版本的 debug Server/MCP 与静态页面在独立数据目录、随机 loopback 端口启动成功,
健康检查、版本和页面验证均通过,实测启动约 791 ms。Windows 正式发布包另由 Release CI
按相同隔离原则实际执行核验。

隔离 Ubuntu aarch64、debug 构建实测(同时存在其他编译负载;合成稀疏文件,35 轮
真实 JSONL,严格核对最新 25 轮的顺序):

文件大小 首次页 实际读取 其中边界扫描 缓存重开 索引重开 峰值 RSS
2,017,935,755 B 3,474 ms 26,442,763 B 13,631,488 B 5 ms 1,052 ms 108,880 KiB
3,517,935,755 B 3,162 ms 26,442,763 B 13,631,488 B 5 ms 672 ms 109,488 KiB

索引重开扫描量为 0,读取页面 12,811,275 B;响应 JSON 约 12.8 MB,gzip 约 17.7 KB。
20 MiB 巨型记录样本首次页 904 ms、扫描 20,977,304 B、峰值 99,992 KiB。
65 MiB 巨型记录样本连续两次返回 partial,分别为 1,840/2,044 ms,每次边界扫描
67,108,864 B、总读取 67,108,996 B、峰值 101,668 KiB,均保留其后的完整消息,
没有缓存或持久化不完整边界。追加/重启及损坏索引恢复独立回归分别耗时约 0.02/0.07 s。
这些数值不是 Windows 生产会话的性能承诺,也不能把扫描上限当作所有 I/O 的总上限。

普通 CI 必须针对同一发布 commit 全部成功,再创建版本 tag。Windows 构建会验证
Server/MCP 版本、独立数据目录与随机端口启动、前端资源及 Setup 的安装后完整 payload;
四项资产在正式发布前和发布后各重新下载、校验、解压/安装及启动验证。

发布资产与限制

  • Windows x64 Setup 与独立 SHA256;Windows x64 Server ZIP 与独立 SHA256。
  • ZIP 包含匹配版本的 codeg-server、codeg-mcp、computer helper 和前端静态资源。
    SeaORM 迁移已编译在 Server 中,无需额外迁移命令或私有配置。
  • Fork 的安装包未签名,使用手动安装;不发布 Linux、macOS、arm64 或 Docker 资产。
  • 性能测试为隔离合成数据,不是生产会话 85/104 的重放;Windows 生产数据未被访问。
  • 超过有界预算且未完成索引的记录仍可使历史页 partial;不会把它标成完整。
    后台增量索引及按需加载继续补偿,无法承诺一次读取任意大小的单条记录。
  • 未经验证的适配器版本不套用兼容补丁;进程退出前尚未送达的 AIR 仍依赖既有
    watcher/声明产物降级,不会自动重做模型审计。

Warning

This fork release is built without the upstream signing and notarization credentials. Desktop installers and server archives are unsigned; server archives include SHA-256 checksums. Use manual installation instead of the signed automatic updater.