メインコンテンツへ飛ぶ

Electron 36.0.0

· 読むのにかかる時間 1 分

Electron 36.0.0 がリリースされました! It includes upgrades to Chromium 136, V8 13.6, and Node 22.14.0.


Electron チームは、Electron 36.0.0 のリリース発表にワクワクしています! You can install it with npm via npm install electron@latest or download it from our releases website. このリリースの詳細は続きをご覧ください。

If you have any feedback, please share it with us on Bluesky or Mastodon, or join our community Discord! バグや機能の要望は Electron の Issue トラッカー で報告できます。

注目すべき変更

Writing Tools Support

In Electron 36, you can enable macOS system-level features like Writing Tools (spelling and grammar), Autofill, and Services menu items in your context menus. To do so, pass a WebFrameMain instance into the frame parameter for menu.popup().

import { BrowserWindow, Menu, WebFrameMain } from 'electron';

const currentWindow = BrowserWindow.getFocusedWindow();
const focusedFrame = currentWindow.webContents.focusedFrame;
const menu = Menu.buildFromTemplate([{ label: 'Copy', role: 'copy' }]);

menu.popup({
window: currentWindow,
frame: focusedFrame,
});

累積的変更

Electron 36 upgrades Chromium from 134.0.6998.23 to 136.0.7103.48, and V8 from 13.5 to 13.6.

New Features and Improvements

  • Added BrowserWindow.isSnapped() to indicate whether a given window has been arranged via Snap on Windows. #46226
  • Added WebContents.focusedFrame to get the focused frame.
  • Fixed WebContents.opener to specify potential null type. #45667
  • Added ffmpeg.dll to delay load configuration. #46173 (及び 34, 35)
  • Added nativeTheme.shouldUseDarkColorsForSystemIntegratedUI to distinguish system and app theme. #46598 (及び 35)
  • Added excludeUrls to webRequest filter and deprecated the use of empty arrays in urls property. #44692 (及び 35)
  • Added support for Autofill, Writing Tools and Services macOS level menu items in context menus via the new frame option in menu.popup. #46350
  • Added support for system-context-menu on Linux. #46399
  • Improved ASAR integrity checks on Windows. #46537
  • Improved performance of desktopCapturer.getSources when not requesting thumbnails on macOS. #46251 (及び 34, 35)
  • Removed 240 FPS limit when use shared texture OSR. #45669 (及び 35)

破壊的変更

Deprecated: NativeImage.getBitmap()

The NativeImage.getBitmap() function is now deprecated and documented as an alias for NativeImage.toBitmap(). The two functions both return a newly-allocated copy of the bitmap and are functionally equivalent.

Deprecated: Extension methods and events on session

session.loadExtension, session.removeExtension, session.getExtension, session.getAllExtensions, extension-loaded event, extension-unloaded event, and extension-ready events have all moved to the new session.extensions class.

Removed: quota type syncable in session.clearStorageData(options)

When calling session.clearStorageData(options), the options.quota type syncable is no longer supported because it has been removed from upstream Chromium.

Deprecated: quota property in session.clearStorageData(options)

When calling Session.clearStorageData(options), the options.quota property is deprecated. Since the syncable type was removed, there is only type left -- 'temporary' -- so specifying it is unnecessary.

Behavior Changed: GTK 4 is the default when running on GNOME

After an upstream change, GTK 4 is now the default when running on GNOME.

In rare cases, this may cause some applications or configurations to error with the following message:

Gtk-ERROR **: 11:30:38.382: GTK 2/3 symbols detected. Using GTK 2/3 and GTK 4 in the same process is not supported

Affected users can work around this by specifying the gtk-version command-line flag:

$ electron --gtk-version=3   # or --gtk-version=2

The same can be done with the app.commandLine.appendSwitch function.

Behavior Changed: app.commandLine

app.commandLine will convert uppercases switches and arguments to lowercase.

app.commandLine was only meant to handle Chromium switches (which aren't case-sensitive) and switches passed via app.commandLine will not be passed down to any of the child processes.

If you were using app.commandLine to parse app-specific command line arguments, you should do this via process.argv.

33.x.y サポートの終了

プロジェクトの サポートポリシー に則り、Electron 33.x.y はサポート終了を迎えました。 開発者とアプリケーションは新しいバージョンの Electron にアップグレードすることを推奨します。

E36 (Apr'25)E37 (Jun'25)E38 (Aug'25)
36.x.y37.x.y38.x.y
35.x.y36.x.y37.x.y
34.x.y35.x.y36.x.y

次回予告

短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるでしょう。

Electron の公開タイムラインはこちらで ご覧いただけます。

今後の変更についての詳細は、予定されている破壊的変更 のページをご覧ください。