Electron 8.0.0
Electron 8.0.0 がリリースされました! これには Chromium 80
、V8 8.0
、Node.js 12.13.0
へのアップグレードが含まれています。 Chrome の組み込みスペルチェッカーや、その他にも色々と追加しました!
Electron チームは、Electron 8.0.0 のリリース発表にワクワクしています! npm install electron@latest
から npm でインストールするか、リリースウェブサイト から ダウンロードできます。 このリリースには、アップグレード、修正、新機能が含まれています。 新機能たちと共に何を作るのか、楽しみにしています! このリリースの詳細については下に続きます。是非ご意見をお聞かせください!
注目すべき変更
累積的変更
- Chromium
80.0.3987.86
- Node.js
12.13.0
- V8
8.0
注目の機能
- Chrome の組み込みスペルチェッカー機能を使用できるように実装しました。 詳細は #20692 と #7189 を参照してください。
- IPC 通信では、v8 の構造化複製アルゴリズムが使用されるようになりました。 これは既存のロジックよりも驚くほど高速で、機能豊富で、小さくなっています。大容量バッファと複雑なオブジェクトに対するパフォーマンスは約 2 倍に向上します。 小さいメッセージに対する遅延はほとんど影響しません。 詳細は #20214 を参照してください。
新機能と変更の完全なリストは、8.0.0 リリースノート を参照してください。
破壊的変更
- コンテキスト対応モジュールの非推奨警告でその名前を表示します。 #21952
- IPC を介して送信される値が構造化複製アルゴリズムでシリアライズされるように. #20214
- オフスクリーンレンダリングの機能を管理するメンテナーがいないため、これは現在無効になっています。 Chromium のアップグレード中に動作しなくなり、その後無効になりました。 #20772
これらの変更と将来の変更の詳細については、予定されている破壊的な変更 のページを参照してください。
API の変更
app
API の変更:BrowserWindow
API の変更:- BrowserWindow オプション
hasShadow
が全プラットフォームで利用可能であることを注意するようにドキュメントを更新しました #20038 - BrowserWindow オプションに
trafficLightPosition
オプションを追加して、信号機ボタンのカスタム位置を指定できるようにしました。 #21781 - アクセシブルウィンドウのタイトルを設定する
accessibleTitle
オプションを BrowserWindow に追加しました #19698 BrowserWindow.fromWebContents()
が null も返すようになりました #19983BrowserWindow.getMediaSourceId()
とBrowserWindow.moveAbove(mediaSourceId)
を追加しました。 #18926- macOS での
will-move
イベントの対応を追加しました。 #19641
- BrowserWindow オプション
- 以前にドキュメント化されていなかった
crashReporter.getCrashesDirectory()
をドキュメント化しました。 #20417 dialog
API の変更:Notification
API の変更:session
API の変更:session.setProxy(config)
とsession.setCertificateVerifyProc(proc)
のドキュメントを更新して、任意のオプションを記述しました。 #19604- BrowserWindow なしでダウンロードをトリガーできるようにする
session.downloadURL(url)
を追加しました。 #19889 session.preconnect(options)
とpreconnect
イベントによる HTTP 事前接続リソースのヒントへの対応を追加しました。 #18671- スペルチェッカー辞書がカスタムワードを使えるようにする
session.addWordToSpellCheckerDictionary
を追加しました #21297
- macOS の
shell.moveItemToTrash(fullPath[, deleteOnFail])
にオプションを追加しました。これは moveItemToTrash が失敗した場合の動作を指定します。 #19700 systemPreferences
API の変更:nativeTheme.themeSource
を追加しました。これはアプリが Chromium と OS のテーマ選択をオーバーライドできるようにします。 #19960- TouchBar API の変更:
tray
API の変更:webContents
API の変更:contents.executeJavaScriptInIsolatedWorld(worldId, scripts[, userGesture])
を追加しました。これは webContents API 上での executeJavaScriptInIsolatedWorld を公開します。 #21190- 非表示の webContents をキャプチャするメソッドを追加しました。 #21679
- 印刷ページのヘッダーとフッターのカスタマイズを有効にするオプションを
webContents.print([options], [callback])
に追加しました。 #19688 webContents.getAllSharedWorkers()
とwebContents.inspectSharedWorkerById(workerId)
を介して特定の共有ワーカーをインスペクトする機能が追加されました。 #20389- WebContents.printToPDF() での
fitToPageEnabled
とscaleFactor
オプションの対応を追加しました。 #20436
webview.printToPDF
のドキュメントを更新し、戻り値型が Uint8Array になったことを示しました。 #20505
非推奨となった API
これらの API は非推奨になりました。
BrowserWindow.setVisibleOnAllWorkspaces
で機能していないvisibleOnFullScreen
オプションを非推奨にしました。これは次のメジャーリリースバージョンで削除します。 #21732- macOS の
systemPreferences.getColor(color)
でのalternate-selected-control-text
を非推奨にしました。 #20611 - Chromium がこの機能を削除したため、
webContents
、webFrame
、<webview>
のsetLayoutZoomLevelLimits
を非推奨にしました。 #21296 app.allowRendererProcessReuse
の省略値false
を非推奨にしました。 #21287- remote モジュールに依存するため、
<webview>.getWebContents()
を非推奨にしました。 #20726
5.x.y サポート終了
Electron 5.x.y はプロジェクトの サポートポリシー に則りサポート終了となりました。 開発者とアプリケーションは新しいバージョンの Electron にアップグレードすることを推奨します。
App のフィードバックプログラム
テストには引き続き アプリフィードバックプログラム を使用します。 このプログラムに参加するプロジェクトは、そのアプリで Electron ベータ版をテストします。見返りとして、発見した新しいバグは安定版リリースのために優先します。 参加や詳細については、当プログラムに関するブログ記事を確認してください。
次回予告
短期的には、Chromium、Node、V8 といった Electron を構成する主要コンポーネントの開発に遅れないでチームが注力し続けるでしょう。 リリース日について 約束しないように注意していますが、予定では約四半期ごとに新しいメジャーバージョンの Electron を、各コンポーネントの新しいバージョンに対してリリースします。 仮 9.0.0 スケジュール では、Electron 9 開発ライフサイクルの主要な日付を示してあります。 また、Electron のバージョン管理の詳細については バージョン管理のドキュメントを参照 してください。
今後のバージョンの Electron で予定されている破壊的な変更の詳細については、予定されている破壊的な変更のドキュメントを参照してください。
remote
モジュールの非推奨化 (Electron 9 から)
深刻なセキュリティ面の問題のため、Electron 9 から remote
モジュール の非推奨化計画を始めています。 この Issue を読んで経緯を知ってください。この Issue では、理由を説明し非推奨化予定のタイムラインを提案しています。