Specifying version numbers in Bower

Presidenten picture Presidenten · Sep 26, 2013 · Viewed 13.6k times · Source

When writing bower.json you can specify version numbers in your dependencies. Sometimes I see people writing

{
...
    "devDependencies" : {
        "grunt" : "~0.3.13",
    }
}

What exactly does the ~ mean? Why not write >=0.3.13?

Is this some sort of best practice?

Answer

Sindre Sorhus picture Sindre Sorhus · Sep 27, 2013

It's semver and the notation is the same as >=0.3.13 <0.4.0, which will match all patch releases after and including 0.3.13, but not 0.4.0. This means you'll get bug fixes (patch), but not new features (minor). >=0.3.13 is not recommended as it will match anything above which will at some point break.