如何宣布OSS项目中的后向不兼容变更?

Jak*_*ski 3 git project-management backwards-compatibility incompatibility

有时,当改进远远超过缺点时,您需要引入向后不兼容的更改.可以轻松切换到旧行为,但用户必须知道此类更改.

因此问题是:如何宣布未来向FLOSS(开源)项目的后向不兼容更改,以便用户可以为它们做好准备,并更改其使用,或配置程序以使用旧行为.

因为它是OSS项目,所以它由各种发行版独立打包,并且可以在没有用户干预的情况下自动升级.然后,向后不兼容的更改可能会破坏某些工作流程(例如第三方脚本).

目前考虑(和使用)的途径:

  • 项目邮件列表
  • 项目主页
  • 发行说明(第一次警告,然后公告)
  • 维护者的博客

编辑1:这个(向后不兼容)更改将在某个主要版本中发生.

所有更改都是关于添加安全措施(拒绝可能彻底混淆新手用户的命令),或将默认值更改为更合理的值.

编辑2:在过渡期间,默认配置(意味着更改为默认拒绝/拒绝)将更改为警告,并说明如何转动警告,这也可以防止默认行为中的向后不兼容更改.

但如果是自动化系统可能无济于事......


有问题的项目是Git,分布式版本控制系统;
给予预警用户gitster的日记(JUNIOÇ滨野博客)

Ada*_*vis 9

  • 更改版本号的主要部分
  • 通过您可以使用的所有途径宣布它
  • 在自述文件中添加重要声明
  • 如果需要DB或其他更改,请添加在旧旧之间进行转换的代码
  • 添加检测折旧方法,数据存储等使用的代码,并在执行破坏性更改之前提醒用户
  • 在主要的Q/A网站上询问相关的常见问题解答类型问题,这样当人们有疑问时,使用简单的搜索即可立即得到答案

但主要版本号是主要目标 - 人们期望1.x到2.x过渡会导致问题,并且在升级时会更加小心.

-亚当