Skip to content
This repository has been archived by the owner on Nov 29, 2022. It is now read-only.

docs: 6.0.0 blog post #2799

Merged
merged 29 commits into from Jul 30, 2019
Merged
Changes from 7 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
7fd39b0
[WIP] feat: 6.0.0 blog post
sofianguy Jul 22, 2019
b5b3db2
what's next
sofianguy Jul 23, 2019
d9c5519
what's new
sofianguy Jul 23, 2019
026d000
V8
sofianguy Jul 23, 2019
3027611
promises
sofianguy Jul 23, 2019
e849ab6
add TODOs
sofianguy Jul 24, 2019
0a356e2
more blog
sofianguy Jul 24, 2019
67cdca0
address comments
sofianguy Jul 24, 2019
2f8077d
chore: pick up more Promise changes
ckerr Jul 26, 2019
71a5075
copyediting
ckerr Jul 26, 2019
b4f5525
Merge branch 'master' into six-oh-blog
ckerr Jul 26, 2019
ed0bf82
chore: remove TODO list
ckerr Jul 26, 2019
e989530
chore: copyediting
ckerr Jul 26, 2019
6199573
Merge branch 'six-oh-blog' of https://github.com/electron/electronjs.…
ckerr Jul 26, 2019
8662b5e
Merge branch 'master' into six-oh-blog
sofianguy Jul 29, 2019
1d04a1d
add data about new Mac Helpers
codebytere Jul 29, 2019
a9aa4a8
chrome bump
sofianguy Jul 29, 2019
9b19e13
Update data/blog/electron-6-0.md
codebytere Jul 29, 2019
187fd2c
address feedback from review
codebytere Jul 29, 2019
8b80667
address more feedback from @marshallofsound
codebytere Jul 29, 2019
982cf94
chore: remove empty deprecations section
ckerr Jul 29, 2019
01a770d
chore: document breaking changes
ckerr Jul 29, 2019
b8e3565
Merge branch 'master' into six-oh-blog
ckerr Jul 29, 2019
719d061
docs: clarify app.setAppsLogPath()
ckerr Jul 29, 2019
859d8cd
docs: add backticks to function names in 6.0.0 blog post
ckerr Jul 29, 2019
2765843
docs: fix misattribution
ckerr Jul 29, 2019
f67a1c7
new in M76 link
sofianguy Jul 30, 2019
d7c3940
Update electron-6-0.md
MarshallOfSound Jul 30, 2019
6df21a4
Merge branch 'master' into six-oh-blog
codebytere Jul 30, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
92 changes: 92 additions & 0 deletions data/blog/electron-6-0.md
@@ -0,0 +1,92 @@
---
title: Electron 6.0.0
author:
- sofianguy
date: '2019-07-30'
---

