document prereleases

This commit is contained in:
Zeke Sikelianos 2017-08-23 08:54:23 -07:00
parent 2d269fb7f1
commit cc80930e2b

View file

@ -4,7 +4,7 @@ If you've been using Node and npm for a while, you are probably aware of [Semant
## Overview of Semantic Versioning
Semantic versions are always made up of three numbers:
Semantic versions are always made up of (at least) three numbers:
```
major.minor.patch
@ -22,10 +22,13 @@ A simple mnemonic for remembering this scheme is as follows:
breaking.feature.fix
```
Unstable versions may also have a _pre-release identifier_. See
[Prereleases](#prereleases).
## Electron Versioning
Due to its dependency on Node and Chromium, it is not possible for the Electron
project to adhere to a SemVer policy. **You should therefore always
project to adhere to a strict SemVer policy. **You should therefore always
reference a specific version of Electron.**
Electron version numbers are bumped using the following rules:
@ -52,4 +55,24 @@ Alternatively, you can use the `~` prefix in your SemVer range, like `~1.6.2`.
This will lock your major and minor version, but allow new patch versions to
be installed.
## Prereleases
Starting at version 1.8, unstable releases of Electron have a suffix called a
[pre-release identifier] appended to their version number,
e.g. `1.8.0-beta.0`. A version may have many prereleases before it is
considered stable, e.g. `1.8.0-beta.0`, `1.8.0-beta.1`, and eventually `1.8.0`.
When major, minor, and patch are equal, a pre-release version has lower
precedence than a [normal version], e.g. `1.8.0-beta.0 < 1.8.0`. This is
convenient because it allows you to use a range like `^1.8.0` and know
that it will never match an unstable pre-release version.
The `latest` and `next` [npm dist tags] are also used:
- `npm install electron@latest` will install the latest _stable_ version.
- `npm install electron@next` will install the very latest _unstable_ version.
[Semantic Versioning]: http://semver.org
[pre-release identifier]: http://semver.org/#spec-item-9
[npm dist tags]: https://docs.npmjs.com/cli/dist-tag
[normal version]: http://semver.org/#spec-item-2