I think it's about time for us to switch to semantic versioning (
http://semver.org/).

Most of the users these days are already familiar with (and expect) the
semantic versioning scheme. This change will make it easier for them to
know what to expect and when to upgrade.

Currently we follow "0." versioning scheme and the version numbers follow
this format:  0.<major>.<minor>.

This format is not ideal, because:

1. It's an outlier and more people are familiar with semantic versioning
2. We bump <minor> component for both, bug fix releases and releases with
new backward-compatible features
3. People associate "1.0.0" with stability and I would argue that Libcloud
has been successfully used in production for long enough to warrant 1.0.0
release

As noted above, Libcloud has already been used in production for a long
time and the base API has been relatively stable, so I propose we switch to
1.0.0 after the next release (0.14.0).

Some of you might say that it's confusing to switch directly from 0.14.0 to
1.0.0 because 1.0.0 mostly likely won't contain any major changes.

I don't think it's a big deal and the Linux kernel did a similar thing with
2.6 to 3.0 transition[1].

Feedback, comments?

[1]:
http://arstechnica.com/information-technology/2011/07/linux-kernel-version-bumped-up-to-30-as-20th-birthday-approaches/

Reply via email to