Electron 5.0.0
Electron チームは、Electron 5.0.0 のリリースを発表できることを嬉しく思います! npm install electron@latest
を使用して npm でインストールするか、リリースページから tarball をダウンロードできます。このリリースには、アップグレード、修正、新機能が満載です。これらの機能を使用して皆さんがどのようなものを作るか楽しみにしています! このリリースの詳細については、読み進めてください。そして、フィードバックがあればぜひ共有してください!
新機能
Electron の機能の多くは、Chromium、Node.js、V8 のコアコンポーネントによって提供されています。Electron は、これらのプロジェクトを最新の状態に保ち、新しい JavaScript 機能、パフォーマンスの向上、セキュリティ修正をユーザーに提供しています。これらの各パッケージは、Electron 5 でメジャーバージョンが上がっています。
- Chromium
73.0.3683.119
- Node.js
12.0.0
- V8
7.3.492.27
。
Electron 5 には、Electron 固有の API の改善も含まれています。主な変更点の概要は以下のとおりです。変更点の完全なリストについては、Electron v5.0.0 のリリースノートを確認してください。
Promise 化
Electron 5 では、Electron のコールバックベースの API を Promise を使用するように変換する Promise 化イニシアチブを引き続き行っています。これらの API は Electron 5 用に変換されました。
app.getFileIcon
contentTracing.getCategories
contentTracing.startRecording
contentTracing.stopRecording
debugger.sendCommand
- Cookies API
shell.openExternal
webContents.loadFile
webContents.loadURL
webContents.zoomLevel
webContents.zoomFactor
win.capturePage
macOS のシステムカラーへのアクセス
macOS システムの色にアクセスするために、これらの関数が systemPreferences
に変更または追加されました。
systemPreferences.getAccentColor
systemPreferences.getColor
systemPreferences.getSystemColor
プロセスメモリ情報
現在のプロセスのメモリ使用統計情報を取得するために、関数 process.getProcessMemoryInfo
が追加されました。
リモート API の追加フィルタリング
remote
API のセキュリティを向上させるために、remote.getBuiltin
、remote.getCurrentWindow
、remote.getCurrentWebContents
、<webview>.getWebContents
を フィルタリングできるように、新しいリモートイベントが追加されました。
BrowserWindow 上の複数の BrowserView
BrowserWindow は、同じ BrowserWindow 内で複数の BrowserView の管理をサポートするようになりました。
破壊的な変更
パッケージ化されたアプリのデフォルト
パッケージ化されたアプリは、アプリにデフォルトのアプリケーションメニューがない限り、デフォルトのアプリケーションメニューが作成され、アプリがイベントを処理しない限り、window-all-closed
イベントが自動的に処理されるなど、デフォルトのアプリと同じように動作するようになりました。
混合サンドボックス
混合サンドボックスモードがデフォルトで有効になりました。sandbox: true
で起動されたレンダラーは、以前は混合サンドボックスモードも有効になっている場合にのみサンドボックス化されていましたが、現在では実際にサンドボックス化されます。
セキュリティの向上
セキュリティを向上させるために、nodeIntegration
と webviewTag
のデフォルト値が false
になりました。
スペルチェッカーが非同期に
スペルチェック API が 非同期の結果を提供するように変更されました。
非推奨
次の API は、Electron 5.0.0 で新たに非推奨となり、6.0.0 で削除される予定です。
arm および arm64 用の Mksnapshot バイナリ
arm および arm64 用の mksnapshot のネイティブバイナリは非推奨であり、6.0.0 で削除されます。arm および arm64 用のスナップショットは、x64 バイナリを使用して作成できます。
WebContents 上の ServiceWorker API
削除の準備として、WebContents 上の非推奨の ServiceWorker API。
webContents.hasServiceWorker
webContents.unregisterServiceWorker
サンドボックス化された webContents を使用した自動モジュール
セキュリティを向上させるために、次のモジュールは require
を介して直接使用することが非推奨になり、サンドボックス化された webcontents 内で remote.require
を介して含める必要があります。
electron.screen
child_process
fs
os
path
webFrame 分離された世界の API
webFrame.setIsolatedWorldContentSecurityPolicy
、webFrame.setIsolatedWorldHumanReadableName
、webFrame.setIsolatedWorldSecurityOrigin
は非推奨となり、webFrame.setIsolatedWorldInfo
が推奨されるようになりました。
混合サンドボックス
enableMixedSandbox
および --enable-mixed-sandbox
コマンドラインスイッチは、互換性のために存在しますが、非推奨であり、効果はありません。
2.0.x のサポート終了
私たちのサポート対象バージョンポリシーに基づき、2.0.x はサポート終了となりました。
アプリフィードバックプログラム
私たちはテストのためにアプリフィードバックプログラムを引き続き利用しています。このプログラムに参加するプロジェクトは、アプリで Electron ベータ版をテストします。その見返りとして、彼らが見つけた新しいバグは安定版リリースで優先的に対処されます。参加を希望される場合や、詳細については、プログラムに関するブログ記事をご覧ください。
今後の予定
短期的には、チームはChromium、Node、V8など、Electronを構成する主要コンポーネントの開発への追従に引き続き注力していく予定です。リリース日について確約することは慎重に避けていますが、Electronの新しいメジャーバージョンを、これらのコンポーネントの新しいバージョンとともに、四半期ごとにリリースする予定です。暫定的な 6.0.0 のスケジュールでは、Electron 6 の開発ライフサイクルにおける重要な日付を示しています。また、Electron のバージョニングに関する詳細については、バージョニングに関するドキュメントをご覧ください。
今後の Electron バージョンでの計画された破壊的変更については、計画された破壊的変更に関するドキュメントをご覧ください。