API and Wrapper Versioning for GAMEhud

written by Creston

When we first released our API wrapper for Unity 3D, I set its version at 0.1 because that is what I thought I was supposed to do.  The second version would be 0.2 and so on.  I have seen this pattern with many software releases.  Of course, this sends a message that it is not ready for general consumption.  A user of it might think, "Wow, they have not even reached version 1 yet."  But, the reality is that it IS the first version of our API wrapper.  

In addition, this wrapper was designed to work with the first version of our API which we are calling v1.  Since we are sending the version in the URL, we decided to stick with integer only numbering.  

Of course, the problem with this scheme is that it may lead to confusion.  "Wait, the version 0.1 API wrapper works with version 1 of the API?"  To avoid this confusion and better reflect reality, we have changed our versioning scheme.

So, the API for our service will start at 1 and increment by whole numbers.  The versions of our API wrapper will start at 1 as well to match the version of the API for which it was designed.  In addition, we may add incremental functionality to the wrappers.  In that case, we will increment the version using decimal values.  So at this time, the API for the GAMEhud service is at version 1 and the API wrapper for Unity 3D is at version 1.2.  Hopefully, this will minimize confusion as we move forward.  Can anyone think of a better way to do it?

As always, we welcome all comments and suggestions.  If you liked this article, please share it with others.

blog comments powered by Disqus