Electron Releases

1.4.14 1.4.13 1.4.12 1.4.11 1.3.13 1.4.10 1.3.12 1.4.8 1.3.10 1.3.9 1.4.7 1.4.6 1.4.5 1.3.8 1.4.4 1.4.3 1.4.2 1.3.7 1.4.1 1.4.0 1.3.6 1.3.5 1.3.4 1.3.3 1.3.2 1.3.1 1.3.0 1.2.8 1.2.7 1.2.6

All Releases

Tip: Use Electron from the command line

Installing the electron module as a development dependency in your project will let you use Electron from the command line at specific versions. More information on the module's repository.

$ npm install --save-dev electron
# Launch from inside your project's directory:
$ ./node_modules/.bin/electron .

1.4.14 January 10, 2017

Bug Fixes

  • Fixed a crash when closing a window from within a will-navigate event listener. #8254
  • Offscreen windows are now always created as frameless so the viewport size is as expected. #8250
  • The backgroundThrottling option is now correctly persisted across window reloads. #8298
  • The Cookie header is now settable on requests made using Electron’s net module. #8258
  • Fixed a stack overflow error when creating a window with cycles in the specified options object. #8340
  • Fixed an issue where the session.enableNetworkEmulation API would lead to high CPU usage. #8371

macOS

  • Fixed a crash when the OS reported no monitors were available. #8249

Linux

  • Fixed a crash when closing a window from within a dialog callback. #8252

Windows

  • Fixed an issue where the window would be incorrectly placed behind the task bar when maximized. #7765

API Changes

  • The defaultFontFamily option in the BrowserWindow constructor now supports setting the default cursive and fantasy fonts. #8295
  • Added a normalizeAccessKeys option to the dialog.showMessageBox API that normalizes keyboard accelerator keys used for buttons across platforms. #8308
  • window.alert and window.confirm are now supported in <iframe> tags and sandboxed windows. #8341

1.4.13 December 20, 2016

Bug Fixes

  • Printing now works when the sandbox is enabled. #8165
  • Fixed an issue where the salt used to generate media devices ids did not persist across sessions. #8137
  • Fixed an issue where an error would be thrown when the optional window argument to dialog APIs was undefined. #8189
  • JavaScript run via an ipcRenderer event listener or setImmediate call is now recorded correctly in the Dev Tools timeline. #8159

macOS

  • Fixed an issue where the corners of modal windows were incorrectly rounded. #8167

API Changes

  • protocol.interceptHttpProtocol now supports a custom session. #8085
  • webContents now emits a before-input-event event that can be used to intercept keyboard events before they are handled by the page. Calling event.preventDefault() will cause the event to not be delivered to the page. #8143.
  • The certificate specified to the select-client-certificate event callback is now optional. #8134
  • Buttons are now optional when calling dialog.showMessageBox. #8187
  • nativeImage.createFromBuffer can now be called with bitmap buffers. #8175
  • You can now register schemes as secure by calling protocol.registerStandardSchemes with {secure: true} as the second argument. #7947

1.4.12 December 10, 2016

Bug Fixes

  • Fixed an issue where certain certificates would be incorrectly rejected when making HTTPS requests. This was an upstream Chrome fix that is time-sensitive where affected certificates will be rejected starting 10 weeks after the time of the Electron release. Electron versions 1.4.0 - 1.4.11 are affected. Read this blog post for more details. #8176

New APIs

  • Added session.createInterruptedDownload to enable resuming a previously interrupted download. #8061
  • Added session.clearAuthCache to enable clearing a session’s HTTP authentication cache. #8107

1.4.11 December 07, 2016

Bug Fixes

  • Fixed an issue where window.alert, window.close, and window.confirm did not behave as expected. #8120
  • Fixed an issue where accessing remote objects and functions would fail after reloading. #8110
  • Fixed an issue where the KeyboardEvent.key value would be incorrect when Control was pressed on Linux using certain keyboard layouts. #8147
  • Fixed an issue where removing a folder from the workspace in the dev tools failed. #8086
  • The dialog APIs no longer write values back into the specified options object parameter. #8123
  • Fixed an issue where BrowserWindow.fromDevToolsWebContents would throw an error. #8144

