版本命名
GF
采用GNU
风格的版本命名规则: MajorVersion . MinorVersion . Revision
即: 主版本号 . 子版本号 . 修正版本号
如: v0.0.1
, v1.1.0
, 1.7.1
MajorVersion
主版本号:GF
的版本号是从0开始的,从alpha
到beta
一直到现在的正式版本,主版本号表示一个全新的框架版本,例如:重大的重构、重大的feature改动、重大的不兼容性的变化,但往往不会发生;MinorVersion
子版本号:发布较大的新feature功能,或者较大的重构或者模块变化,或者出现不兼容性改动,会增加子版本号;子版本的发布会伴随着完整的change log,算是一个较大的版本发布,有仪式感;Revision
修正版本号:往往是bug fix,或者增加较小的feature,较小的功能改进或者模块变化,在保证完整向后兼容的前提下,会增加修正版本号;- 当主版本号增加时,子版本号及修正版本号置0;
- 当子版本号增加时,修正版本号置0;
兼容性保证
GF
承诺每一次修正版本的发布都会保证所有模块完整的向后兼容性,该版本可以随意升级。由于GF
框架的发展非常迅速,目前保持着1-2个月的子版本发布规律,陆续的新特性和新功能添加、更加完善细致的功能改进和锤炼,因此子版本的发布不一定能保证所有模块完整的向后兼容性,但任何子版本的发布都会有完整的change log,通知发布。如果有部分模块的兼容性调整(情况比较少),那么也会伴随着相关的重点标注说明,往往也有升级操作指导。
版本升级方式
Golang项目开发不推荐直接使用vendor
的方式,不推荐直接使用框架master
分支的方式。推荐使用go modules
的包管理方式,即使用go.mod
来管理引用包的版本号。
每一次计划版本升级之前,在仓库查看最新的版本号:https://github.com/gogf/gf/releases ,选择一个需要升级的版本号,修改go.mod
保存后,Goland IDE将会自动下载对应版本号的框架。如果是升级到最新的框架版本,也可以在项目根目录下执行go get -u github.com/gogf/gf
进行完整的升级。
更多的详情请查看【Go Modules】章节。