版本号管理¶
我们的版本号管理遵循 Semantic Versioning 2.0.0;
例如 v1.2.3,MAJOR
版本号是1
,MINOR
版本号是2,PATCH
版本号是3;
MAJOR
版本号的变更可能会出现不兼容的 API 改变或者升级。MINOR
版本号变更会添加新 feature,同时保证向后兼容性。PATCH
版本号变更主要是用于 bug 修复,同时保证向后兼容性。
SDK或者智能合约使用过程中的升级问题¶
如果WeIdentity使用过程中遇到了 bug,需要升级,可能会出现下面的几种情况:
SDK 搭配智能合约运行了一段时间,发现一些 bug,解决方案可能会出现下面的几种情况:
SDK 需要升级,智能合约不升级。如果 SDK 已经有版本修复了这个 bug,并且 SDK 的版本号只有
MINOR
和PATCH
版本号跟当前使用的 SDK 不一致,因为这类 SDK 的升级保证了向后兼容性,从而肯定能兼容当前使用的智能合约,所以可以直接升级 SDK。例如使用weid-java-sdk-v1.2.3
的过程中遇到了 bug,然后这个 bug 在weid-java-sdk-v1.3.0
版本中得到了修复,则可以直接升级。注意: 如果这个时候没有找到向后兼容的 SDK 升级版本,例如使用
weid-java-sdk-v1.2.3
的过程中遇到了 bug, 然后这个 bug 在weid-java-sdk-v2.0.1
版本得到了修复,这个时候如果升级SDK,可能会遇到接口不兼容或者不兼容当前使用的智能合约版本的情况。这个时候可以给我们提 issue,我们可以提供特定的 bugfix 版本。SDK 不需要升级,智能合约需要升级。合约的升级同样满足版本号管理的约束,例如当前使用的
weid-contract-v1.4.0
有 bug,然后这个bug在weid-contract-v1.5.2
版本中得到了修复。则可以直接升级合约。SDK 和智能合约都需要升级。这种情况建议两者都升级到最新的 release 版本,最新版本的 SDK 一定兼容最新版本的智能合约。