Skip to content

Releases: electron/electron

electron v7.0.0-beta.1

01 Aug 07:56
Compare
Choose a tag to compare
Pre-release

Note: This is a beta release. Please file new issues for any bugs you find in it.

This release is published to npm under the beta tag and can be installed via npm install electron@beta, or npm i electron@7.0.0-beta.1.

Release Notes for v7.0.0-beta.1

Breaking Changes

  • Removed deprecated APIs: powerMonitor.querySystemIdleState(), powerMonitor.querySystemIdleTime(), webFrame.setIsolatedWorldContentSecurityPolicy(), webFrame.setIsolatedWorldHumanReadableName(), webFrame.setIsolatedWorldSecurityOrigin(), app.getApplicationMenu() and app.setApplicationMenu(). #18159
  • Session.clearAuthCache no longer allows filtering the cleared cache entries. #17970
  • Removed deprecated Tray.setHighlightMode method (macOS). #18981
  • Native interfaces on macOS (menus, dialogs, etc.) now automatically match the dark mode setting on the users machine. #19226
  • Updated the electron npm module to use @electron/get. The minimum supported node version is now Node 8. #18413
  • Removed deprecated app.enableMixedSandbox() API. #17894
  • Removed deprecated callback versions of asynchronous functions to force use of promises. #17907

Notable Changes

  • Switched to a new Typescript Definitions generator. This means that some interface names may have changed, if your Typescript build is failing this is the cause. #18103
  • The electron.asar file no longer exists, if you have packaging scripts that depend on it's existence you should update them. #18577
  • Deprecated netLog.currentlyLoggingPath. #18289

Features

  • Added always-on-top-changed event emission for macOS. #19462
  • Added captureMode and maxFileSize options to the netLog API. #19215
  • Added creationTime / sandboxed / integrityLevel to app.getAppMetrics() output. #18718
  • Added getBounds() method for BrowserView. #19370
  • Added gpu-info-update event to app, which is emitted whenever there is a GPU info update. #18250
  • Added ipcRenderer.invoke() and ipcMain.handle() for asynchronous request/response-style IPC. #18449
  • Added memory to app.getAppMetrics(). #18831
  • Added process.getBlinkMemoryInfo(). #17762
  • Added removeInsertedCSS() to webFrame / webContents / <webview>. #16579
  • Added zoom-changed event to webContents, which is emitted when the user is trying to zoom in / out using the mouse wheel on Windows, even if the focus is inside an (x-origin) iframe. #17747
  • Added a method app.resignCurrentActivity() to allows marking inactive the current Handoff user activity without invalidating it. #18659
  • Added a property to set tooltips for MenuItems on macOS. #19099
  • Added a selection of new printing customization options. #18984
  • Added an optional conflict handling callback to app.moveToApplicationsFolder. #18916
  • Added security warning for remote module with remote content. #18822
  • Added support for CSS origin in webFrame.insertCSS(). #19268
  • Added support for NSVisualEffectMaterials vibrancy types added in macOS Mojave. #19073
  • Added support for mouse-move event of Tray API on Windows. #19265
  • Added support for systemPreferences.isDarkMode() API on Windows. #19217
  • Added support for systemPreferences.isHighContrastColorScheme() API on macOS. #19331
  • Added support for rotation multi-touch gestures on BrowserWindow for macOS. #19294
  • Added the ability to set authors in the Linux implementation of the About panel. #18964
  • All async webContents / <webview> methods now return a Promise. #18792
  • Calling contentTracing.stopTracing() with no arguments is now permitted and has the same behaviour as calling it with an empty string (tracing data will be written to a temporary file). #18411
  • Converted webContents primitive getters and setters to bespoke properties. #18998
  • Enabled the W3C Reporting API. #18255
  • Exposed the value of NSNotification.object to subscribers of notifications in systemPreferences. #19110
  • Implemented BrowserWindow.setFocusable on macOS. #19033
  • Improved webContents.print() callback value to distinguish between success, failure, and cancellation. #19000
  • Renderer processes hosting cross-origin frames are now sandboxed unless the parent BrowserWindow enables nodeIntegrationInSubFrames. #18650
  • You can now set the ELECTRON_SKIP_BINARY_DOWNLOAD=1 environment variable to skip electron binary download during installation of the npm package. #17627
  • netLog.startLogging() now returns a promise which resolves when the net log has started recording.

