• v0.20.0 Stable

    fourbroad released this 2026-09-27 19:27:37 +08:00 | 11 commits to main since this release

    v0.20.0 (MINOR) — 2026-09-27

    148 commits since v0.19.0 (2026-09-26). 主线:浏览器工具面深化(browser skill 声明式挂载 + P1 八工具 + 姿态宣告 + surface 标注)、share 服务 eightarms.net 域切换与部署、agent 长期记忆工具、流式幂等协议升级(#5080)、侧栏自适应与截图管理家族、满载分片下测试稳定化家族。

    Security: fast-uri 3.1.5→3.1.6(消除 4 个 high advisory,SSRF/host confusion);astro 6.4.8 critical RCE(GHSA-26w7-cxv4-gfx2)评估为当前配置不可达(cloudflare adapter imageService passthrough 不走 Sharp 管线、无 AVIF 资产),升级跟进见 #5252。

    完整策展清单见仓库 CHANGELOG.md 0.20.0 段。

    Full commit-level changelog (148 commits since v0.19.0)

    Changes since v0.19.0

    Added

    • switch share-service default domain to eightarms.net
    • thinking elapsed timer shows from first tick (1s)
    • env_posture 按需诊断工具 + env-posture 技能挂载 + tools_exclude 快照语义文档(#5120 N-03 / #5153)
    • 流式幂等协议升级——delta/part 版本序号门控替代 event-id 滑窗去重 (#5080)
    • register memory tool for agent long-term memory (DAG 5111/N-01, closes #5215)
    • 项目删除确认弹窗 + 执行接线 + 导航兜底(N-03 #5170, #5109)
    • project-group header restructure + hover action zone (N-02 #5169, #5109)
    • tools_exclude 溯源 + 未上桌工具三态指引(#5120 N-02 / #5152)
    • trigger three-name summary with widened 280px collapsed cap (contract v3)
    • cascade-delete project sessions in Project.remove
    • 工具条重构——搜索改展开/折叠按钮、排序与密度收进"..."菜单、移除目录显示
    • 思考中计时防焦虑——10s 阈值显现 + 分钟格式 + 视觉降级
    • trigger multi-select summary joins first two names with remaining-count badge
    • 截图标签页管理工具条(过滤/排序/密度/刷新/单张删除)+ DELETE /screenshots/:name 端点
    • eightarms.net share service deployment artifacts
    • support OCTOPUS_STORAGE_ENDPOINT for s3 adapter
    • 工具输出统一 surface 标注(desktop-panel | headless)
    • builder 原生默认排除 browser_* 十工具组 + browser-debug 同走 skill 声明(#5131 N-02)
    • 默认模型切至 anthropic 兼容路由 (#5139 N-03)
    • 新增 browser skill——声明 browser_* 十工具组按需挂载(SKILL.md + scaffold 孪生 + catalog/face 测试)
    • 逐请求 cache 计量账目——anthropic/openai-compat 双路由归一 cache-accounting 日志(#5137 N-01)
    • N-02 失败体能力矩阵——no-browser-surface 补读写落点(消费 posture 契约)+ headless-unavailable 附替代路径 + 3 份过时 .txt 描述对齐(#5128)
    • searchExpanded 透传 SidebarProjectFilter + strip 右簇 max-width 定值-定值过渡(N-02)
    • N-01 浏览器面首调姿态宣告——posture 事实源纯函数 + builtin 包装器一次性注入(#5127)
    • 项目筛选触发器宽度自适应(w-auto+190/120 定值切换)+ 多选计数徽标取代 A, B +1 拼接
    • 日期分组时钟与置顶 pin 徽标降饱和——实心底改 15% 淡彩底、白描线图形同色化,保留蓝/琥珀语义与 10px 几何

    Fixed

    • desktop pin overlay drops the opaque chip surface, mobile keeps it
    • correct legacy-link note in share docs (DOC-F003)
    • address review round-1 findings (tests + docs + tags)
    • 账本自 HEAD 再生修正(笔误条目随 diff 消除,-2 条/-14 行,1249 entries)
    • group header count alignment + dead hover buttons; row hover hides secondary info
    • 实例副本笔误修正 + core-rewrite 例外账本再生(pr-merge.sh 改写落 enrichment 账本,CI 门禁转绿)
    • drop non-schema note field from task bundle (local validate 748/748)
    • correct task bundle ticket attribution 5197->5206 (merge-gate presence)
    • env_posture 改用权威选择器 resolveBackend(含读/写同意闩锁)+ 消费 N-02 溯源字段 + 删除死分支 + 测试清理与快照语义补齐(#5120 N-03 r1 / #5153)
    • Log 模块测试状态统一恢复——__getStateForTests/__resetForTests seam + preload 全局快照/恢复钩子,移除逐文件 afterEach 依赖 (Fixes #4953)
    • 补 ci-run-stats.test.ts 漏更新的 fail-closed pin——错误串与 pathspec 对齐 src/ 收窄(CI check 修复,#5134)
    • 归档件 per_round 对齐 runs-bundle schema(overall_verdict/blockers/majors/minors)
    • 稳定化 compaction 两兄弟中断用例——fork+poll+interrupt 替代 300ms timeout(判别力=中断落点)、hook 等待预算负载容忍化 1s→20s/8s(FT-547 同法),满载分片调度下确定性通过 (Fixes #5185)
    • ScrollView 滚动 thumb 轨道增底端内缩参数——settings-v2 设 16px,滚到底不再贴对话框下沿,轨道上下对称尊重内容区 (Fixes #5116)
    • 稳定化 db-checkpoint close-policy 满载间歇红——step-3 SKIP 判别由 100ms 紧墙钟改为 log marker 语义断言(captureLog 有界轮询,skip 删除时确定性红),NO_STALL_BOUND_MS 保留 5s-stall 回归守卫 (Fixes #5188)
    • collapse sidebar below 768px breakpoint (Fixes #4910)
    • event-reducer message.updated/removed 行级失序守卫——binary 未命中先线性回查(Closes #5081)
    • review round-1 修订——守卫 pathspec 集中为单一常量、错误消息对齐 src 闭包语义
    • push-incremental fail-closed 守卫收窄到 src/ 闭包——script-only .ts 推送不再误判为选择器失效 #5134
    • create 校验并自动补齐 .husky/_ husky 装配 (#4996)
    • /app/ 白名单补 strip 路由根 + PublicApi drift 校验治本(Fixes #5191)
    • map Share errors to 401/404/409 JSON responses; landing page returns 404 status for missing shares
    • 展开搜索框改侧栏同款扁平裸 input——修复 TextInputV2 组件 CSS 击穿 w-32 的悬浮观感
    • 删除流上下文钩子移入组件作用域修复 owner-less 运行时 throw(review COR-F001 BLOCKER/TST-F001 #5170)
    • declare @hono/standard-validator dep (optional peer missing from build output → 500 ERR_MODULE_NOT_FOUND)
    • AwsClient signs as s3 service (was defaulting to iam → S3/MinIO 400)
    • #5127 posture 测试适配挂载语义——browser 工具驱动前 mount 模拟 skill 激活态(#5131)
    • tools_exclude 溯源 last-writer 修正 + 工具挂载指引会话级清理(#5120 N-02 r1 / #5152)
    • 分组头键盘 ContextMenu 开菜单通道 + 冗余条件清理(review A11Y-F001/COR-F001 #5169)
    • review-code r1 注记收紧——READY 预算 30s→20s,组合最坏 28s 低于最紧 harness per-test 超时(30s),消除裸杀假红风险
    • 稳定化 compaction retry-backoff abort 测试——满载分片调度延迟下固定墙钟预算(1s ready / 250ms abort)负载容忍化(30s/8s),保留 10s retry-after-ms backoff 回归判别力 (Fixes #5156)
    • 侧边栏空会话列表时面板 flex-1 撑满整列,消除上半灰/下半白的分界线
    • process-isolated-tests 计数断言漂移根治——36 硬编码改为条目数×root-cause 标签数交叉校验,计数不再是契约 (Fixes #5149)
    • 客户端保留键 route_gate 不再经 agent options 透传进上游请求体——严格 OpenAI 兼容端点(Zen/zhipuai coding-plan)400 根治 (Fixes #5172)
    • MenuV2 加入 open-menu 拖拽让位 refcount,修复桌面端会话上下文菜单项失效
    • replace dangling enterprise public favicon symlinks with v3 copies
    • review R1 修订——截断保标注 + open/close .txt 补词汇提及(TRC-F002/PERF-F001)
    • review r2 remediation for share artifacts
    • review r1 remediation for share artifacts
    • 账本随 description 去重再生(节点 N-02 / #5146)
    • review r1 remediation for storage endpoint
    • review R1 修正——browser-debug description 措辞去重 + 声明测试改 runtime id 比对(节点 N-02 / #5146)
    • core-rewrite 账本再生 + 移除失效 waiver(节点 N-02 / #5146)
    • N-02 r1 修订——冻结名 no-surface-body-mentions-backend-landing 落地(TRC-F001)+ .txt 残留 wired 宣称清理(DOC-F002)+ 锚定断言收紧(TRC-F003)(#5128)
    • pin/pin-active 重绘至 20×20 网格,修复会话面板标题条置顶图标偏小
    • N-01 r1 修订——presence 探测 Exit 包裹 + 调用点 orElseSucceed 沙箱(COR-F001)+ 超时常量(DBT-F001)+ 降级/次序/注册表锚定测试(TST-F001/DGN-F001)(#5127)

    Documentation

    • ci-pseudo-failure-triage bot 侧 required 集改为指向 pr-merge.sh(coordinator 退役后非活消费方)
    • land-batch 步骤6/runbooks 改为 pr-merge.sh 人工通道叙述(merge coordinator 2026-09-08 退役)
    • 更正 titlebar.css 让位注释——refcount 现为 DropdownMenuV2 与 MenuV2 共享(review R1 DOC-F001)
    • drop stale BF-5162 build-failure warning from share runbook (review DOC-F001)
    • bigmodel 双路由探针/TTL + 跨路由 failover 维持池隔离裁决 (#5138 N-02)
    • update stale zhipuai-coding-plan-anthropic comment (DOC-F001)

    Maintenance

    • archive Tier 1 bundle for #5157 (merge-gate archive-presence)
    • prettier-stable assertions for the mobile-only chip surface
    • archive bundle 5205-ft556-retention-gc-lag
    • archive bundle 5216-ft557-install-concurrency-timeout
    • archive bundle 5217-ft558-modelsdev-warm-race (merge-gate presence)
    • 归档 run bundle(#5153 close)
    • archive Tier 1 bundle for #5182 (merge-gate archive-presence)
    • archive Tier 1 bundle for #4953 (merge-gate archive-presence)
    • 归档 #5080 run bundle(merge-gate 要求)
    • 回归测试改为确定性状态等价断言——滚动快照不变量(test N+1 入口态==test N 入口态)替代绝对 preload 基线,分片环境(前序文件模块级 Log.init 基线)下稳定
    • 回归测试 waitFor 预算 2s→10s——满载分片下异步文件 flush 负载容忍化(同 ft547 先例),不损 Red 判别力(WARN gate 下 probe 永不出现)
    • archive run bundle for 5111-memory-writer-task-n-01 (merge-gate, #5215)
    • archive Tier 1 bundle for #5116 (merge-gate archive-presence)
    • archive run bundle 5134-wk5134(merge-gate 归档件要求,#5134 PR #5222)
    • add archive bundle for ticket #4910 (merge-gate)
    • archive Tier 1 bundle for #5185 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5197 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5197 (merge-gate archive-presence)
    • pin FilterInput fixed w-[120px] (TST-R1-004)
    • archive Tier 1 bundle for #5188 (merge-gate archive-presence)
    • archive Tier 1 bundle for #4996 (merge-gate)
    • archive Tier 1 bundle for #5081 (merge-gate archive-presence)
    • 同步 bun-only-v2 pin 测试(workflow-config-hardening cache step 字段断言随 d98dbbf50 命名空间 bump)
    • bun 依赖缓存命名空间 bun-only-v1→v2——ENOSPC 事故污染共享缓存条目(zod 损坏),新 key 重建干净缓存
    • bump bun 缓存命名空间 bun-only-v1→v2 丢弃磁盘满事故期间损坏的 zod@4.1.8 缓存 blob
    • 归档 run bundle(Kind/Documentation 豁免面,保 merge-gate 一致性)
    • archive Tier 1 bundle for #5191 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5109 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5170 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5169 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5168 (merge-gate archive-presence)
    • archive Tier 1 bundles for #5179 #5180 #5195
    • 归档 run bundle(#5152 close)
    • 归档 run bundle(#5151 close,23 artifacts)
    • 思考计时与“思考中”主文本同色同字号——撤销 elapsed 降级覆盖
    • archive Tier 1 bundle for #5147 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5146 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5145 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5156 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5149 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5131 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5174 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5177 (merge-gate archive-presence)
    • 登记 #5168 前置门 6 条基线失败豁免(#4380,证据评论 55938/55958)+ scaffold twin 同步
    • 5131 browser skill 挂载 e2e 三断言 + 纪元可观测钩子 + wire id 核对(#5131 N-03)
    • archive Tier 1 bundle for #5172 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5165 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5166 (merge-gate archive-presence)
    • archive Tier 1 run bundle for 5157-share-service-deploy-task-n02
    • archive Tier 1 run bundle for 5157-share-service-deploy-task-n01
    • archive Tier 1 bundle for #5137 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5139 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5138 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5142 (merge-gate archive-presence)
    • archive Tier 1 bundle for #5143 (merge-gate archive-presence)
    • 归档 #5122/#5127/#5128 run bundle(管线收口前置)
    • AC-3 测试名对齐 DAG test_id + AC-2/3 守卫断言补新行为锚定
    • 归档 #5117 run bundle(merge-gate close-ref)
    • 归档 N-01/N-02 run bundles(merge-gate close-ref)
    • archive Tier 1 bundle for #5126 (merge-gate archive-presence)
    • AC-4 可证伪化重写 + 徽标字形 × 对齐 spec + 评审注释清理
    • 修正 pinned 徽标测试遗留的 white pin 注释与用例名(review R1 LOW)
    8 uncategorized commit(s)
    Downloads