New APIs

macOS

  • Added BrowserWindow.setAutohideCursor to change the setting dynamically. #8092
  • Added BrowserWindow.closeFilePreview to close the Quick Look preview previously opened with BrowserWindow.previewFile. #8038
  • Added systemPreferences.setUserDefault to be able to change the user preference defaults. #8084
  • Added crashReporter.get/setUploadToServer to dynamically configure the setting. Also Renamed the autoSubmit option to uploadToServer in crashReporter.start. The old option name is still available for backwards-compatibility but will be removed in Electron 2.0. #7952

Windows

  • Added BrowserWindow.setAppDetails to configure the properties of the window’s taskbar button. #7952

1.3.13 December 06, 2016

Bug Fixes

  • Fixed an issue where window.alert, window.close, and window.confirm did not behave as expected. #8120
  • Fixed an issue where accessing remote objects and functions would fail after reloading. #8110
  • Fixed an issue where the KeyboardEvent.key value would be incorrect when Control was pressed on Linux using certain keyboard layouts. #8147

1.4.10 November 28, 2016

Bug Fixes

  • Fixed an issue where the window.opener API did not behave as expected.

1.3.12 November 28, 2016

Bug Fixes

  • Fixed an issue where the window.opener API did not behave as expected.

1.4.8 November 22, 2016

Bug Fixes

  • The error thrown when a missing remote object is accessed now includes the id of the object and the name of the property being accessed or method being called. #8003

Windows

  • Fixed an issue where the window would restore to the incorrect size when minWidth was used. #8047

macOS

  • Fixed an issue where systemPreferences.getUserDefault would crash when requesting a value as an array or dictionary. #7993

API Changes

  • The implementation of chrome.runtime.onMessage used by dev tools extensions now supports a response callback parameter. #7974
  • toggledevtools and reload are now supported menu item roles. #7981
  • Added a setLayoutZoomLevelLimits method to webFrame, webContents, and <webview> that can be used to set the layout-based zoom level limits of a page. The setZoomLevelLimits API has been deprecated and renamed to setVisualZoomLeveLimits to control the pinch-to-zoom level. setZoomLevelLimits will be completely removed in Electron 2.0. #8041

macOS

  • shell.openExternal is now asynchronous if the final specified argument is a callback function. #7612
  • A zoomToPageWidth option was added to the BrowserWindow constructor that controls how the window resizes when running the Window > Zoom menu item or when option-clicking the green stoplight toolbar button. #7776

1.3.10 November 22, 2016

New APIs

  • Added a setLayoutZoomLevelLimits method to webFrame, webContents, and <webview> that can be used to set the layout-based zoom level limits of a page. The setZoomLevelLimits API has been deprecated and renamed to setVisualZoomLeveLimits to control the pinch-to-zoom level. setZoomLevelLimits will be completely removed in Electron 2.0. #8041

1.3.9 November 16, 2016

Bug Fixes

  • Fixed an issue where the window.opener API did not behave as expected.

1.4.7 November 16, 2016

Dependency Upgrades

  • Squirrel.Mac, Electron’s bundled macOS auto updater library, was upgraded to 0.3.0 which includes several bug fixes. The new version enables App Transport Security (ATS) on all requests it makes to the update server. This can be disabled, if needed, by adding NSAllowsArbitraryLoads to the app’s plist file. #7933

New APIs

  • You can now enable the macOS vibrancy effect on a BrowserWindow by calling setVibrancy(vibrancyType) or by including a vibrancy value in the constructor options. #7898
  • You can now specify POST data when calling BrowserWindow.loadURL via the postData option. Also <form> tags configured with method=post will now make POST requests with their data when submitted. #7540
  • The certificate specified to the session.setCertificateVerifyProc callback now includes the entire certificate chain. #7917
  • The <webview> tag now supports a disableguestresize attribute that will disable automatic resizing of the guest webContents when the <webview> element resizes. You can now call setSize directly on the guest webContents to manually control the size. #7658
  • The chrome.storage.remove and chrome.storage.clear APIs are now available to DevTools extensions. #7923

