Smart Semantic Versioning for Smartsheet SDKs
Published on 16 May 2019
Smartsheet has a new versioning strategy for our SDKs. It will help us stay better organized about what features work in which SDK. Hopefully, it will help you too!
Before May 2019, we used a more traditional interpretation of Semantic Versioning, which looks like the following example:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
With our May 2019 releases, we are changing to our own flavor of Semantic Versioning, which looks more like the following example:
SMARTSHEET API MAJOR.SMARTSHEET APP MINOR.PATCH
- SMARTSHEET API MAJOR version when you make incompatible API changes. Since 2015, all Smartsheet API users have used our API 2.0, so this number will now be “2” to reflect that. It is not, however, incompatible with your existing usage of our API or SDKs. We’re just catching up a bit to a change we made four years ago. This is the same “2.0” that is reflected in every endpoint you use, for example
- SMARTSHEET APP MINOR version when you add functionality in a backwards-compatible manner. These numbers will use an internal reference number to help us track what features are in which SDK, for example “68” maps to our release codenamed Transistor, and
- PATCH version when you make bug fixes or apply security patches, again always keeping in mind backwards compatibility.
The big difference from traditional Semantic Versioning to our new Smart Semantic Versioning is that the Major position has to do with our entire API offering and the Minor position has to do with features in our app, i.e., mixing two slightly different things for one versioning syntax. Hopefully, this hasn’t caused any concern on your end and this blog post answers any questions you have.
Here are links to our most recent SDK versions.