メインコンテンツへ飛ぶ

Electron 36.0.0

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

Electron 36.0.0 がリリースされました! これには Chromium 136、V8 13.6、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. このリリースの詳細は続きをご覧ください。

何かフィードバックがあれば、BlueskyMastodon で共有したり、コミュニティの 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 using 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, and the events extension-loaded, extension-unloaded, and extension-ready have all moved to the new Extensions object accessible via the session.extensions instance property.

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 (2025 年 4 月)E37 (2025 年 6 月)E38 (2025 年 8 月)
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 の公開タイムラインはこちらで ご覧いただけます。

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