版本命名

MajorVersion.MinorVersion.Revision

即:

主版本号.子版本号.修正版本号

v0.0.1, v1.1.0, 1.7.1

  • MinorVersion 子版本号:发布较大的新功能,或者较大的重构或者模块变化,或者出现不兼容性改动,会增加子版本号;子版本的发布会伴随着完整的change log,算是一个较大的版本发布,有仪式感;
  • Revision 修正版本号:往往是bug fix,或者增加较小的feature,较小的功能改进或者模块变化,在保证完整向后兼容的前提下,会增加修正版本号;
  • 当子版本号增加时,修正版本号置0

兼容性保证

GoFrame承诺每一次修正版本的发布都会保证所有模块完整的向后兼容性,该版本可以随意升级。由于GoFrame框架的发展非常迅速,目前保持着1-2个月的子版本发布规律,陆续的新特性和新功能添加、更加完善细致的功能改进和锤炼,因此子版本的发布不一定能保证所有模块完整的向后兼容性,但任何子版本的发布都会有完整的change log,通知发布。如果有部分模块的兼容性调整(情况比较少),那么也会伴随着相关的重点标注说明,往往也有升级操作指导。

版本升级方式

Golang项目开发不推荐直接使用vendor的方式,不推荐直接使用框架master分支的方式。推荐使用go modules的包管理方式,即使用go.mod来管理引用包的版本号。

更多的详情请查看 Go Module 章节。

使用特定版本

master分支是公测分支,所有的待发布代码先合并到master分支,进过一定时间的测试之后会打上tag正式发布。一些issue在修复完毕之后,开发者急于使用最新版本可以尝试使用master分支,更新方式如下:

也可以更新到特定的git reversion

develop分支

也可以更新到特定的git reversion