稳定版与 1.0 就绪评审
0.1.0-rc.3 已发布。下一项决策是:文档中非实验性功能的范围是否已达到发布 0.1.0 的条件,而不是要求完成路线图上的全部功能。下方的 1.0 评审是独立的兼容性决策,不会自动升级版本。未关闭的 issue 数量少,并不等于通过验收。
已交付内容
原始路线图的基础工作与提案(#43、#46–#63)、可选编写约定(#88–#92)、路由数据与 Suspense(#118–#119)、标签页样式与可见性(#122–#123),以及 rc.3 导航体验(#117、#133–#138)均已完成各自 issue 定义的范围。研究 issue 的关闭表示调查已有结论,不表示已交付通用的生产 API。
功能概览解释各平台组件的职责。兼容性指南定义冻结的 API,并列出仍属实验性的功能。例如,Android 预测返回转场原型的 issue 已关闭,但对应的上游 Core 实现并未因此发布。
发布条件
| 条件 | 发布决策所需证据 | 当前记录 |
|---|---|---|
| API 范围 | 冻结文档中的非实验性 API;如果必须进行不兼容修正,在新候选版中提供迁移说明 | RC 范围 |
| 可复现的产物 | 使用精确 npm 版本和锁文件,不使用本地路由器别名或未发布的 Core 补丁;在 iOS、Android 上构建并运行消费该包的应用 | 消费应用验收 #152 |
| 原生行为 | 在发布 commit 上,完整支持矩阵中的 push/replace/back、取消手势、守卫、模态结果、保留的导航栈与资源清理均通过验收 | 原生契约报告及 CI 产物 |
| 无障碍与偏好设置 | 记录键盘、大字体、系统“减弱动态效果”和真机读屏测试;区分语音/人工结果与自动断言 | 无障碍报告、#152 |
| 已知缺陷 | 解决承诺范围内阻止发布的缺陷;对平台或上游限制记录复现步骤、受影响版本、支持的组合及维护者的明确处理决定 | 继承方向问题 #139 |
| 文档 | EN/pt-BR/es/zh-CN 示例与导出的 API 一致;学习路径可到达安装、所有权、实验边界、迁移和已知限制说明 | 第一个应用、兼容性、功能概览 |
| 发布流程 | 完整 CI 与原生测试套件在同一个发布 commit 上通过;最终 tarball 通过全新安装检查;维护者批准发布 | 发布验证 |
过去通过验收的候选版,只能证明当时的修订版本,不会免除对新发布 commit 的验证。缺少的硬件覆盖仍为未验证,直到完成测试,或维护者明确接受这一已记录的限制。iOS 测试版真机结果可补充、但不能替代受支持的模拟器基线。仅凭使用时长或下载次数,无法证明已达到发布条件。
后续工作与研究结论
- #139: 已定位 Core 原因,NativeScript #11587提出修复,PR #160记录原生验证。已发布的 Core 9.1.3 仍受影响。应等待修复发布、更新依赖并重新执行消费应用/原生测试矩阵,或在发布决策前明确缩小支持的组合范围。
- #152: 已发布版本的消费应用报告分别记录真机 VoiceOver 服务输出、模拟器 TalkBack 步骤与结果,以及 UI 断言。目前没有 Android 真机;维护者已接受模拟器验证及其限制。请先阅读语音与手势的验证边界,不要将其视为全面的无障碍认证。
- #145: v1 观察接口提案记录原生生命周期证据及保持适配器私有的决定。缺少权威条目 ID,且不支持并发修改目标,因此尚不能提供公开控制器。连续 UIKit 转场进度和 Jolt 适配器不属于稳定版的必要条件。
- #64: 路线图用于索引已交付范围与当前后续工作,不应在无明确决策的情况下把实验性集成升级为稳定功能。
如果修复改变行为或冻结的 API,可继续发布候选版。当以上条件均有证据、维护者接受剩余的已知限制后,通过发布工作流发布 0.1.0。后续的 1.0.0 决策还需要独立的 API 兼容性承诺与应用实践,不能仅由 issue 列表清空得出。
1.0 评审 — 2026-10-25
尚未达到发布 1.0 的条件。 API 已有较充分的实现与原生验收证据,但合并文档 PR 或验证上游预览包,不等于已验证使用最终依赖的候选版本。
| 领域 | 评审结果 | 剩余工作 |
|---|---|---|
| 公开入口 | 已检查根入口、五个文件路由入口、系统搜索入口及包元数据导出;API 指南补充了七个缺失的具名导出条目 | 批准下方的 1.x 兼容性承诺 |
| 文档中的行为 | 守卫、结果、保留条目、命名导航栈、资源清理与平台职责已有说明;实验性集成仍明确标注 | 对最终依赖更新影响的行为重新验收 |
| 已知缺陷 | #139 可在已发布 Core 上复现;修复已在独立复现用例中验证 | 采用并验证已发布的修复版 Core,或明确排除受影响组合 |
| 消费应用与无障碍 | #152 记录了精确的 rc.3 消费应用、真机 VoiceOver 与模拟器 TalkBack;硬件和手势限制仍然明确 | 在发行说明中保留这些限制,对发布产物重新执行相关验收 |
| 文档与语言 | 英语、葡萄牙语、西班牙语和简体中文具有相同的指南路径及代码示例 | 持续检查语言覆盖、链接与锚点;语言覆盖不增加平台兼容性承诺 |
| 发布 | 工作流会在发布前验证 tarball 与完整原生矩阵 | 对选定的发布 commit 执行工作流,并获得维护者批准 |
提议的 1.x 兼容性承诺
- 公开导入包括
package.json#exports中声明的入口、其文档化的值/类型,以及 Vue 组件契约。文件出现在src/或dist/中,不代表支持对这些文件进行深层导入。 - 稳定兼容性不仅包括函数名称,也包括选项默认值、导航失败与结果、守卫执行顺序、条目所有权与生命周期,以及受支持的平台行为。
- “实验性”表示支持范围和验证证据较窄。在 1.0 之前,需要决定将该 API 纳入 1.x 承诺,还是迁移到一个具有显式版本的可选契约。不能仅因指南标注“实验性”,就在次版本中破坏已有根导出的兼容性。
- 稳定契约的不兼容变更需要主版本升级及迁移指南。新增功能与兼容修复可通过次版本或补丁版本交付。本次评审没有删除 API,也没有将实验性 API 升级为稳定 API。
- 不必仅为完成路线图而增加抽屉模式、实时 DevTools 控制器、Jolt 适配器或预测返回原型。新的应用需求可以成为单独开展这些工作的理由。
评审证据记录源码修订、检查结果与限制。本次评审不授权发布,也不声称每个导出的 API 都完成了新的硬件测试。