Skip to content

Commit

Permalink
docs: changes based on review
Browse files Browse the repository at this point in the history
  • Loading branch information
groundwater committed Dec 5, 2017
1 parent 07a5d79 commit 1bce005
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 13 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ npm install electron --save-dev --save-exact

The `--save-exact` flag is recommended as Electron does not follow semantic
versioning. For info on how to manage Electron versions in your apps, see
[Electron versioning](https://electronjs.org/docs/tutorial/electron-versioning).
[Electron versioning](https://electronjs.org/docs/tutorial/versioning).

For more installation options and troubleshooting tips, see
[installation](https://electronjs.org/docs/tutorial/installation).
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ an issue:
* [Glossary of Terms](glossary.md)
* [Supported Platforms](tutorial/supported-platforms.md)
* [Security](tutorial/security.md)
* [Versioning](versioning.md)
* [Versioning](tutorial/versioning.md)
* [Application Distribution](tutorial/application-distribution.md)
* [Mac App Store Submission Guide](tutorial/mac-app-store-submission-guide.md)
* [Windows Store Guide](tutorial/windows-store-guide.md)
Expand Down
4 changes: 2 additions & 2 deletions docs/development/releasing.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This document describes the process for releasing a new version of Electron.
Run `npm run prepare-release -- --notesOnly` to view auto generated release
notes. The notes generated should help you determine if this is a major, minor,
patch, or beta version change. Read the
[Version Change Rules](../versioning.md#semver) for more information.
[Version Change Rules](../tutorial/versioning.md#semver) for more information.

## Run the prepare-release script
The prepare release script will do the following:
Expand Down Expand Up @@ -206,7 +206,7 @@ release to npm.
[the releases page]: https://github.com/electron/electron/releases
[this bump commit]: https://github.com/electron/electron/commit/78ec1b8f89b3886b856377a1756a51617bc33f5a
[versioning]: /docs/versioning.md
[versioning]: /docs/tutorial/versioning.md
## Fix missing binaries of a release manually
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorial/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ In Electron, Node.js and Chromium share a single V8 instance—usually the versi

### Versioning

Due to the hard dependency on Node.js and Chromium, Electron is in a tricky versioning position and [does not follow `semver`](http://semver.org). You should therefore always reference a specific version of Electron. [Read more about Electron's versioning](https://electronjs.org/docs/tutorial/electron-versioning) or see the [versions currently in use](https://electronjs.org/#electron-versions).
Due to the hard dependency on Node.js and Chromium, Electron is in a tricky versioning position and [does not follow `semver`](http://semver.org). You should therefore always reference a specific version of Electron. [Read more about Electron's versioning](https://electronjs.org/docs/tutorial/versioning) or see the [versions currently in use](https://electronjs.org/#electron-versions).

### LTS

Expand Down
7 changes: 7 additions & 0 deletions docs/tutorial/electron-versioning.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Moved to [Versioning](versioning.md)

<!--
This file will eventually be removed
-->
16 changes: 8 additions & 8 deletions docs/versioning.md → docs/tutorial/versioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Electron versions *< 2.0* have not conformed to the [semver](http://semver.org)

Here is an example of the 1.x strategy:

![](https://cdn.rawgit.com/electron/electron/version2/docs/images/versioning-sketch-0.png)
![](../images/versioning-sketch-0.png)

An app developed with `1.8.1` cannot take the `1.8.3` bug fix without either absorbing the `1.8.2` feature, or by backporting the fix and maintaining a new release line.

Expand Down Expand Up @@ -57,12 +57,12 @@ Note that most chromium updates will be considered breaking. Fixes that can be b

Stabilization branches are branches that run parallel to master, taking in only cherry-picked commits that are related to security or stability. These branches are never merged back to master.

![](https://cdn.rawgit.com/electron/electron/version2/docs/images/versioning-sketch-1.png)
![](../images/versioning-sketch-1.png)

Stabilization branches are always either **major** or **minor** version lines, and named against the following template `$MAJOR-$MINOR-x` e.g. `2-0-x`.

We allow for multiple stabilization branches to exist simultaneously, and intend to support at least two in parallel at all times, backporting security fixes as necessary.
![](https://cdn.rawgit.com/electron/electron/version2/docs/images/versioning-sketch-2.png)
![](../images/versioning-sketch-2.png)

Older lines will not be supported by GitHub, but other groups can take ownership and backport stability and security fixes on their own. We discourage this, but recognize that it makes life easier for many app developers.

Expand Down Expand Up @@ -102,17 +102,17 @@ For each major and minor bump, you should expect too see something like the foll
An example lifecycle in pictures:

* A new release branch is created that includes the latest set of features. It is published as `2.0.0-beta.1`.
![](https://cdn.rawgit.com/electron/electron/version2/docs/images/versioning-sketch-3.png)
![](../images/versioning-sketch-3.png)
* A bug fix comes into master that can be pack-ported to the release branch. The patch is applied, and a new beta is published as `2.0.0-beta.2`.
![](https://cdn.rawgit.com/electron/electron/version2/docs/images/versioning-sketch-4.png)
![](../images/versioning-sketch-4.png)
* The beta is considered _generally stable_ and it is published again as a non-beta under `2.0.0`.
![](https://cdn.rawgit.com/electron/electron/version2/docs/images/versioning-sketch-5.png)
![](../images/versioning-sketch-5.png)
* Later, a zero-day exploit is revealed and a fix is applied to master. We pack-port the fix to the `2-0-x` line and release `2.0.1`.
![](https://cdn.rawgit.com/electron/electron/version2/docs/images/versioning-sketch-6.png)
![](../images/versioning-sketch-6.png)

A few examples of how various semver ranges will pick up new releases:

![](https://cdn.rawgit.com/electron/electron/version2/docs/images/versioning-sketch-7.png)
![](../images/versioning-sketch-7.png)

# Missing Features: Alphas, and Nightly
Our strategy has a few tradeoffs, which for now we feel are appropriate. Most importantly that new features in master may take a while before reaching a stable release line. If you want to try a new feature immediately, you will have to build Electron yourself.
Expand Down

0 comments on commit 1bce005

Please sign in to comment.