为什么Angular版本4与版本2兼容,如果他们使用语义版本控制?

时间:2017-09-02 22:11:31

标签: angular semantic-versioning

根据{{​​3}},

主要版本不应与其前任不兼容吗?

2 个答案:

答案 0 :(得分:0)

  

根据语义版本控制,主要版本是不是应该与它们的前辈不兼容?

规范根本没有说明。它所说的是,如果你确实引入了一个重大变化,你必须碰撞主版本号。如果您认为存在轻微破损的可能性,则措辞不会阻止您碰撞主版本号。实际上,如果相对于之前的次要和补丁级别版本存在相当多的代码流失,则通常会碰到主要版本;为了允许通常发生的较慢的采用率,当风险厌恶的客户,推迟接受主要版本发布,直到他们有可用的资源来测试它。

即使补丁发布也可能会打破某人。软件历史中充斥着某些人认为在某个时间点是某个功能的错误。开发人员根据自己和客户对错误的容忍度来判断他们的最佳判断。任务关键代码,需要一个完整记录的单行补丁,由审阅者和测试人员审查,可能会发布补丁,但即使具有高开发标准,对同一产品中的主要组件进行完全重构可能需要保证尽管目标是不会引入任何重大变化,但仍然存在重大影响。非任务关键代码只会得到一个补丁,即使是完全过度的实现。

答案 1 :(得分:-2)

@JBNizet给出的评论中的答案:

  

它不完全兼容。有一些重大变化。但大多数都保持兼容。阅读更改日志。 https://github.com/angular/angular/blob/master/CHANGELOG.md