版本号定义规则

案例:fugan

  1. 版本号格式:v<Major>.<Minor>.<Patch>[-<EXT>]
  2. <Major>:大版本主要涉及roles和engine的资源结构的大改(runtime.zip.fu、runtime.clips.zip.fu等),库和资源的大版本如果有差异,不强制相互兼容。release-note中需明确标明资源兼容的范围,如有兼容问题需要手动 升级/降级 资源到对应的版本。
  3. <Minor>:小版本号主要涉及到SDK的API修改,roles和engine资源兼容。
  4. <Patch>:SDK/资源的补丁,用于模型/资源效果升级,SDK修bug,效果调优等。不允许Patch包含API变动和资源结构变动,即便小的API变动,都要提升<Minor>版本号。
  5. <EXT>:如无<EXT>则是正式release版本,<EXT> .alpha[0-9]+标识alpha版本,可能不稳定。<EXT> .beta[0-9]+接近稳定的测试版本,<EXT> .rc[0-9]+发布候选版本,基本稳定。
  6. 资源与SDK的版本独立管理,遵循上述1 2 3 4的兼容性规则,主要约束为大版本号严格要求兼容,其他版本如有兼容,release-note要求明确写出
  7. 请求资源时,如无特殊需求(明确指定版本号),默认给定版本号最大(最新)的资源。
  8. 版本更新时,必须附带对应的release-noterelease-note放在fugan-release中。
  9. 资源中需包含git commit id