【发布时间】:2018-01-11 10:14:07
【问题描述】:
我有一个不直接使用的工件。这些工件包含运行用户应用程序的服务器。对用户(即第 3 方)可见的 API 在单独的库中定义良好。
现在,我正在对服务器进行一些更改。一些公共方法会更改签名。但是,这并不反映用户,因为他没有看到更改。
我不确定 SemVer 在这种情况下的定义。我应该
- A) 碰撞服务器的主要版本,因为公共方法签名已更改,或者
- B) Bump 次要版本,因为此更改不会影响服务器的用户?
事实上,在 B 的情况下,服务器似乎永远不会获得主要版本的增加,即它将始终保持在1.x.x,因为用户的 API 是在不同的库中定义的(服务器只是它)。
我应该如何处理这种情况?
【问题讨论】:
-
您是在添加新功能,还是只是在做一些更新/修复?
-
我不会调用功能...它只是添加另一个配置设置。但是服务器连接到某些数据存储的方式发生了变化。
-
这些更改会破坏使用此服务器的任何系统吗?
-
如果使用此服务器的系统不会中断或必须适应您的更改,那么您更新 PATCH 数字。
-
看你怎么看!如果您认为您添加的这些配置设置/或您所做的更改正在引入一些新的东西,那么就修改次要的,否则,修改补丁。