Указание номеров версий в Bower

При написании bower.json вы можете указать номера версий в своих зависимостях. Иногда я вижу, как люди пишут

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

Что именно означает ~? Почему бы не написать >= 0.3.13?

Это какая-то лучшая практика?

Ответ 1

Он semver, и нотация совпадает с >=0.3.13 <0.4.0, которая будет соответствовать всем patch релизам после и 0.3.13, но не 0.4.0. Это означает, что вы получите исправления ошибок (patch), но не новые функции (minor). >=0.3.13 не рекомендуется, так как он будет соответствовать чему-либо выше, которое в какой-то момент прерывается.