如题,现在我的 npm 包处于 0.x.x 的版本下,即不稳定版本。
我现在因为发现有无法向下兼容的 bug,必须废弃原先的部分 API,很明显这属于 break change,那么我的新版本必须要更改主版本号吗?
如果更改主版本号的话,就到 1.0.0 版本,但是我并希望进入 1.x 版本,因为现在依然处于不稳定阶段。
如果不更改主版本号,我应该修改 minor 还是修改 patch 呢?功能上来说,是 fix 掉现在的 bug,所以应该修改 patch,但是又没有保持向下的兼容,修改 patch 是不合理的;但是修改 minor 也不对,因为并不是在向下兼容的基础上引入新的 api。
所以严格按照 semver 的话,现在应该如何处理呢?因为 0.x 的不稳定版本肯定是会经常遇到 breaking change 的,那么遇到了 break change,该如何处理?
对于 1.0 以前的版本,次版本号即可视为主版本号。也就是说如果你在 package.json 中引用的包版本是
^0.3.1
,那么升级和安装依赖时不会安装0.4.x
的版本。对于 0.x 的不稳定版本这里的处理比较特殊。所以在进入 1.0 以前有不兼容的改动时升级次版本号即可。具体的版本号相关的内容可以参考这篇文章:http://semver.org/lang/zh-CN/