Semantic Versioning

Siddharth Agarwal sid at
Fri May 2 01:12:10 CDT 2014

On 05/02/2014 05:01 AM, Jensen, Aaron wrote:
> Have you given any thought to adopting semantic versioning for deciding Mercurial's version numbers?  From
>      Given a version number MAJOR.MINOR.PATCH, increment the:
>       1. MAJOR version when you make incompatible API changes,
>       2. MINOR version when you add functionality in a backwards-compatible manner, and
>       3. PATCH version when you make backwards-compatible bug fixes.
>      Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Mercurial has a well-defined API -- its CLI -- which is guaranteed just 
about never to break. This makes semantic versioning largely irrelevant.

> It's really helpful, as someone responsible for making sure we stay as up-to-date as possible on our tools, to know how disruptive a new release of software will be. With semantic versioning, I can compare the version I've got with the version I want to upgrade to and get a pretty good idea how safe it is to upgrade, and what level of testing I need to do.
> I'd love to see Mercurial adopt semantic versioning.
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at

More information about the Mercurial-devel mailing list