The Electron team is excited to announce the release of Electron 6.0.0! You can install it with npm via `npm install electron@latest` or download it from our [releases website](https://electronjs.org/releases/stable). The release is packed with upgrades, fixes, and new features. We can't wait to see what you build with them! Continue reading for details about this release, and please share any feedback you have!
sofianguy marked this conversation as resolved.
Show resolved Hide resolved

---

## What's New

This is the first Electron stable release to ever release on the *same day* as [Chrome stable](https://www.chromestatus.com/features/schedule) 🎉
sofianguy marked this conversation as resolved.
Show resolved Hide resolved

Much of Electron's functionality is provided by the core components of Chromium, Node.js, and V8. Electron keeps up-to-date with these projects to provide our users with new JavaScript features, performance improvements, and security fixes. Each of these packages has a major version bump in Electron 6:

- Chromium `76.0.3809.77`
sofianguy marked this conversation as resolved.
Show resolved Hide resolved
- [New in 74](https://developers.google.com/web/updates/2019/04/nic74)
- [New in 75](https://developers.google.com/web/updates/2019/06/nic75)
- [New in 76](https://developers.google.com/web/updates/tags/chrome76)
- Node.js `12.4.0`
- [Node 12.4.0 blog post](https://nodejs.org/en/blog/release/v12.4.0/)
- V8 `7.6.303.22`
- [V8 7.6 blog post](https://v8.dev/blog/v8-release-76)

Electron 6 also includes improvements to Electron-specific APIs. Highlights of the major changes is below; for the full list of changes, check out the [Electron v6.0.0 release notes](https://github.com/electron/electron/releases/tag/v6.0.0).

### Promisification

Electron 6 continues [Promisification initiative](https://github.com/electron/electron/blob/5-0-x/docs/api/promisification.md) initiative to convert Electron's callback-based API to use Promises. These APIs were converted for Electron 6:
sofianguy marked this conversation as resolved.
Show resolved Hide resolved
* Cookies API
* `app.dock.show()`
* `contentTracing.getCategories()`
* `contentTracing.getTraceBufferUsage()`
* `contents.executeJavaScript()`
* `webFrame.executeJavaScript()`
* `webFrame.executeJavaScriptInIsolatedWorld()`
* `webviewTag.executeJavaScript()`
* `dialog.showCertificateTrustDialog()`
* `netLog.stopLogging()`
* `session.clearAuthCache()`
* `session.clearHostResolverCache()`
* `session.clearStorageData()`
* `session.getBlobData()`
* `session.getCacheSize()`
* `session.clearCache()`
* `session.setProxy()`
* `session.resolveProxy()`
* `webContents.hasServiceWorker()`
* `webContents.printToPDF()`
* `webContents.savePage()`
* `dialog.showMessageBox()`
* `dialog.showOpenDialog()`
* `dialog.showSaveDialog()`

### `Electron Helper (Render).app` and `Electron Helper (Plugin).app`
codebytere marked this conversation as resolved.
Show resolved Hide resolved
[TODO: fill in details about new Helpers]

## Breaking Changes

### `app.allowRendererProcessReuse` option
Groundwork for requiring any native Node modules that are loaded in the renderer process to be either NAPI or Context Aware. The main reasons for this change are for app performance, security benefits, and lessen maintenance. Read the full details in [this issue](https://github.com/electron/electron/issues/18397). This change is expected to complete in Electron v11.
sofianguy marked this conversation as resolved.
Show resolved Hide resolved

Outline for change:
codebytere marked this conversation as resolved.
Show resolved Hide resolved
* Electron v6: option to disable site instance patches [#18396](https://github.com/electron/electron/pull/18396)
* Electron v7: first deprecation warning for non-context aware native modules
* Electron v8: deprecation warning for the default value of app.allowRendererProcessReuse to switch
* Electron v9: switch the default value of `app.allowRendererProcessReuse`
* Electron v10: deprecate the ability to change `app.allowRendererProcessReuse`
* Electron v11: remove the ability to change `app.allowRendererProcessReuse`

### other breaking changes
[TODO: need to provide details for the following bullet items or omit from blog post]
* Fixed disparity between `net` module headers and Node.js' `http.IncomingMessage` headers. [#17517](https://github.com/electron/electron/pull/17517)
* Made `ShowItemInFolder` asynchronous with no return value. [#17121](https://github.com/electron/electron/pull/17121)
* Made app log directory creation opt-in with a new function `app.setAppLogsPath`. [#17841](https://github.com/electron/electron/pull/17841)

## Deprecations

## End of Support for 3.0.x
codebytere marked this conversation as resolved.
Show resolved Hide resolved

Per our [supported versions policy](https://electronjs.org/docs/tutorial/support#supported-versions), 3.0.x has reached end of life.

## App Feedback Program

We continue to use our [App Feedback Program](https://electronjs.org/blog/app-feedback-program) for testing. Projects who participate in this program test Electron betas on their apps; and in return, the new bugs they find are prioritized for the stable release. If you'd like to participate or learn more, [check out our blog post about the program](https://electronjs.org/blog/app-feedback-program).

## What's Next
In the short term, you can expect the team to continue to focus on keeping up with the development of the major components that make up Electron, including Chromium, Node, and V8. Although we are careful not to make promises about release dates, our plan is release new major versions of Electron with new versions of those components approximately quarterly. The [tentative 7.0.0 schedule](https://electronjs.org/docs/tutorial/electron-timelines) maps out key dates in the Electron 7 development life cycle. Also, [see our versioning document](https://electronjs.org/docs/tutorial/electron-versioning) for more detailed information about versioning in Electron.

For information on planned breaking changes in upcoming versions of Electron, [see our Planned Breaking Changes doc](https://github.com/electron/electron/blob/master/docs/api/breaking-changes.md).