Bug Fixes

  • The about: protocol is now correctly supported by default. #7908
  • Menu item keyboard accelerators are now properly disabled when the menu item is disabled. #7962
  • The check for disabling ASAR support via the ELECTRON_NO_ASAR environment variable is now cached for better performance. #7978
  • Fixed a crash when calling app.setAboutPanelOptions(options) with a credits value. #7979
  • Fixed an issue where an error would be thrown in certain cases when accessing remote objects or functions. #7980
  • Fixed an issue where the window.opener API did not behave as expected.

1.4.6 November 09, 2016

Dependency Upgrades

  • Upgraded to Chrome 53.0.2785.143 from 53.0.2785.113. #7906

API Changes

  • webContents.executeJavaScript now returns a Promise that resolves to the value returned by the specified code block. Previously this method did not return a value. The callback option is still supported. #7533

Bug Fixes

  • Fixed an issue where <webview> tags would be cleared or refreshed incorrectly when toggling the visibility or attaching/detaching. #7852

Infrastructure Changes

  • Electron’s V8 headers can now be downloaded from https://atom.io/download/electron instead of https://atom.io/download/atom-shell. This URL is used as the disturl option to NPM when compiling native modules to be used in Electron. #7881
  • The Windows symbol server for Electron is now available at https://electron-symbols.githubapp.com instead of http://54.249.141.255:8086/atom-shell/symbols. #7895

1.4.5 November 01, 2016

Bug Fixes

  • Fixed a crash when loading a URL using a persistent session. #7628
  • Fixed a crash when using setCertificateVerifyProc on a session. #7651
  • Fixed a crash when creating notifications on a session that is using a permission request handler. #7788

Windows

  • Fixed an issue where the web contents would lose focus when clicking the menu bar causing certain role-based menu items to not work. #7707
  • Fixed an issue where maximized windows would be restored/un-maximized to the wrong location. #7766

New APIs

  • Added a new net module that exposes Chrome’s native network APIs, available via require('electron').net in the main process. #7577
  • Added support for setting additional options to webFrame.registerURLSchemeAsPrivileged. #7665
  • Added support for a webpreferences attribute to <webview> tags that can be used to set additional options similar to the webPreferences option on the BrowserWindowconstructor. #7631

macOS

  • Added support to the clipboard module for reading from and writing to the find pasteboard, available as clipboard.readFindText/writeFindText. #7719
  • Added BrowserWindow.previewFile that opens a file in the native Quick Look view. #7592

1.3.8 October 20, 2016

Changelog:

Windows

  • Fix accessibility always enabled on touch screen. #7611

1.4.4 October 20, 2016

Changelog:

  • Add ELECTRON_NO_ASAR environment variable. #7479
  • Fix broken window.open. #7520
  • Fix crash reports not saved under the temp directory configured by user. #7500
  • Fix webContents.openDevTools([options]) ignoring docks state. brightray#254
  • Fix Tab not working as keyCode in webContents.sendInputEvent(event) API. #7500
  • Fix custom properties not set in the constructor of MenuItem. #7498

Windows

  • Add isInvertedColorScheme() method and inverted-color-scheme-changed event to the systemPreferences module. #7518
  • Add getColor(name) method and color-changed event to the systemPreferences module. #7561
  • Fix output not printed to console under Node mode. #7578
  • Fix accessibility always enabled on touch screen. #7611

Linux

  • Fix audio streams being named as Chromium. #7524

macOS

  • Add app.setAboutPanelOptions(options) API. #7549
  • Fix crash caused by long app name when app is sandboxed with non-MAS build. #7566

1.4.3 October 06, 2016

Changelog:

  • Add additionalFeatures parameter for new-window event. #7291
  • Add event.newGuest property for the event object of new-window event. #7407
  • Add crop, resize, getAspectRatio methods to NativeImage. #7488
  • Fix crash when closing windows that use window.open. #7432
  • Fix memory bug when passing Buffer from native land to JavaScript. #7452

