完全的版本号定义,分四项::<Major-主版本号>.<Minor-子版本号>.<Build-开发/修订版本号>.<Date-日期版本号>,如 1.0.0.170714。具体含义如下:
- Major: 目前是1。当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化时改变。此版本号由项目总体组/总工决定是否修改。
- Minor: 目前是0,当功能有一定的增加或变化,比如增加了对文件控制、增加自定义界面等功能。此版本号由项目经理决定是否修改。
- Build: 目前是0,一般是Bug修复或是一些小的变动,要经常发布开发/修订版,时间间隔不限,修复一个严重的bug即可发布一个修订版。此版本号由开发/测试组长决定是否修改。
- Date: 以时间来表示(年月日) 170714 (yymmdd),用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。此版本号由系统时间自动生成。
连起来即为:1.0.0.170714
其中:Major,Minor,Build都是手动更改,每个数字小于100,即都是两位的十进制数;Date根据系统时间自动生成,是六位的十进制数(符合日期约定)。
对于每次发布新版本的openthos,测试组需要给出Changlog,说明增加/删除的功能/模块/架构变化等,修复的Bug等。
对于同一天产生的多个测试版本,其变化/递增的变量体现在Build这一项,所以OTA/Boot Update可以依次比较 Major.Minor.Build的大小就可以知道是否需要升级。Date主要是用于Setting中展示软件的开发时间,便于用户了解用,并不会用于是否升级的判断中,因为Major.Minor.Build的值已经足够了。