Everything you need to know about the latest version of ElectronJS

Everything you need to know about the latest version of ElectronJS

Electron is a desktop app development framework based on JavaScript, HTML, and CSS. Electron allows you to retain a single JavaScript codebase and create cross-platform programmes that function on Windows, macOS, and Linux by integrating Chromium and Node.js into its binary – no native programming experience is necessary.

Pre-requisites

These instructions assume that the reader is familiar with both Node.js and web programming in general.

You'll also have a better idea of how Electron works if you learn about Chromium's process model. The Chrome comic, which was released in conjunction with Chrome's introduction in 2008, provides a quick summary of Chrome architecture. Even though it's been over a decade, the key principles given in the comic are still useful in understanding ElectronJS solutions.

Running examples with Electron Fiddle

Electron Fiddle is a sandbox application created in Electron and maintained by the Electron project's maintainers. Installing it as a learning tool to experiment with Electron's APIs or to prototype features during development is strongly recommended.

Fiddle works well with our docs as well. You'll see an "Open in Electron Fiddle" button underneath a code block while navigating through the examples in our tutorials. If you have Fiddle installed, clicking this button will open a fiddle.electronjs.org link that will load the example into Fiddle without the need for copy-pasting.

Latest Releases of Electron 17

Electron 17.1.2 

Fixes

  • Fixed an issue when setting window maxHeight or maxWidth made it impossible to resize the width and height.
  • On Linux, remove the crashpad handler binary to reduce bundle size.

Electron 17.1.1 

Fixes

  • Fixed an issue on macOS where alternative Images were not working properly.
  • Corrected an issue where Tray's garbage collection was inaccurate in some cases.
  • When spawning a child process on Mac, there was an occasional crash.
  • Offscreen window rendering now has a working transparency option.

Electron 17.1.0 

Features

  • Windows Control Overlay now has a height choice.

Fixes

  • BrowserWindow has been fixed. On Windows, showInactive restores a maximised window to a non-maximized state.
  • Fixed a crash that occurred when a user used a window. print(), the print button in the PDF viewer, or BrowserWindow.webContents() to print a document and then clicked cancel in the following print dialogue.
  • WebContents.openDevTools(mode) did not work for specific dock placements, which was fixed.
  • Fixed a bug where webContents.savePage would fail if a relative path was used instead of an absolute path.
  • On Windows, fixed command string registered via setAsDefaultProtocolClient.
  • Fixed a stale renderer process that occurred when the programme was closed while the renderer was in use.

Electron 17.0.1 

Fixes

  • Fixed a bug in Windows that caused frameless windows to display a tiny frame during the loading process.

 

  • Fixed the effect of hovering over window controls in a WCO-enabled window on Windows.
  • Eliminated the possibility of frame state and electron ipc race situations.

Other Changes

  • Updated Chromium to 98.0.4758.82. 

Electron 17.0.0 

Stack Upgrades

The following are the stack upgrades you should know: 

  • Chromium 98.0.4758.74
  • New in 98
  • New in 97
  • Node V16.13.0
  • v16.13.0 release notes
  • v16.12.0 release notes
  • v16.11.0 release notes
  • v16.10.0 release notes
  • V8 v9.8
  • V8 9.7 blog post

Breaking Changes

  • Only the main process now has access to desktopCapturer.getSources.

Features

Additions

Added WebHID support. 

  • A commandLine has been added. Remove command line switches from Chromium's internal command line representation using removeSwitch.
  • The textWidth option has been added to the dialogue.showMessageBox() / dialogue is a function that displays a message box. showMessageBoxSync().
  • WebContents has been added.
  • getUserMedia() can be combined with getMediaSourceId() to obtain a stream for a WebContents.
  • Added missing information to the transaction and product structures of in-app purchases.
  • App.requestSingleInstanceLock now has a new data parameter ().
  • Added an ipcRenderer warning. On ipcMain, sendSync() is called with no listeners for the channel.
  • Started passing security.
  • In addition to permission check handlers, origin in details for permission request handlers for media requests.
  • The Node.js crypto API now supports the obsolete blowfish cyphers bf-cbc,cfb, and ecb.

Fixes

  • Fixed the maxWidth option in the BrowserWindow function Object () { [native code] } not working.
  • In MAS builds, VoiceOver no longer reads written text correctly.
  • On macOS, a crash when launching VoiceOver was fixed.
  • Using allocation type: kOld in the v8 ScriptOrModule legacy lifetime fixed a potential issue in v8.
  • A bug where calling screen capture on macOS did not correctly release the underlying OS capture capabilities has been fixed.
  • Fixed an issue where not all serial devices were exposed to the session handler. setDevicePermissionHandler.
  • A problem with translucent windows not firing the maximise and unmaximize events on Windows was fixed.
  • Resolved draggable regions not updating unless there is a re-layout.

Supported Platforms

Following platforms are supported by ElectronJS development solutions:

macOS

  • For macOS, only 64-bit binaries are supplied, and macOS 10.11 is the minimum supported version (El Capitan).
  • Electron 11.0.0 now supports Apple Silicon (arm64) devices natively.

Windows

  • Windows 7 and later operating systems are supported; previous operating systems are not (and do not work).
  • For Windows, ia32 (x86) and x64 (amd64) binaries are available. Electron 6.0.8 provided native support for Windows on Arm (arm64) platforms. Using the ia32 binary, you can run apps that were packaged with previous versions.

Linux

Electron's prebuilt binaries are based on Ubuntu 18.04.

The prebuilt binary's ability to run on distribution is dependent on whether the distribution includes the libraries that Electron is linked to on the building platform, so only Ubuntu 18.04 is guaranteed to work, but the following platforms have also been verified to run the ElectronJS solution prebuilt binaries:

  • Ubuntu 14.04 and newer
  • Fedora 24 and newer
  • Debian 8 and newer

What's Next

In the foreseeable future, the team will continue to concentrate on keeping up with the development of the major Electron components, such as Chromium, Node, and V8. Although we don't make any promises about release dates, we expect to release new major versions of Electron every two months, along with new versions of those components.

Looking to adopt the latest version of Electron JS? if so, simply choose W3Villa! 

W3villa technologies is a leading ElectronJS Development Company in India, aims to deliver end-to-end Electron app development with adequate research to fully use the open-source framework's capabilities.

 

W3villa Technologies

Related articles

Our two bytes give the latest technology trends and information that gives you fair information about the subject.

The Transformative Power of Generative AI in the Automotive Industry

The Transformative Power of Generative AI in the Automotive Industry

Artificial Intelligence is slowly and steadily getting accepted by different industrial sectors and the technology is successful in transforming th...
A Comprehensive Guide to Transforming Your Business With AI Software

A Comprehensive Guide to Transforming Your Business With AI Software

Technologies like Artificial Intelligence and Machine Learning have been playing a vital role in different businesses, as they are completely resha...
How AI Is Revolutionizing the Oil and Gas Industry?

How AI Is Revolutionizing the Oil and Gas Industry?

Artificial Intelligence is one such technology that is redefining the working of different industries. Technology is also transforming the Oil and ...

Cookie Preferences

We use cookies to deliver the best possible experience on our website. To learn more, visit our Privacy Policy. Please accept the cookies for optimal performance.Cookie Notice.