From 7fd39b04c82e0da278781a4c66be0fbabc47dca2 Mon Sep 17 00:00:00 2001 From: Sofia Nguy Date: Mon, 22 Jul 2019 11:57:28 -0700 Subject: [PATCH 01/24] [WIP] feat: 6.0.0 blog post --- data/blog/electron-6-0.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 data/blog/electron-6-0.md diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md new file mode 100644 index 00000000000..e2d1bbe6d02 --- /dev/null +++ b/data/blog/electron-6-0.md @@ -0,0 +1,25 @@ +--- +title: Electron 6.0.0 +author: +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! + +--- + +## What's New + +## Breaking Changes + +## Deprecations + +## End of Support for 3.0.x + +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 From b5b3db2dec6b87bf773359dab8c9efa89f813440 Mon Sep 17 00:00:00 2001 From: Sofia Nguy Date: Tue, 23 Jul 2019 10:23:48 -0700 Subject: [PATCH 02/24] what's next --- data/blog/electron-6-0.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index e2d1bbe6d02..d1138c29187 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -23,3 +23,6 @@ Per our [supported versions policy](https://electronjs.org/docs/tutorial/support 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). \ No newline at end of file From d9c55193743c4c0dd182d4cfab2cbbffec91fe3a Mon Sep 17 00:00:00 2001 From: Sofia Nguy Date: Tue, 23 Jul 2019 11:31:03 -0700 Subject: [PATCH 03/24] what's new --- data/blog/electron-6-0.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index d1138c29187..acc52dcdeac 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -1,6 +1,7 @@ --- title: Electron 6.0.0 author: +- sofianguy date: '2019-07-30' --- @@ -10,6 +11,20 @@ The Electron team is excited to announce the release of Electron 6.0.0! You can ## 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) 🎉 + +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` + - [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 [TODO: edit] + +Electron 6 also includes improvements to Electron-specific APIs. A summary 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). + ## Breaking Changes ## Deprecations From 026d00023cf2c018868643bcf4b29450bbfa60cb Mon Sep 17 00:00:00 2001 From: Sofia Nguy Date: Tue, 23 Jul 2019 16:15:58 -0700 Subject: [PATCH 04/24] V8 --- data/blog/electron-6-0.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index acc52dcdeac..a9a3fff08dc 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -20,8 +20,9 @@ Much of Electron's functionality is provided by the core components of Chromium, - [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 [TODO: edit] + - [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. A summary 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). From 3027611c68d65bed4fd8152cf3b5e654dce6eee0 Mon Sep 17 00:00:00 2001 From: Sofia Nguy Date: Tue, 23 Jul 2019 16:16:18 -0700 Subject: [PATCH 05/24] promises --- data/blog/electron-6-0.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index a9a3fff08dc..a3df8e94758 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -26,6 +26,34 @@ Much of Electron's functionality is provided by the core components of Chromium, Electron 6 also includes improvements to Electron-specific APIs. A summary 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 5 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: +* 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()` + ## Breaking Changes ## Deprecations From e849ab66f88975bfbf69ecdf86afaa5f118c3357 Mon Sep 17 00:00:00 2001 From: Sofia Nguy Date: Tue, 23 Jul 2019 17:48:18 -0700 Subject: [PATCH 06/24] add TODOs --- data/blog/electron-6-0.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index a3df8e94758..151ab15d4c9 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -28,7 +28,7 @@ Electron 6 also includes improvements to Electron-specific APIs. A summary of th ### Promisification -Electron 5 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: +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: * Cookies API * `app.dock.show()` * `contentTracing.getCategories()` @@ -54,8 +54,12 @@ Electron 5 continues [Promisification initiative](https://github.com/electron/el * `dialog.showOpenDialog()` * `dialog.showSaveDialog()` +### [TODO: Mention the new helpers (Helper.app, (Renderer) and (Plugin))] + ## Breaking Changes +### [TODO: Reference upcoming major process model change to start raising awareness (note it won't impact anyone in a breaking way for a looonnnggg time)(issue: electron/electron#18397; planned deprecation schedule: electron/electron#18396)] + ## Deprecations ## End of Support for 3.0.x From 0a356e2cf6d038099d7882a515ecb1c8ec69c101 Mon Sep 17 00:00:00 2001 From: Sofia Nguy Date: Wed, 24 Jul 2019 11:19:11 -0700 Subject: [PATCH 07/24] more blog --- data/blog/electron-6-0.md | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 151ab15d4c9..a294d148e5d 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -24,7 +24,7 @@ Much of Electron's functionality is provided by the core components of Chromium, - 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. A summary 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). +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 @@ -54,11 +54,27 @@ Electron 6 continues [Promisification initiative](https://github.com/electron/el * `dialog.showOpenDialog()` * `dialog.showSaveDialog()` -### [TODO: Mention the new helpers (Helper.app, (Renderer) and (Plugin))] +### `Electron Helper (Render).app` and `Electron Helper (Plugin).app` +[TODO: fill in details about new Helpers] ## Breaking Changes -### [TODO: Reference upcoming major process model change to start raising awareness (note it won't impact anyone in a breaking way for a looonnnggg time)(issue: electron/electron#18397; planned deprecation schedule: electron/electron#18396)] +### `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. + +Outline for change: +* 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 From 67cdca091d0b681928211f20b1be83b7bd1d0073 Mon Sep 17 00:00:00 2001 From: Sofia Nguy Date: Wed, 24 Jul 2019 14:23:35 -0700 Subject: [PATCH 08/24] address comments --- data/blog/electron-6-0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index a294d148e5d..4eb997651ea 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -11,11 +11,11 @@ The Electron team is excited to announce the release of Electron 6.0.0! You can ## 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) 🎉 +This is the first Electron stable release to ever release on the *same day* as the corresponding [Chrome stable](https://www.chromestatus.com/features/schedule) 🎉 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` +- Chromium `76.0.3809.80` - [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) @@ -60,7 +60,7 @@ Electron 6 continues [Promisification initiative](https://github.com/electron/el ## 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. +Groundwork for requiring any native Node modules that are loaded in the renderer process to be either N-API 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. Outline for change: * Electron v6: option to disable site instance patches [#18396](https://github.com/electron/electron/pull/18396) From 2f8077d7657f57f046cc554f29c7d42b695b7f4a Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 26 Jul 2019 12:57:43 -0500 Subject: [PATCH 09/24] chore: pick up more Promise changes copied from Release Notes, since I'd already done the same legwork there. --- data/blog/electron-6-0.md | 64 +++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 26 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 4eb997651ea..869db4958ca 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -28,31 +28,43 @@ Electron 6 also includes improvements to Electron-specific APIs. Highlights of t ### 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: -* 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 6.0 continues the initiative started in 5.0 to improve [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises) support. See the [project notes](https://github.com/electron/electron/blob/master/docs/api/modernization/promisification.md) for more information. + +These functions now return Promises and still support older callback-based invocation: + * `contentTracing.getCategories()` [#16583](https://github.com/electron/electron/pull/16583) + * `contentTracing.getCategories()` [#16583](https://github.com/electron/electron/pull/16583) + * `contentTracing.getTraceBufferUsage()` [#16600](https://github.com/electron/electron/pull/16600) + * `contents.executeJavaScript()` [#17312](https://github.com/electron/electron/pull/17312) + * `cookies.flushStore()` [#16464](https://github.com/electron/electron/pull/16464) + * `cookies.get()` [#16464](https://github.com/electron/electron/pull/16464) + * `cookies.remove()` [#16464](https://github.com/electron/electron/pull/16464) + * `cookies.set()` [#16464](https://github.com/electron/electron/pull/16464) + * `dialog.showCertificateTrustDialog()` [#17181](https://github.com/electron/electron/pull/17181) + * `inAppPurchase.getProducts()` [#17355](https://github.com/electron/electron/pull/17355) + * `inAppPurchase.purchaseProduct()`[#17355](https://github.com/electron/electron/pull/17355) + * `netLog.stopLogging()` [#16862](https://github.com/electron/electron/pull/16862) + * `session.clearAuthCache()` [#17259](https://github.com/electron/electron/pull/17259) + * `session.clearCache()` [#17185](https://github.com/electron/electron/pull/17185) + * `session.clearHostResolverCache()` [#17229](https://github.com/electron/electron/pull/17229) + * `session.clearStorageData()` [#17249](https://github.com/electron/electron/pull/17249) + * `session.getBlobData()` [#17303](https://github.com/electron/electron/pull/17303) + * `session.getCacheSize()` [#17185](https://github.com/electron/electron/pull/17185) + * `session.resolveProxy()` [#17222](https://github.com/electron/electron/pull/17222) + * `session.setProxy()` [#17222](https://github.com/electron/electron/pull/17222) + * `webContents.hasServiceWorker()` [#16535](https://github.com/electron/electron/pull/16535) + * `webContents.printToPDF()` [#16795](https://github.com/electron/electron/pull/16795) + * `webContents.savePage()` [#16742](https://github.com/electron/electron/pull/16742) + * `webFrame.executeJavaScript()` [#17312](https://github.com/electron/electron/pull/17312) + * `webFrame.executeJavaScriptInIsolatedWorld()` [#17312](https://github.com/electron/electron/pull/17312) + * `webviewTag.executeJavaScript()` [#17312](https://github.com/electron/electron/pull/17312) + +These functions now have two forms, synchronous and Promise-based asynchronous: + * `dialog.showMessageBox()` [#17298](https://github.com/electron/electron/pull/17298) + * `dialog.showOpenDialog()` [#16973](https://github.com/electron/electron/pull/16973) + * `dialog.showSaveDialog()` [#17054](https://github.com/electron/electron/pull/17054) + +These functions now return Promises: + * `app.dock.show()` [#16904](https://github.com/electron/electron/pull/16904) ### `Electron Helper (Render).app` and `Electron Helper (Plugin).app` [TODO: fill in details about new Helpers] @@ -89,4 +101,4 @@ We continue to use our [App Feedback Program](https://electronjs.org/blog/app-fe ## 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). \ No newline at end of file +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). From 71a5075110d77e0f4ef72b62ad9c7da08ea42643 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 26 Jul 2019 13:32:45 -0500 Subject: [PATCH 10/24] copyediting One experimental change, I'm not sure if electronjs.org can handle the TODO list format in github-flavored markdown. I made the native module section a TODO list so that I can see how it renders in our site previewer --- data/blog/electron-6-0.md | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 869db4958ca..7dc375c9a84 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -11,7 +11,7 @@ The Electron team is excited to announce the release of Electron 6.0.0! You can ## What's New -This is the first Electron stable release to ever release on the *same day* as the corresponding [Chrome stable](https://www.chromestatus.com/features/schedule) 🎉 +Today marks a first for the Electron project: this is the first time we've made a stable Electron release **on the same day** as the corresponding [Chrome stable release](https://www.chromestatus.com/features/schedule)! 🎉 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: @@ -24,11 +24,11 @@ Much of Electron's functionality is provided by the core components of Chromium, - 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). +This release also includes improvements to Electron's APIs. [The release notes](https://github.com/electron/electron/releases/tag/v6.0.0) have a more complete list, but here are the highlights: ### Promisification -Electron 6.0 continues the initiative started in 5.0 to improve [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises) support. See the [project notes](https://github.com/electron/electron/blob/master/docs/api/modernization/promisification.md) for more information. +Electron 6.0 continues the [initiative](https://github.com/electron/electron/blob/master/docs/api/modernization/promisification.md) started in 5.0 to improve [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises) support. These functions now return Promises and still support older callback-based invocation: * `contentTracing.getCategories()` [#16583](https://github.com/electron/electron/pull/16583) @@ -72,33 +72,38 @@ These functions now return Promises: ## Breaking Changes ### `app.allowRendererProcessReuse` option -Groundwork for requiring any native Node modules that are loaded in the renderer process to be either N-API 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. + +This release starts laying the groundwork for a future requirement that native Node modules loaded in the renderer process to be either N-API or Context Aware. The reasons for this change are faster performance, stronger security, and reduced maintenance workload. Read the full details in [this issue](https://github.com/electron/electron/issues/18397). This change is expected to complete in Electron v11. Outline for change: -* 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 + + -[x] Electron v6: Add option to disable site instance patches [#18396](https://github.com/electron/electron/pull/18396) + -[ ] Electron v7: Show deprecation warnings for non-context aware native modules + -[ ] Electron v8: Show deprecation warnings 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) + + * 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 -Per our [supported versions policy](https://electronjs.org/docs/tutorial/support#supported-versions), 3.0.x has reached end of life. +Per our [supported versions policy](https://electronjs.org/docs/tutorial/support#supported-versions), 3.0.x has reached end of life. Developers and applications are encouraged to upgrade to a supported version of Electron. ## 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). From ed0bf82a18134bba274003e940eb12c12acba283 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 26 Jul 2019 13:41:02 -0500 Subject: [PATCH 11/24] chore: remove TODO list see previous commit message --- data/blog/electron-6-0.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 7dc375c9a84..90306b79bd9 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -77,12 +77,12 @@ This release starts laying the groundwork for a future requirement that native N Outline for change: - -[x] Electron v6: Add option to disable site instance patches [#18396](https://github.com/electron/electron/pull/18396) - -[ ] Electron v7: Show deprecation warnings for non-context aware native modules - -[ ] Electron v8: Show deprecation warnings 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` + * Electron 6: Add option to disable site instance patches [#18396](https://github.com/electron/electron/pull/18396) + * Electron 7: Show deprecation warnings for non-context aware native modules + * Electron 8: Show deprecation warnings for the default value of `app.allowRendererProcessReuse` to switch + * Electron 9: Switch the default value of `app.allowRendererProcessReuse` + * Electron 10: Deprecate the ability to change `app.allowRendererProcessReuse` + * Electron 11: Remove the ability to change `app.allowRendererProcessReuse` ### Other Breaking Changes From e989530c6bf95e6920014bafbbcfbf9cd130d68a Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 26 Jul 2019 13:44:59 -0500 Subject: [PATCH 12/24] chore: copyediting --- data/blog/electron-6-0.md | 56 +++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 90306b79bd9..74379f4ac80 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -31,32 +31,32 @@ This release also includes improvements to Electron's APIs. [The release notes]( Electron 6.0 continues the [initiative](https://github.com/electron/electron/blob/master/docs/api/modernization/promisification.md) started in 5.0 to improve [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises) support. These functions now return Promises and still support older callback-based invocation: - * `contentTracing.getCategories()` [#16583](https://github.com/electron/electron/pull/16583) - * `contentTracing.getCategories()` [#16583](https://github.com/electron/electron/pull/16583) - * `contentTracing.getTraceBufferUsage()` [#16600](https://github.com/electron/electron/pull/16600) - * `contents.executeJavaScript()` [#17312](https://github.com/electron/electron/pull/17312) - * `cookies.flushStore()` [#16464](https://github.com/electron/electron/pull/16464) - * `cookies.get()` [#16464](https://github.com/electron/electron/pull/16464) - * `cookies.remove()` [#16464](https://github.com/electron/electron/pull/16464) - * `cookies.set()` [#16464](https://github.com/electron/electron/pull/16464) - * `dialog.showCertificateTrustDialog()` [#17181](https://github.com/electron/electron/pull/17181) - * `inAppPurchase.getProducts()` [#17355](https://github.com/electron/electron/pull/17355) - * `inAppPurchase.purchaseProduct()`[#17355](https://github.com/electron/electron/pull/17355) - * `netLog.stopLogging()` [#16862](https://github.com/electron/electron/pull/16862) - * `session.clearAuthCache()` [#17259](https://github.com/electron/electron/pull/17259) - * `session.clearCache()` [#17185](https://github.com/electron/electron/pull/17185) - * `session.clearHostResolverCache()` [#17229](https://github.com/electron/electron/pull/17229) - * `session.clearStorageData()` [#17249](https://github.com/electron/electron/pull/17249) - * `session.getBlobData()` [#17303](https://github.com/electron/electron/pull/17303) - * `session.getCacheSize()` [#17185](https://github.com/electron/electron/pull/17185) - * `session.resolveProxy()` [#17222](https://github.com/electron/electron/pull/17222) - * `session.setProxy()` [#17222](https://github.com/electron/electron/pull/17222) - * `webContents.hasServiceWorker()` [#16535](https://github.com/electron/electron/pull/16535) - * `webContents.printToPDF()` [#16795](https://github.com/electron/electron/pull/16795) - * `webContents.savePage()` [#16742](https://github.com/electron/electron/pull/16742) - * `webFrame.executeJavaScript()` [#17312](https://github.com/electron/electron/pull/17312) - * `webFrame.executeJavaScriptInIsolatedWorld()` [#17312](https://github.com/electron/electron/pull/17312) - * `webviewTag.executeJavaScript()` [#17312](https://github.com/electron/electron/pull/17312) + * contentTracing.getCategories() [#16583](https://github.com/electron/electron/pull/16583) + * contentTracing.getCategories() [#16583](https://github.com/electron/electron/pull/16583) + * contentTracing.getTraceBufferUsage() [#16600](https://github.com/electron/electron/pull/16600) + * contents.executeJavaScript() [#17312](https://github.com/electron/electron/pull/17312) + * cookies.flushStore() [#16464](https://github.com/electron/electron/pull/16464) + * cookies.get() [#16464](https://github.com/electron/electron/pull/16464) + * cookies.remove() [#16464](https://github.com/electron/electron/pull/16464) + * cookies.set() [#16464](https://github.com/electron/electron/pull/16464) + * dialog.showCertificateTrustDialog() [#17181](https://github.com/electron/electron/pull/17181) + * inAppPurchase.getProducts() [#17355](https://github.com/electron/electron/pull/17355) + * inAppPurchase.purchaseProduct()[#17355](https://github.com/electron/electron/pull/17355) + * netLog.stopLogging() [#16862](https://github.com/electron/electron/pull/16862) + * session.clearAuthCache() [#17259](https://github.com/electron/electron/pull/17259) + * session.clearCache() [#17185](https://github.com/electron/electron/pull/17185) + * session.clearHostResolverCache() [#17229](https://github.com/electron/electron/pull/17229) + * session.clearStorageData() [#17249](https://github.com/electron/electron/pull/17249) + * session.getBlobData() [#17303](https://github.com/electron/electron/pull/17303) + * session.getCacheSize() [#17185](https://github.com/electron/electron/pull/17185) + * session.resolveProxy() [#17222](https://github.com/electron/electron/pull/17222) + * session.setProxy() [#17222](https://github.com/electron/electron/pull/17222) + * webContents.hasServiceWorker() [#16535](https://github.com/electron/electron/pull/16535) + * webContents.printToPDF() [#16795](https://github.com/electron/electron/pull/16795) + * webContents.savePage() [#16742](https://github.com/electron/electron/pull/16742) + * webFrame.executeJavaScript() [#17312](https://github.com/electron/electron/pull/17312) + * webFrame.executeJavaScriptInIsolatedWorld() [#17312](https://github.com/electron/electron/pull/17312) + * webviewTag.executeJavaScript() [#17312](https://github.com/electron/electron/pull/17312) These functions now have two forms, synchronous and Promise-based asynchronous: * `dialog.showMessageBox()` [#17298](https://github.com/electron/electron/pull/17298) @@ -73,7 +73,7 @@ These functions now return Promises: ### `app.allowRendererProcessReuse` option -This release starts laying the groundwork for a future requirement that native Node modules loaded in the renderer process to be either N-API or Context Aware. The reasons for this change are faster performance, stronger security, and reduced maintenance workload. Read the full details in [this issue](https://github.com/electron/electron/issues/18397). This change is expected to complete in Electron v11. +This release starts laying the groundwork for a future requirement that native Node modules loaded in the renderer process be either N-API or Context Aware. The reasons for this change are faster performance, stronger security, and reduced maintenance workload. Read the full details in [this issue](https://github.com/electron/electron/issues/18397). This change is expected to complete in Electron v11. Outline for change: @@ -96,7 +96,7 @@ Outline for change: ## End of Support for 3.0.x -Per our [supported versions policy](https://electronjs.org/docs/tutorial/support#supported-versions), 3.0.x has reached end of life. Developers and applications are encouraged to upgrade to a supported version of Electron. +Per our [support policy](https://electronjs.org/docs/tutorial/support#supported-versions), 3.0.x has reached end of life. Developers and applications are encouraged to upgrade to a newer version of Electron. ## App Feedback Program From 1d04a1daab306b8b937724317be659e20b20fa23 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Mon, 29 Jul 2019 09:38:34 -0700 Subject: [PATCH 13/24] add data about new Mac Helpers --- data/blog/electron-6-0.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 74379f4ac80..a2b5280f6da 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -2,6 +2,8 @@ title: Electron 6.0.0 author: - sofianguy +- ckerr +- codebytere date: '2019-07-30' --- @@ -28,7 +30,7 @@ This release also includes improvements to Electron's APIs. [The release notes]( ### Promisification -Electron 6.0 continues the [initiative](https://github.com/electron/electron/blob/master/docs/api/modernization/promisification.md) started in 5.0 to improve [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises) support. +Electron 6.0 continues the modernization [initiative](https://github.com/electron/electron/blob/master/docs/api/modernization/promisification.md) started in 5.0 to improve [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises) support. These functions now return Promises and still support older callback-based invocation: * contentTracing.getCategories() [#16583](https://github.com/electron/electron/pull/16583) @@ -67,7 +69,18 @@ These functions now return Promises: * `app.dock.show()` [#16904](https://github.com/electron/electron/pull/16904) ### `Electron Helper (Render).app` and `Electron Helper (Plugin).app` -[TODO: fill in details about new Helpers] + +There are now more Mac Helper application bundles. + +In order to enable the [hardened runtime](https://developer.apple.com/documentation/security/hardened_runtime_entitlements?language=objc), which restricts things like +writable-executable memory and loading code signed by a different Team +ID, special code signing entitlements must be granted to the Helper. + +To keep the capabilities scoped to the process types that require them, Chromium [added](https://chromium-review.googlesource.com/c/chromium/src/+/1627456) +two new variants of the Helper app: one for renderers (`Electron Helper (Render).app`) and one for plugins (`Electron Helper (Plugin).app`). + +Currently all three Helpers (the pre-existing `Electron Helper.app` in addition to the two new ones) will be code signed in the same way without +any entitlements, although this may change in the future. ## Breaking Changes From a9aa4a801e19651f8f7027fd8c9a67e9452fb8b7 Mon Sep 17 00:00:00 2001 From: Sofia Nguy Date: Mon, 29 Jul 2019 11:21:30 -0700 Subject: [PATCH 14/24] chrome bump --- data/blog/electron-6-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index a2b5280f6da..67b84b986e4 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -17,7 +17,7 @@ Today marks a first for the Electron project: this is the first time we've made 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.80` +- Chromium `76.0.3809.88` - [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) From 9b19e13549b9e473eab07c4af9a2f043ce0be287 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Mon, 29 Jul 2019 11:26:26 -0700 Subject: [PATCH 15/24] Update data/blog/electron-6-0.md Co-Authored-By: Samuel Attard --- data/blog/electron-6-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 67b84b986e4..93a65d6e3ab 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -86,7 +86,7 @@ any entitlements, although this may change in the future. ### `app.allowRendererProcessReuse` option -This release starts laying the groundwork for a future requirement that native Node modules loaded in the renderer process be either N-API or Context Aware. The reasons for this change are faster performance, stronger security, and reduced maintenance workload. Read the full details in [this issue](https://github.com/electron/electron/issues/18397). This change is expected to complete in Electron v11. +This release starts laying the groundwork for a future requirement that native Node modules loaded in the renderer process be either [N-API](https://nodejs.org/api/n-api.html) or [Context Aware](https://nodejs.org/api/addons.html#addons_context_aware_addons). The reasons for this change are faster performance, stronger security, and reduced maintenance workload. Read the full details including the proposed timeline in [this issue](https://github.com/electron/electron/issues/18397). This change is expected to be completed in Electron v11. Outline for change: From 187fd2c0fc41054ad0fd780041866b46099f8244 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Mon, 29 Jul 2019 11:28:35 -0700 Subject: [PATCH 16/24] address feedback from review --- data/blog/electron-6-0.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 93a65d6e3ab..dfccff4ec72 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -70,17 +70,16 @@ These functions now return Promises: ### `Electron Helper (Render).app` and `Electron Helper (Plugin).app` -There are now more Mac Helper application bundles. - In order to enable the [hardened runtime](https://developer.apple.com/documentation/security/hardened_runtime_entitlements?language=objc), which restricts things like writable-executable memory and loading code signed by a different Team -ID, special code signing entitlements must be granted to the Helper. +ID, special code signing entitlements needed to be granted to the Helper. -To keep the capabilities scoped to the process types that require them, Chromium [added](https://chromium-review.googlesource.com/c/chromium/src/+/1627456) +To keep these entitlements scoped to the process types that require them, Chromium [added](https://chromium-review.googlesource.com/c/chromium/src/+/1627456) two new variants of the Helper app: one for renderers (`Electron Helper (Render).app`) and one for plugins (`Electron Helper (Plugin).app`). -Currently all three Helpers (the pre-existing `Electron Helper.app` in addition to the two new ones) will be code signed in the same way without -any entitlements, although this may change in the future. +Folks using `electron-osx-sign` to codesign their Electron app shouldn't have to make any changes to their build logic. +If you're codesigning your app with custom scripts, you should ensure +that the two new Helper applications are correctly codesigned. ## Breaking Changes From 8b8066707cbbebeca261621e975d336ea4fa2a66 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Mon, 29 Jul 2019 11:31:39 -0700 Subject: [PATCH 17/24] address more feedback from @marshallofsound --- data/blog/electron-6-0.md | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index dfccff4ec72..874e7c2e846 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -61,9 +61,9 @@ These functions now return Promises and still support older callback-based invoc * webviewTag.executeJavaScript() [#17312](https://github.com/electron/electron/pull/17312) These functions now have two forms, synchronous and Promise-based asynchronous: - * `dialog.showMessageBox()` [#17298](https://github.com/electron/electron/pull/17298) - * `dialog.showOpenDialog()` [#16973](https://github.com/electron/electron/pull/16973) - * `dialog.showSaveDialog()` [#17054](https://github.com/electron/electron/pull/17054) + * `dialog.showMessageBox()`/`dialog.showMessageBoxSync()` [#17298](https://github.com/electron/electron/pull/17298) + * `dialog.showOpenDialog()`/`dialog.showOpenDialogSync()` [#16973](https://github.com/electron/electron/pull/16973) + * `dialog.showSaveDialog()`/`dialog.showSaveDialogSync()` [#17054](https://github.com/electron/electron/pull/17054) These functions now return Promises: * `app.dock.show()` [#16904](https://github.com/electron/electron/pull/16904) @@ -81,21 +81,14 @@ Folks using `electron-osx-sign` to codesign their Electron app shouldn't have to If you're codesigning your app with custom scripts, you should ensure that the two new Helper applications are correctly codesigned. +In order to package your application correctly with these two new helpers you need to be using `electron-packager@14.0.3` or higher. If you are using `electron-builder` you should follow [this issue](https://github.com/electron-userland/electron-builder/issues/4104) to track support for these new helpers. + ## Breaking Changes ### `app.allowRendererProcessReuse` option This release starts laying the groundwork for a future requirement that native Node modules loaded in the renderer process be either [N-API](https://nodejs.org/api/n-api.html) or [Context Aware](https://nodejs.org/api/addons.html#addons_context_aware_addons). The reasons for this change are faster performance, stronger security, and reduced maintenance workload. Read the full details including the proposed timeline in [this issue](https://github.com/electron/electron/issues/18397). This change is expected to be completed in Electron v11. -Outline for change: - - * Electron 6: Add option to disable site instance patches [#18396](https://github.com/electron/electron/pull/18396) - * Electron 7: Show deprecation warnings for non-context aware native modules - * Electron 8: Show deprecation warnings for the default value of `app.allowRendererProcessReuse` to switch - * Electron 9: Switch the default value of `app.allowRendererProcessReuse` - * Electron 10: Deprecate the ability to change `app.allowRendererProcessReuse` - * Electron 11: 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] @@ -106,9 +99,9 @@ Outline for change: ## Deprecations -## End of Support for 3.0.x +## End of Support for 3.x.y -Per our [support policy](https://electronjs.org/docs/tutorial/support#supported-versions), 3.0.x has reached end of life. Developers and applications are encouraged to upgrade to a newer version of Electron. +Per our [support policy](https://electronjs.org/docs/tutorial/support#supported-versions), 3.x.y has reached end of life. Developers and applications are encouraged to upgrade to a newer version of Electron. ## App Feedback Program From 982cf94e5c2fff77b7a8a59c8452175474c92292 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Mon, 29 Jul 2019 13:35:56 -0500 Subject: [PATCH 18/24] chore: remove empty deprecations section --- data/blog/electron-6-0.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 874e7c2e846..d8f268e165c 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -97,8 +97,6 @@ This release starts laying the groundwork for a future requirement that native N * 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.x.y Per our [support policy](https://electronjs.org/docs/tutorial/support#supported-versions), 3.x.y has reached end of life. Developers and applications are encouraged to upgrade to a newer version of Electron. From 01a770d64a4afb4416eb950b9af4cf6fa3a64534 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Mon, 29 Jul 2019 14:30:46 -0500 Subject: [PATCH 19/24] chore: document breaking changes --- data/blog/electron-6-0.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index d8f268e165c..e8c2386ec23 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -85,17 +85,13 @@ In order to package your application correctly with these two new helpers you ne ## Breaking Changes -### `app.allowRendererProcessReuse` option + * This release begins laying the groundwork for a future requirement that native Node modules loaded in the renderer process be either [N-API](https://nodejs.org/api/n-api.html) or [Context Aware](https://nodejs.org/api/addons.html#addons_context_aware_addons). The reasons for this change are faster performance, stronger security, and reduced maintenance workload. Read the full details including the proposed timeline in [this issue](https://github.com/electron/electron/issues/18397). This change is expected to be completed in Electron v11. -This release starts laying the groundwork for a future requirement that native Node modules loaded in the renderer process be either [N-API](https://nodejs.org/api/n-api.html) or [Context Aware](https://nodejs.org/api/addons.html#addons_context_aware_addons). The reasons for this change are faster performance, stronger security, and reduced maintenance workload. Read the full details including the proposed timeline in [this issue](https://github.com/electron/electron/issues/18397). This change is expected to be completed in Electron v11. + * `http.IncomingMessage` headers have [changed slightly](https://github.com/electron/electron/pull/17517#issue-263752903) to more closely match [Node.js behavior](https://nodejs.org/api/http.html#http_message_headers), particularly with the value of `set-cookie` and how duplicate headers are handled. [#17517](https://github.com/electron/electron/pull/17517). -### Other Breaking Changes + * `shell.showItemInFolder()` now returns void and is an asynchronous call. [#17121](https://github.com/electron/electron/pull/17121) -[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) + * The default log path has changed and `app.setAppsLogPath()` has been added to let apps manually configure this path. [#17841](https://github.com/electron/electron/pull/17841) ## End of Support for 3.x.y From 719d061389d6e264d158ca0f15b79c3280292ab9 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Mon, 29 Jul 2019 15:23:19 -0500 Subject: [PATCH 20/24] docs: clarify app.setAppsLogPath() --- data/blog/electron-6-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index e8c2386ec23..944287b72fb 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -91,7 +91,7 @@ In order to package your application correctly with these two new helpers you ne * `shell.showItemInFolder()` now returns void and is an asynchronous call. [#17121](https://github.com/electron/electron/pull/17121) - * The default log path has changed and `app.setAppsLogPath()` has been added to let apps manually configure this path. [#17841](https://github.com/electron/electron/pull/17841) + * Apps must now explicitly set a log path by calling the new function `app.setAppsLogPath()` before using `app.getPath('log')`. [#17841](https://github.com/electron/electron/pull/17841) ## End of Support for 3.x.y From 859d8cdc656aca491306c93a9674910d26c854f3 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Mon, 29 Jul 2019 15:36:38 -0500 Subject: [PATCH 21/24] docs: add backticks to function names in 6.0.0 blog post --- data/blog/electron-6-0.md | 52 +++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 944287b72fb..5be345618a0 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -33,32 +33,32 @@ This release also includes improvements to Electron's APIs. [The release notes]( Electron 6.0 continues the modernization [initiative](https://github.com/electron/electron/blob/master/docs/api/modernization/promisification.md) started in 5.0 to improve [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises) support. These functions now return Promises and still support older callback-based invocation: - * contentTracing.getCategories() [#16583](https://github.com/electron/electron/pull/16583) - * contentTracing.getCategories() [#16583](https://github.com/electron/electron/pull/16583) - * contentTracing.getTraceBufferUsage() [#16600](https://github.com/electron/electron/pull/16600) - * contents.executeJavaScript() [#17312](https://github.com/electron/electron/pull/17312) - * cookies.flushStore() [#16464](https://github.com/electron/electron/pull/16464) - * cookies.get() [#16464](https://github.com/electron/electron/pull/16464) - * cookies.remove() [#16464](https://github.com/electron/electron/pull/16464) - * cookies.set() [#16464](https://github.com/electron/electron/pull/16464) - * dialog.showCertificateTrustDialog() [#17181](https://github.com/electron/electron/pull/17181) - * inAppPurchase.getProducts() [#17355](https://github.com/electron/electron/pull/17355) - * inAppPurchase.purchaseProduct()[#17355](https://github.com/electron/electron/pull/17355) - * netLog.stopLogging() [#16862](https://github.com/electron/electron/pull/16862) - * session.clearAuthCache() [#17259](https://github.com/electron/electron/pull/17259) - * session.clearCache() [#17185](https://github.com/electron/electron/pull/17185) - * session.clearHostResolverCache() [#17229](https://github.com/electron/electron/pull/17229) - * session.clearStorageData() [#17249](https://github.com/electron/electron/pull/17249) - * session.getBlobData() [#17303](https://github.com/electron/electron/pull/17303) - * session.getCacheSize() [#17185](https://github.com/electron/electron/pull/17185) - * session.resolveProxy() [#17222](https://github.com/electron/electron/pull/17222) - * session.setProxy() [#17222](https://github.com/electron/electron/pull/17222) - * webContents.hasServiceWorker() [#16535](https://github.com/electron/electron/pull/16535) - * webContents.printToPDF() [#16795](https://github.com/electron/electron/pull/16795) - * webContents.savePage() [#16742](https://github.com/electron/electron/pull/16742) - * webFrame.executeJavaScript() [#17312](https://github.com/electron/electron/pull/17312) - * webFrame.executeJavaScriptInIsolatedWorld() [#17312](https://github.com/electron/electron/pull/17312) - * webviewTag.executeJavaScript() [#17312](https://github.com/electron/electron/pull/17312) + * `contentTracing.getCategories()` [#16583](https://github.com/electron/electron/pull/16583) + * `contentTracing.getCategories()` [#16583](https://github.com/electron/electron/pull/16583) + * `contentTracing.getTraceBufferUsage()` [#16600](https://github.com/electron/electron/pull/16600) + * `contents.executeJavaScript()` [#17312](https://github.com/electron/electron/pull/17312) + * `cookies.flushStore()` [#16464](https://github.com/electron/electron/pull/16464) + * `cookies.get()` [#16464](https://github.com/electron/electron/pull/16464) + * `cookies.remove()` [#16464](https://github.com/electron/electron/pull/16464) + * `cookies.set()` [#16464](https://github.com/electron/electron/pull/16464) + * `dialog.showCertificateTrustDialog()` [#17181](https://github.com/electron/electron/pull/17181) + * `inAppPurchase.getProducts()` [#17355](https://github.com/electron/electron/pull/17355) + * `inAppPurchase.purchaseProduct()`[#17355](https://github.com/electron/electron/pull/17355) + * `netLog.stopLogging()` [#16862](https://github.com/electron/electron/pull/16862) + * `session.clearAuthCache()` [#17259](https://github.com/electron/electron/pull/17259) + * `session.clearCache()` [#17185](https://github.com/electron/electron/pull/17185) + * `session.clearHostResolverCache()` [#17229](https://github.com/electron/electron/pull/17229) + * `session.clearStorageData()` [#17249](https://github.com/electron/electron/pull/17249) + * `session.getBlobData()` [#17303](https://github.com/electron/electron/pull/17303) + * `session.getCacheSize()` [#17185](https://github.com/electron/electron/pull/17185) + * `session.resolveProxy()` [#17222](https://github.com/electron/electron/pull/17222) + * `session.setProxy()` [#17222](https://github.com/electron/electron/pull/17222) + * `webContents.hasServiceWorker()` [#16535](https://github.com/electron/electron/pull/16535) + * `webContents.printToPDF()` [#16795](https://github.com/electron/electron/pull/16795) + * `webContents.savePage()` [#16742](https://github.com/electron/electron/pull/16742) + * `webFrame.executeJavaScript()` [#17312](https://github.com/electron/electron/pull/17312) + * `webFrame.executeJavaScriptInIsolatedWorld()` [#17312](https://github.com/electron/electron/pull/17312) + * `webviewTag.executeJavaScript()` [#17312](https://github.com/electron/electron/pull/17312) These functions now have two forms, synchronous and Promise-based asynchronous: * `dialog.showMessageBox()`/`dialog.showMessageBoxSync()` [#17298](https://github.com/electron/electron/pull/17298) From 27658433b396ee12cb5d09b8abe36b4aa611b24a Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Mon, 29 Jul 2019 15:44:54 -0500 Subject: [PATCH 22/24] docs: fix misattribution --- data/blog/electron-6-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 5be345618a0..9d3ecfaeeba 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -87,7 +87,7 @@ In order to package your application correctly with these two new helpers you ne * This release begins laying the groundwork for a future requirement that native Node modules loaded in the renderer process be either [N-API](https://nodejs.org/api/n-api.html) or [Context Aware](https://nodejs.org/api/addons.html#addons_context_aware_addons). The reasons for this change are faster performance, stronger security, and reduced maintenance workload. Read the full details including the proposed timeline in [this issue](https://github.com/electron/electron/issues/18397). This change is expected to be completed in Electron v11. - * `http.IncomingMessage` headers have [changed slightly](https://github.com/electron/electron/pull/17517#issue-263752903) to more closely match [Node.js behavior](https://nodejs.org/api/http.html#http_message_headers), particularly with the value of `set-cookie` and how duplicate headers are handled. [#17517](https://github.com/electron/electron/pull/17517). + * `net.IncomingMessage` headers have [changed slightly](https://github.com/electron/electron/pull/17517#issue-263752903) to more closely match [Node.js behavior](https://nodejs.org/api/http.html#http_message_headers), particularly with the value of `set-cookie` and how duplicate headers are handled. [#17517](https://github.com/electron/electron/pull/17517). * `shell.showItemInFolder()` now returns void and is an asynchronous call. [#17121](https://github.com/electron/electron/pull/17121) From f67a1c742db3aec3e27ef901b392bd2fe9630d5a Mon Sep 17 00:00:00 2001 From: Sofia Nguy Date: Tue, 30 Jul 2019 09:08:30 -0700 Subject: [PATCH 23/24] new in M76 link --- data/blog/electron-6-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 9d3ecfaeeba..7718843f503 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -20,7 +20,7 @@ Much of Electron's functionality is provided by the core components of Chromium, - Chromium `76.0.3809.88` - [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) + - [New in 76](https://developers.google.com/web/updates/2019/07/nic76) - 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` From d7c394073769a736e6163e7b84da1ae99befe755 Mon Sep 17 00:00:00 2001 From: Samuel Attard Date: Tue, 30 Jul 2019 09:15:43 -0700 Subject: [PATCH 24/24] Update electron-6-0.md --- data/blog/electron-6-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/blog/electron-6-0.md b/data/blog/electron-6-0.md index 7718843f503..99644eaceb9 100644 --- a/data/blog/electron-6-0.md +++ b/data/blog/electron-6-0.md @@ -81,7 +81,7 @@ Folks using `electron-osx-sign` to codesign their Electron app shouldn't have to If you're codesigning your app with custom scripts, you should ensure that the two new Helper applications are correctly codesigned. -In order to package your application correctly with these two new helpers you need to be using `electron-packager@14.0.3` or higher. If you are using `electron-builder` you should follow [this issue](https://github.com/electron-userland/electron-builder/issues/4104) to track support for these new helpers. +In order to package your application correctly with these two new helpers you need to be using `electron-packager@14.0.4` or higher. If you are using `electron-builder` you should follow [this issue](https://github.com/electron-userland/electron-builder/issues/4104) to track support for these new helpers. ## Breaking Changes