5b5c161601
* Refactor app.makeSingleInstance * new API `app.isPrimaryInstance()` * new API `app.isSingleInstance()` * new event `app.on('second-instance')` * deprecated old syntax `app.makeSingleInstance(cb)` * deprecated old syntax of `app.makeSingleInstance() --> bool` in favor of `app.isPrimaryInstance()` * Fix spec, we don't need process.nextTick hacks any more * Make deprecation TODO for the return value of makeSingleInstance * Refactor makeSingleInstance to requestSingleInstanceLock and add appropriate deprecation comments * I swear this isn't tricking the linter * Make const * Add deprecation warnings for release, and add to planned-breaking-changes BREAKING CHANGE
182 lines
No EOL
3.4 KiB
Markdown
182 lines
No EOL
3.4 KiB
Markdown
# Planned Breaking API Changes (3.0)
|
|
|
|
The following list includes the APIs that will be removed in Electron 3.0.
|
|
|
|
There is no timetable for when this release will occur but deprecation
|
|
warnings will be added at least [one major version](electron-versioning.md#semver) beforehand.
|
|
|
|
## `app`
|
|
|
|
```js
|
|
// Deprecated
|
|
app.getAppMemoryInfo()
|
|
// Replace with
|
|
app.getAppMetrics()
|
|
```
|
|
|
|
## `BrowserWindow`
|
|
|
|
```js
|
|
// Deprecated
|
|
let optionsA = {webPreferences: {blinkFeatures: ''}}
|
|
let windowA = new BrowserWindow(optionsA)
|
|
// Replace with
|
|
let optionsB = {webPreferences: {enableBlinkFeatures: ''}}
|
|
let windowB = new BrowserWindow(optionsB)
|
|
```
|
|
|
|
## `clipboard`
|
|
|
|
```js
|
|
// Deprecated
|
|
clipboard.readRtf()
|
|
// Replace with
|
|
clipboard.readRTF()
|
|
|
|
// Deprecated
|
|
clipboard.writeRtf()
|
|
// Replace with
|
|
clipboard.writeRTF()
|
|
|
|
// Deprecated
|
|
clipboard.readHtml()
|
|
// Replace with
|
|
clipboard.readHTML()
|
|
|
|
// Deprecated
|
|
clipboard.writeHtml()
|
|
// Replace with
|
|
clipboard.writeHTML()
|
|
```
|
|
|
|
## `crashReporter`
|
|
|
|
```js
|
|
// Deprecated
|
|
crashReporter.start({
|
|
companyName: 'Crashly',
|
|
submitURL: 'https://crash.server.com',
|
|
autoSubmit: true
|
|
})
|
|
// Replace with
|
|
crashReporter.start({
|
|
companyName: 'Crashly',
|
|
submitURL: 'https://crash.server.com',
|
|
uploadToServer: true
|
|
})
|
|
```
|
|
|
|
## `nativeImage`
|
|
|
|
```js
|
|
// Deprecated
|
|
nativeImage.createFromBuffer(buffer, 1.0)
|
|
// Replace with
|
|
nativeImage.createFromBuffer(buffer, {
|
|
scaleFactor: 1.0
|
|
})
|
|
```
|
|
|
|
## `screen`
|
|
|
|
```js
|
|
// Deprecated
|
|
screen.getMenuBarHeight()
|
|
// Replace with
|
|
screen.getPrimaryDisplay().workArea
|
|
```
|
|
|
|
## `session`
|
|
|
|
```js
|
|
// Deprecated
|
|
ses.setCertificateVerifyProc(function (hostname, certificate, callback) {
|
|
callback(true)
|
|
})
|
|
// Replace with
|
|
ses.setCertificateVerifyProc(function (request, callback) {
|
|
callback(0)
|
|
})
|
|
```
|
|
|
|
## `Tray`
|
|
|
|
```js
|
|
// Deprecated
|
|
tray.setHighlightMode(true)
|
|
// Replace with
|
|
tray.setHighlightMode('on')
|
|
|
|
// Deprecated
|
|
tray.setHighlightMode(false)
|
|
// Replace with
|
|
tray.setHighlightMode('off')
|
|
```
|
|
|
|
## `webContents`
|
|
|
|
```js
|
|
// Deprecated
|
|
webContents.openDevTools({detach: true})
|
|
// Replace with
|
|
webContents.openDevTools({mode: 'detach'})
|
|
```
|
|
|
|
## `webFrame`
|
|
|
|
```js
|
|
// Deprecated
|
|
webFrame.registerURLSchemeAsSecure('app')
|
|
// Replace with
|
|
protocol.registerStandardSchemes(['app'], {secure: true})
|
|
|
|
// Deprecated
|
|
webFrame.registerURLSchemeAsPrivileged('app', {secure: true})
|
|
// Replace with
|
|
protocol.registerStandardSchemes(['app'], {secure: true})
|
|
```
|
|
|
|
## Node Headers URL
|
|
|
|
This is the URL specified as `disturl` in a `.npmrc` file or as the `--dist-url`
|
|
command line flag when building native Node modules.
|
|
|
|
Deprecated: https://atom.io/download/atom-shell
|
|
|
|
Replace with: https://atom.io/download/electron
|
|
|
|
## `FIXME` comments
|
|
|
|
The `FIXME` string is used in code comments to denote things that should be
|
|
fixed for the 3.0 release. See
|
|
https://github.com/electron/electron/search?q=fixme
|
|
|
|
# Planned Breaking API Changes (4.0)
|
|
|
|
The following list includes the APIs that will be removed in Electron 4.0.
|
|
|
|
There is no timetable for when this release will occur but deprecation
|
|
warnings will be added at least [one major version](electron-versioning.md#semver) beforehand.
|
|
|
|
## `app.makeSingleInstance`
|
|
|
|
```js
|
|
// Deprecated
|
|
app.makeSingleInstance(function (argv, cwd) {
|
|
|
|
})
|
|
// Replace with
|
|
app.requestSingleInstanceLock()
|
|
app.on('second-instance', function (argv, cwd) {
|
|
|
|
})
|
|
```
|
|
|
|
## `app.releaseSingleInstance`
|
|
|
|
```js
|
|
// Deprecated
|
|
app.releaseSingleInstance()
|
|
// Replace with
|
|
app.releaseSingleInstanceLock()
|
|
``` |