Friday, July 24, 2015

Semantic Versioning

... or why the next version of melonJS won't be 2.2.0!

Starting with the upcoming release, we will adopt semantic versioning (SemVer) for melonJS. In the past we did not really follow any rules (except recently for pure bug fix releases), and adding breaking changes through all major releases was not making either your lives or our lives easier in terms upgradeability or maintenance.

Furthermore, as melonJS codebase and features list keep growing, we needed to set some base rules to make our development approach more professional for our team and all contributors.

What does this mean for you?

As we already introduced breaking changes in the current development branch, the next version of melonJS will therefore be 3.0.0, as we will now adopt the following logic:

  • 3.x.y : This introduces a MAJOR release with incompatible API changes; If you upgrade from a previous version (for example 2.1.0), some adjustments will be required in your code.
  • x.2.y : Means a MINOR release introducing new features, but in a backward compatible way, which means that you can safely upgrade to a minor version without worrying about API changes, yet benefit from new features.
  • x.y.1 : Pure maintenance, or bug fix release. Those usually follow a major or minor release, and are completely safe, and even recommended to update to, as they fix issues reported/discovered during active deployment.

Finally, SemVer is a well known release versioning convention. It's widely used and recognized throughout the industry. We believe that SemVer will help melonJS fit better with other libraries and frameworks.

- the melonJS team

No comments:

Post a Comment