The Ninject project consists of a Ninject Core library and a batch (~ 17) of extension libraries.
Ninject and its extension libraries currently have the same Major.Minor number. The next release of the Ninject kernel will be backward compatible, so increasing the minor number is the right thing to do. At least one of the extension libraries will not be backward compatible. In this case, the correct action will be to increase the main number. But this will lead to the fact that the kernel and extensions are not synchronized.
The question is which option do you consider to be the best, which will cause the least confusion:
Correctly increase the main number with the advantage that the version number reflects incompatibility in the opposite direction and the disadvantage that the kernel and extensions are not synchronized, so it will not be easy to say which matches are greater.
Keep the primary extension number and increase only the minor number. With the advantage that the numbers are the same, and itβs easy to determine what matches. But dsiadvantage that number does not reflect backward incompatibility.
Increase the bulk of everything. With the advantage that the numbers are the same. But the disadvantage is that the main and several extensions have a larger number, increased even if they are backward compatible.
Or can you think of another better option?
source share