Javascript 在进行非功能性更改时是否应发布新的库版本?

Javascript 在进行非功能性更改时是否应发布新的库版本?,javascript,npm,Javascript,Npm,我正在维护一组javascript库,通常需要更新一些不需要任何功能更改的依赖项,例如,当我的库不受破坏依赖项的更改影响时 您通常是在更新了库的依赖项后发布库的新版本,还是等到发布新版本时必须进行功能更改 此外,您是否在变更日志中包含已更新的依赖项 PD:我正在使用语义版本控制当您使用时,您必须发布一个次要的更新 从文档中: 如果只引入向后兼容的bug修复,则必须增加补丁版本Z(x.y.Z | x>0)。错误修复被定义为修复错误行为的内部更改 如果公共API中引入了向后兼容的新功能,则次要版本Y

我正在维护一组javascript库,通常需要更新一些不需要任何功能更改的依赖项,例如,当我的库不受破坏依赖项的更改影响时

您通常是在更新了库的依赖项后发布库的新版本,还是等到发布新版本时必须进行功能更改

此外,您是否在变更日志中包含已更新的依赖项

PD:我正在使用语义版本控制

当您使用时,您必须发布一个
次要的
更新

从文档中:

如果只引入向后兼容的bug修复,则必须增加补丁版本Z(x.y.Z | x>0)。错误修复被定义为修复错误行为的内部更改

如果公共API中引入了向后兼容的新功能,则次要版本Y(x.Y.z | x>0)必须递增。如果任何公共API功能被标记为已弃用,则必须增加该值如果在专用代码中引入了大量新功能或改进,它可能会增加。它可能包括补丁级别的更改。次要版本增加时,修补程序版本必须重置为0

因此,我建议还应考虑第三方库的更新,并根据它们引入的功能做出决定,并以此为基础做出决定

您必须考虑到,根据使用的分销渠道(并且可能会发生变化),开发人员可能已经将您的库扩展到了一种方式,即他们也在使用您的库所依赖或他们自己所依赖的第三方的功能


最后没有规则,但在我看来,更多的信息总比没有信息好,因为你不知道其他开发人员试图完成什么。

我建议在你使用sem时发布它,并稍加更新。版本控制。问题是你现在不能,如果更新可能会破坏一些人,即使它不在你的图书馆。所以,这只是一个很好的姿态,告诉所有相关人员,让他们知道发生了什么变化。我应该说我正在使用sem。版本控制是,因此您现在必须决定它是
次要
还是
补丁
。您可以查看何时应用哪个版本策略/编号的详细说明。请参阅我的答案。对于那些需要更新这些库并且需要使库兼容的用户来说,更新依赖项声明以使用较新版本可能很重要。所以,是的,立即发布。我还没有勾选你的回答,因为我认为还有一些事情值得澄清,首先,谢谢你指派我到Sever,因为我花了时间仔细阅读。@ BorjaTur,为什么不告诉我是什么?我认为要考虑的是,无论你正在改变什么,都会影响到你的LIB的公共接口,如果公共API受到某种影响,则必须发布,但如果只影响库的私有部分(例如,代码重构、不影响公共接口中任何内容的依赖项),则semver只会说“它可能会增加”,所以发布与否取决于维护人员,我完全同意你的观点,我认为提升你的版本通常是一个很好的做法,总是会引入一个变更,并有一个详细的变更日志来反映它,无论变更是否影响公共或私人界面。因此,如果你同意,并且如果你不介意更新你的回复,我会选择它作为首选