发布政策

本页面为自动翻译,可能包含错误。如果发现问题,请通过“编辑此页面”链接帮助修正。

语义化版本

Turian 遵循语义化版本major.minor.patch —— 例如 v1.9.0)。

  • 主版本递增表示破坏性变更——你的项目可能需要手动更新。
  • 次版本递增添加功能,但现有代码无需更改即可继续编译。
  • 补丁版本递增发布错误修复和性能改进,API 不变。

我们不认为将主版本一直保持在 0 是合理的。Turian 自 v1.0.0 起就处于 v1.x.x,当时已经可以从头创建游戏并将其构建为独立可执行文件。"生产就绪"将是一个项目决策和公告,而从来不是版本号。

Major 版本是技术性的,而非营销

在大多数引擎中,新的 Major 版本是一个事件:数年积累的功能被打包在一个数字背后,在 Keynote 上发布,随后是一场漫长而充满风险的迁移。Turian 则按字面意义对待版本号。Major 版本只意味着一件事——某些改动可能会破坏现有项目——它和其他任何版本一样在同一天发布,有时只包含一个破坏性变更,别无其他。

你可以确信的是:

  • 每个 Major 版本都在迁移指南中有对应条目,准确告诉你发生了什么变化,以及(如果有的话)你需要做什么。
  • 破坏性的数据格式变更不仅仅是更新日志中的一行,而是配有完整的迁移路径:旧文件仍可加载(并显示警告),批量工具(turian-cli migrate)会在整个项目中持久化这次转换。
  • 由于破坏性变更是随时完成随时发布,而不是攒到某个"大"版本一起发布,因此每次迁移都很小,也便于单独审查。

"Turian 有哪些新功能"这个故事在别处讲述:博客上的定期汇总文章会总结跨越多个版本的功能与修复,与版本号无关。

发布频率

我们每天发布一个新版本(当有代码变更时)。这意味着错误修复和功能在合并当天就能送到你手中,而不是排队等待数月等待下一个"大"版本。

高频发布的优势:

  • 你今天报告的错误,明天发布中就修复了——无需等待季度里程碑。
  • 回归问题更容易排查,因为连续版本之间的差异很小。
  • 你可以始终锁定特定版本,并按自己的节奏升级。

未来项目稳定后,我们可能会降低发布频率,但理念将保持不变:尽早发布,频繁发布

长期支持

我们不提供长期支持(LTS)版本。该项目处于初期阶段,API 正在快速演变。维护 LTS 分支会拖慢开发速度并分裂社区。保持支持版本的最佳方式是跟随最新版本。

多版本共存

SDK 二进制发布完全可重定位且自包含。每个版本解压到自己的文件夹,因此多个版本可以在同一台机器上共存而不会冲突。SDK 包含引擎源码、编辑器源码、依赖项和 CLI 二进制文件——构建游戏所需的一切。

~/sdks/turian-sdk-linux-x86_64-v1.8.0/turian-cli build mygame   # v1.8.0
~/sdks/turian-sdk-linux-x86_64-v1.9.0/turian-cli build mygame   # v1.9.0

每个 turian-cli 二进制文件通过旁边的 turian-sdk.json 标记文件解析自己的引擎源文件。你的项目输出始终针对你调用的确切版本进行编译。有关 SDK 布局和版本共存的更多详细信息,请参阅安装页面


← 所有文档 编辑此页面