深度 | QGIS开发与发布规则解析

QGIS版本号管理规则

软件产品版本号的一般形式为:主版本号.子版本号.[修正版本号],方括号内的修正版本号为可选项。
示例1:3.6
示例2:3.10.0
示例3:3.12.3

QGIS子版本号遵循以下规则:

  • 发布版的子版本号为偶数
  • 开发版的子版本号为奇数

备注:QGIS主版本号与修正版本号不受上述规则影响。

QGIS的开发与发布均遵循既定的时间计划,基本上是每四个月推出一个新的(子)版本,其中前三个月用于开发新功能,最后一个月进入功能冻结阶段,主要进行测试、缺陷修复、翻译和发布准备工作。新版本发布时,会创建一个偶数(子)版本号的分支,而主分支将进入下一个奇数(子)版本号。

从2.8版本开始,每发布三个子版本后,第三个子版本将自动成为长期版本(Long Term Release,简称LTR)。该版本将长期维护,直至产生下一个长期版本。QGIS 2.12、2.18、3.4、3.10均为长期版本,其中3.10为当前的长期版本,而下一个长期版本将会是QGIS 3.16

开发阶段

在开发阶段,开发人员致力于为下一个版本添加新功能。喜欢尝鲜的用户可以使用QGIS官方提供的每夜构建功能(nightly builds)查看开发进度、进行预测试、反馈错误报告与改进建议,以帮助开发工作。

功能冻结阶段

在功能冻结阶段,不允许再添加新功能,关注点从功能增强转变为使之更加稳定。期间,每夜构建的成果将被转化为预发布版(prereleases)

QGIS用户可以在各自的环境中对这些预发布版进行广泛测试,以验证有没有问题。对于发现的问题,如果希望在下一个发布的版本中解决,一定要在github网站上及时提交反馈报告(github.com/qgis/QGIS/issues)。只有在出现严重问题的情况下,才会向后移植(backports)到最新发布的版本中解决。由此可见,测试预发布版和报告问题是非常重要的工作。

在功能冻结阶段,开发人员监视缺陷管理工具(bugtracker),着手修复所报告的问题,并将添加的功能更新到可视化更新日志(visual changelog)中。

随着功能冻结的开始,翻译文件将被更新,以便翻译人员可以开始工作。需要注意的是,这可能是一个渐进的过程,因为尽管功能已冻结,但缺陷修复工作仍可能导致翻译字符串的改变。

在发布前两周,启动硬冻结(hard freeze),此后仅允许修复非常严重的问题和功能冻结之后引入的回归(regressions)。

发布阶段

发布主版本和子版本时,都会创建版本分支、标记发布版本并准备打包工具。对于点发布版本(point releases),只需要标记版本并创建打包工具。

负责打包的人员开始制作安装包,完成后即可对外宣布并更新官网。

与发布有关的主要事件

与版本发布有关的事件有很多,最重要的是四个:LTR(长期版本)、LR(最新版本)、FF(功能冻结)、PR(点发布版本)。
深度 | QGIS开发与发布规则解析_第1张图片

从2.12版本开始,开发阶段始终为12周,而冻结阶段至少为5周。其余时间用于延长长期版本(LTR)的冻结阶段。

如果存在向后移植(backports)的情况,则每个月都会在最新版本(LR)分支和长期版本(LTR)分支上进行点发布(point releases)。

在发布后的前四个月,新的长期版本(LTR)即是当前的最新版本(LR)。在此阶段,新的长期版本(LTR)不会替代长期版本存储库中原先的长期版本(LTR),直至下一个最新版本(LR)发布。例如,2019年10月25日,3.10版本取代3.4版本成为长期版本(LTR),但直至2020年2月21日3.12版本发布后,长期版本存储库中的3.4版本才会被替换为3.10版本。

QGIS 3.10-3.18详细发布日程

当前的长期版本QGIS 3.10发布于2019年10月25日,3.x版本的最后一个子版本3.18预计将于2021年2月19日发布。
深度 | QGIS开发与发布规则解析_第2张图片

吴建玲

2020年5月30日


版权声明

本文欢迎转载,转载时请注明出处。

撰写本文内容时参考了诸多来自国外互联网的公开资料,所有相关文字及图片的版权归原始作者所有。

深度 | QGIS开发与发布规则解析_第3张图片

你可能感兴趣的:(QGIS课堂)