2018-05-29 11:15:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# API Contract
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-06-22 13:43:39 +10:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Breaking changes will be documented here, and deprecation warnings added to JS code where possible, at least [one major version ](../tutorial/electron-versioning.md#semver ) before the change is made.
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:15:30 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# `FIXME` comments
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								The `FIXME`  string is used in code comments to denote things that should be fixed for future releases. See https://github.com/electron/electron/search?q=fixme
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:17:26 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# Planned Breaking API Changes (4.0)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:42:20 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								The following list includes the breaking API changes planned for Electron 4.0.
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:17:26 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## `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()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-06-26 23:47:01 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# Breaking API Changes (3.0)
 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 11:41:54 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-06-26 23:47:01 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								The following list includes the breaking API changes in Electron 3.0.
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 11:41:54 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-17 20:01:06 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `app`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								app.getAppMemoryInfo()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Replace with
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								app.getAppMetrics()
							 
						 
					
						
							
								
									
										
										
										
											2018-06-26 23:47:01 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								const metrics = app.getAppMetrics()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								const {memory} = metrics[0]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								memory.privateBytes  // Deprecated property
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								memory.sharedBytes  // Deprecated property
							 
						 
					
						
							
								
									
										
										
										
											2017-05-17 20:01:06 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:09:49 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `BrowserWindow`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:15:05 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								let optionsA = {webPreferences: {blinkFeatures: ''}}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								let windowA = new BrowserWindow(optionsA)
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:09:49 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Replace with
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:15:05 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								let optionsB = {webPreferences: {enableBlinkFeatures: ''}}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								let windowB = new BrowserWindow(optionsB)
							 
						 
					
						
							
								
									
										
										
										
											2018-05-21 10:52:04 +09:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// 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
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								})
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:09:49 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## `clipboard`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 11:41:54 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								```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()
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:09:49 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-28 15:06:03 -08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `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
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								})
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:09:49 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `nativeImage`
 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 11:41:54 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:09:49 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2016-12-14 10:12:37 -08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								nativeImage.createFromBuffer(buffer, 1.0)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Replace with
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								nativeImage.createFromBuffer(buffer, {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  scaleFactor: 1.0
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								})
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:09:49 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 11:41:54 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-06-26 23:47:01 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `process`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								const info = process.getProcessMemoryInfo()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								const privateBytes = info.privateBytes // deprecated property
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								const sharedBytes = info.sharedBytes // deprecated property
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-03-07 02:06:33 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `screen`
 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-16 15:57:07 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
									
										
										
										
											2018-03-07 02:06:33 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								screen.getMenuBarHeight()
							 
						 
					
						
							
								
									
										
										
										
											2016-09-16 15:57:07 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Replace with
							 
						 
					
						
							
								
									
										
										
										
											2018-03-07 02:06:33 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								screen.getPrimaryDisplay().workArea
							 
						 
					
						
							
								
									
										
										
										
											2016-09-16 15:57:07 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-07 15:44:56 -08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `session`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								ses.setCertificateVerifyProc(function (hostname, certificate, callback) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  callback(true)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								})
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Replace with
							 
						 
					
						
							
								
									
										
										
										
											2017-02-07 16:35:37 -08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								ses.setCertificateVerifyProc(function (request, callback) {
							 
						 
					
						
							
								
									
										
										
										
											2017-02-07 15:44:56 -08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  callback(0)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								})
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:09:49 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `Tray`
 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 11:41:54 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:09:49 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 11:41:54 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								tray.setHighlightMode(true)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Replace with
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								tray.setHighlightMode('on')
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								tray.setHighlightMode(false)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Replace with
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								tray.setHighlightMode('off')
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:09:49 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 11:41:54 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-09-08 09:09:49 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `webContents`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 11:41:54 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								webContents.openDevTools({detach: true})
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Replace with
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								webContents.openDevTools({mode: 'detach'})
							 
						 
					
						
							
								
									
										
										
										
											2018-08-23 10:45:43 +09:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Removed
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								webContents.setSize(options)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// There is no replacement for this API
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 11:41:54 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2016-11-04 14:30:14 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-22 08:11:14 -08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `webFrame`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2016-11-14 12:33:30 -06:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								webFrame.registerURLSchemeAsSecure('app')
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Replace with
							 
						 
					
						
							
								
									
										
										
										
											2016-11-16 08:41:06 -06:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								protocol.registerStandardSchemes(['app'], {secure: true})
							 
						 
					
						
							
								
									
										
										
										
											2016-11-14 12:33:30 -06:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								webFrame.registerURLSchemeAsPrivileged('app', {secure: true})
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Replace with
							 
						 
					
						
							
								
									
										
										
										
											2016-11-16 08:41:06 -06:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								protocol.registerStandardSchemes(['app'], {secure: true})
							 
						 
					
						
							
								
									
										
										
										
											2016-11-22 08:11:14 -08:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-08-23 10:45:43 +09:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `<webview>`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Removed
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								webview.setAttribute('disableguestresize', '')
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// There is no replacement for this API
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Removed
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								webview.setAttribute('guestinstance', instanceId)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// There is no replacement for this API
							 
						 
					
						
							
								
									
										
										
										
											2018-08-29 15:59:23 +09:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Keyboard listeners no longer work on webview tag
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								webview.onkeydown = () => { /* handler */ }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								webview.onkeyup = () => { /* handler */ }
							 
						 
					
						
							
								
									
										
										
										
											2018-08-23 10:45:43 +09:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-11-04 14:30:14 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## 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
							 
						 
					
						
							
								
									
										
										
										
											2017-06-15 12:46:25 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# Breaking API Changes (2.0)
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:42:20 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								The following list includes the breaking API changes made in Electron 2.0.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `BrowserWindow`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Deprecated
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								let optionsA = {titleBarStyle: 'hidden-inset'}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								let windowA = new BrowserWindow(optionsA)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								// Replace with
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								let optionsB = {titleBarStyle: 'hiddenInset'}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								let windowB = new BrowserWindow(optionsB)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## `menu`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Removed
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								menu.popup(browserWindow, 100, 200, 2)
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Replaced with
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								menu.popup(browserWindow, {x: 100, y: 200, positioningItem: 2})
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:24:39 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								## `nativeImage`
 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Removed
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								nativeImage.toPng()
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Replaced with
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								nativeImage.toPNG()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Removed
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								nativeImage.toJpeg()
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Replaced with
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								nativeImage.toJPEG()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## `process`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*  `process.versions.electron`  and `process.version.chrome`  will be made
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  read-only properties for consistency with the other `process.versions` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  properties set by Node.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## `webContents`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Removed
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								webContents.setZoomLevelLimits(1, 2)
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Replaced with
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								webContents.setVisualZoomLevelLimits(1, 2)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## `webFrame`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Removed
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								webFrame.setZoomLevelLimits(1, 2)
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Replaced with
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								webFrame.setVisualZoomLevelLimits(1, 2)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## `<webview>`
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Removed
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								webview.setZoomLevelLimits(1, 2)
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								// Replaced with
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								webview.setVisualZoomLevelLimits(1, 2)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## Duplicate ARM Assets
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Each Electron release includes two identical ARM builds with slightly different
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								filenames, like `electron-v1.7.3-linux-arm.zip`  and
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								`electron-v1.7.3-linux-armv7l.zip` . The asset with the `v7l`  prefix was added
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								to clarify to users which ARM version it supports, and to disambiguate it from
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								future armv6l and arm64 assets that may be produced.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								The file _without the prefix_  is still being published to avoid breaking any
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								setups that may be consuming it. Starting at 2.0, the un-prefixed file will
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								no longer be published.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								For details, see
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								[6986 ](https://github.com/electron/electron/pull/6986 )
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:37:42 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								and
							 
						 
					
						
							
								
									
										
										
										
											2018-05-29 11:23:28 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								[7189 ](https://github.com/electron/electron/pull/7189 ).