Windows

  • Enable LargeAddressAware for 32bit build. brightray#253
  • Use default error mode by default in the main process. #7335
  • Fix clicking menu not moving focus to the window. #7282
  • Fix certain emoji not showing with default font. #7334

1.4.2 September 30, 2016

Changelog:

  • Add experimental sandbox option in webPreferences which allows sandboxing for renderers. #6919
  • Add level parameter for win.setAlwaysOnTop(flag[, level]) API. #7296
  • Add changed event for cookies module. #7398
  • Fix crash when using storage in custom schemes. #7298
  • Fix crash when accessing certain HTTPS websites. brightray#250
  • Fix menubar buttons not showing hover/press states. #7397
  • Fix saving CPU profile not working in devtools. #7413

macOS

  • Hide Show Tab Bar menu item on macOS Sierra. #7415
  • Fix offscreen rendering not working with software output. #7327

Windows

  • Fix wrong draggable region calculation under high DPI. #7362

Linux

  • Fix tray icon not showing on Elementary OS. #7319

1.3.7 September 27, 2016

Changelog:

  • Upgrade to Node 6.5.0.

1.4.1 September 22, 2016

Changelog:

  • Add guestinstance attribute to <webview> tag which allows moving WebContents betweens <webview>s. #7157
  • Add ses.getBlobData(identifier, callback) API to read uploaded data in protocol. #6941
  • Add contents.invalidate() API. #7062
  • Add killed parameter for crashed and gpu-process-crashed events. #7241
  • Add GOOGLE_API_KEY environment variable to specify custom Google API key. #7276
  • Fix exception when accessing remote functions. #7209
  • Fix wrong filename when downloading from URL with trailing slash. #7169
  • Fix beginFrameSubscription not working correctly for HiDPI screens. #7163
  • Fix offscreen renderer not resizing. #7062
  • Fix net::ERR_INSECURE_RESPONSE error when visiting some websites. #7221

Linux

  • Add support for kioclient, kioclient5 and trash-cli in shell.moveItemToTrash(path) API. #7178

macOS

  • Add scroll-touch-edge event for BrowserWindow and fix regressions of scroll-touch-begin/end events. #7239

Windows

  • Use Ctrl+Y as the default accelerator of redo menu role. #7236
  • Add getAccentColor method and accent-color-changed event to systemPreferences module. #7173

1.4.0 September 15, 2016

Changelog: - Upgrade to Chrome 53. #7104 - Upgrade to Node 6.5.0. #7104


1.3.6 September 14, 2016

Changelog: - Add devtools option to webPreferences. #7096 - Add return values for shell.showItemInFolder and shell.openItem. #7182 - Fix context menu not working for pepper flash. #7110 - Fix asar archives not working after execSync throws. #7116 - Fix exception when accessing process.stdin in renderer process. #7130 - Fix <webview> loading host URL when src is empty. #7146 - Fix videos unable to be loaded in asar archives. #7123 - Fix wrong judge on in-page navigation when history.replaceState is used. #7175

macOS - Add userInfo parameter to ready event of app. #7053 - Add support for titleBarStyle: 'hidden-inset' on OS X 10.9. #7077 - Fix hanging when showing a dialog when a modal window is being closed. #7130


1.3.5 September 02, 2016

Changelog: - Allow accessing remote function properties. #6867 - Improve performance when sending Buffer with remote module. #6963 - Fix crash when sending native objects through IPC. #6998 - Fix crash when calling inspectElement after openDevTools. #6940 - Fix webkitRequestFileSystem not working in custom protocols. #6952 - Fix the same objects sent in one IPC message becoming null. #6977 - Fix downloadItem.setSavePath not working when server returns 404 status. #6983 - Fix --debug-brk not stopping on first line. #7001 - Fix process.exit() not accepting empty arguments. #7028 - Fix beginFrameSubscription not working for the WebContents of <webview>. libchromiumcontent#227

Linux - The prebuilt binaries for ARM now use armv7l as filename suffix. #6986 - Fix win.setFullScreen(false) not working. #6961

