0.x Release Candidate
这页是 0.x release candidate 的发布前检查单。目标是确认当前 main 可以作为候选版本验证,而不是在 release prep 阶段继续扩大功能范围。
Scope
- 从最新
main准备 release candidate;未合并 feature PR 不写进 release notes。 - 不把 experimental API 提升到 root entrypoint。
- 不新增 renderer、持久化层或外部 LLM API 集成。
- 保持 root、markdown、experimental 三个 entrypoint 的边界清晰。
Migration Notes
TListwheel scrolling 现在只代表 viewport scroll,不再把 wheel 作为 selection commit。TListEnter / double click 通过change表示确认选择;update:modelValue只表示 selection change。TRenderPlane.planemount 后按 immutable 处理;需要迁移 plane 时使用:keyremount。scheduler.queueFrameTask()可能返回false;producer 必须在被拒绝时清理自己的 pending state。- 高吞吐组件继续从
@simon_he/vue-tui/experimental引入,应用代码应把这些 imports 隔离在少量边界文件内。 - 自定义
TLogViewsource 仍应通过version或getLineKey(index)表达内容变化,避免复用 stale line cache。
完整行为变更列表以 CHANGELOG 的 0.1.0-rc.0 为准。
Package Exports
发布前确认:
package.json的files仍只发布dist。- root entrypoint 不导出
TVirtualList、TLogView、log companion 或 markdown-only 组件。 @simon_he/vue-tui/markdown只承载 markdown parser / renderer API。@simon_he/vue-tui/experimental承载TVirtualList、TLogView、search/link/minimap companions 和 log plugins。- ESM、CJS、types 三套 built export 都通过
test:package-exports验证。
Validation
快捷入口:
bash
pnpm run release:dry-run
pnpm run release:check
pnpm run release:bench
pnpm run release:smoke
pnpm run release:pack-smokerelease:dry-run 是发布前最后一道本地 gate。它会跑 release:check、release:bench、release:smoke 和 packed package install smoke,确认当前构建可以从 .tgz 安装到外部项目后使用。
展开命令:
bash
pnpm run check:hidden-unicode
pnpm run format:check
pnpm run lint
pnpm run typecheck
pnpm run test
pnpm run test:package-exports
pnpm run release:pack-smoke
pnpm run bench:scroll-mailbox
pnpm run bench:dom-renderer
pnpm run bench:phase2
pnpm run docs:build示例 smoke:
bash
pnpm run example:tlog-view-lab
pnpm run example:agent-console:smoke
pnpm run example:agent-console:terminal:smoke真实终端交互验证按需手动跑:
bash
pnpm run run:basic:terminal
pnpm run run:tlog-view-lab
pnpm run example:agent-console:terminalRelease Handoff
- 合并目标 feature / fix PR 后,从
main创建 release candidate 分支。 - 确认 Examples Index 中的 browser、terminal、smoke 路径仍能运行。
- 跑
pnpm run release:dry-run。 - 如果
docs:build更新 generated API,提交 generated docs;否则保持工作区干净。 - 更新
CHANGELOG.md,把Unreleased的内容整理成目标版本。 - 只在发布验证完成后运行
pnpm run release。