Fixes

  • Added missing support for ELECTRON_DEFAULT_ERROR_MODE in the GPU process. #17728
  • "Node integration with remote content" and "loading insecure content" warning messages are suppressed for localhost connections. #18814
  • Converted badgeCount to an actual property on the app module. #17363
  • Ensured that the node env is not bootstrapped before running inspector. cf2103d
  • Ensured we wait for the inspect to disconnect. 2132fdf
  • Fixed process.uptime() returning the wrong time. #19436
  • Fixed triggeredByAccelerator Event property behavior for MenuItems. #18865
  • Fixed a crash on tray popup being called multiple times in a row. #18999
  • Fixed an issue where the Tray icon context menu on macOS blocked the main process while open. #18880
  • Fixed bug where the close event would not emit upon closing modal window on macOS. #19014
  • Fixed crashReporter addExtraParameter / removeExtraParameter methods undefined in macOS node child processes. #15790
  • Fixed error throwing on invalid webRequest url pattern filtering in onBeforeRequest. #19337
  • Fixed incorrect passing of dialog MessageBox type. #19349
  • Fixed inverted alwaysOnTop status returned when always-on-top-changed was emitted on Linux and Windows. #19463
  • Fixed issues that will halt the runtime on modern Python. #18395
  • Fixed linting after shell rename. 5693033
  • Fixed setting src on <webview> being too slow. #18990
  • Fixed silent printing across platforms. #18979
  • Fixed support for the webkitdirectory attribute on input[type=file] elements. #18343
  • Fixed windows debug logging. #18199
  • Node.JS globals (process, Buffer, etc.) are no longer removed from the global scope if you have contextIsolation enabled as it is safe for those variables to still exist in their isolated world. #18967
  • Non-absolute session preload script paths are now ignored for sandboxed renderers. #19066
  • Standardized the about panel icon size on Linux. #18957
  • getPath('logs') now throws better error when it fails to find the logs path. #19514
  • web-contents-created and browser-window-created no longer emit an empty object in place of Event. #19465
  • Fixed an issue whereby requiring some modules before the app ready event had side effects. #17496
  • Fixed an issue where netLog.startLogging() would silently fail when called immediately during app.on('ready').

Other Changes

  • Converted appLevelAppearance to be a property on systemPreferences. #18477
  • Converted autoHideMenuBar to a property on BrowserWindow instances. #18555
  • Converted savePath accessor to a property on DownloadItem instances. #18677
  • Converted resizable, maximizable, minimizable, fullscreenable, movable and closable getters / setters on the BrowserWindow class to properties. #18618
  • Converted name to be a property on the app module. #17701
  • Converted nativeImage.templateImage to be a property on the nativeImage prototype. #18124

Documentation

electron v3.1.13

31 Jul 17:47
Compare
Choose a tag to compare

Bug Fixes/Changes

  • docs: fix bad link in notifications tut. #19395

electron v6.0.0

29 Jul 21:12
Compare
Choose a tag to compare

Release Notes for 6.0.0

Breaking Changes

  • Upgraded to Chromium 76.0.3809.88, Node.js 12.4.0, and V8 7.6.303.22
  • Fixed disparity between net module headers and Node.js' http.IncomingMessage headers. #17517
  • Made ShowItemInFolder asynchronous with no return value. #17121
  • Made app log directory creation opt-in with a new function app.setAppLogsPath. #17841
  • Removed hasServiceWorker and unregisterServiceWorker APIs from the WebContents modules. #16717

Promises

Electron 6.0 continues a project started in 5.0 to improve Promise support. See the project notes for more information.

These functions now return Promises and still support older callback-based invocation:

  • contentTracing.getCategories() #16583
  • contentTracing.getCategories() #16583
  • contentTracing.getTraceBufferUsage() #16600
  • contents.executeJavaScript() #17312
  • cookies.flushStore() #16464
  • cookies.get() #16464
  • cookies.remove() #16464
  • cookies.set() #16464
  • dialog.showCertificateTrustDialog() #17181
  • inAppPurchase.getProducts() #17355
  • inAppPurchase.purchaseProduct()#17355
  • netLog.stopLogging() #16862
  • session.clearAuthCache() #17259
  • session.clearCache() #17185
  • session.clearHostResolverCache() #17229
  • session.clearStorageData() #17249
  • session.getBlobData() #17303
  • session.getCacheSize() #17185
  • session.resolveProxy() #17222
  • session.setProxy() #17222
  • webContents.hasServiceWorker() #16535
  • webContents.printToPDF() #16795
  • webContents.savePage() #16742
  • webFrame.executeJavaScript() #17312
  • webFrame.executeJavaScriptInIsolatedWorld() #17312
  • webviewTag.executeJavaScript() #17312

