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 で npm install electron@latest
を使用してインストールするか、リリースウェブサイト からダウンロードできます。このリリースには、アップグレード、修正、および新機能が満載です。皆様がこれらを使って何を作るのか、楽しみで待ちきれません!このリリースの詳細については読み進めていただき、フィードバックがありましたら共有してください!
注目すべき変更点
スタックの変更
- Chromium
80.0.3987.86
- Node.js
12.13.0
- V8
8.0
ハイライト機能
- Chrome の組み込みスペルチェッカー機能の使用を実装しました。詳しくは #20692 と #21266 を参照してください。
- IPC 通信で v8 の構造化クローンアルゴリズムを使用するようになりました。これは既存のロジックよりも高速で機能が豊富で、驚くことが少なく、大きなバッファや複雑なオブジェクトでパフォーマンスが 2 倍向上します。小さなメッセージの遅延には大きな影響はありません。詳しくは #20214 を参照してください。
新機能と変更の完全なリストについては、8.0.0 のリリースノート を参照してください。
破壊的変更
- コンテキストを認識するモジュールの非推奨警告にモジュール名を表示します。#21952
- これは、レンダラープロセスにロードされるネイティブNodeモジュールが、N-API または コンテキストを認識する モジュールであるという、将来の要件に対する継続的な作業です。完全な情報と提案されたタイムラインは、この issue で詳しく説明されています。
- IPC経由で送信される値は、構造化クローンアルゴリズムでシリアル化されるようになりました。#20214
- オフスクリーンレンダリングは、この機能に取り組むメンテナーがいないため、現在無効になっています。 Chromium のアップグレード中に壊れ、その後無効になりました。#20772
これらの変更と将来の変更の詳細については、計画された破壊的変更 のページをご覧ください。
APIの変更
app
APIの変更BrowserWindow
APIの変更- BrowserWindow オプション
hasShadow
がすべてのプラットフォームで利用可能であることを示すドキュメントを更新しました #20038 - 信号ボタンのカスタム配置を可能にするために、BrowserWindow オプションに
trafficLightPosition
オプションを追加しました。#21781 - アクセス可能なウィンドウタイトルを設定するための、BrowserWindow に
accessibleTitle
オプションを追加しました。#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 の変更- アプリがChromiumとOSのテーマ選択をオーバーライドできるように、
nativeTheme.themeSource
が追加されました。#19960 - TouchBar API の変更
tray
API の変更webContents
API の変更- webContents API で executeJavaScriptInIsolatedWorld を公開するために、
contents.executeJavaScriptInIsolatedWorld(worldId, scripts[, userGesture])
が追加されました。#21190 - 非表示のwebContentsをキャプチャするメソッドが追加されました。#21679
- 印刷ページのヘッダーとフッターのカスタマイズを可能にするオプションが、
webContents.print([options], [callback])
に追加されました。#19688 webContents.getAllSharedWorkers()
とwebContents.inspectSharedWorkerById(workerId)
を介して、特定の共有ワーカーを検査する機能が追加されました。#20389- WebContents.printToPDF()で
fitToPageEnabled
とscaleFactor
オプションのサポートが追加されました。#20436
- webContents API で executeJavaScriptInIsolatedWorld を公開するために、
webview.printToPDF
のドキュメントが、戻り値の型がUint8Arrayになったことを示すように更新されました。#20505
非推奨のAPI
以下のAPIは非推奨になりました。
- 次のメジャーリリースバージョンで削除される前に、
BrowserWindow.setVisibleOnAllWorkspaces
内の非機能的なvisibleOnFullScreen
オプションが非推奨になりました。#21732 - macOSの
systemPreferences.getColor(color)
でalternate-selected-control-text
が非推奨になりました。#20611 - Chromiumがこの機能を削除したため、
webContents
、webFrame
、<webview> Tag
のsetLayoutZoomLevelLimits
が非推奨になりました。#21296 app.allowRendererProcessReuse
のデフォルト値のfalse
が非推奨になりました。#21287<webview>.getWebContents()
がremoteモジュールに依存するため非推奨になりました。#20726
5.x.yのサポート終了
Electron 5.x.yは、プロジェクトのサポートポリシーに従い、サポートが終了しました。開発者とアプリケーションは、より新しいバージョンのElectronにアップグレードすることをお勧めします。
アプリフィードバックプログラム
私たちはテストにアプリフィードバックプログラムを引き続き利用しています。このプログラムに参加するプロジェクトは、アプリでElectronベータ版をテストします。そして、見つかった新しいバグは、安定版リリースに向けて優先的に処理されます。参加または詳細を知りたい場合は、プログラムに関するブログ投稿をご覧ください。
今後の予定
短期的には、チームがChromium、Node、V8などのElectronを構成する主要コンポーネントの開発に引き続き注力することを期待できます。リリース日に関する約束は控えたいと思いますが、計画としては、これらのコンポーネントの新しいバージョンを含むElectronの新しいメジャーバージョンを四半期ごとにリリースする予定です。仮の9.0.0スケジュールは、Electron 9の開発ライフサイクルにおける重要な日付を示しています。また、Electronのバージョン管理に関する詳細については、バージョン管理に関するドキュメントを参照してください。
今後のElectronバージョンでの計画的な破壊的変更については、計画的な破壊的変更に関するドキュメントを参照してください。
remote
モジュールの非推奨 (Electron 9以降)
深刻なセキュリティ上の問題のため、Electron 9以降でremote
モジュールの非推奨を始める計画です。非推奨の理由とその提案されたタイムラインの詳細については、この issue を読んで追跡してください。