版本号问题: 因为 bug 而废弃 API 和引入 breaking change 的话,必须升级主版本号吗?

如题,现在我的 npm 包处于 0.x.x 的版本下,即不稳定版本。

我现在因为发现有无法向下兼容的 bug,必须废弃原先的部分 API,很明显这属于 break change,那么我的新版本必须要更改主版本号吗?

  1. 如果更改主版本号的话,就到 1.0.0 版本,但是我并希望进入 1.x 版本,因为现在依然处于不稳定阶段。

  2. 如果不更改主版本号,我应该修改 minor 还是修改 patch 呢?功能上来说,是 fix 掉现在的 bug,所以应该修改 patch,但是又没有保持向下的兼容,修改 patch 是不合理的;但是修改 minor 也不对,因为并不是在向下兼容的基础上引入新的 api。

所以严格按照 semver 的话,现在应该如何处理呢?因为 0.x 的不稳定版本肯定是会经常遇到 breaking change 的,那么遇到了 break change,该如何处理?

阅读 5.3k
1 个回答

对于 1.0 以前的版本,次版本号即可视为主版本号。也就是说如果你在 package.json 中引用的包版本是 ^0.3.1,那么升级和安装依赖时不会安装 0.4.x的版本。对于 0.x 的不稳定版本这里的处理比较特殊。

所以在进入 1.0 以前有不兼容的改动时升级次版本号即可。具体的版本号相关的内容可以参考这篇文章:http://semver.org/lang/zh-CN/

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题