top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

Does the SDK follow semantic versioning?

+6 votes
345 views
Does the SDK follow semantic versioning?
posted Dec 30, 2015 by Vrije Mani Upadhyay

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

0 votes

Yes. The SDK follows a semantic versioning scheme similar to – but not the same as – semver. Instead of the MAJOR.MINOR.PATCH scheme specified by semver, the SDK actually follows a scheme that looks like PARADIGM.MAJOR.MINOR where:

The PARADIGM version number is incremented when drastic, breaking changes are made to the SDK, such that the fundamental way of using the SDK is different. You are probably aware that version 1.x and version 2.x of the AWS SDK for PHP are very different.

The MAJOR version number is incremented when breaking changes are made to the API. These are usually small changes, and only occur when one of the services makes breaking changes changes to their API. Make sure to check the CHANGELOG and UPGRADING documents when these changes occur.
The MINOR version number is incremented when any backwards-compatible change is made, whether it's a new feature or a bug fix.

The best way to ensure that you are not affected by breaking changes is to set your dependency on the SDK in Composer to stay within a particular PARADIGM.MAJOR version. This can be done using the wildcard syntax:

{
    "require": {
        "aws/aws-sdk-php": "2.4.*"
    }
}
...Or by using the the tilde operator. The following statement is equivalent to >=2.4.9,<2.5:

{
    "require": {
        "aws/aws-sdk-php": "~2.4.9"
    }
}

The SDK may at some point adopt the semver standard, but this will probably not happen until the next paradigm-type change.

answer Jan 4, 2016 by Manikandan J
Similar Questions
+2 votes

What is an SDK and what is an API? How both are different then each other?
Can a JDK called an sdk? Why or why not?

Is MYSQL an SDK?

0 votes

We have tried to do build with the normal user, but it failed after some time without giving any permission issue. I have made compilation directory permission as 777 and the same code has been compiled successfully with sudo or root user.

...