语义版本修补协议:如果依赖项发生变化,你会发生变化吗?

Protocol for semantic version patching: do you bump if dependencies bump?

我有 python 个具有 固定依赖关系的项目 。由于第三方依赖项中的错误,在我的包中发现了错误。该依赖项已经发布了修复该错误的补丁。但是,根据 semantic versioning,是否有协议为固定依赖项的每个补丁版本更新和发布一个版本?

是的,您应该更新您的版本号。至少,您正在以 可以 改变其行为(通过使用不同的依赖项版本)的方式更改您的应用程序,这需要传达给您的 application/library 用户。您可能非常有信心认为这是一个安全的更改,但始终存在 更改的可能性

如果您只是在谈论更新固定依赖项,没有添加任何主要功能,也没有产生 API 差异,那么您只会增加 'patch' 版本号 - 例如从 v1.2.3 到 v1.2.4。对于具有一组新的依赖性引脚的每个版本,您都会增加补丁版本。别担心,您不会 运行 超出版本号 ;)

另一方面,如果您使用内部向后兼容的功能更改汇总依赖项 pin 更新,那么您会增加 'minor' 版本号(例如 1.2.3 -> 1.3.0) ,并且如果您将其与非向后兼容的更改捆绑在一起,那么您会增加主要版本号(1.2.3 -> 2.0.0)。

http://semver.org/