These functions now have two forms, synchronous and Promise-based asynchronous:

  • dialog.showMessageBox() #17298
  • dialog.showOpenDialog() #16973
  • dialog.showSaveDialog() #17054

These functions now return Promises:

Features

  • Added chrome.runtime.getManifest API for Chrome extensions. #16891
  • Added <webview>.getWebContentsId(), which does not depend of the remote module. #17407
  • Added all_frames support for Chrome extension content scripts. #17258
  • Added disableHtmlFullscreenWindowResize option to webPreferences to allow preventing window from resizing when entering HTML5 fullscreen. #17203
  • Added excludedFromShownWindowsMenu property to allow for windows to be excluded from the windows menu. #17404
  • Added process.getSystemVersion(), which is available in sandboxed renderers and returns the actual operating system version instead of kernel version on macOS. #16599
  • Added process.versions.electron to get the electron version in the forked process. #16450
  • Added renderer-process-crashed event to app, which is emitted when any renderer process crashes. #17315
  • Added requestingUrl and isMainFrame properties to the permission request and permission check handlers details objects so that apps can check the origin of the requesting frame rather than the root frame. #18772
  • Added systemPreferences.getAnimationSettings() returning system animation settings provided by Chromium. #17382
  • Added tray.getTitle() to allow users to see the title set next to the status bar icon on macOS. #17385
  • Added a new Event property triggeredByAccelerator, which is called back in custom click events on MenuItems. #16954
  • Added ability disable fetching thumbnails for in desktopCapturer.getSources(). #14906
  • Added additional error information to errors thrown when using the remote module. #17851
  • Added an option to enable MenuItems on macOS to work optionally when visible: false. #16853
  • Added file preview for file picker in Linux. #16447
  • Added flexible autoresize option for BrowserViews in BrowserWindow. #16184
  • Added native Touch ID authentication support for macOS. #16707
  • Added new app.allowRendererProcessReuse property that allows apps to disable the site instance overrides Electron has patched into Chromium. This can be used to prevent the automatic renderer process restarting that Electron currently does. #18554
  • Added new app.userAgentFallback property to allow setting the app's useragent globally. #18473
  • Added new monochrome, internal, acceleratorEnabled, colorDepth and depthPerComponent properties to the Display API Structure. #16870
  • Added new inspectSharedWorker() API to enable opening devtools for a shared worker. #16615
  • Added safer nativeImage.createFromBitmap(), which does not decode PNG/JPEG. #17337
  • Added support for Scroll Lock accelerator. #16873
  • Added world isolation to Chrome extension content scripts. #17032
  • Allowed setting working directory in app.setUserTasks() / app.setJumpList(). #18291
  • Enabled NodeIntegrationInSubFrames option usage for webview tags. #17226
  • Exposed colorSpace to the Display object. #17405
  • Feat: add native emoji and color picker methods for Windows and macOS. #17359
  • Implemented BrowserWindow.moveTop() on Linux/X11. #16629
  • Moved webFrame custom scheme APIs to browser process under protocol. #16416
  • Process now emits 'loaded' event in sandboxed renderers. #17680

