Skip to content

Commit cc80930

Browse files
committed
document prereleases
1 parent 2d269fb commit cc80930

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

docs/tutorial/electron-versioning.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ If you've been using Node and npm for a while, you are probably aware of [Semant
44

55
## Overview of Semantic Versioning
66

7-
Semantic versions are always made up of three numbers:
7+
Semantic versions are always made up of (at least) three numbers:
88

99
```
1010
major.minor.patch
@@ -22,10 +22,13 @@ A simple mnemonic for remembering this scheme is as follows:
2222
breaking.feature.fix
2323
```
2424

25+
Unstable versions may also have a _pre-release identifier_. See
26+
[Prereleases](#prereleases).
27+
2528
## Electron Versioning
2629

2730
Due to its dependency on Node and Chromium, it is not possible for the Electron
28-
project to adhere to a SemVer policy. **You should therefore always
31+
project to adhere to a strict SemVer policy. **You should therefore always
2932
reference a specific version of Electron.**
3033

3134
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`.
5255
This will lock your major and minor version, but allow new patch versions to
5356
be installed.
5457

58+
## Prereleases
59+
60+
Starting at version 1.8, unstable releases of Electron have a suffix called a
61+
[pre-release identifier] appended to their version number,
62+
e.g. `1.8.0-beta.0`. A version may have many prereleases before it is
63+
considered stable, e.g. `1.8.0-beta.0`, `1.8.0-beta.1`, and eventually `1.8.0`.
64+
65+
When major, minor, and patch are equal, a pre-release version has lower
66+
precedence than a [normal version], e.g. `1.8.0-beta.0 < 1.8.0`. This is
67+
convenient because it allows you to use a range like `^1.8.0` and know
68+
that it will never match an unstable pre-release version.
69+
70+
The `latest` and `next` [npm dist tags] are also used:
71+
72+
- `npm install electron@latest` will install the latest _stable_ version.
73+
- `npm install electron@next` will install the very latest _unstable_ version.
74+
5575
[Semantic Versioning]: http://semver.org
76+
[pre-release identifier]: http://semver.org/#spec-item-9
77+
[npm dist tags]: https://docs.npmjs.com/cli/dist-tag
78+
[normal version]: http://semver.org/#spec-item-2

0 commit comments

Comments
 (0)