发布与版本
当前 Rue 最新稳定版本为 0.1.0。
完整的历史发布记录可在项目的变更日志(CHANGELOG)中查看。发布说明会涵盖新特性、修复、潜在不兼容项以及迁移建议。
发布节奏
Rue 不采用固定周期发布,而是以实用为导向的节奏进行:
- 修补版本(patch):按需发布,集中解决缺陷与小型改进
- 小版本(minor):引入新特性并提升体验,通常间隔数月;在正式发布前会经历 beta 预发布阶段
- 大版本(major):提前预告并展开早期讨论,随后进入 alpha / beta 等预发布阶段,以充分收集反馈与完善迁移文档
语义化版本的特殊情况
Rue 遵循 Semantic Versioning,但在以下场景可能存在边界情况:
TypeScript 类型定义
在不同的 小版本 之间,TypeScript 类型可能出现不兼容调整。原因包括:
- TypeScript 自身在小版本中引入不兼容变更,需要我们同步适配
- 某些能力依赖更高版本的 TypeScript,从而提升最低要求版本
如果你的项目使用 TS,建议将 Rue 的依赖范围锁定到当前小版本,并在确认后再手动升级至新的小版本。
预编译产物与旧运行时的兼容性
较新的 Rue 编译器(小版本)可能生成对旧运行时(较早小版本)不完全兼容的代码。对于应用开发者,编译器与运行时版本通常一致,因此影响有限;但对库作者而言,如果你分发的是预编译的组件或指令代码,被更旧版本的运行时消费时可能出现行为差异。此时建议在包的 peer 依赖中明确最低要求的小版本。
默认渲染路径与 compat 删除
Rue 当前默认渲染路径已经切到 Block / Vapor / Renderable-first。与此同时,显式 compat 子路径也已经作为 breaking change 删除。也就是说:
- 主入口默认描述的是当前渲染路径
@rue-js/runtime/compat与@rue-js/rue/compat已不存在_\$vaporCreateVNode与renderCompat*系列 helper 已移除- 默认公开 helper 会继续围绕 MountInput / mounted snapshot 组织,而不是继续扩大历史桥接对象契约
如果你维护的是旧的手写渲染 helper、历史 render-function 桥接或预编译产物,请直接改写到默认路径,而不是继续寻找 compat 替代导入。当前迁移指引见 默认 Block / Vapor 路径迁移。
预发布版本
小版本通常会经历若干次 beta 预发布;大版本则会经历 alpha 与 beta 阶段。Rue 也可能通过 npm 标签(如 next / beta)提供早期构建用于集成与稳定性测试。
预发布版本仅用于验证与收集反馈,请勿在生产环境使用。预发布之间可能出现破坏性变更,若需要试用请固定到确切版本号并关注发布说明。
弃用策略
Rue 会在小版本中逐步引入更好的替代方案,并将旧特性标记为“弃用”。被弃用的能力在当前主版本中仍可使用,但会在下一个主版本移除。我们会在发布说明中注明弃用条目与迁移路径。
对涉及默认渲染路径、compat 子路径、预编译产物边界的调整,发布说明会明确包含以下信息:
- 主入口是否发生默认语义变化
- 已删除的 compat 命名或旧 helper 是否被重新引入
- 旧 helper / 旧导入路径的替代写法
- 库作者在 peer 依赖和预编译产物上的最低版本要求
RFC 流程
具有较大 API 面或重要架构变更的提案,会进入 RFC(征求意见) 流程。我们通过公开讨论确保演进路径清晰、风险可控,并邀请社区参与设计反馈。相关讨论通常在 Rue 的 GitHub 仓库提案与讨论区进行。
实验性特性
部分能力会在稳定版文档中出现,但标注为“实验性”。这类特性通常已经在纸面设计(或 RFC)上解决了主要问题,但仍缺少真实项目规模使用的反馈。实验性特性应在可控范围内试用,并预期在任意发布类型中可能发生变更。
在本仓库中,你可以使用以下脚本管理版本与发布说明:
$ pnpm changelog
$ pnpm release
以上命令会依据约定式提交与版本策略生成发布说明,并推动版本号演进;具体细节以仓库脚本为准。