有时,当改进远远超过缺点时,您需要引入向后不兼容的更改.可以轻松切换到旧行为,但用户必须知道此类更改.
因此问题是:如何宣布未来向FLOSS(开源)项目的后向不兼容更改,以便用户可以为它们做好准备,并更改其使用,或配置程序以使用旧行为.
因为它是OSS项目,所以它由各种发行版独立打包,并且可以在没有用户干预的情况下自动升级.然后,向后不兼容的更改可能会破坏某些工作流程(例如第三方脚本).
目前考虑(和使用)的途径:
项目邮件列表
项目主页
发行说明(第一次警告,然后公告)
维护者的博客
编辑1:这个(向后不兼容)更改将在某个主要版本中发生.
所有更改都是关于添加安全措施(拒绝可能彻底混淆新手用户的命令),或将默认值更改为更合理的值.
编辑2:在过渡期间,默认配置(意味着更改为默认拒绝/拒绝)将更改为警告,并说明如何转动警告,这也可以防止默认行为中的向后不兼容更改.
但如果是自动化系统可能无济于事......
有问题的项目是Git,分布式版本控制系统;
见给予预警用户在gitster的日记(JUNIOÇ滨野博客)
更改版本号的主要部分
通过您可以使用的所有途径宣布它
在自述文件中添加重要声明
如果需要DB或其他更改,请添加在旧旧之间进行转换的代码
添加检测折旧方法,数据存储等使用的代码,并在执行破坏性更改之前提醒用户
在主要的Q/A网站上询问相关的常见问题解答类型问题,这样当人们有疑问时,使用简单的搜索即可立即得到答案
但主要版本号是主要目标 - 人们期望1.x到2.x过渡会导致问题,并且在升级时会更加小心.
-亚当