Windows - Add app.getJumpListSettings() and app.setJumpList(categories) APIs. #6826 - Fix CJK fonts not showing in flash plugin. #7018


1.3.4 August 23, 2016

Changelog: - Use String instead of Buffer to represent certificate data. #6814, #6881 - Add isMainFrame parameter to the did-navigate-in-page event. #6810 - Fix privileged schemes not able to send CORS requests. #6816 - Fix hasImageContents parameter of context-menu event being wrong. #6817 - Fix crash on garbage collection in renderer process. #6832 - Fix memory leak when render view is deleted. #6857 - Fix relative URLs not working when changing win.location for objects returned by window.open. #6861 - Fix webRequest.onBeforeSendHeaders API drops headers with “.” in the name. #6856 - Fix crash when using fetch in renderer process. #6926 - Fix ses.enableNetworkEmulation not working with default options. #6935

macOS - Add support for titleBarStyle: 'hidden' on OS X 10.9. #6848 - Fix window size being changed when calling setClosable, setMaximizable and setMinimizable APIs. #6850 - Fix “Hide extension” checkbox showing for open dialog. #6872

Windows - Add path and args parameters to app.setAsDefaultProtocolClient API. #6858 - Fix menu item roles not working correctly when having hidden windows. #6851 - Fix thumbar buttons disappeared after calling win.setSkipTaskbar(skip). #6829


1.3.3 August 10, 2016

Changelog: - Remove the view-painted event which was introduced in v1.3.1 and didn’t work. #6705 - Add support for offscreen rendering. #6691, #6713, #6723, #6721, #6737, #6741 - Add win.setContentBounds(options[, animate]) and win.getContentBounds() APIs. #6654 - Add image.getBitmap() API. #6733 - Add zoomin, zoomout, resetzoom to MenuItem’s roles. #6777 - Fix the remote devtools page not loading in Electron. #6707 - Fix cookies API not working for custom protocols. #6708 - Fix properties of DOM objects not being able to be sent via ipc module. #6776

macOS - Add systemPreferences.isSwipeTrackingFromScrollEventsEnabled() API. #6686 - Add systemPreferences.postNotification(event, userInfo) and systemPreferences.postLocalNotification(event, userInfo) APIs. #6752 - Add more details to error message of autoUpdater. #6743 - Add startspeaking and stopspeaking to MenuItem’s roles. #6765 - Fix resizable: false option disabling the fullscreen button. #6664 - Fix scroll-touch-begin and scroll-touch-end events being emitted when scrolling page. #6754

Windows - Add return value for app.setUserTasks(tasks) API. #6766 - Add win.setThumbnailToolTip(toolTip) API. #6762 - Fix calling autoUpdate.checkForUpdates() for twice making quitAndInstall() throw errors. #6780 - Fix win.setThumbnailClip(region) API not recognizing high-DPI displays. #6782


1.3.2 August 02, 2016

Changelog: - Upload the checksums of releases. #6629 - Improve performance when creating native classes. #6688 - Add downloadItem.getSavePath() API. #6629 - Add image.toBitmap() API. #6661 - Add size, hotspot parameters to the cursor-changed event of WebContents. #6661 - Add setZoomFactor, getZoomFactor, setZoomLevel, getZoomLevel, setZoomLevelLimits methods to WebContents. #6685 - Fix LICENSES.chromium.html being empty. libchromiumcontent#225 - Fix failing to register custom protocol due to Session being garbage collected. #6674 - Fix unicode characters not working with contents.sendInputEvent(event) API. #6661

Windows - Add shell.writeShortcutLink(shortcutPath[, operation], options) and shell.readShortcutLink(shortcutPath) APIs. #6623 - Fix window size being changed after restoring from minimized state. #6667

macOS - Add app.dock.isVisible() API. #6683 - Fix crash with keyboard events under fullscreen. #6637 - Fix crash when using webview. #6644

Linux - Fix components not showing correctly on displays with 2.0 DPI. #6646


1.3.1 July 27, 2016

