Electron 10.0.0
Electron 10.0.0がリリースされました!Chromium 85
、V8 8.5
、Node.js 12.16
へのアップグレードが含まれています。いくつかの新しいAPI統合と改良が追加されました。詳細については以下をお読みください!
Electronチームは、Electron 10.0.0のリリースを発表できることを嬉しく思います!npm install electron@latest
を使用してnpmでインストールするか、リリースウェブサイトからダウンロードできます。このリリースには、アップグレード、修正、新機能が満載です。
Electron 10リリースでは、リリースノートにも変更を加えました。Electron 10で何が新しくなり、Electron 10と過去のリリースの間で何が変更されたかを簡単に理解できるようにするために、Electron 10に導入されたが、以前のリリースにもバックポートされた変更も含まれるようになりました。これにより、アプリがElectronをアップグレードする際に、新機能とバグ修正を簡単に見つけることができるようになることを願っています。
皆様がそれらを使って何を構築されるのか、とても楽しみにしています!このリリースに関する詳細については読み進めてください。ご意見ご感想をお寄せください!
注目すべき変更点
スタックの変更
- Chromium
85.0.4183.84
- Node.js
12.16.3
- V8
8.5
ハイライト機能
contents.getBackgroundThrottling()
メソッドとcontents.backgroundThrottling
プロパティを追加しました。[#21036]- メインプロセスで
desktopCapturer
モジュールを公開しました。#23548 ses.isPersistent()
APIを呼び出すことで、指定されたsession
が永続的であるかどうかを確認できるようになりました。#22622- ネットワークIPアドレスの変更とICEが原因でRTC呼び出しが接続されなかったネットワークの問題を解決しました。(Chromium issue 1113227)。#24998
新機能と変更点の完全なリストについては、10.0.0リリースノートをご覧ください。
破壊的変更
enableRemoteModule
のデフォルト値をfalse
に変更しました。#22091- これは、
remote
モジュールを廃止し、ユーザーランドに移行するという計画の一部です。その理由の詳細と廃止予定のタイムラインについては、このissueを参照し、フォローしてください。
- これは、
app.allowRendererProcessReuse
のデフォルト値をtrue
に変更しました。#22336(Electron 9にも含まれています)- これにより、レンダラープロセスでのコンテキスト非依存ネイティブモジュールの読み込みが防止されます。
- その理由の詳細と廃止予定のタイムラインについては、このissueを参照し、フォローしてください。
- OSロケールがRTL言語(アラビア語やヘブライ語など)に設定されている場合のmacOSでのウィンドウボタンの位置を修正しました。フレームレスウィンドウアプリでは、ウィンドウのスタイル設定時にこの変更を考慮する必要がある場合があります。#22016
これらの変更と今後の変更に関する詳細情報は、計画されている破壊的変更ページをご覧ください。
APIの変更
- Session:
ses.isPersistent()
APIを呼び出すことで、指定されたsession
が永続的であるかどうかを確認できるようになりました。#22622 - Contents:
contents.getBackgroundThrottling()
メソッドとcontents.backgroundThrottling
プロパティを追加しました。#21036
非推奨API
次のAPIは非推奨または削除されました。
netLog
の非推奨のcurrentlyLoggingPath
プロパティを削除しました。さらに、netLog.stopLogging
は、記録されたログへのパスを返すことはなくなりました。#22732crashReporter
での非圧縮クラッシュアップロードを非推奨にしました。#23598
7.x.yのサポート終了
プロジェクトのサポートポリシーに従って、Electron 7.x.yのサポートは終了しました。開発者とアプリケーションは、新しいバージョンのElectronにアップグレードすることをお勧めします。
今後の予定
短期的な展望としては、チームはChromium、Node.js、V8といったElectronを構成する主要コンポーネントの開発に追従することに引き続き注力します。リリース日に関する約束は慎重に行いませんが、これらのコンポーネントの新しいバージョンを含むElectronのメジャーバージョンを四半期ごとにリリースする予定です。 Electron 11.0.0の暫定スケジュール は、Electron 11.0開発ライフサイクルの重要な日付を示しています。また、 バージョン管理に関するドキュメント を参照して、Electronのバージョン管理に関する詳細情報を確認してください。
今後のElectronバージョンでの計画されている破壊的変更については、 計画されている破壊的変更に関するドキュメント を参照してください。
remote
モジュールの廃止に向けた継続的な作業 (Electron 11)
Electron 9 でremote
モジュールの削除作業を開始し、remote
モジュールの削除計画を継続しています。Electron 11では、Electron 10で行ったように、WeakRefの実装のためのリファクタリング作業を継続する予定です。廃止に関する完全な計画と詳細については、このissue を読んで従ってください。
ネイティブNodeモジュールをコンテキスト認識型またはN-APIにするための最終段階 (Electron 12)
編集:当初、このブログ投稿では、Electron 11でレンダラープロセスの再利用を無効にすると記載していました。レンダラープロセスの再利用の無効化は、Electron 12に延期されました。
Electron 6以降、レンダラープロセスでロードされるネイティブNodeモジュールをN-APIまたはコンテキスト認識型にするための基盤を築いてきました。この変更を強制することで、セキュリティの強化、パフォーマンスの向上、メンテナンス作業量の削減を実現します。この計画の最終段階として、Electron 12でレンダラープロセスの再利用を無効にする機能を削除します。提案されているタイムラインを含む詳細については、このissue を参照してください。