57 lines
1.1 KiB
Markdown
57 lines
1.1 KiB
Markdown
---
|
|
title: Semver
|
|
layout: default
|
|
---
|
|
|
|
Given a version number `MAJOR.MINOR.PATCH`:
|
|
|
|
* `MAJOR` = incompatible API changes.
|
|
* `MINOR` = add functionality. (backwards-compatible)
|
|
* `PATCH` = bug fixes. (backwards-compatible)
|
|
|
|
### Simple ranges
|
|
|
|
1.2.3
|
|
=1.2.3
|
|
>1.2.3
|
|
<1.2.3
|
|
>=1.2.3
|
|
|
|
Note that suffixed versions (`1.2.3-rc1`) are not matched.
|
|
|
|
### Ranges
|
|
|
|
~1.2.3 : is >=1.2.3 <1.3.0
|
|
|
|
^1.2.3 : is >=1.2.3 <2.0.0
|
|
^0.2.3 : is >=0.2.3 <0.3.0 (0.x.x is special)
|
|
^0.0.1 : is =0.0.1 (0.0.x is special)
|
|
|
|
^1.2 : is >=1.2.0 <2.0.0 (like ^1.2.0)
|
|
~1.2 : is >=1.2.0 <1.3.0 (like ~1.2.0)
|
|
|
|
^1 : is >=1.0.0 <2.0.0
|
|
~1 : same
|
|
1.x : same
|
|
1.* : same
|
|
1 : same
|
|
|
|
* : any version
|
|
x : same
|
|
|
|
### Pre-releases
|
|
|
|
1.2.3-prerelease+build
|
|
|
|
### Explanation
|
|
|
|
* `^` means "compatible with"
|
|
* `~` means "reasonably close to"
|
|
* `0.x.x` is for "initial development"
|
|
* `1.x.x` means public API is defined
|
|
|
|
### References
|
|
|
|
* http://semver.org/
|
|
* https://www.npmjs.org/doc/misc/semver.html
|