软件的版本号
软件版本号是标识软件版本的数字或字符串,一个持续更新的软件开发过程中,我们需要使用版本号来区分发布的软件版本。版本号可以帮助用户和开发人员跟踪软件的更新、修复和功能改进。在实际开发中,软件的版本号有一定的通用规范,常见的版本号格式包括主版本号、次版本号、修订号等,这篇笔记我们学习一些关于软件版本号的重要概念。
软件版本号规范
一个比较常见的版本号格式如下。
主版本号.次版本号.修订号
主版本号(Major Version):当软件进行重大更改,如新增重要功能或对现有功能进行重大修改时,会增加主版本号。主版本号的变化通常意味着不兼容的变更,用户可能需要进行额外的迁移工作。
次版本号(Minor Version):当软件进行较小的功能更新或改进时,会增加次版本号。次版本号的变化通常表示新增了新功能或增强了现有功能,但与旧版本仍然兼容。
修订号(Patch Version):当软件修复了错误或进行小的调整时会增加修订号。修订号的变化通常表示修复了问题而没有引入新的功能或变化。
关于主版本号的一个惯例是在一个软件的开发阶段主版本号应该为0,项目正式投入使用后主版本号变为1。例如当软件处于开发阶段时,我们使用版本号0.1.0、0.1.1、0.2.0、0.2.1、0.2.2,当软件正式发布后我们使用版本号1.0.0、1.0.1、1.0.2、1.1.0、2.0.0。
先行版本
先行版本也叫预发布版本(Pre-release Version)。在软件大更新(如2.0.0)正式发布前,我们可能会放出开发中的先行版本,先行版本号可以标注在主版本号.次版本号.修订号的后面,通常我们会使用早期测试版alpha、中后期测试版beta、发布候选版(即Release Candidate)rc等单词标注先行版本,例如0.1.0-alpha、0.2.1-beta,标注先行版本号意味着这些版本用于测试和评估,可能不稳定或有已知的缺陷。
有时先行版本号会包含更多信息,例如0.1.0-alpha.1表示第一个内部测试版,以此类推。
构建号
构建号(Build Number)是用来表示软件的特定构建或发布版本的标识,构建号有时也会加入到版本号中以提供更详细的信息。
最简单的构建号就是一个数字序列,例如1.0.0-001、1.0.0-002,此外也有结合日期使用的构建号,例如2.3.0-789.20180828,有时甚至还会添加代码库的分支信息,例如1.0.0-001-dev等。总而言之,构建号作为版本号没有一个固定的格式,它可以由项目团队根据项目的需求进行调整。不过无论采用哪种构建号格式,我们都应确保版本号系统的一致性和清晰性。