Fixes

  • systemPreferences.isDarkMode() now correctly detects dark mode on macOS Catalina. #18958
  • Added missing 'page-title-updated' event on webContents to documentation. Also fixed forwarding of the explicitSet argument when emitted on BrowserWindow. #18319
  • Backported a Node.js patch that fixes an http/2 memory leak:. #18882
  • Corrected a reversal of cancellation values in showSaveDialog on the Windows platform. #18383
  • Corrected the boolean cancellation value for showOpenDialog on Windows. #18509
  • DevTools Extensions now load correctly. #17614
  • Enabled autofill popups on macOS. [#16308](https://github.com/electron/el...
Read more

electron v5.0.8

23 Jul 23:52
Compare
Choose a tag to compare

Release Notes for v5.0.8

Fixes

  • Fixed 'swipe' event emission on macOS. #19353
  • Fixed random flicker that occurred on macOS when performing fullscreen or workspace transitions. #19315
  • Preload scripts for internal <iframe> in <webview> are not longer executed when nodeIntegrationInSubFrames is enabled. #19299

electron v6.0.0-beta.15

20 Jul 01:08
Compare
Choose a tag to compare
Pre-release

Note: This is a beta release. Please file new issues for any bugs you find in it.

This release is published to npm under the beta tag and can be installed via npm install electron@beta, or npm i electron@6.0.0-beta.15.

Release Notes for v6.0.0-beta.15

Fixes

  • Ensured using the --inspect-brk argument does not cause a crash. #19332

Other Changes

  • Updated Chromium to 76.0.3809.70. #19304
  • Updated Chromium to 76.0.3809.73. #19324
  • Updated Chromium to 76.0.3809.74. #19343

electron v4.2.8

20 Jul 00:44
Compare
Choose a tag to compare

Release Notes for v4.2.8

Fixes

  • Fixed memory leak when removing HTML5 video elements from the DOM with Javascript. #19347

electron v6.0.0-beta.14

17 Jul 19:51
Compare
Choose a tag to compare
Pre-release

Note: This is a beta release. Please file new issues for any bugs you find in it.

This release is published to npm under the beta tag and can be installed via npm install electron@beta, or npm i electron@6.0.0-beta.14.

Release Notes for v6.0.0-beta.14

Features

  • Upgraded to Node 12.4. #19281

Fixes

  • Fixed <webview> not working in scriptable popups when nativeWindowOpen is enabled. #19218
  • Fixed setting src on <webview> being too slow. #19190
  • Preload scripts for internal <iframe> in <webview> are not longer executed when nodeIntegrationInSubFrames is enabled. #19298
  • The prefers-color-scheme CSS media query now works correctly. #19250
  • Uint8Array and Uint16Array can now be sent correctly in Chrome Extension MessagePort instances. #19252

Other Changes

  • Reverted change to focus behavior that broke Character Viewer support on macOS. #19221
  • Updated Chromium to 76.0.3809.63. #19195
  • Updated Chromium to 76.0.3809.67. #19225
  • Updated Chromium to 76.0.3809.68. #19278

Documentation

  • Documentation changes: #19224

electron v5.0.7

16 Jul 18:52
Compare
Choose a tag to compare

Release Notes for v5.0.7

Features

  • Added requestingUrl and isMainFrame properties to the permission request and permission check handlers details objects so that apps can check the origin of the requesting frame rather than the root frame. #18773

Fixes

  • Fixed <webview> not working in scriptable popups when nativeWindowOpen is enabled. #19206
  • Fixed an issue where the Tray icon context menu on macOS blocked the main process while open. #19036
  • Fixed an issue where the Tray icon would never believe itself to be in dark mode. #19082
  • Fixed bug on macOS where the main window could be targeted for a focus event when it was disabled behind a modal. #19063
  • Fixed crash when creating certain types of windows in the display-* events. #19023
  • Fixed macOS breakpad symbol files to include non-public symbols. #19157
  • Fixed silent printing across platforms. #19038
  • Fixed webview crash on iframe removal. #18976
  • Removed inadvertently included mojom.js files from distribution bundle. #19192
  • Removed inadvertently included resources/inspector from electron.zip on Windows and Linux. #19193

Other Changes

  • Reverted change to focus behavior that broke Character Viewer support on macOS. #19238

electron v4.2.7

16 Jul 17:53
Compare
Choose a tag to compare

Release Notes for v4.2.7

Features

  • Added requestingUrl and isMainFrame properties to the permission request and permission check handlers details objects so that apps can check the origin of the requesting frame rather than the root frame. #19204

Fixes

  • Backported a workaround for a cache corruption issue that could affect users on macOS 10.14. #19212
  • Fixed bug on macOS where the main window could be targeted for a focus event when it was disabled behind a modal. #19061
  • Fixed macOS breakpad symbol files to include non-public symbols. #19158
  • Fixed toggling simple fullscreen being very slow. #19143
  • Fixed windows virtual keyboard appearing for all mouse events. #19144

Other Changes

  • Reverted change to focus behavior that broke Character Viewer support on macOS. #19239

electron v3.1.12

11 Jul 16:49
Compare
Choose a tag to compare

Bug Fixes/Changes

  • fix: crash in BrowserWindow destructor after win.webContents.destroy() (#18686). #18796

  • revert: notification handle reset on dismissal. #19163

  • chore: update @types/node version for 3-1-x. #18283