发布政策
本页面为自动翻译,可能包含错误。如果发现问题,请通过“编辑此页面”链接帮助修正。
语义化版本
Turian 遵循语义化版本(major.minor.patch —— 例如 v1.9.0)。
- 主版本递增表示破坏性变更——你的项目可能需要手动更新。
- 次版本递增添加功能,但现有代码无需更改即可继续编译。
- 补丁版本递增发布错误修复和性能改进,API 不变。
我们不认为将主版本一直保持在 0 是合理的。Turian 自 v1.0.0 起就处于 v1.x.x,当时已经可以从头创建游戏并将其构建为独立可执行文件。"生产就绪"将是一个项目决策和公告,而从来不是版本号。
Major 版本是技术性的,而非营销
在大多数引擎中,新的 Major 版本是一个事件:数年积累的功能被打包在一个数字背后,在 Keynote 上发布,随后是一场漫长而充满风险的迁移。Turian 则按字面意义对待版本号。Major 版本只意味着一件事——某些改动可能会破坏现有项目——它和其他任何版本一样在同一天发布,有时只包含一个破坏性变更,别无其他。
你可以确信的是:
- 每个 Major 版本都在迁移指南中有对应条目,准确告诉你发生了什么变化,以及(如果有的话)你需要做什么。
- 破坏性的数据格式变更会附带迁移路径,而不只是更新日志中的一行:旧文件仍可加载(并给出警告),或由一条
turian-cli命令一次性转换整个项目。 - 由于破坏性变更是随时完成随时发布,而不是攒到某个"大"版本一起发布,因此每次迁移都很小,也便于单独审查。
"Turian 有哪些新功能"这个故事在别处讲述:博客上的定期汇总文章会总结跨越多个版本的功能与修复,与版本号无关。
发布频率
我们每天发布一个新版本(当有代码变更时)。这意味着错误修复和功能在合并当天就能送到你手中,而不是排队等待数月等待下一个"大"版本。
高频发布的优势:
- 你今天报告的错误,明天发布中就修复了——无需等待季度里程碑。
- 回归问题更容易排查,因为连续版本之间的差异很小。
- 你可以始终锁定特定版本,并按自己的节奏升级。
未来项目稳定后,我们可能会降低发布频率,但理念将保持不变:尽早发布,频繁发布。
长期支持
我们不提供长期支持(LTS)版本。该项目处于初期阶段,API 正在快速演变。维护 LTS 分支会拖慢开发速度并分裂社区。保持支持版本的最佳方式是跟随最新版本。
安装多个版本
zip 压缩包可随意放置:每个版本解压到各自的文件夹,每个 turian-cli 和 turian-studio 使用旁边 lib/ 文件夹中的引擎库。同一台机器上可以并存多个版本,项目总是用你调用的那个版本编译:
~/turian/1.0.0/turian-cli export mygame # 用 1.0.0 构建
~/turian/1.1.0/turian-cli export mygame # 用 1.1.0 构建
Windows 安装程序和 Debian 软件包在系统中只安装一个版本;需要多个版本并存时请使用 zip 压缩包。参见安装页面。