Changelog: - Add view-painted event to WebContent. #6524 - Add proxyBypassRules option to ses.setProxy(config, callback) API. #6558 - Add support for passing typed arrays in remote module. #6572, #6590 - Add contents.copyImageAt(x, y) API. #6619 - Fix file dialog not working with <input> tag on DevPanel. brightray#238 - Fix fs.access/accessSync not working with asar archives. #6598 - Fix LCD-text-antialiasing not working. #6606 - Fix crash when adding project workspace in devtools. #6613

Windows - Fix window position not restoring after restoring from minimized state. #6596 - Fix crash when calling crashReporter.start(options) for multiple times. #6618 - Fix invalid AppUserModelID when executable name contains spaces. #6602

macOS - Add option to always highlight the tray icon. #6620


1.3.0 July 25, 2016

Changelog: - Upgrade to Chrome 52. #6342 - Update to Node.js 6.3.0. #6559


1.2.8 July 21, 2016

Changelog: - Add options parameter for the session.fromPartition(''[, options]) API. #6470 - Add more attributes for certificate object of certificate-error event. #6474 - Add autoUpdater.getFeedURL() API. #6486 - Add getAllWebContents() and getFocusedWebContents() APIs to webContents module. #6489

macOS - Add drop-text event to Tray. #6490 - Fix exception when calling console.log after relaunch. #6527

Windows - Add win.setThumbnailClip(region) API. #6497


1.2.7 July 13, 2016

Changelog: - Do not show default accelerators in menus other than application menu and window menu. #6385 - Add capturePage method to WebContents class and <webview> tag. #6355 - Add showHiddenFiles to dialog.showOpenDialog(options)’s properties. #6431 - Add app.getLoginItemSettings() and app.setLoginItemSettings(settings) APIs. #6375, #6444 - Add accessibility-support-changed event and isAccessibilitySupportEnabled() method to app module. #6446 - Fix session not saved on exit. #6411 - Fix passing remote objects without constructor. #6369 - Fix showing context menu and synchronous dialogs emitting unresponsive event. #6432 - Fix value becoming null when passing the same Array for multiple times in remote module. #6442 - Fix setting maximum/minimum size overriding minimum/maximum size. #6455 - Fix edit menu in context menu of devtools not showing. #6459

macOS - Fix single key accelerator not working. #6370 - Fix win.setBounds(bounds) API ignore maximum/minimum sizes. #6363 - Fix the fullscreen button showing in frameless window on OS X 10.9. #6433 - Fix transparent window having border on OS X 10.9. #6449 - Fix crash when destroying tray icon from its context menu. #6448

Linux - Fix exception when calling console.log after relaunch. #6412 - Fix menubar not hiding after entering fullscreen. #6429 - Fix crash on startup. #6466

Windows - Add thickFrame option for BrowserWindow. #6412 - Add toolbar to BrowserWindow’s type. #6428 - Fix transparent window not working when in maximized or fullscreen state. #6417 - Fix shell.openExternal(url) not working with non-ASCII characters. #6436


1.2.6 July 06, 2016

Changelog: - Update to Chrome 51.0.2704.106. #6322 - Improve performance for looking up paths in require. #6213 - Add webContents.startDrag(item) API. #6333 - Add clipboard.readBookmark() and clipboard.writeBookmark(title, url) APIs. #6233 - Add onlyDirty pararmeter to webContents.beginFrameSubscription([onlyDirty ,]callback) API. #6164 - Add app.setBadgeCount(count) and app.getBadgeCount() APIs. #6243 #6309 - Fix did-fail-load event emitting for canceled requests. #6201 - Fix passing the same callback to main process for multiple times will make the callback stop working after the remote callback gets GCed in main process. #6218 - Fix Promise not resolved in native handlers of the main process. #6220 - Fix exception when package.json includes BOM. #6354

Windows - Include PDB files in releases. #6225 - Fix crash when loading non-exist ICO files. #6220 - Fix tray.popUpContextMenu(menu) not popUpping menu when menu is not passed. #6280

Linux - Add app.isUnityRunning() API. #6243 - Fix dialog.showOpenDialog() replacing extensions of filenames ending with .*.gz. #6305 - Fix icon property of BrowserWindow not working. #6323