Electron Documentation

Docs / Guides / Planned Breaking API Changes (3.0) electron@master (b3edfd)

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 beforehand.

app

// Deprecated
  app.getAppMemoryInfo()
  // Replace with
  app.getAppMetrics()

BrowserWindow

// Deprecated
  let optionsA = {webPreferences: {blinkFeatures: ''}}
  let windowA = new BrowserWindow(optionsA)
  // Replace with
  let optionsB = {webPreferences: {enableBlinkFeatures: ''}}
  let windowB = new BrowserWindow(optionsB)
  
  // Deprecated
  window.on('app-command', (e, cmd) => {
    if (cmd === 'media-play_pause') {
      // do something
    }
  })
  // Replace with
  window.on('app-command', (e, cmd) => {
    if (cmd === 'media-play-pause') {
      // do something
    }
  })

clipboard

// 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

// 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

// Deprecated
  nativeImage.createFromBuffer(buffer, 1.0)
  // Replace with
  nativeImage.createFromBuffer(buffer, {
    scaleFactor: 1.0
  })

screen

// Deprecated
  screen.getMenuBarHeight()
  // Replace with
  screen.getPrimaryDisplay().workArea

session

// Deprecated
  ses.setCertificateVerifyProc(function (hostname, certificate, callback) {
    callback(true)
  })
  // Replace with
  ses.setCertificateVerifyProc(function (request, callback) {
    callback(0)
  })

Tray

// Deprecated
  tray.setHighlightMode(true)
  // Replace with
  tray.setHighlightMode('on')
  
  // Deprecated
  tray.setHighlightMode(false)
  // Replace with
  tray.setHighlightMode('off')

webContents

// Deprecated
  webContents.openDevTools({detach: true})
  // Replace with
  webContents.openDevTools({mode: 'detach'})

webFrame

// 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 beforehand.

app.makeSingleInstance

// Deprecated
  app.makeSingleInstance(function (argv, cwd) {
  
  })
  // Replace with
  app.requestSingleInstanceLock()
  app.on('second-instance', function (argv, cwd) {
  
  })

app.releaseSingleInstance

// Deprecated
  app.releaseSingleInstance()
  // Replace with
  app.releaseSingleInstanceLock()