-
v0.29.0 Stable
released this
2026-10-14 14:23:55 +08:00 | 5 commits to main since this releasev0.29.0 (MINOR) — 2026-10-14
77 个提交 / 41 个合并 PR(自 v0.28.0,2026-10-13),11 个 feat、无 BREAKING。
主线:登录面五件套(web /app 登录门、状态条用户按钮、添加服务器对话框去身份化、桌面统一身份分区 + auth-clear 联动、认证文案中文化);browser 能力面二期五节点(browser_scroll 双腿、截图 fullPage 增强、快照寻址统一 ref 空间、browser_recording 帧序列录制、pane 网络 method CDP 真实化);桌面 sidecar exit(0) 生命周期审计 + renderer booting 状态屏(#5971);稳定性三修(ws close 竞态根修、快照锁争用降级、CPU 守卫双窗口重试);设置-高级「切换终端」逃生口(#6002)。
Full commit-level changelog (77 commits since v0.28.0)
Changes since v0.28.0
Added
- #5939 认证文案中文化+fallback 链+注册邮箱实测
- #5957 统一身份分区+官方连接隐形具备+auth-clear 联动(2/2)
- #5958 添加服务器对话框去身份化——Basic-only 回归
- #5957 状态条用户按钮(1/2)——双态身份入口+直达用户页+降级+自动导航
- #5937 web /app 登录门——表单主+OAuth 次选+ambient 会话+邮箱可选
- pane 网络 method CDP 真实化 + webview:network-entries + method-unknown 边界(#5890 N-11 / #5902)
- scroll 同意条 i18n 键 + act-surface v1 契约 browser_scroll 条款(补遗——上提交遗漏的 3 文件)
- browser_scroll 双腿——pane CDP 受信 wheel + headless scrollIntoViewIfNeeded (ref 锚定 + x/y 坐标)
- browser_recording {start,status,stop}——帧序列+清单 v1 工件落 session-scratch
- 快照寻址统一——双腿统一 ref 空间,pane handle/id 降为 additive 别名
- pane 截图增强——fullPage captureBeyondViewport + filename + 遮挡早退 pane-guest-occluded
Changed
- ref 腿脉冲循环提取为 runScrollRefPulseLoop——scroll 分支收敛重复退出三元组(STY-R2-F001)
Fixed
- 满载分片本地天花板 900s + Windows nice 整类降级默认关闭 (#5961)
- flag registry citation 291→295 + 969→985——#6008 合并后行移跟进(CI 基线红 rider)
- 快照锁争用降级——gc 独立 deadline、track/patch 不再炸 generation、stale index.lock 入口自愈
- #6002 设置-高级补「切换终端」行——beta 渠道状态条终端按钮逃生口
- user button opens site root instead of /app login gate
- scroll 假腿 refs 改真实 wire 形状(数组对)——gateSnapshotRefs 直接 .map 暴露 Map 形状违规(#5985×N-06 组合缝隙)
- flag registry citation 287→291 追赶 #5985 落地后的 registry-inventory 行移(CI 基线红 rider)
- FT-055 CPU 守卫加双窗口有界重试(#5962 环境性假红)
- 修 5971 归档包 schema 违例 + 同步 main 的 4313 修复
- review-code r2 修订——retryable 判别 + 组合函数抽取 + 习式回补(#5902)
- WebSocketClientTransport.close() 等待 close 事件再返回(BF-584 调度竞态根修)
- review-code r1 修订——1 MAJOR + 12 MINOR 全处置(#5902)
- #5971 review R1 修订——channels 白名单补录 + 重启时序加固
- #5971 sidecar:status 订阅移至 deeplink:navigate 之后
- #5971 sidecar exit(0) 生命周期审计 + renderer booting 状态屏
- browser_scroll 进 SKILL tools 锚与 twin 同步 25→26(verify F-1)
- drop no-op finished.delete before same-key set; restore ledger identifiers mangled by prettier
- wire ref-drift gate into both snapshot exits
- ref 腿停滞 reason 与坐标腿统一——body overflow:hidden 时报 overflow-hidden(CORR2-N003)
- wheel 锚点派发前夹取到视口边界内——负坐标/越界 probe 不再打偏(CORR2-N002)
- 停滞检测纳入嵌套滚动容器位移——probe 上报最近可滚祖先 scrollTop,容器滚动算进展不再误判 overflow-clipped(CORR2-N001)
- PERFR1-F002 — finished.delete before re-set on stop so tails do not accumulate per webContents id
- CORR2-F003 — finished tail lookup validates sessionId binding (session-addressed face)
- CORR2-F002 — relayErrorDetail mapping for frame-subscription-unavailable
- CORR2-F001 — fold appendFrameRow into the png-write try/catch (ENOSPC/EACCES → stopped-mid-capture)
- raise unified-ref cap to 15 digits, registry handle beats e-shaped attr ref
- stitch strips the synthetic e ref from cross-origin subtrees
- add happy-dom devDependency, extract shared test realm helper
- invalid filename falls back to default evidence name with disclosure
- honor filename on headless leg, sync parameter description
- e2e fullPage degradation must fail red, add absolute elapsed budget
- bound fullPage inline budget by part cap, fix px/ratio semantics via viewportHeight
- overflow-hidden no-op 码消费死数据 + ref 脉冲循环砍每轮冗余往返(CORR1-F003/PERFR1-F001)
- scroll 错误面固定 reason code,原始 CDP 文本只进审计不进 agent 面(SEC-R1)
- ref 滚动停滞检测改逐脉冲比较 + pulse 后 settle 延迟(DGNR1-F002/CORR1-F002/PERFR1-F002)
- wheel 滚动锚点改用 ref probe 真实坐标 + settle 披露 targetReached(DGNR1-F001)
- scroll 方向启发式改用视口相对比较(CORR1-F001)+ 常量改名(STY-F002)
- round-1 review fixes——manifest 帧索引 ndjson 增量追加(消除 O(frames²) 重写)
Documentation
- browser-scroll.txt 补 targetReached 字段与 noop reason 枚举说明(DOC-R2-F001)
- DOCR2-F002 — browser_recording pane-leg-only/headless-unsupported disclosure in browser skill (+scaffold twin)
- DOCR2-F001/DOCR2-F003 — grounded tmp-path wording, frames.ndjson vocabulary in tool txt + stale test header
Maintenance
- archive Tier 1 bundle for #5961 (merge-gate archive-presence)
- fix archive bundle schema (artifact shas + string working_notes)
- archive run bundle — #6002 Tier 1 归档包(merge gate 前置)
- archive Tier 1 run bundle for #5998 (merge-gate precondition)
- 源 pin 随 openBrowser 签名扩展修订(identity opt)
- #5936 验收基线——零阻塞三情形+双路径+断网故障半径
- 归档 #5937 Tier 1 bundle + login.test 源断言补 contract-assert 注记
- archive Tier 1 bundle for #5962 (merge-gate archive-presence)
- archive run bundle 5902-5890-browser-capability-2-task-n-11 (merge-gate archive-presence; meta ticket 5902 corrected)
- glue describe 注释随 retryable 语义校准(r3 DBT INFO)
- archive Tier 1 bundle for #5971 (merge-gate archive-presence)
- archive Tier 1 bundle for #5960 (merge-gate archive-presence)
- archive Tier 1 bundle for #5898 (merge-gate archive-presence)
- archive Tier 1 bundle for #5897 (merge-gate archive-presence)
- archive Tier 1 bundle for #5894 (merge-gate archive-presence)
- archive Tier 1 bundle for #5893 (merge-gate archive-presence)
- register ref-drift-gate diff-sample cap in output-cap exempt ledger
- pngHasRgb 解码失败改抛描述性错误——与像素不存在可区分(TSTR2-F002)
- startPaneGuestServer 补 /infinite-scroll 路由——AC-2 e2e 修复 404(TSTR2-F001 BLOCKER)
- STYR2-F001 — prettier browser-tools-parity-ledger.md (sole offender)
- extend dual-leg fixture with shadow-root and same-origin iframe coverage
- strip comments added by the N-03 diff
- e2e scroll 补 AC-2 双证据断言——snapshot 内容 + capturePage 像素(TSTR1-F001)
1 uncategorized commit(s)
Downloads